@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap");
/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
@font-face {
    font-family: "Myriad Pro";
    src: url("../fonts/MyriadPro-Bold.woff2") format("woff2"),
        url("../fonts/MyriadPro-Bold.woff") format("woff");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Myriad Pro";
    src: url("../fonts/MyriadPro-Black.woff2") format("woff2"),
        url("../fonts/MyriadPro-Black.woff") format("woff");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
:root {
    --txt: #000;
    --mcolor: #034a96;
    --scolor: #ffe600;
    --container: 1440px;
    --gray: #e9e9e9;
    --blue: #003b7d;
    --red: red;
    --f-main: "Noto Sans JP", sans-serif;
    --f-nts: "Noto Sans JP", sans-serif;
    --f-nsr: "Noto Serif JP", serif;
    --f-yumin: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN", "HG明朝B", serif;
    --f-myriad: "Myriad Pro", Myriad, "Liberation Sans", "Nimbus Sans L",
        "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* 基本タグのフォントサイズを指定（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);
}

table {
    width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.4;
}

p,
dd,
dt,
li,
th,
td,
address {
    line-height: 2em;
    letter-spacing: 0;
}

p {
    margin: 0 0 1.5em;
}

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;
}

#wrapper {
    min-width: 1260px;
    overflow: hidden;
    margin: 0 auto;
}

.inner {
    width: var(--container);
    margin: 0 auto;
    position: relative;
    max-width: 100%;
    padding: 0 20px;
}

