@charset "utf-8";
/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html, body {
      width: 100%;
      overflow-x: hidden;
}
html {
      font-size: 62.5%;
      font-feature-settings: "palt";
}
@media print {
      body {
            zoom: 75%;
      }
}
@media screen and (max-width: 1370px) {
      html {
            font-size: 0.8vw;
      }
}
@media screen and (max-width: 960px) {
      html {
            font-size: 1.5vw;
      }
}
@media screen and (max-width: 680px) {
      html {
            font-size: 2.0vw;
      }
}
@media screen and (max-width: 480px) {
      html {
            font-size: 2.8vw;
      }
}
body {
      background-color: #fff;
      font-size: 10px;
      font-size: 1rem;
      line-height: 1.7;
      color: #222222;
      font-family: "Noto Sans JP", "Helvetica Neue", 'Arial', "Hiragino Sans", 'Meiryo', sans-serif;
      -webkit-text-size-adjust: 100%;
}
table {
      border-collapse: collapse;
      border-spacing: 0;
      line-height: 1.7;
}
a {
      text-decoration: none;
      transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
      color: #222222;
}
@media screen and (max-width: 1024px) {
      a {
            -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
            outline: none !important;
      } /*青い線の削除*/
      a:focus {
            outline: none !important;
      }
      a *:active, a *:focus {
            -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
            outline: none !important;
      }
}
label {
      cursor: pointer;
}
input, select, textarea, button {
      margin: 0;
      vertical-align: middle;
      font-family: inherit;
      outline: none;
      font-size: 100%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
}
button {
      cursor: pointer;
}
iframe {
      vertical-align: middle;
}
@media screen and (max-width: 960px) {
      img {
            max-width: 100%;
            height: auto;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
      }
      iframe {
            max-width: 100%;
            height: 200px;
      }
}
@media screen and (min-width: 1200px), print {
      a.tel_link[href^="tel:"] {
            pointer-events: none;
      }
}
.link_style {
      text-decoration: underline;
      color: var(--col_main);
}
.link_style:hover {
      text-decoration: none;
}
.link_style_list a {
      text-decoration: underline;
      color: var(--col_main);
}
.link_style_list a:hover {
      text-decoration: underline;
      color: var(--col_main);
}
/* pc / tab / sp
============================================================================================================ */
.sp {
      display: none;
}
.sp_68 {
      display: none;
}
.pc {
      display: block;
}
.tab {
      display: none;
}
.pc_tab {
      display: block;
}
.pc_tab_68 {
      display: block;
}
.tab_sp {
      display: none;
}
@media screen and (max-width: 960px) {
      .pc {
            display: none !important;
      }
      .tab {
            display: block !important;
      }
      .sp {
            display: none;
      }
      .tab_sp {
            display: block !important;
      }
}
@media screen and (max-width: 680px) {
      .sp_68 {
            display: block;
      }
      .pc_tab_68 {
            display: none;
      }
}
@media screen and (max-width: 480px) {
      .tab {
            display: none !important;
      }
      .sp {
            display: block;
      }
      .pc_tab {
            display: none !important;
      }
      .tab_sp {
            display: block !important;
      }
}
/* sp
============================================================================================================ */
@media screen and (max-width: 960px) {
      *[data-label] img {
            display: none;
      }
      *[data-label]:before {
            content: attr(data-label);
      }
      *[data-label-r]:after {
            content: attr(data-label-r);
      }
}
/* w
============================================================================================================ */
.w80 {
      position: relative;
      display: block;
      max-width: 800px;
      margin: 0 auto;
}
.w90 {
      position: relative;
      display: block;
      max-width: 900px;
      margin: 0 auto;
}
.w {
      position: relative;
      display: block;
      max-width: 1000px;
      margin: 0 auto;
}
.w12 {
      position: relative;
      display: block;
      max-width: 1200px;
      margin: 0 auto;
}
.w15 {
      position: relative;
      display: block;
      max-width: 1535px;
      margin: 0 auto;
}
.text_inner > p + p {
      margin-top: 1em;
}
.marker_style {
      background: linear-gradient(transparent 64%, rgba(255, 250, 125, 0.86) 0%);
}
/* ヘッダー
============================================================================================================ */
#header {
      padding-left: 2vw;
      font-size: 1.6rem;
      position: fixed;
      width: 100%;
      z-index: 100;
      background: #fff;
      box-sizing: border-box;
}
#header .head {
      display: flex;
      justify-content: space-between;
      align-items: center;
}
/* logo */
#header .logo {
      width: 180px;
}
#header .logo img {
      width: 100%;
}
@media screen and (max-width: 960px) {
      #header {
            height: 60px;
            padding-left: 5vw;
      }
      #header .logo {
            width: 120px;
            margin-top: 8px;
      }
}
/* globalnavi nav_____________*/
@media screen and (min-width:961px), print {
      #header nav #global {
            display: flex;
            margin-right: 5vw;
      }
      #header nav #global > li {
            position: relative;
            z-index: 2;
      }
      #header nav #global > li a {
            display: flex;
            align-items: center;
            padding: 0 1.5vw;
            height: 100px;
            position: relative;
            font-weight: 500;
      }
      #header nav #global > li a:after {
            content: "";
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 100%;
            height: 0px;
            background: var(--gra_main);
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
      }
      #header nav #global > li a:hover {
            opacity: 0.9;
      }
      #header nav #global > li:hover a:after /*, #header nav #global > li.open a:after */ {
            bottom: 0px;
            opacity: 1;
            visibility: visible;
            height: 5px;
      }
      #header nav #global ul {
            position: absolute;
            left: 0;
            top: 90px; /*高さ-10px*/
            height: 0;
            overflow: hidden;
            opacity: 0;
            z-index: 10;
            min-width: 100%;
            transition: all 0.15s ease;
            background: var(--bg_gray);
      }
      #header nav #global ul li + li {
            border-top: 1px solid #ccc;
      }
      #header nav #global ul li a {
            background: var(--bg_gray);
            padding: 1em 1.5em;
            height: auto;
            min-width: 100%;
            white-space: nowrap;
            box-sizing: border-box;
      }
      #header nav #global ul li a:after {
            content: none;
      }
      #header nav #global ul li a:hover {
            background: var(--gra_main);
            color: #fff;
            opacity: 1;
      }
      #header nav #global li:hover ul {
            overflow: visible;
            opacity: 1;
            height: auto;
            top: 100px;
      }
      #header nav .nav_down {
            display: none;
      }
}
@media screen and (max-width: 1500px) {
      #header nav #global {
            margin-right: 1vw;
      }
      #header nav #global > li a {
            padding: 0 1.0vw;
      }
}
@media screen and (max-width: 980px) {
      #header nav #global > li a {
            font-size: 0.9em;
      }
}

