@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
    font-size: 160%;
    -webkit-text-size-adjust: none;
    font-weight: 400;
}
*, ::before, ::after {
    box-sizing: border-box;
    outline: none;
}
img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
}
select {
    visibility: visible !important;
}
a {
    transition: all ease 0.3s;
    text-decoration: none;
    color: var(--txt);
}
a[href^="tel:"] {
    word-break: keep-all;
}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
    background: #fff
}
body {
    -webkit-text-size-adjust: none;
    min-width: 320px;
    color: var(--txt);
    font-family: var(--f-main)
}
body.is_nav {
    overflow: hidden;
}
table {
    width: 100%
}
h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
}
p, dd, dt, li, th, td, address {
    line-height: 1.8em;
    letter-spacing: 0;
}
p {
    margin: 0 0 1.8em;
}
p:last-child {
    margin-bottom: 0
}
.bold {
    font-weight: bold;
}
.left {
    text-align: left
}
.right {
    text-align: right;
}
.auto {
    margin-left: auto;
    margin-right: auto;
}
.red {
    color: var(--red);
}
.txt_line {
    text-decoration: underline;
}
.f_big {
    font-size: 150%;
}
.f_sm {
    font-size: 80%;
}
.m0a {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
:root {
    --txt: #000000;
    --tt: #212121;
    --mscolor: #00131F;
    --mcolor: #042575;
    --scolor: #AEA078;
    --sscolor: #D6B456;
    --container: 440px;
    --gray: #e9e9e9;
    --blue: #003b7d;
    --red: red;
    --f-main: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    --f-yumin: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
    --f-seri: "Noto Serif JP", serif;
}
#wrapper {
    min-width: 1200px;
    overflow: hidden;
    margin: 0 auto;
}
.inner {
    width: var(--container);
    margin: 0 auto;
    position: relative;
    max-width: 100%;
    padding: 0 20px;
}
/*==========================================================
                       H E A D E R
==========================================================*/
/* HAMBUGER BUTTON */
.hamburger {
    font: inherit;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: #fff;
    z-index: 101;
    background: var(--mscolor);
    font-size: 18px;
    text-align: center;
    pointer-events: auto;
    transition: all 0.3s;
    font-family: var(--f-yumin);
    display: flex;
    align-items: center;
    justify-content: center;
}
.hamburger.is_active .hamburger-inner {
    background: url("../images/icon_close.svg") no-repeat center top 0px/16px;
}
.hamburger-inner {
    background: url("../images/icon_menu.svg") no-repeat center top 0px/20px;
    padding-top: 33px;
    letter-spacing: 0.1em;
}
header {
    position: relative;
    z-index: 9;
}
h1 {
    font-size: 14px;
    padding: 20px 0 0 0px;
    letter-spacing: 0.05em;
    margin-bottom: 14px;
    max-width: 800px;
    color: #fff;
}
.h_list.info_list {
    margin-left: 100px;
}
.h_box {
    width: 100%;
    position: fixed;
    pointer-events: none;
}
.h_inner {
    display: flex;
    justify-content: space-between;
    height: 100%;
    width: 100%;
    max-width: 1256px;
    pointer-events: none;
}
.h_left {
    pointer-events: auto;
}
nav .h_menu {
    width: 100px;
    height: 150px;
    position: fixed;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 9;
    top: 210px;
}
.ft_txt {
    padding: 3px 0 20px;
}
.ft_txt p {
    letter-spacing: 0.05em;
}
.ft_bnr:last-child {
    margin-bottom: 40px;
}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
}
.mv {
    position: fixed;
    padding: 0 !important;
    width: 100%;
    height: 100%;
    pointer-events: none;
    display: flex;
    align-items: flex-end;
}
.mv:before {
    position: absolute;
    content: "";
    background: url("../images/main_pc.jpg") no-repeat center top/cover;
    left: calc(50% - 990px);
    top: 0;
    width: 1920px;
    height: 100%;
    pointer-events: none;
}
.mv_wrap {
    width: 1106px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #fff;
    position: relative;
    pointer-events: auto;
    padding-bottom: 9px;
    margin: 0 auto;
}
.mv_wrap .mv_tt, .sroll a {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: upright;
    font-weight: 300;
    font-family: var(--f-seri);
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    margin-right: 10px;
    white-space: nowrap;
}
.mv_wrap .mv_tt {
    margin-right: 10px;
    line-height: 1.22;
    margin-top: 288px;
}
.sec01_tt1, .sec06_ttl, .sec07_ttl, .sec10_wrap .ttl .ja, .sec13_ttl {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: upright;
}
.sroll a {
    -webkit-writing-mode: sideways-rl;
    -moz-writing-mode: sideways-rl;
    -ms-writing-mode: sideways-rl;
    writing-mode: sideways-rl;
    color: #fff;
    pointer-events: auto;
    position: relative;
    height: 192px;
    letter-spacing: 0.1em;
}
.sroll a:before, .sroll a:after {
    position: absolute;
    content: "";
    background: #fff;
    left: 0;
    right: 1px;
    margin: 0 auto;
}
.sroll a:before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    top: 72px;
    animation: dotMove 1.8s ease-in-out infinite;
}
.sroll a:after {
    width: 1px;
    height: 130px;
    bottom: 0px;
}
@keyframes dotMove {
    0% {
        top: 72px;
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        top: calc(100% - 8px);
        opacity: 0;
    }
}
.mv_wrap .mv_tt > .lg {
    font-size: 100px;
    position: relative;
    bottom: 256px;
    left: -12px;
}
.mv_wrap .mv_tt > .sm {
    font-size: 55px;
    letter-spacing: 0.1em;
}
.mv_wrap .mv_tt > .sm.let1 {
    position: relative;
    bottom: 17px;
}
.mv_wrap .mv_tt > .sm.let1 .xsm {
    right: -9px;
    bottom: -13px;
}
.mv_wrap .mv_tt > .sm .xsm {
    font-size: 90%;
    position: relative;
    right: -28px;
}
.mv_wrap .mv_tt > .sm .lg {
    font-size: 174.5%;
    margin: 8px 0 0;
    letter-spacing: 0.1em;
}
.mv_wrap .mv_tt > .sm.let1 .lg {
    margin: -3px 0;
}
.sroll {
    position: absolute;
    right: 118px;
    bottom: 94px;
    color: #fff;
    font-size: 12px;
    font-family: var(--f-yumin);
    z-index: 9;
}
.sroll a {
    display: block;
}
/* NAV */
nav {
    display: block;
    position: fixed;
    top: 0;
    right: 80px;
    width: 100%;
    height: 100%;
    overflow: auto;
    z-index: 100;
    display: none;
    background-color: rgba(0, 0, 0, 0.10);
    pointer-events: auto;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px) brightness(80%);
}
nav.is_nav {
    display: block
}
nav .inner {
    width: 100%;
    padding: 0;
    display: flex;
    height: 100%;
    /*overflow: auto;*/
    max-width: 508px;
    margin-right: 0px;
    background: url("../images/menu_tree.png") #00131F no-repeat right 20px bottom -5px/283px;
}
.nav_tt {
    font-size: 40px;
    color: #B4C9DC;
    text-align: center;
    font-weight: 300;
    margin-bottom: 27px;
    letter-spacing: 0.1em;
    position: relative;
    left: 2px;
}
.nav_list, .nav_list_img, .nav_list > div {
    display: flex;
}
.nav_list_img {
    margin-top: auto;
    margin-top: 24px;
}
.nav_list {
    align-items: flex-start;
    margin-bottom: 40px;
    flex-direction: column;
    padding: 48px 60px 25px;
}
.nav_list > div {
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 20px;
}
.nav_list > div > .big {
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    position: relative;
    border-bottom: 1px #fff solid;
    height: 31px;
    padding-left: 20px;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
    color: #fff;
}
.nav_list > div > .big > a {
    margin-left: -20px;
    padding-left: 20px;
    position: relative;
    display: block;
    color: #fff;
}
.nav_list > div > .big:before {
    position: absolute;
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #fff;
    left: 0;
    top: 8px;
}
.nav_list > div.nav1 {}
.nav_list > div.nav2 {}
.nav_list > div.nav3 {}
.nav_list > div.nav2 ul {}
.nav_list > div ul > li {
    margin-bottom: 6px;
}
.nav_list > div ul > li > a {
    background: url("../images/arrow_w_sm.svg") no-repeat left -4px top 6px/8px;
    padding-left: 15px;
    position: relative;
    color: #fff;
}
.nav_list > div:not(:last-child) {}
.nav_list_img li:not(:last-child) {
    margin-right: 50px;
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl_h3 {
    text-align: center;
    font-size: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: bold;
}
.ttl_h3 .en {
    margin-bottom: 3px;
}
/* DEFAUTL NAME BUTTON */
.btn a {
    width: 100%;
    max-width: 400px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    color: #000000;
    padding-top: 2px;
    overflow: hidden;
    border: 1px #BBB8B8 solid;
    margin: 0 auto;
    background: #fff;
    font-family: var(--f-yumin);
    position: relative;
}
.btn a:before {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    background: #333333;
    right: 9px;
    bottom: 9px;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    transition: all 0.3s;
}
.btn.center a {
    margin: 0 auto;
}
.btn_box .btn {
    margin: 10px;
}
.content {
    margin-top: calc(100vh + 40px);
    pointer-events: auto;
}
.content, footer {
    width: 440px;
    height: auto;
    margin-right: 120px;
    margin-left: auto;
    position: relative;
    z-index: 100;
    background: #fff;
}
.content:before, footer:after {
    position: absolute;
    content: "";
    background: #929ca4;
    opacity: 0.3;
    width: 520px;
    left: -40px;
    top: 0;
    height: 100%;
    z-index: -1;
    mix-blend-mode: screen;
}
.content:before {
    top: -40px;
    height: calc(100% + 40px);
}
.h_right {
    position: fixed;
    right: 0;
    top: 0;
    pointer-events: auto;
    height: calc(100vh - 66px);
    z-index: 999;
}
/*============= SEC01 ==============*/
.sec01 {
    padding-bottom: 69px;
    position: relative;
    color: #fff;
}
.sec01 .inner {
    padding: 0;
}
.sec01_title1 {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    width: 100%;
    height: 625px;
    z-index: 9;
}
.sec01_en {
    font-size: 100px;
    letter-spacing: -0.02em;
    color: #042575;
    opacity: 0.5;
    font-family: var(--f-yumin);
    font-weight: 400;
    mix-blend-mode: multiply;
    margin-bottom: 0;
    line-height: 1;
    left: 20px;
    position: absolute;
    top: 15px;
}
.sec01_tt1 {
    display: flex;
    font-family: var(--f-yumin);
    align-items: flex-start;
    flex-direction: column;
    margin-left: auto;
    margin-top: 46px;
    margin-right: 11px;
    z-index: 2;
}
.sec01_tt1 span {
    background: #fff;
    font-size: 35px;
    letter-spacing: 0.14em;
    padding: 0;
}
.sec01_tt1 > span {
    padding: 9px 0 2px;
    margin-right: 10px;
    font-weight: 400;
    color: #000;
}
.sec01_tt1 > span.line1 {
    padding-bottom: 7px;
}
.sec01_tt1 > span.line2 {
    position: relative;
    top: 77px;
}
.blue {
    color: #042575;
    font-weight: 600;
}
.sec01_img {
    margin-bottom: 0;
    position: relative;
}
.sec01_img:before {
    position: absolute;
    content: "";
    background: url("../images/idx_img_01_pp_pc.png") no-repeat left bottom/cover;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    z-index: 9;
    display: none;
}
.sec01_title2 {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-bottom: 133px;
    z-index: 1;
    padding-top: 22px;
}
.sec01_title2:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: #003F70;
    left: 0;
    top: -60px;
    transform: skewY(-9deg);
    z-index: -1;
}
.sec01_title2 p {
    font-family: var(--f-yumin);
    font-size: 22px;
    font-weight: 400;
    border-bottom: 1px #fff solid;
    line-height: 1.22;
    margin-bottom: 35px;
}
.sec01_title2 p .lg {
    font-size: 122%;
}
.sec01_title3 .tt1, .sec01_title3 .tt2 {
    margin-bottom: 0;
    font-family: var(--f-yumin);
    font-weight: 400;
}
.sec01_title3 .tt1, .sec01_title3 .tt2 .bg {
    font-size: 26px;
}
.sec01_title3 .tt1 .sm {
    font-size: 88%;
}
.sec01_title3 .tt1 {
    line-height: 1.5;
}
.sec01_title3 .tt2 .bg {
    background: #fff;
    font-size: 26px;
    font-weight: 600;
    color: #333;
    width: 60px;
    height: 35px;
    text-align: center;
    line-height: 38px;
    margin-right: 1px;
}
.sec01_title3 .tt2 .txt {
    letter-spacing: -0.05em;
}
.sec01_title3 .tt2 {
    font-size: 23px;
    display: flex;
    align-items: center;
}
.sec01_title3 {
    position: relative;
    padding: 39px 0 40px 20px;
    margin-top: -70px;
    z-index: 1;
    background: #00131F;
}
.sec01_title3:before {
    width: 100%;
    height: 100%;
    background: #00131F;
    left: 0;
    top: -27px;
    transform: skewY(-6.5deg);
    z-index: -1;
}
.sec01_title3:before, .sec01_title3:after {
    position: absolute;
    content: "";
}
.sec01_title3:after {
    background: url("../images/idx_img_02_pc.png") no-repeat right bottom;
    width: 178px;
    height: 252px;
    right: 0;
    bottom: 0;
}
/*============= SEC02 ==============*/
.sec02 {
    position: relative;
    padding-bottom: 97px;
    z-index: 2;
}
.sec02 .inner {
    padding: 0;
}
.sec02_tilte1, .sec02_tilte2 {
    font-family: var(--f-yumin);
    font-weight: 400;
}
.sec02_tilte1 {
    text-align: center;
    font-size: 45px;
    margin-bottom: 39px;
}
.sec02_tilte1 .point:before {
    background: #042575;
    width: 10px;
    height: 10px;
}
.sec02_tilte1 .point {
    padding-top: 10px;
}
.sec02_tilte2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}
.sec02_tilte2:before {
    position: absolute;
    content: "";
    background: url("../images/idx_tree1.png") no-repeat center top/265px;
    width: 265px;
    height: 272px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -13px;
}
.sec02_tilte2 .sm {
    font-size: 23px;
}
.sec02_tilte2 .lg {
    font-size: 28px;
    margin: 24px 0 22px;
}
.sec02_tilte2 .lg .blue {
    color: #042575;
}
/*============= SEC03 ==============*/
.sec03 {
    position: relative;
}
.sec03 .inner {
    padding: 0;
}
.sec03_title1 {
    width: 100%;
    height: 255px;
    background: linear-gradient(#003f70 53%, #00131f 100%);
    color: #fff;
    text-align: center;
    padding-top: 93px;
    position: relative;
}
.sec03_title1:before, .sec03_title1:after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    width: 438px;
    height: 49px;
    margin: 0 auto;
}
.sec03_title1:before {
    background: url("../images/arrow_w.png") no-repeat center top/438px;
    top: -7px;
}
.sec03_title1:after {
    background: url("../images/arrow_blue.png") no-repeat center top/438px;
    bottom: -46px;
}
.sec03_title1 .tt1, .sec03_title1 .tt2 {
    font-family: var(--f-yumin);
    font-weight: 400;
}
.sec03_title1 .tt1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    letter-spacing: 0.01em;
    width: 100%;
    max-width: 336px;
    margin: 0 auto 13px;
    position: relative;
}
.sec03_title1 .tt1:before, .sec03_title1 .tt1:after {
    width: 13px;
    height: 83px;
    border: 1px #fff solid;
    position: absolute;
    content: "";
}
.sec03_title1 .tt1:before {
    border-right: none;
    left: 0;
    top: -17px;
}
.sec03_title1 .tt1:after {
    border-left: none;
    right: 0;
    top: -17px;
}
.sec03_title1 .tt1 .lg {
    font-size: 50px;
    margin-bottom: 10px;
}
.sec03_title1 .tt1 .sm, .sec03_title1 .tt2 {
    font-size: 20px;
}
.sec03_title1 .tt1 .sm {
    letter-spacing: 0.1em;
}
.sec03_title1 .tt2 {}
/*============= SEC04 ==============*/
.sec04 {
    padding-bottom: 46px;
}
.sec04 .idx_txt p {
    letter-spacing: -0.01em;
}
.sec04_wrap {
    position: relative;
    height: 425px;
    background: #EDF6FD;
    padding-left: 20px;
    margin-bottom: 37px;
}
.sec04_wrap:before {
    position: absolute;
    content: "";
    background: url("../images/idx_img_04_pc.png") no-repeat right top/320px;
    width: 320px;
    height: 425px;
    right: 0;
    top: 0;
}
.sec04_wrap .ttl, .sec04_title {
    position: relative;
    z-index: 1;
}
.sec04_wrap .ttl {
    text-align: left;
    align-items: flex-start;
    padding-top: 79px;
    margin-bottom: 18px;
}
.sec04_wrap .ttl .ja {
    text-shadow: 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 4px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff;
    font-weight: 600;
}
.sec04_title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 30px;
    font-weight: 600;
    font-family: var(--f-yumin);
}
.sec04_title .bg_blue, .sec04_title .bg_green {
    width: 210px;
    height: 50px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 1px;
}
.sec04_title .bg_blue {
    background: #042575;
    margin-bottom: 10px;
}
.sec04_title .bg_green {
    background: #04754F;
    margin-bottom: 13px;
}
.sec04_title .txt {
    text-shadow: 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 4px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff;
}
/*============= SEC05 ==============*/
.sec05 {
    padding-bottom: 70px;
}
.sec05_item > div {
    display: flex;
    position: relative;
    margin-bottom: 30px;
    z-index: 1;
}
.sec05_item > div:before {
    position: absolute;
    content: "";
    width: 320px;
    height: 140px;
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
    background: #EDF6FD;
    left: -20px;
    bottom: 0;
    z-index: -1;
}
.sec05_item > div:nth-child(2n):before {
    left: auto;
    right: -20px;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    background: #EDFDFA;
}
.sec05_img {
    margin-bottom: 0;
}
.sec05_item > div:nth-child(2n + 1) .sec05_list {
    padding-left: 25px;
}
.sec05_item > div:nth-child(2n) .sec05_img {}
.sec05_item > div:nth-child(2n) {
    flex-direction: row-reverse;
}
.sec05_item > div:before {
    position: absolute;
    content: "";
}
.sec05_wrap {
    width: 220px;
}
.sec05_item > div:nth-child(2n + 1) .sec05_wrap .tt {
    padding-left: 20px;
}
.sec05_wrap .tt {
    font-size: 20px;
    font-weight: 600;
    font-family: var(--f-yumin);
    border-bottom: 1px #042575 solid;
    margin-bottom: 7px;
    color: #042575;
    padding-bottom: 8px;
    position: relative;
    margin-top: -3px;
    line-height: 1.5;
}
.sec05_item > div.item2 .sec05_wrap .tt, .sec05_item > div.item4 .sec05_wrap .tt {
    color: #04754F;
    border-bottom-color: #04754F;
}
.sec05_item > div.item2 .sec05_list li:before, .sec05_item > div.item4 .sec05_list li:before {
    background: #04754F;
    left: 5px;
}
.sec05_item > div.item2 .sec05_list li, .sec05_item > div.item4 .sec05_list li {
    padding-left: 15px;
}
.sec05_list li {
    position: relative;
    padding-left: 11px;
    font-weight: bold;
    margin-bottom: 1px;
    color: #333;
}
.sec05_list li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #042575;
    left: 0;
    top: 10px;
}
/*============= SEC06 ==============*/
.sec06 {
    position: relative;
    background: #EDF6FD;
    padding: 334px 20px 0px;
}
.sec06:before {
    position: absolute;
    content: "";
    background: url("../images/idx_img_10_pc.png") no-repeat center top/contain;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 9;
    pointer-events: none;
}
.sec06 .inner {
    background: #fff;
    padding: 169px 0 96px;
}
.sec06_ttl {
    display: flex;
    flex-direction: column;
    position: absolute;
    right: 0;
    top: -223px;
    font-family: var(--f-yumin);
    left: -8px;
    margin: 0 auto;
    justify-content: center;
    align-items: flex-start;
    z-index: 10;
}
.sec06_ttl > span {
    padding: 13px 4px 9px;
    margin-right: 10px;
    font-weight: 600;
    color: #000;
    background: rgba(255, 255, 255, 0.85);
    font-size: 30px;
    letter-spacing: 0.14em;
}
.sec06_ttl > span.line2 {
    margin-top: 70px;
    padding: 14px 4px 0;
    letter-spacing: 0.15em;
}
.sec06_txt {
    text-align: center;
    margin-bottom: 36px;
    font-size: 18px;
    position: relative;
    z-index: 9;
}
.sec06_item .img {
    margin-bottom: 7px;
}
.sec06_item .tt {
    font-size: 30px;
    font-weight: 600;
    color: #042575;
    font-family: var(--f-yumin);
    text-align: center;
    margin-bottom: 15px;
}
.sec06_item .txt {
    font-size: 18px;
    text-align: center;
    font-weight: 500;
}
.sec06_item > div:not(:last-child) {
    margin-bottom: 39px;
}
.sec06_item .txt .line1 {
    border-bottom: 2px #042575 solid;
}
.sec06_item .item3 .txt {
    margin-top: 18px;
    line-height: 1.7;
}
/*============= SEC07 ==============*/
.sec07 {
    position: relative;
    padding-bottom: 40px;
}
.sec07_img {
    position: relative;
}
.sec07_img:before {
    position: absolute;
    content: "";
    background: url("../images/idx_img_14__pp_pc.png") no-repeat right bottom/308px;
    width: 100%;
    height: 100%;
    right: 4px;
    bottom: -29px;
    z-index: 9;
    display: none;
}
.sec07 .ttl {
    position: relative;
    background: #003F70;
    text-align: left;
    color: #fff;
    align-items: flex-start;
    font-weight: 400;
    z-index: 1;
    padding-bottom: 24px;
    margin-bottom: 37px;
    padding-left: 20px;
}
.sec07 .ttl .ja {
    display: flex;
    flex-direction: column;
}
.sec07 .ttl .ja .sm {
    font-size: 30px;
}
.sec07 .ttl .ja .lg {
    font-size: 40px;
}
.sec07 .ttl .ja .lg .mid {
    font-size: 75%;
}
.sec07 .ttl .en {
    text-align: left;
    color: #fff;
    position: relative;
    margin-top: -62px;
}
.sec07 .ttl:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 143px;
    background: #003F70;
    clip-path: polygon(0 0, 100% 100px, 100% 100%, 0% 100%);
    left: 0;
    top: -127px;
    z-index: -1;
}
.sec07_item > div > .wrap {
    display: flex;
}
.sec07_item > div:nth-child(2n) > .wrap {
    flex-direction: row-reverse;
}
.sec07_item {
    padding-top: 53px;
}
.sec07_item > div {
    position: relative;
    z-index: 1;
    padding-bottom: 25px;
}
.sec07_item > div:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 200px;
    background: #EDF6FD;
    left: 0;
    bottom: 0;
    z-index: -1;
}
.sec07_item > div:nth-child(2n):before {
    background: #EFFFFA;
}
.sec07_item > div:not(:last-child) {
    margin-bottom: 40px;
}
.sec07_item > div .txt {
    text-align: right;
    font-size: 20px;
    font-weight: 500;
    padding: 0 20px;
}
.sec07_item > div.item5 .txt {
    padding-right: 28px;
}
.sec07_item > div:nth-child(2n) .txt {
    text-align: left;
}
.sec07_item > div > .wrap .img {
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}
.sec07_item > div > .wrap .img:before {
    position: absolute;
    content: "";
    width: calc(100% + 5px);
    height: 100%;
    background: #003F70;
    right: -5px;
    bottom: -5px;
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 305px 100%, 0% 100%)
}
.sec07_item > div:nth-child(2n) > .wrap .img:before {
    background: #04754F;
    right: auto;
    left: -5px;
    bottom: -5px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50px 100%);
}
.sec07_ttl {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    font-family: var(--f-yumin);
    font-weight: 600;
    flex-grow: 1;
    justify-content: center;
    position: relative;
    top: 2px;
    line-height: 1.2;
    white-space: nowrap;
}
.sec07_ttl .sm {
    font-size: 20px;
    letter-spacing: 0.3em;
}
.sec07_ttl .lg {
    font-size: 30px;
    letter-spacing: 0.15em;
}
.item1 .sec07_ttl .lg {
    letter-spacing: 0em
}
.sec07 .idx_txt p:not(:last-child) {
    margin-bottom: 13px;
}
/*============= SEC08 ==============*/
.sec08 {
    position: relative;
    height: 300px;
    z-index: 1;
}
.sec08 .inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    padding-top: 21px;
}
.sec08:before {
    background: url("../images/idx_img_20_pc.png")#000000 no-repeat center top/cover;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
}
.sec08:before, .sec08:after {
    position: absolute;
    content: "";
}
.sec08:after {
    background: url("../images/arrow_w2.png") no-repeat center top/438px;
    width: 438px;
    height: 49px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -3px;
}
.sec08_tt {
    font-family: var(--f-yumin);
    width: 100%;
}
.sec08_tt .txt {
    font-size: 25px;
    color: #fff;
    margin-bottom: 0;
}
.sec08_tt .bg {
    color: #003F70;
    background: #fff;
    font-weight: 600;
    font-size: 35px;
    line-height: 1.25;
    padding: 7px 0 7px;
    width: 100%;
    margin: 8px 0 8px;
}
/*============= SEC09 ==============*/
.sec09 {
    padding-top: 139px;
    position: relative;
    padding-bottom: 100px;
}
.sec09_ttl {
    position: absolute;
    left: 20px;
    top: 100px;
    display: flex;
    flex-direction: column;
    z-index: 9;
    width: calc(100% - 40px);
}
.sec09_ttl p {
    margin-bottom: 0;
    display: flex;
    font-family: var(--f-yumin);
}
.sec09_ttl p:nth-child(2) {
    align-self: flex-end;
    position: relative;
    left: 5px;
}
.sec09_ttl p > span {
    width: 78px;
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 55px;
    background: #04754F;
    margin-right: 3px;
    margin-bottom: 3px;
}
.sec09_wrap {
    position: relative;
    height: 440px;
    background: #EFFFFA;
    display: flex;
    align-items: flex-end;
    padding-bottom: 22px;
}
.sec09_wrap:before {
    position: absolute;
    content: "";
    background: url("../images/idx_img_21_pc.png") no-repeat right top/280px;
    width: 100%;
    height: 350px;
    right: 0;
    bottom: 0;
}
.sec09_wrap .ttl {
    position: relative;
    z-index: 1;
    align-items: flex-start;
    padding-left: 22px;
}
.sec09_wrap .ttl .en {
    color: #04754F;
    margin-bottom: 9px;
}
.sec09_wrap .ttl .ja {
    line-height: 1.66;
}
.sec09_wrap .ttl .ja .sm {
    font-size: 83%;
}
.sec09 .sec09_txt1 {
    padding: 37px 20px 91px;
}
.sec09 .sec09_txt1 p:not(:last-child), .sec09 .sec09_txt2 p:not(:last-child) {
    margin-bottom: 13px;
}
.sec09_item {
    margin-bottom: 45px;
}
.sec09_item > div {
    position: relative;
}
.sec09_item > div:not(:last-child) {
    margin-bottom: 56px;
}
.sec09_item > div .num {
    position: absolute;
    left: 0;
    top: -35px;
    font-family: var(--f-yumin);
    font-size: 120px;
    line-height: 1;
    color: #04754F;
    margin-bottom: 0;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
    z-index: 9;
}
.sec09_item > div:nth-child(2n) .num {
    left: auto;
    right: 0;
    color: #003F70;
}
.sec09_item > div .img {
    margin-bottom: 23px;
    position: relative;
    z-index: 1;
}
.sec09_item > div .img:before {
    position: absolute;
    content: "";
    background: #04754F;
    width: 200px;
    height: 200px;
    clip-path: polygon(0 0, 100% 100%, 100% 0);
    right: -20px;
    top: -22px;
    z-index: -1;
}
.sec09_item > div:nth-child(2n) .img:before {
    background: #003F70;
    clip-path: polygon(0 0, 0 100%, 100% 0);
    right: auto;
    left: -20px;
}
.sec09_item > div .tt {
    display: flex;
    flex-direction: column;
    font-family: var(--f-yumin);
    margin-bottom: 33px;
    line-height: 1.8em;
}
.sec09_item > div .tt .sm {
    font-size: 22px;
    margin-bottom: 20px;
}
.sec09_item > div .tt .lg {
    color: #04754f;
    font-weight: 600;
    font-size: 35px;
}
.sec09_item > div .tt .lg .sm {
    font-size: 68.5%;
}
.sec09_item > div:nth-child(2n) .tt .lg {
    color: #003F70;
}
/*============= SEC10 ==============*/
.sec10 {
    padding-bottom: 81px;
    background: #EDF6FD;
    position: relative;
    z-index: 1;
}
.sec10_wrap {
    position: relative;
    height: 350px;
    padding-right: 14px;
}
.sec10_wrap:before {
    position: absolute;
    content: "";
    background: url("../images/idx_img_28_pc.png") no-repeat left top/330px;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
}
.sec10_wrap .ttl {
    position: relative;
    z-index: 1;
    align-items: flex-end;
    padding-top: 60px;
}
.sec10_wrap .ttl .en {
    color: #003F70;
    margin-right: 5px;
}
.sec10_wrap .ttl .ja {
    display: flex;
    flex-direction: column;
}
.sec10_wrap .ttl .ja .sm {
    letter-spacing: 0.17em;
    margin-left: 7px;
}
.sec10_wrap .ttl .ja .lg {
    background: #042575;
    color: #fff;
    font-size: 40px;
    letter-spacing: 0.25em;
    line-height: 1;
    padding: 14px 5px 6px;
}
.sec10_txt {
    background: #fff;
    padding: 37px 25px 47px;
    margin-bottom: 32px;
}
.sec10_txt p:not(:last-child) {
    margin-bottom: 13px;
}
.sec10_menu {
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px;
}
.sec10_menu li {
    width: calc(50% - 10px);
    height: 200px;
    margin-bottom: 19px;
}
.sec10_menu li:not(:nth-child(2n)) {
    margin-right: 19px;
}
.sec10_menu li a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    font-family: var(--f-yumin);
    justify-content: center;
    padding-bottom: 18px;
    position: relative;
    z-index: 1;
}
.sec10_menu li a:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    background: #fff;
    right: 9px;
    bottom: 9px;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.sec10_menu li.item1 a {
    background: url("../images/idx_img_29.png")#000000 no-repeat center top/cover;
}
.sec10_menu li.item2 a {
    background: url("../images/idx_img_30.png")#000000 no-repeat center top/cover;
}
.sec10_menu li.item3 a {
    background: url("../images/idx_img_31.png")#000000 no-repeat center top/cover;
}
.sec10_menu li.item4 a {
    background: url("../images/idx_img_32.png")#000000 no-repeat center top/cover;
}
.sec10_menu li.item5 a {
    background: url("../images/idx_img_33.png")#000000 no-repeat center top/cover;
}
.sec10_menu li.item6 a {
    background: url("../images/idx_img_34.png")#000000 no-repeat center top/cover;
    padding-bottom: 0px;
    padding-top: 12px;
}
.sec10_menu li.item6 a .sm {
    padding-bottom: 35px;
    margin-bottom: 14px;
}
.sec10_menu li a .sm {
    font-size: 18px;
    line-height: 1.66;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 30px;
    text-align: center;
}
.sec10_menu li.item3 a .sm, .sec10_menu li.item2 a .sm, .sec10_menu li.item5 a .sm {
    margin-bottom: 14px;
}
.sec10_menu li.item3 a, .sec10_menu li.item2 a, .sec10_menu li.item5 a {
    padding-bottom: 4px;
}
.sec10_menu li a .sm:before {
    position: absolute;
    content: "";
    width: 80px;
    height: 1px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
    background: #fff;
}
.sec10_menu li a .lg {
    font-size: 20px;
    text-align: center;
    line-height: 1.5;
}
/*============= SEC11 ==============*/
.sec11 {
    position: relative;
    background: url("../images/idx_bg1.png")#00131F no-repeat center top/cover;
    padding-top: 99px;
    /*    min-height: 810px;*/
    padding-bottom: 100px;
}
.sec11 .ttl, .sec11 .ttl .en {
    color: #fff;
}
.sec11 .ttl {
    margin-bottom: 38px;
}
.sec11_slide .slick-slide {
    width: 400px;
    margin: 0 5px
}
.sec11_img {
    width: 100%;
    margin-bottom: 18px;
    position: relative;
    z-index: 2;
}
.sec11_slide {
    margin-bottom: 50px;
}
.sec11_img2 {
    height: 226px;
    background: #fff;
    margin-bottom: 18px;
}
.sec11_img2 img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    flex-shrink: 0;
    margin: 0 auto;
}
.twentytwenty-container img {
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
}
.sec11_img .twentytwenty-wrapper {
    width: 100%;
}
.sec11_img .twentytwenty-container {
    width: 100%;
    height: 226px !important;
}
.sec11_slide .tt {
    line-height: 1.5;
    color: #fff;
    font-family: var(--f-yumin);
    margin-bottom: 21px;
    height: 48px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sec11_slide .tt a {
    color: #fff;
}
.sec11_slide.slick-dotted.slick-slider {
    margin-bottom: 111px;
}
.sec11_slide .slick-dots li button:before {
    display: none;
}
.sec11_slide .slick-dots li button {
    background: #fff;
    border-radius: 50%;
    width: 15px;
    height: 15px;
}
.sec11_slide .slick-dots li {
    margin: 0 10px;
    pointer-events: auto;
}
.sec11_slide .slick-dots li.slick-active {
    pointer-events: none;
}
.sec11_slide .slick-dots li.slick-active button {
    background: var(--sscolor);
}
.sec11_slide .slick-dots {
    bottom: -60px;
    z-index: 99;
    pointer-events: none;
}
.sec11_slide .slick-prev, .sec11_slide .slick-next {
    width: 17px;
    height: 17px;
    top: 436px;
}
.sec11_slide .slick-prev:before, .sec11_slide .slick-next:before {
    display: none;
}
.sec11_slide .slick-prev {
    background: url("../images/icon_prev.svg") no-repeat center;
    left: 0;
}
.sec11_slide .slick-next {
    background: url("../images/icon_next.svg") no-repeat center;
    right: 0;
}
/* ARCORDION */
.un_acc {
    margin-bottom: 10px;
}
.un_acc dl {
    transition: all .3s;
    overflow: hidden;
    background: #fff;
    border-radius: 5px;
    border: 1px #BBBBBB solid;
}
.un_acc dl.active {}
.un_acc dl.open {
    border-radius: 0
}
.un_acc dl dt {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .3s;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: .087em;
    line-height: 2.1875;
    color: #333;
    height: 63px;
    background: #fff;
}
.un_acc dl dt span {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 12px;
    text-align: center
}
.un_acc dl dt .open_txt {}
.un_acc dl dt .close_txt {
    opacity: 0
}
.un_acc dl.active dt::after, .un_acc dl.active dt::before {
    transform: rotate(180deg);
}
.un_acc dl dt::after {
    width: 12px;
    height: 11px;
    top: calc(50% - 6px);
    right: 15px;
    position: absolute;
    content: "";
    transition: all .3s;
    background: #888888;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.un_acc dl dd {
    padding: 19px 0 0px;
    border-top: 1px #AAAAAA solid;
    margin: 1px 25px 10px;
    display: none
}
/*============= SEC12 ==============*/
.sec12 {
    padding-top: 99px;
    padding-bottom: 50px;
}
.sec12 .ttl {
    margin-bottom: 35px;
}
.sec12_txt {
    margin-bottom: 29px;
}
.sec12_txt p:not(:last-child) {
    margin-bottom: 13px;
}
.sec12 td, .sec12 th {
    padding: 14px 7px 14px 7px;
}
.list_faq {
    margin-bottom: 30px
}
.list_faq dl {
    background: #FFF;
    padding: 0;
    margin-bottom: 20px;
    border: 1px #BBBBBB solid;
    border-radius: 5px
}
.list_faq dl table.tb_block th {
    text-align: center;
}
.list_faq dl:last-child {
    margin-bottom: 0
}
.list_faq dt {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5em;
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    transition: all .3s;
    min-height: 60px;
    letter-spacing: .09em;
    padding: 10px 25px 13px 0px;
    width: calc(100% - 28px);
    margin: 0 auto;
}
.list_faq dt, .list_faq dd {
    color: #333;
}
.list_faq dt:after, .list_faq dt::before {
    position: absolute;
    content: "";
}
.list_faq dt:after {
    width: calc(100% - 10px);
    border-bottom: 1px #E1E1E1 solid;
    left: 0;
    bottom: 0;
    margin: 0 auto;
    right: 0;
    opacity: 0;
}
.list_faq .active dt:after {
    opacity: 1;
}
.list_faq dt::before {
    background: url('../images/arrow_up.svg') no-repeat right top/12px;
    width: 12px;
    height: 11px;
    right: 0px;
    top: 23px;
    transition: all .3s
}
#index .list_faq dl:first-child dt {
    padding: 14px 25px 19px 0px;
}
.list_faq dl dt::before {
    transform: rotate(-180deg);
}
.list_faq dl.active dt::before {
    transform: rotate(0deg);
}
.list_faq dt .icon {
    width: 30px;
    height: 30px;
    font-weight: 700;
    text-align: center;
    line-height: 1em;
    border: 1px solid #333333;
    background: #333333;
    margin-right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    color: #fff;
    top: 4px;
    position: relative;
    letter-spacing: 0;
}
.list_faq dt .tt {
    font-size: 16px;
    line-height: 2.1875;
    font-weight: 700;
}
#index .list_faq dl:first-child dt .icon {
    top: 0px;
}
#index .list_faq dl:first-child dt .tt {
    line-height: 1.8;
}
.list_faq dt .tt .bold {
    font-weight: bold;
}
.list_faq dd {
    position: relative;
    letter-spacing: .1em;
    padding: 20px 35px 13px 54px;
    line-height: 2.19;
    display: none
}
.list_faq dt .icon, .list_faq dd .icon {
    font-size: 16px
}
.list_faq dd .icon {
    position: absolute;
    top: 20px;
    left: 15px;
    width: 30px;
    height: 30px;
    font-weight: 700;
    text-align: center;
    line-height: 1em;
    color: #fff;
    background: #042575;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    letter-spacing: 0;
    padding-top: 1px
}
/*============= SEC13 ==============*/
.sec13 {
    padding-bottom: 45px;
}
.sec13_wrap {
    position: relative;
    height: 611px;
    background: url("../images/idx_img_36_pc.jpg")#003F70 no-repeat left bottom/440px;
    margin-bottom: 35px;
}
.sec13_wrap:before, .sec13_wrap:after {
    position: absolute;
    content: "";
}
.sec13_wrap:before {
    top: 0;
    background: url("../images/idx_img_36__pp_pc.png") no-repeat left bottom/440px;
    width: 440px;
    height: 100%;
    left: 0;
    bottom: 0;
    z-index: 9;
    display: none;
}
.sec13_wrap:after {
    width: 100%;
    height: 300px;
    background: #003F70;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 200px);
    left: 0;
    top: 0;
}
.sec13_wrap .ttl {
    position: relative;
    z-index: 9;
    color: #fff;
    align-items: flex-end;
    padding-right: 20px;
    padding-top: 49px;
}
.sec13_wrap .ttl .en {
    text-align: right;
    color: #fff;
}
.sec13_wrap .ttl .ja {
    display: flex;
    flex-direction: column;
    text-align: right;
}
.sec13_wrap .ttl .ja .sm {
    margin-bottom: 1px;
}
.sec13_wrap .ttl .ja .lg {
    font-size: 45px;
    letter-spacing: 0.08em;
    font-weight: 600;
}
.sec13_ttl {
    width: 110px;
    height: 310px;
    background: rgba(62, 62, 62, 0.9);
    color: #fff;
    position: absolute;
    right: 40px;
    z-index: 9;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: var(--f-yumin);
    padding-top: 20px;
    padding-left: 6px;
    bottom: 67px;
}
.sec13_ttl .sm {
    font-size: 18px;
    letter-spacing: 0.055em;
}
.sec13_ttl .mid {
    font-size: 20px;
    letter-spacing: 0.1em;
    margin-right: 10px;
}
.sec13_ttl .mid .lg {
    font-size: 150%;
    letter-spacing: 0.1em;
    margin-top: 20px;
}
.sec13_ttl .mid .lg .let {
    margin-bottom: 12px;
}
.sec_info .tt {
    font-size: 18px;
    border-bottom: 1px #003F70 solid;
    padding-bottom: 4px;
    margin-bottom: 17px;
    font-family: var(--f-yumin);
}
.sec_info .txt p {
    font-weight: 500;
}
.sec_info > div:not(:last-child) {
    margin-bottom: 21px;
}
/*============= SEC14 ==============*/
.sec14 {
    background: url("../images/idx_img_37_pc.png") no-repeat center top/contain;
    padding-top: 436px;
    padding-bottom: 100px;
}
.sec14_ttl1 {
    text-align: center;
    padding-bottom: 11px;
    margin-bottom: 41px;
    font-family: var(--f-yumin);
    font-size: 18px;
    background-image: radial-gradient(circle, #8ba7be 1px, transparent 1px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 12px 2px;
}
.sec14_ttl2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 47px;
}
.sec14_ttl2 .mid {}
.sec14_ttl2 .sm {
    font-size: 35px;
    font-family: var(--f-yumin);
    display: flex;
    align-items: flex-end;
}
.sec14_ttl2 .txt {
    position: relative;
    bottom: 10px;
}
.sec14_ttl2 .sm .lg {
    font-size: 114%;
}
.sec14_ttl2 .sm.space {
    margin: 32px 0 33px;
}
.sec14_ttl2 .xlg {
    background: #003F70;
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 70px;
    margin-right: 10px;
}
.sec14_txt {
    margin-bottom: 46px;
}
.sec14_txt p:not(:last-child) {
    margin-bottom: 13px;
}
/*============= SEC15 ==============*/
.sec15 {
    padding-bottom: 95px;
}
.sec15_wrap {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    color: #fff;
    padding-bottom: 33px;
    height: 260px;
    background: url("../images/idx_img_38_pc.jpg") no-repeat center top/cover;
    margin-bottom: 32px;
}
.sec15_ttl {
    font-family: var(--f-yumin);
    text-align: center;
    font-size: 25px;
    line-height: 1.7;
}
.sec15_ttl .lg {
    font-size: 120%;
}
.sec15_txt1 {
    margin-bottom: 45px;
}
.sec15_tt {
    text-align: center;
    color: #042575;
    font-family: var(--f-yumin);
    font-weight: 600;
    font-size: 30px;
    margin-bottom: 9px;
}
.sec15_txt2 {
    padding: 0 20px;
}
.sec15_img {
    text-align: center;
    margin-bottom: 12px;
}
.sec15_item > div:not(:last-child) {
    margin-bottom: 46px;
}
/*============= SEC contact ==============*/
.bold_txt {
    font-weight: bold;
}
.logo_ft {
    text-align: center;
    width: 100%;
    margin-bottom: 32px;
}
.ft_add {
    margin-bottom: 5px;
}
.ft_map {
    height: 272px;
    margin-bottom: 6px;
}
.ft_calc {
    margin-bottom: 14px;
}
.ft_link {
    margin-bottom: 31px;
}
.ft_hour {
    font-size: 14px;
    font-family: var(--f-yumin);
    line-height: 1.85;
    margin-bottom: 37px;
}
.ft_link a {
    display: table;
    margin-left: auto;
    color: #fff;
    position: relative;
    padding-left: 22px;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.ft_link a:before {
    position: absolute;
    content: "";
    background: url("../images/icon_map.svg") no-repeat left top;
    width: 12px;
    height: 19px;
    left: 0;
    top: 5px;
}
.ft_map iframe {
    width: 100%;
    height: 100%;
}
.cta {
    margin-bottom: 40px;
}
.cta li {}
.cta li a {
    width: 100%;
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: var(--f-yumin);
    color: #fff;
    position: relative;
}
.cta li a:before {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    background: #fff;
    right: 9px;
    bottom: 9px;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.cta li a .sm {
    font-size: 16px;
    line-height: 1.3;
}
.cta li a .lg {
    font-size: 24px;
    position: relative;
}
.cta li a .lg:before {
    position: absolute;
    content: "";
}
.cta li.btn_con {
    margin-bottom: 15px;
}
.cta li.btn_con a {
    background: var(--scolor);
}
.cta li.btn_con a .lg {
    padding-left: 30px;
}
.cta li.btn_con a .lg:before {
    background: url("../images/icon_mail_sm.svg") no-repeat left center;
    width: 23px;
    height: 16px;
    left: 0;
    top: 4px;
}
.cta li.btn_tel a {
    background: var(--sscolor);
}
.cta li.btn_tel a .lg {
    padding-left: 20px;
    font-size: 30px;
    margin-top: 2px;
}
.cta li.btn_tel a .lg:before {
    background: url("../images/icon_tel_sm.svg") no-repeat left center;
    width: 11px;
    height: 20px;
    left: 0;
    top: 3px;
}
.point {
    position: relative;
    padding-top: 7px;
}
.point:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
}
.txt_com p {
    letter-spacing: 0.05em;
}
.line {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 91%, rgba(255, 255, 255, 0.5) 89%, rgba(255, 255, 255, 1) 90.1%, rgba(255, 255, 255, 1) 100%);
    padding-bottom: 1px;
    line-height: 1.81;
}
/*==========================================================
                        C O M M ON
==========================================================*/
.ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 22px;
    font-family: var(--f-yumin);
}
.ttl .en {
    color: #042575;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 13px;
}
.ttl .ja {
    font-size: 30px;
}
/*==========================================================
                        F O O T E R
==========================================================*/
footer {
    position: relative;
    z-index: 3;
    color: #fff;
}
.ft_top {
    background: #003F70;
    padding-top: 100px;
}
address {
    color: #fff;
    text-align: center;
    letter-spacing: 0.05em;
    position: relative;
    font-size: 14px;
    line-height: 1.357;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #333333;
}
/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 9;
    width: 80px;
    height: 66px;
    right: 0px;
    cursor: pointer;
    transition: all .2s;
    display: block;
    bottom: 0;
    background: url("../images/btn_top.svg")#fff no-repeat center;
}
.h_contact {
    width: 80px;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.h_contact > * {
    width: 80px;
    flex: 1;
    margin-bottom: 0;
}
.h_contact_sika a, .h_contact_tel_tt, .h_contact_mail a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    width: 100%;
    height: 100%;
    font-family: var(--f-yumin);
}
.h_contact_tel {
    background: var(--sscolor);
    position: relative;
}
.h_contact_sika a {
    background: var(--scolor);
}
.h_contact_sika a span {
    background: url("../images/icon_mail.svg") no-repeat center top/26px;
    padding-top: 29px;
}
.h_contact_tel .icon {
    background: url("../images/icon_tel.svg") no-repeat center top/14px;
    padding-top: 40px;
    letter-spacing: 0.15em;
}
.tel_space {
    display: block;
    left: 89px;
    position: relative;
    top: -12px;
}
.h_contact_tel span a {
    color: #fff;
}
.h_contact_mail a span {
    padding-top: 27px;
    letter-spacing: 0.16em;
}
.h_contact_tel_wrap {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 380px;
    background: #D6B456;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    z-index: -1;
}
.h_contact_tel_tt {
    position: relative;
    z-index: 99;
}
.h_contact_tel.active .h_contact_tel_wrap {
    left: -380px;
}
.h_contact_mail a {
    background: #63BBA6;
    position: relative;
    z-index: 1;
}
.h_contact_tel_wrap .num {
    font-size: 35px;
    margin-bottom: 0;
    letter-spacing: 0.1em;
    color: #fff;
    font-family: var(--f-yumin);
}
.h_contact_tel_wrap .txt {
    font-size: 15px;
    line-height: 2.14;
}
/*==========================================================
                        T A B L E
==========================================================*/
table.td_top td {
    vertical-align: top
}
table.tb_fix {
    table-layout: fixed;
}
table {
    margin-bottom: 30px;
}
table.mb0 {
    margin-bottom: 0;
}
table.mailform th, table th {
    font-weight: 700;
}
table.mailform td .info {
    color: var(--mcolor)
}
table td {
    border-color: var(--mcolor);
    background: #fff;
}
table th, table td {
    padding: 12px 10px 8px 10px;
    border: none;
    letter-spacing: 0.05em;
}
table td {
    padding: 14px 10px 14px 10px;
}
table img {
    display: block;
    margin: auto;
}
table th {
    background: #F5F5F5;
    color: var(--mcolor);
    text-align: left;
}
table th.center {
    text-align: center;
}
table.center th {
    text-align: center;
}
table:not(.tb_block) tr th {
    border-top: 1px #D6D6D6 solid;
}
table:not(.tb_block) tr td {
    border-top: 1px #D6D6D6 solid;
}
table:not(.tb_block) tr:last-child th {
    border-bottom: 1px #D6D6D6 solid;
}
table:not(.tb_block) tr:last-child td {
    border-bottom: 1px #D6D6D6 solid;
}
table.tb_block tr, table.mailform tr {
    display: flex;
    flex-direction: column
}
table.tb_block tr:not(:last-child) th, table.mailform tr:not(:last-child) th {
    border-bottom: none
}
table.tb_block td + td, table.mailform td + td {
    border-top: none;
}
table.tb_block th, table.tb_block td, table.mailform td, table.mailform th {
    width: 100%;
    padding: 12px 10px 9px;
}
table.mailform th {
    border-top: none !important;
    border-bottom: none !important;
}
table.mailform td {
    border-top: none !important;
}
table.tb_block tr {
    display: flex;
    flex-direction: column;
}
.tb_block th, .tb_block td {
    width: 100%;
    padding: 12px 12px 8px;
    line-height: 1.8;
    font-size: 16px;
    border: none;
    letter-spacing: 0.05em;
}
.tb_block td {
    padding: 12px 12px 17px;
}
table th {
    text-align: left;
    line-height: 1.8;
    border-top: 1px #042575 solid;
    border-bottom: none;
    color: #042575;
    font-weight: bold;
}
table.tb_block th {
    background: #F5F5F5;
    border-top: 1px #042575 solid;
}
.list01.mb10, .list02.mb10 {
    margin-bottom: 10px;
}
.list01.mb0, .list02.mb0 {
    margin-bottom: 0px;
}
.list01 li {
    position: relative;
    padding-left: 10px;
}
.list01 li:not(:last-child) {
    margin-bottom: 10px;
}
.list04 {
    position: relative;
    font-weight: bold;
    padding-left: 15px;
}
.list01 li:before, .list04:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #042575;
    left: 0;
    top: 9px;
}
.list01 li:before {
    top: 10px;
}
.under main .list01 li::before {
    top: 11px;
}
/* LIST CHECK */
.list_check {
    margin-bottom: 30px;
}
.list_check:last-of-type, .list_check li:last-of-type {
    margin-bottom: 0;
}
.list_check li {
    display: block;
    padding-left: 25px;
    margin-bottom: 5px;
    position: relative
}
.list_check li::before {
    content: '';
    display: block;
    position: absolute;
    top: 3px;
    left: 5px;
    width: 6px;
    height: 14px;
    border: solid var(--mcolor);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
/* LIST 02 */
.list02 {
    margin-bottom: 30px;
}
.list02 > li {
    counter-increment: li;
    padding-left: 30px;
    position: relative;
    margin-bottom: 10px;
    font-size: 16px;
}
.list02 > li::before, .list05 .ic {
    content: counter(li);
    position: absolute;
    width: 22px;
    height: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    left: 0;
    top: 2px;
    background-color: var(--mcolor);
    font-size: 12px;
    font-weight: bold;
    color: #FFF;
    line-height: 22px;
}
.list05 {
    display: flex;
}
.list05 .ic {
    position: relative;
    margin-right: 10px;
    flex-shrink: 0;
}
.ft_bnr2 {
    text-align: center;
}
.ft_bnr2 a {
    display: table;
    margin: 0 auto 28px;
    width: 100%;
    background: #fff;
    max-width: 250px;
}
.ft_bnr2 a img {
    height: 80px;
    width: auto;
}
/* FIREFOX ONLY */
@-moz-document url-prefix() {
    .ft_hour {
        letter-spacing: -0.01em;
    }
}
/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}