.lk-full {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

/* HAMBUGER BUTTON */
.hamburger {
    font: inherit;
    display: block;
    overflow: visible;
    margin: 0;
    padding: 10px 8px 5px;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: 0.15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: inherit;
    border: 0;
}

.hamburger-box {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 24px;
}

.hamburger-inner {
    top: 50%;
    display: block;
    margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before {
    position: absolute;
    width: 35px;
    height: 2px;
    transition: all ease 0.15s;
    background-color: #000;
}

.hamburger-inner::after,
.hamburger-inner::before {
    display: block;
    content: "";
}

.hamburger-inner::before {
    top: -10px;
}

.hamburger-inner::after {
    bottom: -10px;
}

.hamburger--3dxy .hamburger-box {
    perspective: 80px;
}

.hamburger--3dxy .hamburger-inner {
    transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1),
        background-color 0 cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
}

.hamburger--3dxy .hamburger-inner::after,
.hamburger--3dxy .hamburger-inner::before {
    transition: transform cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
}

.hamburger--3dxy.is_active .hamburger-inner {
    transform: rotateX(180deg) rotateY(180deg);
    background-color: transparent !important;
}

.hamburger--3dxy.is_active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--3dxy.is_active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*==========================================================
                       H E A D E R
==========================================================*/
header {
    position: relative;
    z-index: 9;
}

h1 {
    font-size: 14px;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 10px 0 7px;
    max-width: 500px;
}

.h_box {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.h_left {
    position: fixed;
    padding: 10px 20px 0;
    top: 0;
    left: 0;
    transition: all ease 0.3s;
}
.h_left::before {
    content: "";
    position: absolute;
    background-color: #fff;
    width: 100vw;
    height: 100%;
    z-index: -1;
    left: 0;
    top: 0;
    opacity: 0;
    transition: all ease 0.3s;
}

.h_right {
    position: fixed;
    top: 0;
    right: 0;
}

.is_scroll .h_left {
    background-color: #fff;
    padding: 5px 20px;
}
.is_scroll .h_left::before {
    opacity: 1;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.h_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.h_contact {
    display: flex;
    align-items: center;
}

.h_contact > p {
    margin-bottom: 0;
}

.h_contact > p:not(:last-child) {
    margin-right: 20px;
}

.h_contact_mail a {
    color: #fff;
    font-weight: 400;
    text-align: center;
    background-color: var(--mcolor);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 360px;
    height: 100px;
    position: relative;
    padding-bottom: 1px;
}

.h_contact_mail a span {
    position: relative;
    z-index: 2;
    font-size: 20px;
    display: inline-block;
    padding-left: 43px;
    letter-spacing: -0.02em;
}

.h_contact_mail a span::before {
    content: "";
    position: absolute;
    width: 24px;
    height: 30px;
    left: 3px;
    top: 0;
    background: url("../images/ic_mail.svg") no-repeat center/cover;
}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
    position: relative;
    z-index: 2;
}

.mv {
    position: relative;
    padding: 0;
}

.mv_bg {
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
}
.mv_bg .bg {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
}
.mv_bg .bg::before {
    content: "";
    position: absolute;
    background: url("../images/mainvs.jpg") center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.mv_bg,
.mv_slider_ite {
    width: 100%;
    height: 900px;
}

.mv_txt {
    position: absolute;
    top: 75px;
    left: 2px;
    z-index: 2;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 67px;
    padding: 0 25px 0 20px;
}
.mv_txt_balloon {
    margin-left: -128px;
    margin-bottom: -63px;
    position: relative;
    z-index: 2;
}

.mv_bnr {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    position: relative;
    top: 112px;
    z-index: 2;
    padding-right: 2px;
}
.mv_bnr p {
    margin-bottom: 0;
    text-align: right;
    letter-spacing: -0.1em;
    font-weight: 500;
}
.mv_bnr p img {
    box-shadow: 6px 6px 25px rgba(0, 0, 0, 0.25);
}

.mv_txt h2 {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    position: relative;
    z-index: 1;
}
.mv_txt h2::before {
    content: "";
    position: absolute;
    background: url("../images/bg_h2.png") center no-repeat;
    background-size: cover;
    width: 1920px;
    height: 125%;
    top: -40px;
    left: -130px;
    z-index: -1;
}

@keyframes zoomImg {
    0% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl_h3 {
    text-align: center;
    font-weight: bold;
}

.ttl_h3:not(:last-child) {
    margin-bottom: 30px;
}

.ttl_h3 > span {
    display: block;
}

.ttl_h3 .ja {
    font-size: 54px;
    letter-spacing: 0;
}
.ttl_h3 .ja > span {
    color: var(--scolor);
}

.ttl_h3 .en {
    font-size: 16px;
}

/* DEFAUTL NAME BUTTON */
.btn {
    width: 100%;
    max-width: 250px;
}
.btn.btn_mail {
    max-width: 680px;
}
.btn.btn_mail a {
    height: 120px;
    font-weight: 600;
}
.btn.btn_mail a span {
    position: relative;
    z-index: 1;
    padding-left: 52px;
    letter-spacing: -0.02em;
}
.btn.btn_mail a span::before {
    content: "";
    position: absolute;
    width: 27px;
    height: 34px;
    left: 7px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url("../images/ic_mail.svg") no-repeat center/cover;
    z-index: -1;
}
.btn a {
    width: 100%;
    height: 60px;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #034a96;
    background: linear-gradient(
        67deg,
        rgb(3, 74, 150) 35%,
        rgb(0, 54, 94) 100%
    );
    font-size: 30px;
    color: #fff;
    border-radius: 60px;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.2);
}

.btn.center a {
    margin-left: auto;
    margin-right: auto;
}

.btn_box:not(:last-child) {
    margin-bottom: 30px;
}

.btn_box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.iList {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.iList li {
    background-color: #fff599;
    border-top-right-radius: 60px;
    border-bottom-right-radius: 60px;
    color: #034a96;
    font-weight: 500;
    min-height: 60px;
    padding: 12px 30px 8px;
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.02em;
}
.iList li > span {
    padding-left: 50px;
    position: relative;
    z-index: 1;
    display: block;
}
.iList li > span::before {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background: url("../images/ic_list.svg") center no-repeat;
    background-size: cover;
    top: 3px;
    left: 0;
    z-index: -1;
}

/*============= SEC01 ==============*/
.sec01 {
    position: relative;
    z-index: 1;
    padding: 80px 0;
}
.sec01::before {
    content: "";
    position: absolute;
    background: url("../images/sec1_bg.jpg") center no-repeat;
    background-size: cover;
    width: calc(100% + 2px);
    height: 100%;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.sec01_frame {
    width: 100%;
    max-width: 1340px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 20px;
    padding: 25px 41px 25px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.15);
}
.sec01 .iList {
    width: 100%;
    max-width: 580px;
    flex-shrink: 0;
}
.sec01 .btn {
    margin-bottom: 11px;
}

/*============= SEC02 ==============*/
.sec02 {
    --space-top: 252px;
    position: relative;
    z-index: 2;
}
.sec02_bg {
    position: relative;
    box-shadow: inset 2px 2px 15px rgba(0, 0, 0, 0.1);
}
.sec02_bg::before {
    content: "";
    position: absolute;
    background: url("../images/sec2_bg.png") center no-repeat;
    background-size: cover;
    width: calc(100% + 2px);
    height: calc(100% - 240px);
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 1;
}
.sec02_bg .inner {
    z-index: 2;
}
.sec02 .title {
    --w-dc: 478px;
    padding-top: 70px;
    margin-bottom: -20px;
    display: flex;
}
.sec02 .title_img {
    margin-top: -120px;
    margin-left: 20px;
}
.sec02 .title_info {
    max-width: 850px;
    margin-left: auto;
    margin-right: 20px;
}
.sec02 .title .balloon {
    margin-bottom: -26px;
    margin-left: 128px;
}
.sec02 .title .ja {
    display: inline;
    font-size: 50px;
    color: #fff;
    padding-bottom: 7px;
    --cl: #b0c6d0;
    --t: 94%;
    --b: 95%;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    background-image: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) var(--t),
        var(--cl) var(--t),
        var(--cl) var(--b),
        rgba(255, 255, 255, 0) var(--b)
    );
}
.sec02 .title .ja > span {
    font-size: 128%;
    letter-spacing: -0.065em;
}
.sec02 .title .ja > span span {
    font-size: 78%;
    position: relative;
}
.sec02 .title .ja > span .sym {
    top: -13px;
}
.sec02 .title .ja > span .top2 {
    top: -4px;
    font-size: 84%;
}
.sec02 .ttl_h3 {
    text-align: left;
}
.sec02_cnt {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
    padding-bottom: 133px;
    margin-bottom: calc(var(--space-top) * -1);
}
.sec02_cnt::before {
    content: "";
    position: absolute;
    background: url("../images/ic_arrow_bottom.png") center no-repeat;
    background-size: cover;
    width: 170px;
    height: 102px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.sec02_cnt .item {
    width: 100%;
    max-width: 440px;
    background-color: #fff;
    text-align: center;
    padding: 10px 10px 32px;
    box-shadow: 2px 2px 25px rgba(0, 0, 0, 0.2);
}
.sec02_cnt .item .ic {
    height: 228px;
}
.sec02_cnt .item:nth-child(1) .ic {
    padding-top: 19px;
    padding-left: 15px;
}
.sec02_cnt .item:nth-child(2) .ic {
    padding-top: 8px;
}
.sec02_cnt .item:nth-child(3) .ic {
    padding-top: 25px;
    padding-left: 13px;
}
.sec02_cnt .item .ttl {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5em;
    color: var(--mcolor);
    margin-top: 20px;
    padding-bottom: 10px;
    position: relative;
    z-index: 1;
    margin-bottom: 12px;
}
.sec02_cnt .item .ttl::before {
    content: "";
    position: absolute;
    background-color: var(--mcolor);
    width: 60px;
    height: 2px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: -1;
}
.sec02_cnt .item .ttl span {
    font-family: var(--f-myriad);
    font-size: 205%;
    font-weight: bold;
    position: relative;
    margin-left: -1px;
    margin-right: 10px;
    letter-spacing: -0.065em;
}
.sec02_cnt .item .cnt p {
    font-size: 24px;
    line-height: 1.583em;
    letter-spacing: -0.05em;
}
.sec02_cnt .item .cnt p span {
    font-weight: bold;
    --cl: #ffe600;
    --t: 80%;
    --b: 95%;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    background-image: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) var(--t),
        var(--cl) var(--t),
        var(--cl) var(--b),
        rgba(255, 255, 255, 0) var(--b)
    );
}
.sec02_bnr {
    position: relative;
    padding-top: var(--space-top);
    background-color: #e5e255;
}
.sec02_bnr::before {
    content: "";
    position: absolute;
    background: url("../images/sec2_bg2.png") center no-repeat;
    background-size: cover;
    width: 100%;
    min-height: 887px;
    top: 56%;
    left: 50%;
    transform: translate(-50%, -50%);
    mix-blend-mode: screen;
}
.sec02_bnr::after {
    content: "";
    position: absolute;
    background: url("../images/sec2_bnr_arrow.png") center bottom no-repeat;
    background-size: cover;
    width: calc(100% + 2px);
    height: 220px;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
}
.sec02_bnr .inner {
    padding-bottom: 80px;
    font-size: 10px;
}
.sec02_bnr_cnt {
    padding-top: 7px;
    width: 100%;
    max-width: 1020px;
}
.sec02_bnr_cnt::before {
    content: "";
    position: absolute;
    background: url("../images/sec2_bnr_dc.png") center no-repeat;
    background-size: cover;
    width: 640px;
    height: 590px;
    bottom: 0;
    right: -160px;
    z-index: 2;
}
.sec02_bnr_cnt p {
    font-size: 54px;
    line-height: 1.85em;
    font-weight: 500;
    letter-spacing: -0.07em;
}
.sec02_bnr_cnt p strong {
    font-weight: 900;
}
.sec02_bnr_cnt p > span {
    border-bottom: 6px solid;
    padding-bottom: 1px;
    color: var(--mcolor);
    line-height: 1.5em;
}
.sec02_bnr_cnt p .resize {
    font-size: 142%;
    line-height: 1em;
    font-weight: 900;
    display: inline-block;
    letter-spacing: -0.03em;
}
.sec02_bnr_cnt p .sym {
    font-size: 90%;
    position: relative;
    top: -16px;
}

/*============= SEC03 ==============*/
.sec03 {
    position: relative;
}
.sec03_cnt {
    position: relative;
    padding: 105px 0;
}
.sec03_cnt::before {
    content: "";
    position: absolute;
    background: url("../images/sec3_bg.png") center no-repeat;
    background-size: cover;
    width: calc(100% + 2px);
    height: 630px;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 2;
}
.sec03_cnt .inner {
    width: 1320px;
    z-index: 3;
}
.sec03 .title {
    margin-bottom: 43px;
    position: relative;
    z-index: 1;
}
.sec03 .title .en {
    font-family: var(--f-myriad);
    color: #f2f7fb;
    font-size: 200px;
    text-align: center;
    font-weight: bold;
    opacity: 0.2;
    text-align: center;
    position: absolute;
    z-index: -1;
    top: -142px;
    left: -36px;
    right: 0;
    margin: auto;
    line-height: 1em;
    letter-spacing: -0.02em;
}
.sec03_title_sub {
    position: relative;
    z-index: 1;
    font-size: 28px;
    font-weight: 500;
    text-align: center;
    padding-bottom: 16px;
    margin-bottom: 1px;
    letter-spacing: -0.07em;
}
.sec03_title_sub::before {
    content: "";
    position: absolute;
    background: url("../images/line_title_sub.png") center no-repeat;
    background-size: cover;
    width: 440px;
    height: 17px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
}
.sec03_qa {
    display: grid;
    flex-wrap: wrap;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}
.sec03_qa li {
    background-color: #fff;
    border-radius: 60px;
    padding: 14px 30px 18px;
    font-size: 24px;
    letter-spacing: -0.06em;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.2);
}
.sec03_qa li span {
    padding-left: 45px;
    position: relative;
    z-index: 1;
}
.sec03_qa li span::before {
    content: "Q";
    position: absolute;
    left: 0;
    top: -7px;
    font-size: 40px;
    font-family: var(--f-myriad);
    color: var(--mcolor);
    font-weight: bold;
    z-index: -1;
}
.sec03_bnr {
    position: relative;
    font-size: 54px;
}
.sec03_bnr::before {
    content: "";
    position: absolute;
    background-color: #fffacc;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    bottom: -52px;
    left: 28px;
    z-index: -1;
}
.sec03_bnr::after {
    content: "";
    position: absolute;
    background-color: #fffacc;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    top: -204px;
    right: 73px;
    z-index: -1;
}
.sec03_bnr_frame {
    position: relative;
    z-index: 2;
    padding: 76px 0;
}
.sec03_bnr_frame::before {
    content: "";
    position: absolute;
    background: url(../images/sec3_bnr_dc1.svg) center no-repeat;
    background-size: cover;
    width: 346px;
    height: 408px;
    bottom: -87px;
    left: 136px;
    z-index: -1;
}
.sec03_bnr_frame::after {
    content: "";
    position: absolute;
    background: url(../images/sec3_bnr_dc2.svg) center no-repeat;
    background-size: cover;
    width: 316px;
    height: 350px;
    top: -117px;
    right: 145px;
    z-index: -1;
}
.sec03_bnr p {
    font-size: 1em;
    text-align: center;
    font-weight: bold;
    letter-spacing: -0.08em;
    position: relative;
    z-index: 1;
}
.sec03_bnr p::before {
    content: "";
    position: absolute;
    background: url("../images/sec3_bnr_balloon.png") center no-repeat;
    background-size: cover;
    width: 223px;
    height: 189px;
    top: -151px;
    right: calc(50% - 268px);
    z-index: -1;
}
.sec03_bnr p > span {
    color: var(--mcolor);
    font-size: 140%;
    font-weight: 900;
    margin: 0 4px;
}
.sec03_bnr p > span .sym {
    font-size: 72%;
    position: relative;
    font-weight: 900;
}
.sec03_bnr p > span .sym.top {
    top: -13px;
}
.sec03_bnr p > span .sym.bottom {
    bottom: -1px;
}
.sec03_bnr p > span .resize {
    margin: 0 10px 0 10px;
    position: relative;
    z-index: 1;
}
.sec03_bnr p > span .resize::before {
    content: "";
    position: absolute;
    background: url("../images/sec3_resize_dc.png") center no-repeat;
    background-size: cover;
    width: 129px;
    height: 38px;
    z-index: -1;
    top: -27px;
    left: 0;
    right: 0;
    margin: auto;
}