@media screen and (max-width: 960px) {
      #header nav #global {
            display: block;
            margin-right: 0;
            font-size: 1.4rem;
      }
      #header nav {
            position: fixed;
            overflow: hidden;
            height: -webkit-calc(100% - 60px);
            height: calc(100% - 60px);
            top: 60px;
            right: 0;
            width: 0;
            pointer-events: none;
            opacity: 0;
            visibility: hidden;
            -webkit-transition: all 0.3s ease;
            -o-transition: all 0.3s ease;
            transition: all 0.3s ease;
      }
      #header nav > div {
            height: 100%;
            overflow-y: scroll;
            -webkit-overflow-scrolling: touch;
      }
      #header nav > div > div {
            height: 100%;
            overflow-y: auto;
            background: var(--gra_main_alpha);
            pointer-events: auto;
      }
      #header nav #global > li {
            position: relative;
            border-bottom: 1px solid var(--line_gray);
      }
      #header nav #global > li a {
	            font-size: 1em;
            display: block;
            padding: 1.25em 2em;
            height: auto;
            position: relative;
            color: #fff;
            text-align: center;
      }
      #header nav #global > li a:after {
            content: "";
            position: absolute;
            margin: auto;
            top: 0;
            bottom: 0;
            right: 12px;
            width: 5px;
            height: 5px;
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
            transform: rotate(45deg);
      }
      #header nav #global > li.has_snav > a:after {
            content: none;
      }
      #header nav #global ul {
            background: var(--gra_main);
            height: 0;
            visibility: hidden;
            opacity: 0;
            -webkit-transition: all 0.2s;
            -o-transition: all 0.2s;
            transition: all 0.2s;
      }
      #header nav #global ul.open {
            height: auto;
            visibility: visible;
            opacity: 1;
      }
      #header nav #global ul li {
            border-top: 1px solid var(--line_gray);
      }
      /* plus icon */
      #header nav .nav_down {
            position: absolute;
            right: 0;
            top: 25px;
            width: 40px;
            height: 60px;
            margin-top: -26px;
            z-index: 10;
      }
      #header nav #global .has_snav > .nav_down:after {
            content: "";
            display: block;
            position: absolute;
            left: auto;
            bottom: auto;
            right: 9px;
            top: 50%;
            width: 13px;
            height: 1px;
            margin-top: -1px;
            background-color: #fff;
            -webkit-transition: all 0.2s;
            -o-transition: all 0.2s;
            transition: all 0.2s;
      }
      #header nav #global .has_snav > .nav_down:before {
            content: "";
            display: block;
            position: absolute;
            left: auto;
            bottom: auto;
            right: 15px;
            top: 50%;
            width: 1px;
            height: 13px;
            background-color: #fff;
            margin-top: -7px;
      }
      #header nav #global .has_snav > .nav_down.open:before {
            transform: translateY(0) rotate(90deg);
      }
}
/* nav ハンバーガー
------------------------------------------------------------- */
#header nav {}
#header .nav_btn {
      display: none;
}
@media screen and (max-width: 960px) {
      #header .nav_btn {
            display: block;
            position: absolute;
            right: 0;
            top: 0;
            z-index: 10;
      }
      #header .nav_btn span {
            position: relative;
            display: block;
            width: 60px;
            height: 60px;
            z-index: 2;
      }
      #header .nav_btn:before, #header .nav_btn span:before, #header .nav_btn span:after {
            content: "";
            position: absolute;
            left: 15px;
            right: 15px;
            top: 50%;
            height: 2px;
            margin-top: -1px;
            background: var(--gra_main);
            transition: all 0.2s;
      }
      #header .nav_btn span:before {
            transform: translateY(-8px);
      }
      #header .nav_btn span:after {
            transform: translateY(8px);
      }
      /* open */
      #header.open nav {
            opacity: 1;
            visibility: visible;
            width: 100%;
      }
      #header.open .nav_btn:before {
            opacity: 0;
      }
      #header.open .nav_btn span:before {
            transform: translateY(0) rotate(45deg);
      }
      #header.open .nav_btn span:after {
            transform: translateY(0) rotate(-45deg);
      }
}
/* fixed
------------------------------------------------------------- */
#header.fixed {
      box-shadow: 0px 4px 3px rgba(0, 0, 0, 0.12);
}
@media print {
      #header {
            position: relative !important;
      }
      #header.fixed {
            position: relative !important;
      }
}
/* footer
============================================================================================================ */
footer {
      background: var(--gra_blue_l);
      font-size: 1.6rem;
      font-weight: 500;
      padding: 7rem 0 0 0;
}
.foot_area {
      padding: 0 0 2.5em 0;
      max-width: 1300px;
      margin: auto;
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between;
}
@media screen and (max-width: 1350px) {
      .foot_area {
            padding: 0 0 2em 0;
            max-width: 95%;
      }
}
@media screen and (max-width: 960px) {
      footer {
            padding: 2rem 0 0 0;
      }
      .foot_area {
            max-width: 90%;
      }
}
/*foot_nav > ul
--------------------------------------------------*/
.foot_nav > ul {
      display: flex;
}
.foot_nav ul li {
      padding: 0 0 0 1.8em;
      margin-bottom: 0.5em;
      font-size: 0.9em;
}
@media screen and (min-width: 961px), print {
      .foot_nav ul li a:hover {
            text-decoration: underline;
      }
}
@media screen and (max-width: 960px) {
      .foot_nav ul li a {
            display: block;
      }
      .foot_nav > ul {
            display: block;
      }
      .foot_nav > ul > li {
            margin-top: 1em;
            padding: 0 0;
            border-top: solid 1px var(--line_gray);
      }
      .foot_nav > ul > li > a {
            padding-top: 1em;
      }
}
/*第2*/
.foot_nav > ul > li > ul {
      margin-top: 1em;
}
.foot_nav > ul > li > ul > li {
      font-size: 0.9em;
      position: relative;
      padding: 0 0 0 1.2em;
}
.foot_nav > ul > li > ul > li:before {
      content: "";
      background: var(--gra_main);
      height: 2px;
      width: 0.8em;
      position: absolute;
      left: 0;
      top: 0.8em;
}
/*foot_logo
--------------------------------------------------*/
.foot_info .foot_logo {
      width: 180px;
      margin-bottom: 0.8em;
}
.foot_info .foot_logo img {
      width: 100%;
      height: auto;
}
.foot_info > * + * {
      margin-top: 1em;
}
@media screen and (max-width: 960px) {
      .foot_area {
            display: block;
      }
      .foot_nav {
            width: 100%;
            margin-bottom: 40px;
      }
      .foot_info {
            padding-top: 1em;
      }
      .foot_info .foot_logo {
            width: 145px;
      }
}
/* copyright
------------------------------------------------------------- */
.copyright {
      text-align: right;
      display: block;
      font-size: 1.2rem;
      background: var(--gra_main);
      padding: 0.5em 6vw 0.5em 0;
      color: #fff;
}
@media screen and (max-width: 960px) {
      .copyright {
            text-align: center;
            font-size: 1.0rem;
      }
}
/* .page_top
------------------------------------------------------------- */
.page_top {
      position: fixed;
      bottom: 3.5em;
      right: 1em;
      z-index: 10;
}
.page_top a {
      background: var(--col_main);
      width: 60px;
      aspect-ratio: 1;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
}
.page_top a:hover {
      opacity: 0.8;
}
.page_top a img {
      width: 30%;
}
@media screen and (max-width: 680px) {
      .page_top {
            bottom: 4em;
      }
      .page_top a {
            width: 48px;
      }
}
/* コンテナ
============================================================================================================ */
#container {
      position: relative;
      font-size: 1.6rem;
      padding-top: 100px;
      font-weight: 500;
}
@media screen and (max-width: 960px) {
      #container {
            font-size: 1.4rem;
            padding-top: 60px;
      }
}
@media screen and (max-width: 680px) {
      #container {
            font-size: 1.5rem;
      }
}
.f_16 {
      font-size: 16px;
}
.f_14 {
      font-size: 14px;
}
/* section
============================================================================================================ */
@media screen and (max-width: 1100px) {
      .sp_section {
            max-width: 95%;
            margin: auto;
      }
      .sp_section_s {
            max-width: 90%;
            margin: auto;
      }
}
@media screen and (max-width: 1550px) {
      .sp_section.w15 {
            max-width: 95%;
            margin: auto;
      }
      .sp_section_s.w15 {
            max-width: 90%;
            margin: auto;
      }
}
@media screen and (max-width: 1250px) {
      .sp_section.w12 {
            max-width: 95%;
            margin: auto;
      }
      .sp_section_s.w12 {
            max-width: 90%;
            margin: auto;
      }
}
.section_ll + .section_ll {
      margin-top: 13rem;
}
.section_l + .section_l {
      margin-top: 10rem;
}
.section_m + .section_m {
      margin-top: 6rem;
}
.section_s + .section_s {
      margin-top: 3rem;
}
@media screen and (max-width: 480px) {
      .section_ll + .section_ll {
            margin-top: 8rem;
      }
      .section_l + .section_l {
            margin-top: 5rem;
      }
      .section_m + .section_m {
            margin-top: 3rem;
      }
      .section_s + .section_s {
            margin-top: 2.5rem;
      }
}
/* padding
============================================================================================================ */
.pdpdb_ll_2_ll_2 {
      padding-top: 15rem;
      padding-bottom: 15rem;
}
.pdt_ll_2 {
      padding-top: 15rem;
}
.pdb_ll_2 {
      padding-bottom: 15rem;
}
.pd_ll {
      padding-top: 12rem;
      padding-bottom: 12rem;
}
.pdt_ll {
      padding-top: 12rem;
}
.pdb_ll {
      padding-bottom: 12rem;
}
.pd_l {
      padding-top: 8rem;
      padding-bottom: 8rem;
}
.pdt_l {
      padding-top: 8rem;
}
.pdb_l {
      padding-bottom: 8rem;
}
.pd_m {
      padding-top: 6rem;
      padding-bottom: 6rem;
}
.pdt_m {
      padding-top: 6rem;
}
.pdb_m {
      padding-bottom: 6rem;
}
.pd_ms {
      padding-top: 4rem;
      padding-bottom: 4rem;
}
.pdt_ms {
      padding-top: 4rem;
}
.pdb_ms {
      padding-bottom: 4rem;
}
.pd_s {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
}
.pdt_s {
      padding-top: 2.5rem;
}
.pdb_s {
      padding-bottom: 2.5rem;
}
.pd_ss {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
}
.pdt_ss {
      padding-top: 1.5rem;
}
.pdb_ss {
      padding-bottom: 1.5rem;
}
.pdl_s {
      padding-left: 2.5rem;
}
@media screen and (max-width: 960px) {
      .pdpdb_ll_2_ll_2 {
            padding-top: 10rem;
            padding-bottom: 10rem;
      }
      .pdt_ll_2 {
            padding-top: 10rem;
      }
      .pdb_ll_2 {
            padding-bottom: 15rem;
      }
      .pd_ll {
            padding-top: 8rem;
            padding-bottom: 8rem;
      }
      .pdt_ll {
            padding-top: 8rem;
      }
      .pdb_ll {
            padding-bottom: 8rem;
      }
      .pd_l {
            padding-top: 6rem;
            padding-bottom: 6rem;
      }
      .pdt_l {
            padding-top: 6rem;
      }
      .pdb_l {
            padding-bottom: 6rem;
      }
      .pd_m {
            padding-top: 4rem;
            padding-bottom: 4rem;
      }
      .pdt_m {
            padding-top: 4rem;
      }
      .pdb_m {
            padding-bottom: 4rem;
      }
      .pd_ms {
            padding-top: 3rem;
            padding-bottom: 3rem;
      }
      .pdt_ms {
            padding-top: 3rem;
      }
      .pdb_ms {
            padding-bottom: 3rem;
      }
      .pd_s {
            padding-top: 2rem;
            padding-bottom: 2rem;
      }
      .pdt_s {
            padding-top: 2rem;
      }
      .pdb_s {
            padding-bottom: 2rem;
      }
      .pd_ss {
            padding-top: 1.0rem;
            padding-bottom: 1.0rem;
      }
      .pdt_ss {
            padding-top: 1.0rem;
      }
      .pdb_ss {
            padding-bottom: 1.0rem;
      }
}
@media screen and (max-width: 480px) {
      .pd_ll_2 {
            padding-top: 10rem;
            padding-bottom: 10rem;
      }
      .pdt_ll_2 {
            padding-top: 10rem;
      }
      .pdb_ll_2 {
            padding-bottom: 10rem;
      }
      .pd_ll {
            padding-top: 6rem;
            padding-bottom: 6rem;
      }
      .pdt_ll {
            padding-top: 6rem;
      }
      .pdb_ll {
            padding-bottom: 6rem;
      }
      .pd_l {
            padding-top: 4rem;
            padding-bottom: 4rem;
      }
      .pdt_l {
            padding-top: 4rem;
      }
      .pdb_l {
            padding-bottom: 4rem;
      }
      .pd_m {
            padding-top: 3rem;
            padding-bottom: 3rem;
      }
      .pdt_m {
            padding-top: 3rem;
      }
      .pdb_m {
            padding-bottom: 2rem;
      }
      .pd_s {
            padding-top: 2.5rem;
            padding-bottom: 2.5rem;
      }
      .pdt_s {
            padding-top: 2.5rem;
      }
      .pdb_s {
            padding-bottom: 2.5rem;
      }
}
/* btn__
============================================================================================================ */
.btn > * {
      display: inline-flex;
      padding: 1em 1.5em;
      background: var(--gra_main);
      transition: 0.3s;
      color: #fff;
}
.btn > *:hover {
      opacity: 0.7;
}
/*arrow
-------------------------------------*/
.btn_arrow {
      position: relative;
      padding: 1em 2em 1em 1.5em;
}
.btn_arrow:before {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      background-size: contain;
      position: absolute;
      width: 7px;
      aspect-ratio: 7/12;
      top: 50%;
      right: 0.5em;
      transform: translate(-0%, -50%);
}
/*btn_line
-------------------------------------*/
.btn_line > * {
      display: inline-flex;
      border: solid 1px #222222;
      padding: 1em 1em;
      color: #222222;
      transition: 0.3s;
      box-sizing: border-box;
      position: relative;
}
.btn_line > *:hover {
      background: #EBEBEB;
      opacity: 1 !important;
}
/*btn_line
-------------------------------------*/
.btn_line_blue > * {
      display: inline-flex;
      border: solid 1px #BABABA;
      padding: 1em 1em;
      color: #FFFFFF;
      transition: 0.3s;
      box-sizing: border-box;
      position: relative;
      background: var(--gra_main);
}
.btn_line_blue > *:hover {
      opacity: 0.8 !important;
}
/*btn_line ico
-------------------------------------*/
.ico_blank:before {
      content: "";
      background: url("../images/ico_blank.svg") no-repeat;
      background-size: contain;
      position: absolute;
      width: 12px;
      aspect-ratio: 12/9;
      top: 0.5em;
      right: 0.5em;
}
.btn_line_blue .ico_blank:before {
      filter: brightness(0) invert(1);
}
/*btn size
----------------------------------------------------------------------------------------------------------------*/
.btn_l > * {
      width: 20em;
      display: block;
}
.btn_m > * {
      width: 15em;
      display: block;
}
.btn_s > * {
      width: 10em;
      display: block;
}
.btn_100 > * {
      width: 100%;
}
/*ボタンの位置*/
.btn_center {
      margin: auto;
}
@media screen and (max-width: 960px) {
      .btn_tabsp_center {
            margin: auto;
      }
      .btn_sp_center {
            margin: auto;
      }
}
/* midashi
============================================================================================================ */
/*midashi_01*/
.midashi_01 > * {
      position: relative;
      padding: 0.2em 0 0.2em 1.2em;
      font-weight: 400;
      letter-spacing: 1px;
      line-height: 1;
}
.midashi_01 > *:before {
      content: "";
      background: var(--gra_main);
      height: 100%;
      width: 6px;
      position: absolute;
      top: 0;
      left: 0;
}
.midashi_01 > * span.en {
      font-style: italic;
      font-size: 2em;
}
.midashi_01 > * span {
      font-size: 1.2em;
      display: block;
      margin-bottom: 0.3em;
}
@media screen and (max-width: 1024px) {
      .midashi_01 > * {
            padding: 0.2em 0 0.2em 0.8em;
      }
      .midashi_01 > * span.en {
            font-size: 1.5em;
      }
      .midashi_01 > * span {
            font-size: 1.1em;
      }
}
/*midashi_02*/
.midashi_02 > * {
      position: relative;
      padding-bottom: 0.5em;
      font-weight: 400;
      letter-spacing: 1px;
      line-height: 1;
}
.midashi_02 > *:before {
      content: "";
      background: var(--gra_main);
      width: 100%;
      height: 2px;
      position: absolute;
      bottom: 0;
      left: 0;
}
.midashi_02 > * span.en {
      font-style: italic;
      font-size: 2em;
}
.midashi_02 > * span {
      font-size: 1.2em;
      display: block;
      margin-bottom: 0.5em;
}
@media screen and (max-width: 1024px) {
      .midashi_02 > * span.en {
            font-size: 1.5em;
      }
      .midashi_02 > * span {
            font-size: 1.1em;
      }
}
/*midashi_03*/
.midashi_03 > * {
      position: relative;
      padding-bottom: 0.5em;
      font-weight: 400;
      letter-spacing: 1px;
      line-height: 1;
      display: block;
}
.midashi_03 > *:before {
      content: "";
      background: var(--gra_main);
      width: 100%;
      height: 2px;
      position: absolute;
      bottom: 0;
      left: 0;
}
.midashi_03 > * span.en {
      font-style: italic;
      font-size: 2em;
}
.midashi_03 > * span {
      font-size: 1.2em;
      display: block;
      margin-bottom: 0.5em;
}
@media screen and (max-width: 1024px) {
      .midashi_03 > * span.en {
            font-size: 1.5em;
      }
      .midashi_03 > * span {
            font-size: 1.1em;
      }
}
/* title
============================================================================================================ */
.title_ll {
      font-size: 3.3rem;
}
.title_l {
      font-size: 3.0rem;
}
.title_ml {
      font-size: 2.4rem;
}
.title_m {
      font-size: 2.2rem;
}
.title_ms {
      font-size: 2.0rem;
}
.title_s {
      font-size: 1.8rem;
}
@media screen and (max-width: 960px) {
      .title_l {
            font-size: 2.0rem;
      }
      .title_ml {
            font-size: 1.9rem;
      }
      .title_m {
            font-size: 1.8rem;
      }
      .title_ms {
            font-size: 1.7em;
      }
      .title_s {
            font-size: 1.6rem;
      }
}
/* table
============================================================================================================ */
table.basic {
      width: 100%;
      line-height: 1.6;
      table-layout: fixed;
}
table.basic th, table.basic td {
      padding: 0.6em 1em;
      border: 1px solid #d9d9d9;
      word-wrap: break-word;
}
table.basic th {
      background: #f2f2f2;
}
table.basic.th_center th {
      text-align: center;
      font-weight: bold;
}
table.basic.td_cetner td {
      text-align: center;
}
table.basic.td_right td {
      text-align: right;
}
table.border_none td, table.border_none th {
      padding-bottom: 20px;
}
table.basic.border_c th, table.basic.border_c td {
      border: 1px solid #231815 !important;
}
@media screen and (max-width: 960px) {
      table.basic {
            border-width: 2px;
            font-size: 1.2rem;
            line-height: 1.5;
      }
      table.basic th, table.basic td {
            padding: 0.5em;
      }
      table.basic th {
            width: 10%;
      }
      table.basic td {
            width: 20%;
      }
}
/*basic_02*/
table.basic_02 {
      width: 100%;
      line-height: 1.6;
      table-layout: fixed;
}
table.basic_02 th, table.basic_02 td {
      padding: 0.6em 1em;
      border: 1px solid #d9d9d9;
      word-wrap: break-word;
}
table.basic_02 th {
      background: #FFFAF5;
}
@media screen and (max-width: 960px) {
      table.basic_02 {
            border-width: 2px;
            font-size: 1.2rem;
            line-height: 1.5;
      }
      table.basic_02 th, table.basic_02 td {
            padding: 0.5em;
      }
      table.basic_02 th {
            width: 10%;
      }
      table.basic_02 td {
            width: 20%;
      }
}
/* みため変わるとき*/
@media screen and (max-width: 680px) {
      table.basic.sp_block {
            border: 1px solid #d9d9d9;
      }
      table.basic.sp_block th, table.basic.sp_block td {
            display: block;
            border: none;
      }
      table.basic.sp_block th {
            width: auto !important;
            border-bottom: 1px solid #d9d9d9;
            border-top: 1px solid #d9d9d9;
      }
      table.basic.sp_block td {
            width: auto;
      }
      table.basic.sp_block tr:first-child th {
            border-top: none;
      }
      /*basic_02*/
      table.basic_02.sp_block {
            border: 1px solid #d9d9d9;
      }
      table.basic_02.sp_block th, table.basic_02.sp_block td {
            display: block;
            border: none;
      }
      table.basic_02.sp_block th {
            width: auto !important;
            border-bottom: 1px solid #d9d9d9;
            border-top: 1px solid #d9d9d9;
      }
      table.basic_02.sp_block td {
            width: auto;
      }
      table.basic_02.sp_block tr:first-child th {
            border-top: none;
      }
}
table .tw10 {
      width: 10% !important;
}
c15 {
      width: 15% !important;
}
table .tw20 {
      width: 20% !important;
}
table .tw25 {
      width: 25% !important;
}
table .tw30 {
      width: 30% !important;
}
table .tw35 {
      width: 35% !important;
}
table .tw40 {
      width: 40% !important;
}
table .tw45 {
      width: 45% !important;
}
table .tw50 {
      width: 50% !important;
}
table .tw55 {
      width: 54% !important;
}
table .tw60 {
      width: 60% !important;
}
table .tw70 {
      width: 70% !important;
}
table .tw80 {
      width: 80% !important;
}
table .tw90 {
      width: 90% !important;
}
/* li
============================================================================================================ */
/* square
------------------------------------------------------------- */
ul.square li {
      position: relative;
      padding-left: 1em;
}
ul.square li:before {
      content: "■";
      position: absolute;
      left: 0;
}
/* circle
------------------------------------------------------------- */
ul.circle li {
      position: relative;
      padding-left: 1em;
}
ul.circle li:before {
      content: "●";
      position: absolute;
      left: 0;
}
/* asterisk
------------------------------------------------------------- */
ul.asterisk li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 5px;
}
ul.asterisk li:before {
      content: "＊";
      position: absolute;
      left: 0;
}
/* disc
------------------------------------------------------------- */
ul.disc li {
      position: relative;
      padding-left: 1em;
}
ul.disc li:before {
      content: "・";
      position: absolute;
      left: 0;
}
/* notes
------------------------------------------------------------- */
ul.notes li {
      position: relative;
      padding-left: 1em;
}
ul.notes li:before {
      content: "※";
      position: absolute;
      left: 0;
}
/* decimal
------------------------------------------------------------- */
ol.decimal {
      list-style-type: decimal;
}
ol.decimal li {
      margin-left: 2em;
}
/* parentheses
------------------------------------------------------------- */
ol.parentheses li {
      position: relative;
      padding-left: 2em;
}
ol.parentheses li .num {
      position: absolute;
      left: 0;
}
/* img
============================================================================================================ */
.ofi {
      width: 100%;
      object-fit: cover;
}
.ofi.cont {
      object-fit: contain;
}
.img_max {
      max-width: 100%;
}
/* background bg__
============================================================================================================ */
.bg_blue_l {
      background: var(--bg_blue_l);
}
.bg_blue {
      background: var(--bg_blue);
}
.bg_gray {
      background: var(--bg_gray);
}
.bg_gra_main {
      background: var(--gra_main);
}
.bg_gra_main_d {
      background: var(--gra_main_d);
}
.gra_blue_l {
      background: var(--gra_blue_l);
}
.bg_pd {
      padding: 1.5em;
}
@media screen and (max-width: 680px) {
      .bg_pd {
            padding: 1.0em;
      }
}
/* contents
============================================================================================================ */
.lead {
      line-height: 2.0;
}
.lead_l {
      line-height: 2.0;
      font-size: 1.8rem;
}
.lead_l1 {
      line-height: 2.0;
      letter-spacing: 1px;
}
.lead_l_l1 {
      line-height: 2.0;
      font-size: 1.8rem;
      letter-spacing: 1px;
}
@media screen and (max-width: 960px) {
      .lead_l {
            line-height: 2.0;
            font-size: 1.5rem;
      }
      .lead_l_l1 {
            font-size: 1.5rem;
      }
}
/* fbox
============================================================================================================ */
.fbox {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
}
@media screen and (min-width: 680px) {
      .fbox.f_pc {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
      }
      .fbox.f_sp {
            display: block;
      }
}
@media screen and (max-width: 680px) {
      .fbox.f_pc {
            display: block;
      }
      .fbox.f_sp {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
      }
}
.ff_re {
      -webkit-flex-flow: row-reverse wrap;
      -ms-flex-flow: row-reverse wrap;
      flex-flow: row-reverse wrap;
}
.jc_sp {
      justify-content: space-between;
}
.it_cener {
      align-items: center;
}
/*分割比
----------------------------------------------*/
/*normal*/
.fbox_normal {
      gap: 2%;
}
@media screen and (max-width: 680px) {
      .fbox_normal.f_pc > * {
            margin-bottom: 0.5em;
      }
}
/*fbox_col2*/
.fbox_col2 {
      gap: 3%;
      flex-wrap: wrap;
}
.fbox_col2 > * {
      width: 48.5%;
}
@media screen and (max-width: 680px) {
      .fbox_col2.f_pc > * {
            width: auto;
            margin-top: 3%;
      }
      .fbox_col2.f_pc > * + * {
            margin-top: 5%
      }
}
/*fbox_col3*/
.fbox_col3 {
      gap: 2%;
      flex-wrap: wrap;
}
.fbox_col3 > * {
      width: 32%;
}
@media screen and (max-width: 680px) {
      .fbox_col3.f_pc > * {
            width: auto;
      }
      .fbox_col3.f_pc > * + * {
            margin-top: 5%;
      }
}
/*fbox_4_6*/
.fbox_4_6 {
      gap: 5%;
}
.fbox_4_6 > *:nth-child(1) {
      width: 37%;
}
.fbox_4_6 > *:nth-child(2) {
      width: 58%;
}
@media screen and (max-width: 680px) {
      .fbox_4_6.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_4_6.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_4_6.f_pc > * + * {
            margin-top: 5%
      }
}
/*fbox_6_4*/
.fbox_6_4 {
      gap: 5%;
}
.fbox_6_4 > *:nth-child(1) {
      width: 58%;
}
.fbox_6_4 > *:nth-child(2) {
      width: 37%;
}
@media screen and (max-width: 680px) {
      .fbox_6_4.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_6_4.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_6_4.f_pc > * + * {
            margin-top: 5%
      }
}
/*fbox_7_3*/
.fbox_7_3 {
      gap: 5%;
}
.fbox_7_3 > *:nth-child(1) {
      width: 65%;
}
.fbox_7_3 > *:nth-child(2) {
      width: 30%;
}
@media screen and (max-width: 680px) {
      .fbox_7_3.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_7_3.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_7_3.f_pc > * + * {
            margin-top: 5%
      }
}
/*fbox_3_7*/
.fbox_3_7 {
      gap: 5%;
}
.fbox_3_7 > *:nth-child(1) {
      width: 30%;
}
.fbox_3_7 > *:nth-child(2) {
      width: 65%;
}
@media screen and (max-width: 680px) {
      .fbox_3_7.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_3_7.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_3_7.f_pc > * + * {
            margin-top: 5%
      }
}
/*fbox_8_2*/
.fbox_8_2 {
      gap: 5%;
}
.fbox_8_2 > *:nth-child(1) {
      width: 80%;
}
.fbox_8_2 > *:nth-child(2) {
      width: 15%;
}
@media screen and (max-width: 680px) {
      .fbox_8_2.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_8_2.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_8_2.f_pc > * + * {
            margin-top: 5%
      }
      .fbox_8_2 > *:nth-child(1) {
            width: 60%;
      }
      .fbox_8_2 > *:nth-child(2) {
            width: 35%;
      }
}
/*fbox_2_8*/
.fbox_2_8 {
      gap: 5%;
}
.fbox_2_8 > *:nth-child(1) {
      width: 15%;
}
.fbox_2_8 > *:nth-child(2) {
      width: 80%;
}
@media screen and (max-width: 680px) {
      .fbox_2_8.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_2_8.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_2_8 > *:nth-child(1) {
            width: 35%;
      }
      .fbox_2_8.f_pc > * + * {
            margin-top: 5%
      }
      .fbox_2_8 > *:nth-child(2) {
            width: 60%;
      }
}

/*inner_link_area
--------------------------------------------------------------------*/
.inner_link_area {
      background: #cddff2;
      padding: 4em 0 4em 0;
}
.inner_link_list {
      display: flex;
      justify-content: center;
      gap: 0.8em 1%;
      flex-wrap: wrap;
}
.inner_link_list > li {
      width: 32%;
      display: flex;
      align-content: center;
      justify-content: center;
      flex-direction: column;
      background: #fff;
      transition: 0.3s;
      border: solid 1px var(--col_main);
      box-shadow: 0px 0px 10px 0px rgba(103, 159, 201, 0.3);
}
.inner_link_list a {
      display: flex;
      align-content: center;
      justify-content: center;
      text-align: center;
      padding: 1em 1.5em;
}
@media screen and (min-width: 961px), print {
      .inner_link_list li:hover {
            background: var(--bg_blue_l);
      }
}
@media screen and (max-width: 680px) {
      .inner_link_area {
            padding: 2em 0 2em 0;
      }
      .inner_link_list {
            justify-content: flex-start;
            gap: 0.5em 2%;
      }
      .inner_link_list > li {
            width: 48.3%;
      }
      .inner_link_list a {
            font-size: 0.8em;
            padding: 0.5em 1.0em;
      }
}