/*============= SEC04 ==============*/
.sec04 {
    position: relative;
    background-color: var(--mcolor);
    counter-reset: section;
    margin-top: -21px;
    padding: 120px 0;
}
.sec04::before {
    content: "";
    position: absolute;
    background: url("../images/sec4_bg_dc1.png") center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    mix-blend-mode: screen;
}
.sec04::after {
    content: "";
    position: absolute;
    background: url("../images/sec4_bg_dc2.png") center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    mix-blend-mode: screen;
}
.sec04 .item {
    position: relative;
    z-index: 1;
    background-color: #fff;
    padding: 89px 0 79px;
}
.sec04 .item::after {
    content: "";
    position: absolute;
    width: 1920px;
    height: 100%;
    background-color: #fff;
    z-index: -2;
    right: 0;
    top: 0;
    box-shadow: 4px 4px 30px rgba(0, 0, 0, 0.2);
}
.sec04 .item::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 600px;
    height: 700px;
    top: 0;
}
.sec04 .item:not(:last-child) {
    margin-bottom: 80px;
}
.sec04 .item:nth-child(odd)::before {
    background: url("../images/sec4_img1.png") center no-repeat;
    background-size: cover;
    right: 0;
}
.sec04 .item:nth-child(even) {
    padding: 89px 0 70px;
}
.sec04 .item:nth-child(even)::before {
    background: url("../images/sec4_img2.png") center no-repeat;
    background-size: cover;
    left: 0;
}
.sec04 .item:nth-child(even)::after {
    left: unset;
    left: 0;
}
.sec04 .item:nth-child(even) .item_cnt {
    max-width: 820px;
    margin-left: auto;
}
.sec04 .item:nth-child(even) .item_cnt h4 {
    margin-bottom: 35px;
}
.sec04 .item:nth-child(even) .item_cnt .cnt p {
    margin-bottom: 24px;
}
.sec04 .item:nth-child(even) .item_cnt .cnt ul {
    margin-bottom: 48px;
}
.sec04 .item:nth-child(even) .attend {
    text-align: right;
    letter-spacing: -0.045em;
}
.sec04 .item_cnt {
    max-width: 960px;
}
.sec04 .item_cnt h4 {
    font-size: 50px;
    font-weight: bold;
    letter-spacing: -0.06em;
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
    padding-left: 119px;
}
.sec04 .item_cnt h4::before {
    counter-increment: section;
    content: counter(section, decimal-leading-zero);
    font-family: var(--f-myriad);
    font-size: 100px;
    font-weight: bold;
    color: var(--mcolor);
    position: absolute;
    top: -13px;
    left: 0;
    letter-spacing: -0.08em;
    line-height: 1em;
}
.sec04 .item_cnt .cnt p {
    font-size: 28px;
    line-height: 1.785em;
    font-weight: 400;
    letter-spacing: -0.042em;
    margin-bottom: 36px;
}
.sec04 .item_cnt .cnt ul {
    width: 100%;
    max-width: 820px;
    margin-bottom: 32px;
}
.sec04 .item_cnt .cnt ul li {
    position: relative;
    z-index: 1;
    font-size: 24px;
    padding-left: 40px;
    padding-bottom: 7px;
    border-bottom: 1px solid #717071;
    letter-spacing: -0.02em;
}
.sec04 .item_cnt .cnt ul li:not(:last-child) {
    margin-bottom: 4px;
}
.sec04 .item_cnt .cnt ul li::before {
    content: "";
    position: absolute;
    background: url("../images/ic_list_check.svg") center no-repeat;
    background-size: cover;
    width: 28px;
    height: 28px;
    top: 12px;
    left: 0;
    z-index: -1;
}
.sec04 .item .attend {
    font-size: 42px;
    font-weight: bold;
    letter-spacing: -0.02em;
}
.sec04 .item .attend > span {
    color: var(--mcolor);
    font-size: 122%;
    font-weight: 900;
}
.sec04 .item .attend > span .sym {
    font-size: 80%;
    position: relative;
}
.sec04 .item .attend > span .sym.top {
    top: -11px;
}

/*============= SEC05 ==============*/
.sec05 {
    position: relative;
    z-index: 3;
}
.sec05_cnt {
    position: relative;
    padding: 106px 0 142px;
}
.sec05_cnt::before {
    content: "";
    position: absolute;
    background: url("../images/sec5_bg.png") center bottom no-repeat;
    background-size: cover;
    width: calc(100% + 2px);
    height: calc(100% - 31px);
    top: -1px;
    left: 50%;
    transform: translate(-50%, 0);
}
.sec05_cnt::after {
    content: "";
    position: absolute;
    background: url(../images/sec5_ic_arrow_bottom.png) center no-repeat;
    background-size: cover;
    width: 170px;
    height: 102px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.sec05 .title {
    margin-bottom: 54px;
    position: relative;
    z-index: 1;
    text-align: center;
}
.sec05 .title .en {
    font-family: var(--f-myriad);
    color: #f2f7fb;
    font-size: 200px;
    text-align: center;
    font-weight: bold;
    opacity: 0.2;
    text-align: center;
    position: absolute;
    z-index: -1;
    top: -143px;
    left: -36px;
    right: 0;
    margin: auto;
    line-height: 1em;
    letter-spacing: -0.02em;
}
.sec05 .title .ttl_h3 {
    margin-bottom: 2px;
}
.sec05_title_sub {
    position: relative;
    z-index: 1;
    font-size: 28px;
    font-weight: 500;
    text-align: center;
    padding-bottom: 16px;
    margin-bottom: 1px;
    letter-spacing: -0.01em;
}
.sec05_list {
    display: flex;
    gap: 40px;
}
.sec05_list .item {
    position: relative;
    background-color: #fff;
    width: 100%;
    max-width: 440px;
    text-align: center;
    padding: 37px 10px 32px;
    box-shadow: 2px 2px 25px rgba(0, 0, 0, 0.2);
}
.sec05_list .item:nth-child(2) {
    padding-top: 35px;
}
.sec05_list .item:nth-child(2) .item_img {
    margin-bottom: 25px;
    padding-left: 18px;
}
.sec05_list .item:nth-child(3) {
    padding-top: 34px;
}
.sec05_list .item:nth-child(3) .item_img {
    margin-bottom: 36px;
}
.sec05_list .item .num {
    position: absolute;
    top: -43px;
    left: 0;
    font-family: var(--f-myriad);
    font-weight: bold;
    font-size: 30px;
    text-transform: uppercase;
    color: var(--mcolor);
}
.sec05_list .item .num span {
    font-size: 200%;
    letter-spacing: -0.08em;
}
.sec05_list .item_img {
    margin-bottom: 20px;
}
.sec05_list .item .ttl {
    font-size: 24px;
    line-height: 1.583em;
    letter-spacing: -0.05em;
    text-align: center;
}
.sec05_list .item .ttl span {
    font-weight: bold;
    --cl: #ffe600;
    --t: 80%;
    --b: 95%;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    background-image: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) var(--t),
        var(--cl) var(--t),
        var(--cl) var(--b),
        rgba(255, 255, 255, 0) var(--b)
    );
}
.sec05_bnr {
    --space: 51px;
    margin-top: -81px;
    padding-left: 10px;
    position: relative;
}
.sec05_bnr::before {
    content: "";
    position: absolute;
    background: url("../images/sec5_bnr_bg.png") center no-repeat;
    background-size: cover;
    width: calc(100% + 25px);
    height: 887px;
    top: calc(50% + 30px);
    left: calc(50% - 11px);
    transform: translate(-50%, -50%);
    mix-blend-mode: screen;
    z-index: -1;
}
.sec05_bnr::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 160%;
    top: -160px;
    left: 0;
    background-color: #84badf;
    z-index: -2;
}
.sec05_bnr .inner {
    display: flex;
    align-items: center;
    gap: 100px;
}
.sec05_bnr_frame {
    flex-shrink: 0;
}
.sec05_bnr_img {
    margin-top: calc(var(--space) * -1);
    margin-left: 105px;
}
.sec05_bnr_ttl {
    width: 100%;
    max-width: 788px;
    margin-left: auto;
    padding-top: var(--space);
}
.sec05_bnr_ttl .ttl {
    font-size: 54px;
    font-weight: bold;
    line-height: 1.667em;
    letter-spacing: -0.05em;
    margin-bottom: 25px;
}
.sec05_bnr_ttl .ttl > span {
    padding-bottom: 6px;
    line-height: 1em;
    border-bottom: 7px solid var(--mcolor);
}
.sec05_bnr_ttl .ttl > span > span {
    color: var(--mcolor);
    font-size: 140%;
    font-weight: 900;
    letter-spacing: -0.05em;
}
.sec05_bnr_ttl .sub {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: -0.05em;
}
.sec05_info_frame {
    display: flex;
    align-items: flex-start;
}
.sec05_info .item_left,
.sec05_info .item_right {
    position: relative;
    z-index: 1;
    width: 50%;
}
.sec05_info .item_left::before,
.sec05_info .item_right::before {
    content: "";
    position: absolute;
    z-index: -1;
}
.sec05_info .item_left {
    z-index: 2;
}
.sec05_info .item_left img {
    position: relative;
    max-width: unset;
    width: auto;
    height: 964px;
    margin-left: -128px;
    margin-top: -106px;
}
.sec05_info .item_left::before {
    background: url("../images/sec5_info_left.jpg") center repeat-y;
    background-size: cover;
    width: 960px;
    height: calc(100% - 117px);
    right: 0;
    top: 0;
    box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.2);
}
.sec05_info .item_right {
    margin-top: 50px;
    padding: 107px 0 120px 90px;
}
.sec05_info .item_right::before {
    background: url("../images/sec5_info_right.png") center repeat-y;
    background-size: cover;
    width: 960px;
    height: 100%;
    left: 0;
    top: 0;
}
.sec05_info .item_right th,
.sec05_info .item_right td {
    border: 0;
    border-bottom: 1px solid #717071;
    text-align: left;
    font-size: 24px;
    padding: 14px 0;
    line-height: 1.3em;
}
.sec05_info .item_right th {
    font-weight: bold;
    width: 130px;
}
.sec05_info .item_right_ttl {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding-right: 328px;
    margin-bottom: 30px;
}
.sec05_info .item_right_ttl .en {
    font-family: var(--f-myriad);
    color: #f2f7fb;
    font-size: 200px;
    text-align: center;
    font-weight: bold;
    opacity: 0.2;
    text-align: center;
    position: absolute;
    z-index: -1;
    top: -143px;
    left: -48px;
    right: 0;
    margin: auto;
    line-height: 1em;
    letter-spacing: -0.02em;
}
.sec05_info .item_right_balloon {
    position: absolute;
    right: 50px;
    top: -172px;
}
.sec05_info .item_right h4 {
    font-size: 54px;
    font-weight: bold;
}
.sec05_info .item_right table {
    margin-bottom: 10px;
}
.sec05_info .item_right .note {
    font-size: 18px;
    font-weight: 500;
    text-align: right;
    letter-spacing: -0.06em;
}

/*============= SEC06 ==============*/
.sec06 {
    position: relative;
    z-index: 2;
    padding: 31px 0;
}
.sec06_title_sub {
    position: relative;
    z-index: 1;
    font-size: 28px;
    font-weight: 500;
    text-align: center;
    padding-bottom: 16px;
    margin-bottom: 1px;
    letter-spacing: -0.05em;
}
.sec06 .title {
    position: relative;
    z-index: 1;
    margin-bottom: 33px;
}
.sec06 .title .en {
    font-family: var(--f-myriad);
    color: #f2f7fb;
    font-size: 200px;
    text-align: center;
    font-weight: bold;
    text-align: center;
    position: absolute;
    z-index: -1;
    top: -135px;
    left: -3px;
    right: 0;
    margin: auto;
    line-height: 1em;
    letter-spacing: -0.02em;
}
.sec06 .title .ttl_h3 {
    margin-bottom: 2px;
}
.sec06 .title .ja {
    letter-spacing: -0.05em;
}
.sec06_cnt {
    display: flex;
    gap: 40px;
}
.sec06_cnt .item {
    width: 50%;
    display: flex;
    flex-direction: column;
}
.sec06_cnt .item .title {
    width: 80%;
    max-width: 540px;
    background-color: var(--mcolor);
    font-size: 28px;
    font-weight: bold;
    border-radius: 60px;
    margin: 0 auto;
    color: #fff;
    text-align: center;
    padding: 11px 12px 13px;
    letter-spacing: -0.08em;
    margin-bottom: -40px;
}
.sec06_cnt .item .cnt {
    background-color: #f2f7fb;
    box-shadow: 2px 2px 25px rgba(0, 0, 0, 0.2);
    padding: 70px 60px 39px;
    flex-grow: 1;
}
.sec06_cnt .item .cnt .img {
    margin-bottom: 20px;
}
.sec06_cnt .item .cnt .img img {
    box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.2);
}
.sec06_cnt .item table th,
.sec06_cnt .item table td {
    border: 0;
    border-bottom: 1px solid;
    text-align: left;
    padding: 14px 0 14px;
    line-height: 1.3em;
    color: #000;
}
.sec06_cnt .item table th {
    font-size: 20px;
    font-weight: 600;
    width: 150px;
}
.sec06_cnt .item table td {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: -0.04em;
    padding: 12px 0 16px;
}
.sec06_cnt .item table tr:last-child th,
.sec06_cnt .item table tr:last-child td {
    border-bottom: 0;
}
.sec06_cnt .item:nth-child(1) .title {
    background-color: #84badf;
}
.sec06_cnt .item:nth-child(2) .cnt {
    background-color: #e6edf5;
    padding: 80px 60px 39px;
}

/*============= SEC07 ==============*/
.sec07 {
    padding: 89px 0 120px;
    position: relative;
    z-index: 1;
}
.sec07::after {
    content: "CASE";
    position: absolute;
    font-weight: 600;
    font-size: 200px;
    font-family: var(--f-myriad);
    top: 45%;
    left: -6px;
    transform: translate(0, -50%);
    line-height: 1em;
    z-index: -1;
    color: #faf6d9;
    text-transform: uppercase;
    margin-bottom: 0;
    letter-spacing: -0.02em;
}
.sec07::before {
    content: "";
    position: absolute;
    background-color: #fdfcf2;
    width: max(100vw, 1260px);
    height: calc(100% + 100px);
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: -1;
}
.sec07_frame {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 80px;
}
.sec07_frame h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 28px;
    color: #00365e;
    font-weight: bold;
    letter-spacing: -0.06em;
}
.sec07_frame h3 span {
    font-size: 178.5715%;
    position: relative;
    top: -3px;
    letter-spacing: -0.015em;
}
.sec07 .title {
    position: relative;
    padding-bottom: 16px;
}
.sec07 .title .en {
    position: absolute;
    font-weight: bold;
    font-size: 200px;
    font-family: var(--f-myriad);
    top: 32%;
    left: -258px;
    transform: translate(0, -50%);
    line-height: 1em;
    z-index: -1;
    color: #faf6d9;
    text-transform: uppercase;
    margin-bottom: 0;
    letter-spacing: -0.02em;
}
.sec07_cnt {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 820px;
    background-color: #fff;
    padding: 20px 41px 30px 41px;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
}
.sec07_cnt_slide .slider_list {
    overflow: hidden;
    display: none;
}
.sec07_cnt_slide .slider_list.slick-initialized {
    display: block;
}
.sec07_cnt_slide .slick-list {
    overflow: visible;
    padding: 50px 30px 50px 42px;
}
.sec07_cnt_slide .item {
    width: 197px;
    text-align: center;
    box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.2);
    transition: all ease-in-out 0.2s;
    margin: 0 16.5px;
    opacity: 0;
}
.sec07_cnt_slide .item.slick-active,
.sec07_cnt_slide .item.is-active {
    opacity: 1;
}
.sec07_cnt_slide .item img {
    margin: 0 auto;
}
.sec07 .slick-prev,
.sec07 .slick-next {
    width: 60px;
    height: 60px;
    top: 47.8%;
    z-index: 5;
}
.sec07 .slick-prev:hover,
.sec07 .slick-next:hover {
    opacity: 0.8;
}
.sec07 .slick-prev::before {
    content: "";
    position: absolute;
    background: url("../images/slide_arrow_left.png") center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    opacity: 1;
    top: 0;
    left: 0;
}
.sec07 .slick-next::before {
    content: "";
    position: absolute;
    background: url("../images/slide_arrow_right.png") center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    opacity: 1;
    top: 0;
    left: 0;
}
.sec07 .slick-prev {
    left: -30px;
}
.sec07 .slick-next {
    right: -30px;
    width: 61px;
    height: 60px;
}

/*============= SEC08 ==============*/
.sec08 {
    position: relative;
    padding-bottom: 120px;
    background: url("../images/sec8_bg_clr.png") center top no-repeat;
    background-size: cover;
}
.sec08_bg {
    position: relative;
    z-index: 1;
    padding: 107px 0 100px;
}
.sec08_bg::before {
    content: "";
    position: absolute;
    background: url("../images/sec8_bg.png") center bottom no-repeat;
    background-size: cover;
    width: calc(100% + 2px);
    height: 100%;
    top: 0;
}
.sec08_bg::after {
    content: "";
    position: absolute;
    background: url("../images/sec8_ic_arrow_bottom.png") center no-repeat;
    background-size: cover;
    width: 231px;
    height: 198px;
    bottom: -128px;
    left: 6px;
    right: 0;
    margin: 0 auto;
    z-index: 0;
}
.sec08_title_sub {
    position: relative;
    z-index: 1;
    font-size: 28px;
    font-weight: 500;
    text-align: center;
    padding-bottom: 16px;
    margin-bottom: 1px;
    letter-spacing: -0.08em;
}
.sec08 .title {
    position: relative;
    z-index: 1;
    margin-bottom: 30px;
}
.sec08 .title .en {
    font-family: var(--f-myriad);
    color: #f2f7fb;
    font-size: 200px;
    text-align: center;
    font-weight: bold;
    text-align: center;
    position: absolute;
    z-index: -1;
    top: -144px;
    left: -2px;
    right: 0;
    margin: auto;
    line-height: 1em;
    letter-spacing: -0.02em;
    opacity: 0.2;
}
.sec08 .title .ttl_h3 {
    margin-bottom: 8px;
}
.sec08 .title .ja {
    letter-spacing: -0.05em;
    font-size: 50px;
}
.sec08_cnt {
    display: flex;
    margin-left: -4px;
    margin-right: -6px;
    gap: 30px;
    margin-bottom: 140px;
}
.sec08_cnt .item {
    margin: -29px -29px 0;
}
.sec08_full {
    background-color: #fff;
    padding: 80px;
    display: flex;
    gap: 40px;
    box-shadow: 2px 2px 25px rgba(0, 0, 0, 0.25);
}
.sec08_full_left {
    width: 340px;
    position: relative;
    z-index: 1;
}
.sec08_full_left .balloon {
    position: absolute;
    top: -100px;
    left: -50px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1em;
    width: 120px;
    aspect-ratio: 1/1;
    z-index: 1;
    background-color: var(--mcolor);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.sec08_full_left img {
    position: relative;
    z-index: 2;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}
.sec08_full_right {
    margin-top: -10px;
    flex-grow: 1;
}
.sec08_full_right .ttl {
    font-size: 50px;
    color: var(--mcolor);
    font-weight: bold;
    background-color: #cfe2f2;
    border-top-left-radius: 60px;
    border-bottom-left-radius: 60px;
    padding: 12px 40px;
    line-height: 1.5em;
    margin-left: -20px;
    letter-spacing: -0.025em;
    margin-right: -81px;
    margin-bottom: 30px;
}
.sec08_full_right .cnt {
    padding-left: 20px;
    margin-bottom: 55px;
}
.sec08_full_right .cnt p {
    font-size: 22px;
    line-height: 1.545em;
    letter-spacing: -0.06em;
}
.sec08_full_right .bnr {
    display: flex;
    align-items: flex-end;
    gap: 40px;
}
.sec08_full_right .bnr a:hover {
    opacity: 0.7;
}
.sec08_bnr {
    padding-top: 50px;
}
.sec08_bnr ul {
    display: flex;
    justify-content: center;
    gap: 40px;
}
.sec08_bnr_cnt {
    margin-top: -88px;
}
.sec08_bnr .ttl {
    font-size: 24px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    position: relative;
    z-index: 1;
    margin-bottom: 8px;
    letter-spacing: -0.05em;
}
.sec08_bnr .ttl::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 19px 14px 0 14px;
    border-color: var(--mcolor) transparent transparent transparent;
    left: 0;
    right: 0;
    top: calc(100% - 1px);
    margin: 0 auto;
}
.sec08_bnr .ttl span {
    display: inline-block;
    width: 710px;
    margin: 0 auto;
    max-width: 100%;
    position: relative;
    z-index: 1;
    background-color: var(--mcolor);
    text-align: center;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    padding: 13px 16px 19px;
}
.sec08_bnr .ttl span::before,
.sec08_bnr .ttl span::after {
    content: "";
    position: absolute;
    width: 50px;
    height: 100%;
    z-index: -1;
    top: 0;
    background-color: var(--mcolor);
}
.sec08_bnr .ttl span::before {
    left: -5px;
    transform: skewX(16deg);
    border-radius: 6px;
}
.sec08_bnr .ttl span::after {
    right: -5px;
    transform: skewX(-16deg);
    border-radius: 6px;
}
.sec08_bnr_frame {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    height: 580px;
    padding: 20px;
    background-color: #fff;
    box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.2);
}

/*============= SEC09 ==============*/
.sec09 {
    padding: 107px 0 120px;
}
.sec09 .title {
    margin-bottom: 58px;
}
.sec09 .title .en {
    font-family: var(--f-myriad);
    color: #84badf;
    font-size: 200px;
    text-align: center;
    font-weight: bold;
    text-align: center;
    position: absolute;
    z-index: -1;
    top: -146px;
    left: -2px;
    right: 0;
    margin: auto;
    line-height: 1em;
    letter-spacing: 0;
    opacity: 0.2;
}
.sec09 .title .ttl_h3 .ja {
    letter-spacing: -0.09em;
}
.sec09_cnt {
    max-width: 1000px;
    margin: 0 auto;
}
.sec09_cnt .item {
    box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.2);
}
.sec09_cnt .item:not(:last-child) {
    margin-bottom: 40px;
}
.sec09_cnt .item_q {
    padding: 14px 10px 18px 71px;
    font-size: 24px;
    font-weight: bold;
    position: relative;
    z-index: 1;
    margin-bottom: 0;
    letter-spacing: -0.07em;
}
.sec09_cnt .item_q::before {
    content: "Q";
    position: absolute;
    font-family: var(--f-myriad);
    font-size: 40px;
    font-weight: bold;
    color: var(--mcolor);
    top: 12px;
    left: 26px;
    z-index: -1;
}
.sec09_cnt .item_a {
    background-color: #f7f7f7;
    padding: 18px 10px 22px 71px;
    position: relative;
    z-index: 1;
}
.sec09_cnt .item_a::before {
    content: "A";
    position: absolute;
    font-family: var(--f-myriad);
    font-size: 40px;
    font-weight: bold;
    color: #84badf;
    top: 8px;
    left: 25px;
    z-index: -1;
}
.sec09_cnt .item_a p {
    font-size: 22px;
    line-height: 1.818em;
    letter-spacing: -0.055em;
}

/*============= SEC10 ==============*/
.sec10 {
    position: relative;
    padding: 80px 0;
}
.sec10::before {
    content: "";
    position: absolute;
    background: url("../images/sec10_bg.jpg") center no-repeat;
    background-size: cover;
    width: calc(100% + 2px);
    height: 100%;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.sec10_box {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    max-width: 1340px;
    margin: 0 auto;
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.15);
}
.sec10_box_ttl {
    background-color: #e6f0f8;
    text-align: center;
    padding: 26px 10px;
}
.sec10_box_ttl h3 {
    font-size: 40px;
    font-weight: bold;
    letter-spacing: -0.02em;
}
.sec10_box_ttl h3 > span {
    color: var(--mcolor);
    font-weight: 900;
    font-size: 120%;
    border-bottom: 2px solid var(--mcolor);
    line-height: 1.37em;
    letter-spacing: -0.02em;
}
.sec10_box_ttl h3 > span .sym {
    font-size: 85%;
}
.sec10_box .iList {
    width: 100%;
    max-width: 580px;
}
.sec10_box .sec01_frame {
    padding: 30px 41px 30px 0;
    box-shadow: unset;
}
.sec10_box .sec01_frame .iList {
    gap: 21px;
}
.sec10_box .sec01_frame .iList li {
    position: relative;
    z-index: 1;
    padding: 21px 29px 22px;
}
.sec10_box .sec01_frame .iList li .balloon {
    position: absolute;
    top: -131px;
    right: -101px;
}

/*============= SEC11 ==============*/
.sec11 {
    padding: 107px 0 102px;
}
.sec11 .title {
    margin-bottom: 47px;
}
.sec11 .title .en {
    font-family: var(--f-myriad);
    color: #84badf;
    font-size: 200px;
    text-align: center;
    font-weight: bold;
    text-align: center;
    position: absolute;
    z-index: -1;
    top: -146px;
    left: -2px;
    right: 0;
    margin: auto;
    line-height: 1em;
    letter-spacing: 0;
    opacity: 0.2;
    letter-spacing: -0.02em;
}
.sec11 .form_contact {
    max-width: 800px;
    margin: 0 auto;
}
.sec11 .form_contact th,
.sec11 .form_contact td {
    border-left: 0;
    border-right: 0;
    font-size: 18px;
    padding: 11px;
    border-color: #9ab6d5;
}
.sec11 .form_contact th {
    width: 31%;
    padding: 11px 21px;
}
.sec11 .form_contact th#h_en1262055277 {
    letter-spacing: -0.15em;
}
.sec11 .form_contact th .d_flex {
    display: flex;
    align-items: center;
    gap: 14px;
}
.sec11 .form_contact th .fmail_must {
    width: 50px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--mcolor);
    border-radius: 3px;
    margin: 0;
}
.sec11 .form_contact th .fmail_must::before {
    font-size: 16px;
    top: -1px;
}
.sec11 .form_contact td {
    padding: 12px 41px 11px 11px !important;
}
.sec11 .form_contact td input {
    width: 100% !important;
    height: 30px !important;
    border: 1px solid #9e9e9f;
    border-radius: 3px;
    padding: 10px !important;
}
.sec11 .form_contact #d_en1240790859 input {
    max-width: 340px;
}

/*==========================================================
                        F O O T E R
==========================================================*/
footer {
    position: relative;
    z-index: 3;
}

.ft_info {
    display: flex;
    justify-content: space-between;
    max-width: 1195px;
    margin: 0 auto;
}
.ft_info p {
    line-height: 1.76em;
    font-size: 14px;
    letter-spacing: -0.02em;
    color: #c5c5c5;
}
.ft_info p a {
    color: var(--mcolor) !important;
    text-decoration: underline;
}
.ft_info address {
    position: relative;
    top: -2px;
    font-size: 14px;
    padding-right: 25px;
    letter-spacing: -0.02em;
    color: #c5c5c5;
}

/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 9;
    width: 70px;
    height: 70px;
    bottom: 20px;
    right: 20px;
    cursor: pointer;
    transition: all 0.2s;
    opacity: 0;
    visibility: hidden;
}

.to_top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
}
.thanks main {
    margin-top: 100px;
}
.thanks_banner {
    position: relative;
    z-index: 1;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 16px;
}
.thanks_banner::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: url('../images/sec_thanks_bg.jpg') center no-repeat;
    background-size: cover;
    left: 0;
    top: 0;
    z-index: -1;
}
.thanks_banner p {
    font-size: 54px;
    font-weight: 900;
    text-align: center;
    line-height: 1.37em;
    color: #fff;
}
.thanks_text {
    position: relative;
    z-index: 1;
    padding: 103px 0 120px;
}
.thanks_text .inner {
    position: static;
}
.thanks_text p {
    text-align: center;
    font-size: 24px;
    line-height: 2.5em;
    letter-spacing: -0.07em;
}
.thanks_text .en {
    position: absolute;
    font-family: var(--f-myriad);
    font-size: 200px;
    font-weight: bold;
    top: -36px;
    left: -5px;
    right: 0;
    margin: auto;
    z-index: -1;
    color: #E6F1F9;
    line-height: 1em;
    letter-spacing: -0.01em;
}
.thanks_text p:not(:last-child) {
    margin-bottom: 60px;
}
.thanks_text .cnt {
    margin-bottom: 67px;
}
.thanks_text .btn {
    margin: 0 auto !important;
}
.thanks_text .btn span {
    padding-left: 0 !important;
}
.thanks_text .btn span::before {
    display: none;
}
.thanks .sec10 {
    margin-bottom: 58px;
}
/*==========================================================================*/
/*                 F O R   S P E C I F I E D   B R O W S E R                */
/*==========================================================================*/
/* EDGE  */
/* FIREFOX */
@-moz-document url-prefix() {
}
/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {
    .sec03 .title .en,
    .sec05 .title .en,
    .sec06 .title .en,
    .sec08 .title .en,
    .sec09 .title .en,
    .sec11 .title .en {
        line-height: 1em !important;
        top: -45px !important;
    }
}
@supports (-webkit-touch-callout: none) {
    /* CSS specific to iOS devices */
    .sec03 .title .en,
    .sec05 .title .en,
    .sec06 .title .en,
    .sec08 .title .en,
    .sec09 .title .en,
    .sec11 .title .en {
        line-height: 1em !important;
        top: -45px !important;
    }
}
