@charset "UTF-8";

:root {
  	--vw-ratio: calc(100 / 1280);
	--vw-ratio-sp: calc(100 / 750);
	--vw-ratio-sp-375: calc(100 / 375);
}

body {
    width: 100vw;
    overflow-x: hidden;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0;
}

main {
    background-image: url(../img/main_bg_pc.webp);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
    overflow-x: hidden;
    /* zoom: 0.8; */
}

@media (max-width: 750px) {
    main {
        background-image: url(../img/main_bg_sp.webp);
        zoom: 1;
    }
}

a {
    opacity: 1;
    transition: all 0.5s;
}
a:hover {
    opacity: 0.7;
}

/* --------------
共通
-------------- */
.is_sp {
    display: none;
}

@media (max-width: 750px) {
    .is_pc {
        display: none;
    }
    .is_sp {
        display: block;
    }
}

@media (max-width: 375px) {
    .is_sp {
        display: none;
    }
    .is_sp-375 {
        display: block;
    }
}

._flex {
    display: flex;
}

.md_section {
    margin-top: 100px;
}
.kv + .md_section {
    margin-top: 80px;
}
.md_inner {
    max-width: 980px;
    width: 100%;
    margin: auto;
    padding: 0 95px;
}
.md_ttl {
    text-align: center;
    font-size: 55px;
    font-weight: 900;
    line-height: 1.5;
}
.md_subttl {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    line-height: 2;
}
.md_ttl.is_gold,
.md_subttl.is_gold {
	width: fit-content;
	margin: auto;
	background: #E6A943;
    background: linear-gradient(90deg,rgba(230, 169, 67, 1) 0%, rgba(243, 208, 69, 1) 26%, rgba(230, 169, 67, 1) 36%, rgba(243, 208, 56, 1) 55%, rgba(230, 191, 67, 1) 73%, rgba(230, 169, 67, 1) 95%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.md_ttl + .md_content {
    margin-top: 30px;
}
.md_subttl + .md_content {
    margin-top: 15px;
}
.md_text {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
    word-break: keep-all;
}

@media (max-width: 1280px) {
    .md_section {
        margin-top: clamp(100px / 2, 100 * var(--vw-ratio) * 1vw, 100px);
    }
    .kv + .md_section {
        margin-top: clamp(80px / 2, 80 * var(--vw-ratio) * 1vw, 80px);
    }
    .md_inner {
        max-width: clamp(980px / 2, 980 * var(--vw-ratio) * 1vw, 980px);
        padding: 0 clamp(95px / 2, 95 * var(--vw-ratio) * 1vw, 95px);
    }
    .md_ttl {
        font-size: clamp(55px / 2, 55 * var(--vw-ratio) * 1vw, 55px);
    }
    .md_subttl {
        font-size: clamp(30px / 2, 30 * var(--vw-ratio) * 1vw, 30px);
    }
    .md_ttl + .md_content {
        margin-top: clamp(30px / 2, 30 * var(--vw-ratio) * 1vw, 30px);
    }
    .md_subttl + .md_content {
        margin-top: clamp(15px / 2, 15 * var(--vw-ratio) * 1vw, 15px);
    }
    .md_text {
        font-size: clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
    }
}

@media (max-width: 750px) {
    .md_section {
        margin-top: clamp(70px / 2, 70 * var(--vw-ratio-sp) * 1vw, 70px);
    }
    .kv + .md_section {
        margin-top: clamp(40px / 2, 40 * var(--vw-ratio-sp) * 1vw, 40px);
    }
    .md_inner {
        max-width: clamp(750px / 2, 750 * var(--vw-ratio-sp) * 1vw, 750px);
        padding: 0 clamp(60px / 2, 60 * var(--vw-ratio-sp) * 1vw, 60px);
    }
    .md_ttl {
        font-size: clamp(44px / 2, 44 * var(--vw-ratio-sp) * 1vw, 44px);
    }
    .md_subttl {
        font-size: clamp(24px / 2, 24 * var(--vw-ratio-sp) * 1vw, 24px);
    }
    .md_ttl + .md_content {
        margin-top: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
    }
    .md_subttl + .md_content {
        margin-top: clamp(10px / 2, 10 * var(--vw-ratio-sp) * 1vw, 10px);
    }
    .md_text {
        font-size: clamp(19px / 2 * 1.25, 19 * var(--vw-ratio-sp) * 1vw * 1.25, 19px * 1.25);
    }
}

@media (max-width: 375px) {
    .md_section {
        margin-top: clamp(35px / 2, 35 * var(--vw-ratio-sp-375) * 1vw, 35px);
    }
    .kv + .md_section {
        margin-top: clamp(20px / 2, 20 * var(--vw-ratio-sp-375) * 1vw, 20px);
    }
    .md_inner {
        max-width: clamp(375px / 2, 375 * var(--vw-ratio-sp-375) * 1vw, 375px);
        padding: 0 clamp(30px / 2, 30 * var(--vw-ratio-sp-375) * 1vw, 30px);
    }
    .md_ttl {
        font-size: clamp(22px / 2, 22 * var(--vw-ratio-sp-375) * 1vw, 22px);
    }
    .md_subttl {
        font-size: clamp(12px / 2, 12 * var(--vw-ratio-sp-375) * 1vw, 12px);
    }
    .md_ttl + .md_content {
        margin-top: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
    }
    .md_subttl + .md_content {
        margin-top: clamp(5px / 2, 5 * var(--vw-ratio-sp-375) * 1vw, 5px);
    }
    .md_text {
        font-size: clamp(9.5px / 2 * 1.5, 9.5 * var(--vw-ratio-sp-375) * 1vw * 1.5, 9.5px * 1.5);
    }
}

/* --------------
kv
-------------- */
.kv {
    height: 736px;
    background-image: url(../img/kv_pc_0727.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
    /* zoom: 0.8; */
}
.kv_inner {
    position: relative;
}
.kv_content {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    width: fit-content;
    margin: auto;
}
.kv_logo {
    text-align: center;
}
.kv_time {
    text-align: center;
    margin-top: 30px;
}
.kv_nav {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 18px;
}
.kv_nav .kv_nav_item {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 254px;
    min-height: 40px;
    padding: 10px 0 20px;
    font-weight: 700;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.4);
    background: #C3C3C3;
    background: linear-gradient(0deg,rgba(195, 195, 195, 1) 0%, rgba(255, 255, 255, 1) 70%);
}
.kv_nav .kv_nav_item::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 7px;
    left: 0;
    background-repeat: no-repeat;
    width: 15px;
    height: 7px;
    margin: 0 auto;
}
.kv_nav .kv_nav_item.is_red::after {
    background-image: url(../img/arrow_down_red_pc.svg);
}
.kv_nav .kv_nav_item.is_purple::after {
    background-image: url(../img/arrow_down_purple_pc.svg);
}
.kv_nav .kv_nav_item.is_orange::after {
    background-image: url(../img/arrow_down_orange_pc.svg);
}
.kv_nav .kv_nav_item.is_blue::after {
    background-image: url(../img/arrow_down_blue_pc.svg);
}
.kv_nav p {
    font-size: 19px;
    font-weight: 700;
}
.kv_nav p.ttl {
    font-size: 30px;
}
.kv_nav .kv_nav_item.is_red p {
    color: #ab202e;
}
.kv_nav .kv_nav_item.is_purple p {
    color: #6b1ca7;
}
.kv_nav .kv_nav_item.is_orange p {
    color: #e75e0f;
}
.kv_nav .kv_nav_item.is_blue p {
    color: #0057b8;
}
.kv_nav p + .ttl {
    margin-top: 5px;
}
.kv_text {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 24px;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
}
.kv_time + .kv_text {
    justify-content: center;
    gap: 14px;
    margin-top: 23px;
    font-size: 23px;
    font-weight: 700;
}
.kv_time + .kv_text::before,
.kv_time + .kv_text::after {
    content: "";
    display: block;
    height: 2px;
    width: 278px;
    background: #fff;
}
.language {
    display: flex;
    justify-content: end;
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 1080px;
    margin: auto;
}
.language a {
    display: flex;
    gap: 5px;
    padding: 8px 24px 8px 13px;
    border: solid 1px #fff;
    border-radius: 10px;
    font-size: 20px;
    color: #fff;
}
.language a::before {
    content: "";
    display: block;
    background-image: url(../img/icon_language.svg);
    background-repeat: no-repeat;
    width: 21px;
    height: 21px;
}

@media (max-width: 1280px) {
    .kv {
        height: clamp(736px / 2, 736 * var(--vw-ratio) * 1vw, 736px);
    }
    .kv_content {
        top: clamp(50px / 2, 50 * var(--vw-ratio) * 1vw, 50px);
    }
    .kv_logo img {
        width: clamp(637px / 2, 637 * var(--vw-ratio) * 1vw, 637px);
    }
    .kv_time {
        margin-top: clamp(30px / 2, 30 * var(--vw-ratio) * 1vw, 30px);
    }
    .kv_time img {
        width: clamp(630px / 2, 630 * var(--vw-ratio) * 1vw, 630px);
    }
    .kv_nav {
        gap: clamp(12px / 2, 12 * var(--vw-ratio) * 1vw, 12px);
        margin-top: clamp(18px / 2, 18 * var(--vw-ratio) * 1vw, 18px);
    }
    .kv_nav .kv_nav_item {
        width: clamp(254px / 2, 254 * var(--vw-ratio) * 1vw, 254px);
        min-height: clamp(40px / 2, 40 * var(--vw-ratio) * 1vw, 40px);
        padding: clamp(10px / 2, 10 * var(--vw-ratio) * 1vw, 10px) 0 clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
        border-radius: clamp(8px / 2, 8 * var(--vw-ratio) * 1vw, 8px);
    }
    .kv_nav .kv_nav_item::after {
        bottom: clamp(7px / 2, 7 * var(--vw-ratio) * 1vw, 7px);
        width: clamp(15px / 2, 15 * var(--vw-ratio) * 1vw, 15px);
        height: clamp(7px / 2, 7 * var(--vw-ratio) * 1vw, 7px);
    }
    .kv_nav p {
        font-size: clamp(19px / 2, 19 * var(--vw-ratio) * 1vw, 19px);
    }
    .kv_nav p.ttl {
        font-size: clamp(30px / 2, 30 * var(--vw-ratio) * 1vw, 30px);
    }
    .kv_nav p + .ttl {
        margin-top: clamp(5px / 2, 5 * var(--vw-ratio) * 1vw, 5px);
    }
    .kv_text {
        gap: clamp(17px / 2, 17 * var(--vw-ratio) * 1vw, 17px);
        margin-top: clamp(24px / 2, 24 * var(--vw-ratio) * 1vw, 24px);
        font-size: clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
    }
    .kv_time + .kv_text {
        gap: clamp(14px / 2, 14 * var(--vw-ratio) * 1vw, 14px);
        margin-top: clamp(23px / 2, 23 * var(--vw-ratio) * 1vw, 23px);
        font-size: clamp(23px / 2, 23 * var(--vw-ratio) * 1vw, 23px);
    }
    .kv_time + .kv_text::before,
    .kv_time + .kv_text::after {
        width: clamp(278px / 2, 278 * var(--vw-ratio) * 1vw, 278px);
    }
    .kv_text img {
        width: clamp(100px / 2, 100 * var(--vw-ratio) * 1vw, 100px);
    }
    .language {
        top: clamp(30px / 2, 30 * var(--vw-ratio) * 1vw, 30px);
        max-width: clamp(1080px / 2, 1080 * var(--vw-ratio) * 1vw, 1080px);
        margin: auto;
    }
    .language a {
        gap: clamp(5px / 2, 5 * var(--vw-ratio) * 1vw, 5px);
        padding: clamp(8px / 2, 8 * var(--vw-ratio) * 1vw, 8px) clamp(24px / 2, 24 * var(--vw-ratio) * 1vw, 24px) clamp(8px / 2, 8 * var(--vw-ratio) * 1vw, 8px) clamp(13px / 2, 13 * var(--vw-ratio) * 1vw, 13px);
        border-radius: clamp(10px / 2, 10 * var(--vw-ratio) * 1vw, 10px);
        font-size: clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
    }
    .language a::before {
        width: clamp(21px / 2, 21 * var(--vw-ratio) * 1vw, 21px);
        height: clamp(21px / 2, 21 * var(--vw-ratio) * 1vw, 21px);
    }
}

@media (max-width: 750px) {
    .kv {
        height: clamp(1020px / 2, 1020 * var(--vw-ratio-sp) * 1vw, 1020px);
        background-image: url(../img/kv_sp_0727.webp);
        zoom: 1;
    }
    .kv_content {
        top: clamp(105px / 2, 105 * var(--vw-ratio-sp) * 1vw, 105px);
    }
    .kv_logo img {
        width: clamp(660px / 2, 660 * var(--vw-ratio-sp) * 1vw, 660px);
    }
    .kv_time {
        margin-top: clamp(57px / 2, 57 * var(--vw-ratio-sp) * 1vw, 57px);
    }
    .kv_time img {
        width: clamp(656px / 2, 656 * var(--vw-ratio-sp) * 1vw, 656px);
    }
    .kv_nav {
        flex-wrap: wrap;
        gap: clamp(16px / 2, 16 * var(--vw-ratio-sp) * 1vw, 16px);
        margin-top: clamp(24px / 2, 24 * var(--vw-ratio-sp) * 1vw, 24px);
    }
    .kv_nav .kv_nav_item {
        width: clamp(200px / 2, 200 * var(--vw-ratio-sp) * 1vw, 200px);
        min-height: clamp(53px / 2, 53 * var(--vw-ratio-sp) * 1vw, 53px);
        padding: clamp(10px / 2, 10 * var(--vw-ratio-sp) * 1vw, 10px) 0 clamp(25px / 2, 25 * var(--vw-ratio-sp) * 1vw, 25px);
        border-radius: clamp(9px / 2, 9 * var(--vw-ratio-sp) * 1vw, 9px);
    }
    .kv_nav .kv_nav_item::after {
        bottom: clamp(10px / 2, 10 * var(--vw-ratio-sp) * 1vw, 10px);
        width: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
        height: clamp(12px / 2, 12 * var(--vw-ratio-sp) * 1vw, 12px);
    }
    .kv_nav .kv_nav_item.is_red::after {
        background-image: url(../img/arrow_down_red_sp.svg);
    }
    .kv_nav .kv_nav_item.is_purple::after {
        background-image: url(../img/arrow_down_purple_sp.svg);
    }
    .kv_nav .kv_nav_item.is_orange::after {
        background-image: url(../img/arrow_down_orange_sp.svg);
    }
    .kv_nav .kv_nav_item.is_blue::after {
        background-image: url(../img/arrow_down_blue_sp.svg);
    }
    .kv_nav p {
        font-size: clamp(19px / 2, 19 * var(--vw-ratio-sp) * 1vw, 19px);
    }
    .kv_nav p.ttl {
        font-size: clamp(27px / 2, 27 * var(--vw-ratio-sp) * 1vw, 27px);
    }
    .kv_text {
        gap: clamp(21px / 2, 21 * var(--vw-ratio-sp) * 1vw, 21px);
        margin-top: clamp(27px / 2, 27 * var(--vw-ratio-sp) * 1vw, 27px);
        font-size: clamp(25px / 2, 25 * var(--vw-ratio-sp) * 1vw, 25px);
    }
    .kv_time + .kv_text {
        gap: clamp(15px / 2, 15 * var(--vw-ratio-sp) * 1vw, 15px);
        margin-top: clamp(127px / 2, 127 * var(--vw-ratio-sp) * 1vw, 127px);
        font-size: clamp(27.5px / 2, 27.5 * var(--vw-ratio-sp) * 1vw, 27.5px);
    }
    .kv_time + .kv_text::before,
    .kv_time + .kv_text::after {
        width: clamp(177px / 2, 177 * var(--vw-ratio-sp) * 1vw, 177px);
        height: clamp(1.5px / 2, 1.5 * var(--vw-ratio-sp) * 1vw, 1.5px);
    }
    .kv_text img {
        width: clamp(126px / 2, 126 * var(--vw-ratio-sp) * 1vw, 126px);
    }
    .language {
        top: clamp(30px / 2, 30 * var(--vw-ratio-sp) * 1vw, 30px);
        max-width: clamp(633px / 2, 633 * var(--vw-ratio-sp) * 1vw, 633px);
    }
    .language a {
        gap: clamp(5px / 2, 5 * var(--vw-ratio-sp) * 1vw, 5px);
        padding: clamp(8px / 2, 8 * var(--vw-ratio-sp) * 1vw, 8px) clamp(23px / 2, 23 * var(--vw-ratio-sp) * 1vw, 23px) clamp(8px / 2, 8 * var(--vw-ratio-sp) * 1vw, 8px) clamp(11px / 2, 11 * var(--vw-ratio-sp) * 1vw, 11px);
        border-radius: clamp(9px / 2, 9 * var(--vw-ratio-sp) * 1vw, 9px);
        font-size: clamp(24px / 2, 24 * var(--vw-ratio-sp) * 1vw, 24px);
        color: #fff;
    }
    .language a::before {
        width: clamp(25px / 2, 25 * var(--vw-ratio-sp) * 1vw, 25px);
        height: clamp(25px / 2, 25 * var(--vw-ratio-sp) * 1vw, 25px);
    }
}

@media (max-width: 375px) {
    .kv {
        height: clamp(510px / 2, 510 * var(--vw-ratio-sp-375) * 1vw, 510px);
    }
    .kv_content {
        top: clamp(52.5px / 2, 52.5 * var(--vw-ratio-sp-375) * 1vw, 52.5px);
    }
    .kv_logo img {
        width: clamp(330px / 2, 330 * var(--vw-ratio-sp-375) * 1vw, 330px);
    }
    .kv_time {
        margin-top: clamp(28.5px / 2, 28.5 * var(--vw-ratio-sp-375) * 1vw, 28.5px);
    }
    .kv_time img {
        width: clamp(328px / 2, 328 * var(--vw-ratio-sp-375) * 1vw, 328px);
    }
    .kv_nav {
        gap: clamp(8px / 2, 8 * var(--vw-ratio-sp-375) * 1vw, 8px);
        margin-top: clamp(12px / 2, 12 * var(--vw-ratio-sp-375) * 1vw, 12px);
    }
    .kv_nav .kv_nav_item {
        width: clamp(100px / 2, 100 * var(--vw-ratio-sp-375) * 1vw, 100px);
        min-height: clamp(25.5px / 2, 25.5 * var(--vw-ratio-sp-375) * 1vw, 25.5px);
        padding: clamp(5px / 2, 5 * var(--vw-ratio-sp-375) * 1vw, 5px) 0 clamp(12.5px / 2, 12.5 * var(--vw-ratio-sp-375) * 1vw, 12.5px);
        border-radius: clamp(4.5px / 2, 4.5 * var(--vw-ratio-sp-375) * 1vw, 4.5px);
    }
    .kv_nav .kv_nav_item::after {
        bottom: clamp(5px / 2, 5 * var(--vw-ratio-sp-375) * 1vw, 5px);
        width: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
        height: clamp(6px / 2, 6 * var(--vw-ratio-sp-375) * 1vw, 6px);
    }
    .kv_nav p {
        font-size: clamp(9.5px / 2, 9.5 * var(--vw-ratio-sp-375) * 1vw, 9.5px);
    }
    .kv_nav p.ttl {
        font-size: clamp(13.5px / 2, 13.5 * var(--vw-ratio-sp-375) * 1vw, 13.5px);
    }
    .kv_text {
        gap: clamp(10.5px / 2, 10.5 * var(--vw-ratio-sp-375) * 1vw, 10.5px);
        margin-top: clamp(13.5px / 2, 13.5 * var(--vw-ratio-sp-375) * 1vw, 13.5px);
        font-size: clamp(12px / 2, 12 * var(--vw-ratio-sp-375) * 1vw, 12px);
    }
    .kv_time + .kv_text {
        gap: clamp(7.5px / 2, 7.5 * var(--vw-ratio-sp-375) * 1vw, 7.5px);
        margin-top: clamp(63.5px / 2, 63.5 * var(--vw-ratio-sp-375) * 1vw, 63.5px);
        font-size: clamp(13.75px / 2, 13.75 * var(--vw-ratio-sp-375) * 1vw, 13.75px);
    }
    .kv_time + .kv_text::before,
    .kv_time + .kv_text::after {
        width: clamp(88.5px / 2, 88.5 * var(--vw-ratio-sp-375) * 1vw, 88.5px);
    }
    .kv_text img {
        width: clamp(63px / 2, 63 * var(--vw-ratio-sp-375) * 1vw, 63px);
    }
    .language {
        top: clamp(15px / 2, 15 * var(--vw-ratio-sp-375) * 1vw, 15px);
        max-width: clamp(320px / 2, 320 * var(--vw-ratio-sp-375) * 1vw, 320px);
    }
    .language a {
        gap: clamp(2.5px / 2, 2.5 * var(--vw-ratio-sp-375) * 1vw, 2.5px);
        padding: clamp(4px / 2, 4 * var(--vw-ratio-sp-375) * 1vw, 4px) clamp(11.5px / 2, 11.5 * var(--vw-ratio-sp-375) * 1vw, 11.5px) clamp(4px / 2, 4 * var(--vw-ratio-sp-375) * 1vw, 4px) clamp(5.5px / 2, 5.5 * var(--vw-ratio-sp-375) * 1vw, 5.5px);
        border-radius: clamp(4.5px / 2, 4.5 * var(--vw-ratio-sp-375) * 1vw, 4.5px);
        font-size: clamp(12px / 2, 12 * var(--vw-ratio-sp-375) * 1vw, 12px);
        color: #fff;
    }
    .language a::before {
        width: clamp(12.5px / 2, 12.5 * var(--vw-ratio-sp-375) * 1vw, 12.5px);
        height: clamp(12.5px / 2, 12.5 * var(--vw-ratio-sp-375) * 1vw, 12.5px);
    }
}


/* --------------
sec01
-------------- */
#sec01 .md_ttl:nth-of-type(2) {
    /* text-align: left; */
    width: 100%;
    margin: 50px 0 0;
    font-size: 49px;
}
#sec01 .md_content._flex {
    justify-content: space-between;
    gap: 22px;
}
#sec01 .md_content._flex + ._flex:not(._text) {
    margin-top: 22px;
}
#sec01 .md_content_item {
    position: relative;
    text-align: center;
    display: block;
    width: 100%;
    max-width: 740px;
    padding: 25px;
    padding-top: 20px;
    border-radius: 10px;
    overflow: hidden;
}
#sec01 .md_content_item.is_orange{
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(184px - 45px);
}

#sec01 .md_content_item + .md_content_item {
    margin-top: 27px;
}
#sec01 .md_content._text .md_content_item {
    width: 100%;
    padding: 30px 0 0 0;
    text-align: left;
}
#sec01 .md_content._text .md_content_item p {
    font-size: 18px;
    line-height: 1.4;
}
#sec01 .md_content._text .md_content_item p:has(strong) {
    font-size: 21px;
}
#sec01 .md_content._text .md_content_item p + p {
    margin-top: 0.25em;
}
#sec01 .md_content_item.is_red {
    color: #ab202e;
    background-color: #ffeaf2;
}
#sec01 .md_content_item.is_purple {
    color: #6b1ca7;
    background-color: #f0e8f6;
}
#sec01 .md_content_item.is_orange {
    color: #e75e0f;
    background-color: #fdefe7;
}
#sec01 .md_content_item.is_blue {
    color: #0057b8;
    background-color: #ebf2f9;
}
#sec01 .md_content_item.is_coming-soon {
    pointer-events: none;
}
#sec01 .md_content_item.is_coming-soon::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 500px;
    height: 500px;
    background: #9b9b9b;
    opacity: 0.9;
    z-index: 1;
}
#sec01 .md_content_item.is_coming-soon::after {
    content: "COMING SOON";
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    font-size: 41px;
    font-weight: 700;
    color: #fff;
    z-index: 2;
}
#sec01 .md_content_item h4 {
    font-size: 37px;
    font-weight: 700;
}
#sec01 .md_content_item .md_text {
    margin-top: 15px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
}
#sec01 .md_content_item .md_btn {
    position: relative;
    margin: 15px auto 0;
    padding: 10px;
    width: 100%;
    max-width: 400px;
    min-height: 45px;
    font-size: 24px;
    font-weight: 700;
    color: #000000;
    border-radius: 10px;
    box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.15);
    background: #C3C3C3;
    background: linear-gradient(0deg, rgba(195, 195, 195, 1) 0%, rgba(255, 255, 255, 1) 70%);
    overflow: hidden;
}
#sec01 .md_content_item.is_red .md_btn {
    color: #ab202e;
}
#sec01 .md_content_item.is_purple .md_btn {
    color: #6b1ca7;
}
#sec01 .md_content_item.is_orange .md_btn {
    color: #e75e0f;
}
#sec01 .md_content_item.is_blue .md_btn {
    color: #0057b8;
}
#sec01 .md_content_item .md_btn::after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 21px;
    bottom: 0;
    width: 13px;
    height: 22px;
    margin: auto;
    box-shadow: none;
}
#sec01 .md_content_item.is_red .md_btn::after {
    background-image: url(../img/arrow_right_red.svg);
}
#sec01 .md_content_item.is_purple .md_btn::after {
    background-image: url(../img/arrow_right_purple.svg);
}
#sec01 .md_content_item.is_orange .md_btn::after {
    background-image: url(../img/arrow_right_orange.svg);
}
#sec01 .md_content_item.is_blue .md_btn::after {
    background-image: url(../img/arrow_right_blue.svg);
}
#sec01 .md_content_item .md_btn .is_coming-soon {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #9b9b9b;
    opacity: 0.9;
    z-index: 1;
}
#sec01 .md_content_item .md_btn .is_coming-soon::after {
    content: "COMING SOON";
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    font-weight: 700;
    color: #fff;
    z-index: 2;
}
#sec01 .md_content._dl-list dl div + div {
    margin-top: 30px;
}
#sec01 .md_content._dl-list dt {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-left: 23px;
    font-size: 23px;
    font-weight: 700;
}
#sec01 .md_content._dl-list dt.is_orange {
    color: #e75e0f;
}
#sec01 .md_content._dl-list dt.is_red {
    color: #ab202e;
}
#sec01 .md_content._dl-list dt::before {
    content: "●";
    display: block;
    position: absolute;
    left: 0.5em;
    font-size: 8px;
}
#sec01 .md_content._dl-list dd {
    margin-top: 15px;
    padding-left: 23px; 
    font-size: 20px;
    line-height: 1.45;
    white-space: nowrap;
    text-decoration: none;
}

@media (max-width: 1280px) {
    #sec01 .md_ttl:nth-of-type(2) {
        margin: clamp(50px / 2, 50 * var(--vw-ratio) * 1vw, 50px) 0 0;
        font-size: clamp(49px / 2, 49 * var(--vw-ratio) * 1vw, 49px);
    }
    #sec01 .md_content._flex {
        gap: clamp(22px / 2, 22 * var(--vw-ratio) * 1vw, 22px);
    }
    #sec01 .md_content._flex + ._flex:not(._text) {
        margin-top: clamp(22px / 2, 22 * var(--vw-ratio) * 1vw, 22px);
    }
    #sec01 .md_content_item {
        max-width: clamp(740px / 2, 740 * var(--vw-ratio) * 1vw, 740px);
        padding: clamp(25px / 2, 25 * var(--vw-ratio) * 1vw, 25px);
        padding-top: clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
        border-radius: clamp(10px / 2, 10 * var(--vw-ratio) * 1vw, 10px);
    }
    #sec01 .md_content_item.is_orange{
        min-height: calc(clamp(184px / 2, 184 * var(--vw-ratio) * 1vw, 184px) - clamp(45px / 2, 45 * var(--vw-ratio) * 1vw, 45px));
    }
    #sec01 .md_content_item + .md_content_item {
        margin-top: clamp(27px / 2, 27 * var(--vw-ratio) * 1vw, 27px);
    }
    #sec01 .md_content._text .md_content_item {
        padding: clamp(30px / 2, 30 * var(--vw-ratio) * 1vw, 30px) 0 0 0;
    }
    #sec01 .md_content._text .md_content_item p {
        font-size: clamp(18px / 2, 18 * var(--vw-ratio) * 1vw, 18px);
    }
    #sec01 .md_content._text .md_content_item p:has(strong) {
        font-size: clamp(21px / 2, 21 * var(--vw-ratio) * 1vw, 21px);
    }
    #sec01 .md_content_item.is_coming-soon::after {
        font-size: clamp(41px / 2, 41 * var(--vw-ratio) * 1vw, 41px);
    }
    #sec01 .md_content_item h4 {
        font-size: clamp(37px / 2, 37 * var(--vw-ratio) * 1vw, 37px);
    }
    #sec01 .md_content_item .md_text {
        margin-top: clamp(15px / 2, 15 * var(--vw-ratio) * 1vw, 15px);
        font-size: clamp(22px / 2, 22 * var(--vw-ratio) * 1vw, 22px);
    }
    #sec01 .md_content_item .md_btn {
        margin: clamp(15px / 2, 15 * var(--vw-ratio) * 1vw, 15px) auto 0;
        padding: clamp(10px / 2, 10 * var(--vw-ratio) * 1vw, 10px);
        max-width: clamp(400px / 2, 400 * var(--vw-ratio) * 1vw, 400px);
        min-height: clamp(45px / 2, 45 * var(--vw-ratio) * 1vw, 45px);
        font-size: clamp(24px / 2, 24 * var(--vw-ratio) * 1vw, 24px);
        border-radius: clamp(10px / 2, 10 * var(--vw-ratio) * 1vw, 10px);
    }
    #sec01 .md_content_item .md_btn::after {
        right: clamp(21px / 2, 21 * var(--vw-ratio) * 1vw, 21px);
        width: clamp(13px / 2, 13* var(--vw-ratio) * 1vw, 13px);
        height: clamp(22px / 2, 22 * var(--vw-ratio) * 1vw, 22px);
    }
    #sec01 .md_content._dl-list dl div + div {
        margin-top: clamp(30px / 2, 30 * var(--vw-ratio) * 1vw, 30px);
    }
    #sec01 .md_content._dl-list dt {
        gap: clamp(8px / 2, 8 * var(--vw-ratio) * 1vw, 8px);
        padding-left: clamp(23px / 2, 23 * var(--vw-ratio) * 1vw, 23px);
        font-size: clamp(23px / 2, 23 * var(--vw-ratio) * 1vw, 23px);
    }
    #sec01 .md_content._dl-list dt::before {
        font-size: clamp(8px / 2, 8 * var(--vw-ratio) * 1vw, 8px);
    }
    #sec01 .md_content._dl-list dd {
        margin-top: clamp(15px / 2, 15 * var(--vw-ratio) * 1vw, 15px);
        padding-left: clamp(23px / 2, 23 * var(--vw-ratio) * 1vw, 23px); 
        font-size: clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
    }
}

@media (max-width: 750px) {
    #sec01 .md_ttl:nth-of-type(2) {
        margin: clamp(35px / 2, 35 * var(--vw-ratio-sp) * 1vw, 35px) 0 0;
        font-size: clamp(38px / 2, 38 * var(--vw-ratio-sp) * 1vw, 38px);
    }
    #sec01 .md_content._flex {
        gap: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
    }
    #sec01 .md_content._flex + ._flex:not(._text) {
        margin-top: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
    }
    #sec01 .md_content_item {
        max-width: clamp(482px / 2, 482 * var(--vw-ratio-sp) * 1vw, 482px);
        margin: auto;
        padding: clamp(21px / 2, 21 * var(--vw-ratio-sp) * 1vw, 21px);
        padding-top: clamp(15px / 2, 15 * var(--vw-ratio-sp) * 1vw, 15px);
    }
    #sec01 .md_content_item.is_orange{
        min-height: calc(clamp(153px / 2, 153 * var(--vw-ratio-sp) * 1vw, 153px) - clamp(36px / 2, 36 * var(--vw-ratio-sp) * 1vw, 36px));
    }
    #sec01 .md_content_item + .md_content_item {
        margin-top: clamp(21px / 2, 21 * var(--vw-ratio-sp) * 1vw, 21px);
    }
    #sec01 .md_content._text .md_content_item {
        padding: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px) 0 0 0;
    }
    #sec01 .md_content._text .md_content_item p {
        font-size: clamp(18px / 2, 18 * var(--vw-ratio-sp) * 1vw, 18px);
    }
    #sec01 .md_content._text .md_content_item p:has(strong) {
        font-size: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
    }
    #sec01 .md_content_item.is_coming-soon::after {
        font-size: clamp(32px / 2, 32 * var(--vw-ratio-sp) * 1vw, 32px);
    }
    #sec01 .md_content_item h4 {
        font-size: clamp(29px / 2, 29 * var(--vw-ratio-sp) * 1vw, 29px);
    }
    #sec01 .md_content_item .md_text {
        margin-top: clamp(10px / 2, 10 * var(--vw-ratio-sp) * 1vw, 10px);
        font-size: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
    }
    #sec01 .md_content_item .md_btn {
        max-width: clamp(328px / 2, 328 * var(--vw-ratio-sp) * 1vw, 328px);
        min-height: clamp(44px / 2, 44 * var(--vw-ratio) * 1vw, 44px);
        margin: clamp(10px / 2, 10 * var(--vw-ratio-sp) * 1vw, 10px) auto 0;
        padding: clamp(10px / 2, 10 * var(--vw-ratio-sp) * 1vw, 10px);
        font-size: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
        border-radius: clamp(8.5px / 2, 8.5 * var(--vw-ratio-sp) * 1vw, 8.5px);
    }
    #sec01 .md_content_item .md_btn::after {
        right: clamp(18px / 2, 18 * var(--vw-ratio-sp) * 1vw, 18px);
        width: clamp(13px / 2, 13 * var(--vw-ratio-sp) * 1vw, 13px);
        height: clamp(19px / 2, 19 * var(--vw-ratio-sp) * 1vw, 19px);
    }
    #sec01 .md_content._dl-list dl div + div {
        margin-top: clamp(15px / 2, 15 * var(--vw-ratio-sp) * 1vw, 15px);
    }
    #sec01 .md_content._dl-list dt {
        gap: clamp(9px / 2, 9 * var(--vw-ratio-sp) * 1vw, 9px);
        padding-left: clamp(22px / 2, 22 * var(--vw-ratio-sp) * 1vw, 22px); 
        font-size: clamp(22px / 2, 22 * var(--vw-ratio-sp) * 1vw, 22px);
    }
    #sec01 .md_content._dl-list dt::before {
        font-size: clamp(10px / 2, 10 * var(--vw-ratio-sp) * 1vw, 10px);
    }
    #sec01 .md_content._dl-list dd {
        margin-top: clamp(10px / 2, 10 * var(--vw-ratio-sp) * 1vw, 10px);
        padding-left: clamp(22px / 2, 22 * var(--vw-ratio-sp) * 1vw, 22px); 
        font-size: clamp(22px / 2, 22 * var(--vw-ratio-sp) * 1vw, 22px);
    }
}

@media (max-width: 375px) {
    #sec01 .md_ttl:nth-of-type(2) {
        margin: clamp(17.5px / 2, 17.5 * var(--vw-ratio-sp-375) * 1vw, 17.5px) 0 0;
        font-size: clamp(19px / 2, 19 * var(--vw-ratio-sp-375) * 1vw, 19px);
    }
    #sec01 .md_content._flex {
        gap: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
    }
    #sec01 .md_content._flex + ._flex:not(._text) {
        margin-top: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
    }
    #sec01 .md_content_item {
        max-width: clamp(241px / 2, 241 * var(--vw-ratio-sp-375) * 1vw, 241px);
        padding: clamp(10.5px / 2, 10.5 * var(--vw-ratio-sp-375) * 1vw, 10.5px);
        padding-top: clamp(7.5px / 2, 7.5 * var(--vw-ratio-sp-375) * 1vw, 7.5px);
    }
    #sec01 .md_content_item + .md_content_item {
        margin-top: clamp(10.5px / 2, 10.5 * var(--vw-ratio-sp-375) * 1vw, 10.5px);
    }
    #sec01 .md_content_item.is_orange{
        min-height: calc(clamp(76.5px / 2, 76.5 * var(--vw-ratio-sp-375) * 1vw, 76.5px) - clamp(18px / 2, 18 * var(--vw-ratio-sp) * 1vw, 18px));
    }
    #sec01 .md_content._text .md_content_item {
        padding: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px) 0 0 0;
    }
    #sec01 .md_content._text .md_content_item p {
        font-size: clamp(9px / 2, 9 * var(--vw-ratio-sp-375) * 1vw, 9px);
    }
    #sec01 .md_content._text .md_content_item p:has(strong) {
        font-size: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
    }
    #sec01 .md_content_item.is_coming-soon::after {
        font-size: clamp(16px / 2, 16 * var(--vw-ratio-sp-375) * 1vw, 16px);
    }
    #sec01 .md_content_item h4 {
        font-size: clamp(14px / 2, 14 * var(--vw-ratio-sp-375) * 1vw, 14px);
    }
    #sec01 .md_content_item .md_text {
        margin-top: clamp(5px / 2, 5 * var(--vw-ratio-sp-375) * 1vw, 5px);
        font-size: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
    }
    #sec01 .md_content_item .md_btn {
        max-width: clamp(164px / 2, 164 * var(--vw-ratio-sp-375) * 1vw, 164px);
        min-height: clamp(22px / 2, 22 * var(--vw-ratio-sp-375) * 1vw, 22px);
        margin: clamp(5px / 2, 5 * var(--vw-ratio-sp-375) * 1vw, 5px) auto 0;
        padding: clamp(5px / 2, 5 * var(--vw-ratio-sp-375) * 1vw, 5px);
        font-size: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
        border-radius: clamp(4.25px / 2, 4.25 * var(--vw-ratio-sp-375) * 1vw, 4.25px);
    }
    #sec01 .md_content_item .md_btn::after {
        right: clamp(9px / 2, 9 * var(--vw-ratio-sp-375) * 1vw, 9px);
        width: clamp(5.5px / 2, 5.5 * var(--vw-ratio-sp-375) * 1vw, 5.5px);
        height: clamp(9.5px / 2, 9.5 * var(--vw-ratio-sp-375) * 1vw, 9.5px);
    }
    #sec01 .md_content._dl-list dl div + div {
        margin-top: clamp(7.5px / 2, 7.5 * var(--vw-ratio-sp-375) * 1vw, 7.5px);
    }
    #sec01 .md_content._dl-list dt {
        gap: clamp(4.5px / 2, 4.5 * var(--vw-ratio-sp-375) * 1vw, 4.5px);
        padding-left: clamp(11px / 2, 11 * var(--vw-ratio-sp-375) * 1vw, 11px);
        font-size: clamp(11px / 2, 11 * var(--vw-ratio-sp-375) * 1vw, 11px);
    }
    #sec01 .md_content._dl-list dt::before {
        font-size: clamp(5px / 2, 5 * var(--vw-ratio-sp-375) * 1vw, 5px);
    }
    #sec01 .md_content._dl-list dd {
        margin-top: clamp(5px / 2, 5 * var(--vw-ratio-sp-375) * 1vw, 5px);
        padding-left: clamp(11px / 2, 11 * var(--vw-ratio-sp-375) * 1vw, 11px); 
        font-size: clamp(11px / 2, 11 * var(--vw-ratio-sp-375) * 1vw, 11px);
    }
}

/* --------------
sec02
-------------- */
#sec02 .md_ttl {
    text-align: left;
    width: 100%;
    margin: 0;
}
#sec02 .md_subttl {
    text-align: left;
    width: 100%;
    margin: 0;
}
#sec02 .md_content .md_text {
    text-align: left;
    line-height: 1.8;
    letter-spacing: 0.02em;
}

@media (max-width: 750px) {
    #sec02 .md_content .md_text {
        letter-spacing: 1.6;
    }
}

/* --------------
sec03
-------------- */
#sec03 .md_ttl {
    text-align: left;
    width: 100%;
    margin: 0;
}
#sec03 .md_content dl div {
    display: flex;
    align-items: center;
    gap: 20px;
}
#sec03 .md_content dl div + div {
    margin-top: 25px;
}
#sec03 .md_content dl div dt {
    max-width: 127px;
    width: 100%;
    padding: 5px;
    text-align: center;
    color: #fff;
    background: #e6a943;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
}
#sec03 .md_content dl div dd {
    font-size: 32px;
    font-weight: 700;
}
#sec03 .md_content dl div dd small.f25 {
    font-size: 25px;
}
#sec03 .md_content dl div dd.is_small {
    font-size: 26px;
    line-height: 1.25;
}
#sec03 .md_content dl div dd.is_small span {
    display: inline-block;
}

@media (max-width: 1280px) {
    #sec03 .md_content dl div {
        display: flex;
        align-items: center;
        gap: clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
    }
    #sec03 .md_content dl div:has(.is_small) {
        align-items: baseline;
    }
    #sec03 .md_content dl div + div {
        margin-top: clamp(25px / 2, 25 * var(--vw-ratio) * 1vw, 25px);
    }
    #sec03 .md_content dl div dt {
        max-width: clamp(127px / 2, 127 * var(--vw-ratio) * 1vw, 127px);
        padding: clamp(5px / 2, 5 * var(--vw-ratio) * 1vw, 5px);
        font-size: clamp(17px / 2, 17 * var(--vw-ratio) * 1vw, 17px);
    }
    #sec03 .md_content dl div dd {
        font-size: clamp(32px / 2, 32 * var(--vw-ratio) * 1vw, 32px);
    }
    #sec03 .md_content dl div dd small.f25 {
        font-size: clamp(25px / 2, 25 * var(--vw-ratio) * 1vw, 25px);
    }
    #sec03 .md_content dl div dd.is_small {
        font-size: clamp(26px / 2, 26 * var(--vw-ratio) * 1vw, 26px);
    }
}

@media (max-width: 750px){
    #sec03 .md_content dl div {
        gap: clamp(15px / 2, 15 * var(--vw-ratio-sp) * 1vw, 15px);
    }
    #sec03 .md_content dl div + div {
        margin-top: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
    }
    #sec03 .md_content dl div dt {
        max-width: clamp(107px / 2, 107 * var(--vw-ratio-sp) * 1vw, 107px);
        padding: clamp(5px / 2, 5 * var(--vw-ratio-sp) * 1vw, 5px) 0;
        font-size: clamp(15px / 2, 15 * var(--vw-ratio-sp) * 1vw, 15px);
    }
    #sec03 .md_content dl div dd {
        font-size: clamp(26px / 2, 26 * var(--vw-ratio-sp) * 1vw, 26px);
    }
    #sec03 .md_content dl div dd small.f25 {
        font-size: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
    }
    #sec03 .md_content dl div dd.is_small {
        font-size: clamp(21px / 2, 21 * var(--vw-ratio-sp) * 1vw, 21px);
    }
}

@media (max-width: 375px){
    #sec03 .md_content dl div {
        gap: clamp(7.5px / 2, 7.5 * var(--vw-ratio-sp-375) * 1vw, 7.5px);
    }
    #sec03 .md_content dl div + div {
        margin-top: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
    }
    #sec03 .md_content dl div dt {
        max-width: clamp(53.5px / 2, 53.5 * var(--vw-ratio-sp-375) * 1vw, 53.5px);
        padding: clamp(2.5px / 2, 2.5 * var(--vw-ratio-sp-375) * 1vw, 2.5px) 0;
        font-size: clamp(7.5px / 2, 7.5 * var(--vw-ratio-sp-375) * 1vw, 7.5px);
    }
    #sec03 .md_content dl div dd {
        font-size: clamp(13px / 2, 13 * var(--vw-ratio-sp-375) * 1vw, 13px);
    }
    #sec03 .md_content dl div dd small.f25 {
        font-size: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
    }
    #sec03 .md_content dl div dd.is_small {
        font-size: clamp(10.5px / 2, 10.5 * var(--vw-ratio-sp-375) * 1vw, 10.5px);
    }
}

/* --------------
sec04
-------------- */
#sec04 .md_subttl {
    font-size: 26px;
}
#sec04 .md_subttl + .md_content {
    margin-top: 10px;
}
#sec04 .md_content .md_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    position: relative;
    width: 100%;
    max-width: 760px;
    padding: 15px;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    background-color: #000000;
    border-radius: 50px;
    box-shadow: 3px 3px 15px 0px rgba(0, 0, 0, 0.2);
}
#sec04 .md_content .md_btn::after {
    content: "";
    display: block;
    background-image: url(../img/arrow_right_white.svg);
    position: absolute;
    top: 0;
    right: 24px;
    bottom: 0;
    width: 12px;
    height: 20px;
    margin: auto;
    box-shadow: none;
}
#sec04 .md_content .md_text.is_mail {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
    margin-top: 438px;
    padding-bottom: 1em;
}
#sec04 .md_content .md_text.is_mail p {
    font-size: 20px;
}

@media (max-width: 1280px) {
    #sec04 .md_subttl {
        font-size: clamp(26px / 2, 26 * var(--vw-ratio) * 1vw, 26px);
    }
    #sec04 .md_subttl + .md_content {
        margin-top: clamp(10px / 2, 10 * var(--vw-ratio) * 1vw, 10px);
    }
    #sec04 .md_content .md_btn {
        gap: clamp(25px / 2, 25 * var(--vw-ratio) * 1vw, 25px);
        max-width: clamp(760px / 2, 760 * var(--vw-ratio) * 1vw, 760px);
        padding: clamp(15px / 2, 15 * var(--vw-ratio) * 1vw, 15px);
        font-size: clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
        border-radius: clamp(50px / 2, 50 * var(--vw-ratio) * 1vw, 50px);
    }
    #sec04 .md_content .md_btn::after {
        right: clamp(24px / 2, 24 * var(--vw-ratio) * 1vw, 24px);
        width: clamp(12px / 2, 12 * var(--vw-ratio) * 1vw, 12px);
        height: clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
    }
    #sec04 .md_content .md_btn img {
        width: clamp(122px / 2, 122 * var(--vw-ratio) * 1vw, 122px);
    }
    #sec04 .md_content .md_text.is_mail {
        margin-top: clamp(438px / 2, 438 * var(--vw-ratio) * 1vw, 438px);
    }
    #sec04 .md_content .md_text.is_mail img {
        width: clamp(36px / 2, 36 * var(--vw-ratio) * 1vw, 36px);
    }
    #sec04 .md_content .md_text.is_mail p {
        font-size: clamp(20px / 2, 20 * var(--vw-ratio) * 1vw, 20px);
    }
}

@media (max-width: 750px) {
    #sec04 .md_subttl {
        font-size: clamp(21px / 2 * 1.25, 21 * var(--vw-ratio-sp) * 1vw * 1.25, 21px * 1.25);
    }
    #sec04 .md_subttl + .md_content {
        margin-top: clamp(5px / 2, 5 * var(--vw-ratio-sp) * 1vw, 5px);
    }
    #sec04 .md_content .md_btn {
        gap: clamp(20px / 2, 20 * var(--vw-ratio-sp) * 1vw, 20px);
        max-width: clamp(630px / 2, 630 * var(--vw-ratio-sp) * 1vw, 630px);
        padding: clamp(15px / 2, 15 * var(--vw-ratio-sp) * 1vw, 15px) 0;
        font-size: clamp(16px / 2 * 1.25, 16 * var(--vw-ratio-sp) * 1vw * 1.25, 16px * 1.25);
    }
    #sec04 .md_content .md_btn::after {
        right: clamp(19px / 2, 19 * var(--vw-ratio-sp) * 1vw, 19px);
        width: clamp(9px / 2, 9 * var(--vw-ratio-sp) * 1vw, 9px);
        height: clamp(16px / 2, 16 * var(--vw-ratio-sp) * 1vw, 16px);
    }
    #sec04 .md_content .md_btn img {
        width: clamp(97px / 2, 97 * var(--vw-ratio-sp) * 1vw, 97px);
    }
    #sec04 .md_content .md_text.is_mail {
        margin-top: clamp(310px / 2, 310 * var(--vw-ratio-sp) * 1vw, 310px);
        padding-bottom: 0.3em;
    }
    #sec04 .md_content .md_text.is_mail img {
        width: clamp(31px / 2, 31 * var(--vw-ratio-sp) * 1vw, 31px);
    }
    #sec04 .md_content .md_text.is_mail p {
        font-size: clamp(17px / 2 * 1.45, 17 * var(--vw-ratio-sp) * 1vw * 1.45, 17px * 1.45);
        line-height: 1.25;
    }
}

@media (max-width: 375px) {
    #sec04 .md_subttl {
        font-size: clamp(10.5px / 2 * 1.25, 10.5 * var(--vw-ratio-sp-375) * 1vw * 1.25, 10.5px * 1.25);
    }
    #sec04 .md_subttl + .md_content {
        margin-top: clamp(2.5px / 2, 2.5 * var(--vw-ratio-sp-375) * 1vw, 2.5px);
    }
    #sec04 .md_content .md_btn {
        gap: clamp(10px / 2, 10 * var(--vw-ratio-sp-375) * 1vw, 10px);
        max-width: clamp(315px / 2, 315 * var(--vw-ratio-sp-375) * 1vw, 315px);
        padding: clamp(7.5px / 2, 7.5 * var(--vw-ratio-sp-375) * 1vw, 7.5px) 0;
        font-size: clamp(8px / 2 * 1.25, 8 * var(--vw-ratio-sp-375) * 1vw * 1.25, 8px * 1.25);
    }
    #sec04 .md_content .md_btn::after {
        right: clamp(9.5px / 2, 9.5 * var(--vw-ratio-sp-375) * 1vw, 9.5px);
        width: clamp(4.5px / 2, 4.5 * var(--vw-ratio-sp-375) * 1vw, 4.5px);
        height: clamp(8px / 2, 8 * var(--vw-ratio-sp-375) * 1vw, 8px);
    }
    #sec04 .md_content .md_btn img {
        width: clamp(48.5px / 2, 48.5 * var(--vw-ratio-sp-375) * 1vw, 48.5px);
    }
    #sec04 .md_content .md_text.is_mail {
        margin-top: clamp(155px / 2, 155 * var(--vw-ratio-sp-375) * 1vw, 155px);
        gap: 0.5em;
    }
    #sec04 .md_content .md_text.is_mail img {
        width: clamp(15.5px / 2, 15.5 * var(--vw-ratio-sp-375) * 1vw, 15.5px);
    }
    #sec04 .md_content .md_text.is_mail p {
        font-size: clamp(8.5px / 2 * 1.5, 8.5 * var(--vw-ratio-sp-375) * 1vw * 1.5, 8.5px * 1.5);
        line-height: 1;
    }
}

/* --------------
footer
-------------- */
footer {
    background-color: #000;
}
.footer_inner {
    max-width: 790px;
    width: 100%;
    margin: auto;
}
.footer_content {
    width: fit-content;
    margin: auto;
    padding: 30px 0;
}
.footer_content .md_text {
    color: #fff;
    margin-bottom: 10px;
}
.footer_content .md_text .is_small {
    font-size: 15.5px;
    font-weight: 400;
    text-align: left;
    line-height: 1.75;
    letter-spacing: 0;
}
.footer_content picture {
    display: block;
    width: 100%;
    text-align: center
}

@media (max-width: 1280px) {
    .footer_inner {
        max-width: clamp(980px / 2, 980 * var(--vw-ratio) * 1vw, 980px);
        padding: 0 clamp(95px / 2, 95 * var(--vw-ratio) * 1vw, 95px);
    }
    .footer_content {
        padding: clamp(40px / 2, 40 * var(--vw-ratio) * 1vw, 40px) 0;
    }
    .footer_content img {
        width: clamp(78px / 2, 78 * var(--vw-ratio) * 1vw, 78px);
    }
    .footer_content .md_text {
        margin-bottom: clamp(10px / 2, 10 * var(--vw-ratio) * 1vw, 10px);
    }
    .footer_content .md_text .is_small {
        font-size: clamp(15.5px / 2, 15.5 * var(--vw-ratio) * 1vw, 15.5px);
    }
}

@media (max-width: 750px) {
    .footer_inner {
        max-width: clamp(750px / 2, 750 * var(--vw-ratio-sp) * 1vw, 750px);
        padding: 0 clamp(60px / 2, 60 * var(--vw-ratio-sp) * 1vw, 60px);
    }
    .footer_content {
        padding: clamp(24px / 2, 24 * var(--vw-ratio-sp) * 1vw, 24px) 0;
    }
    .footer_content img {
        width: clamp(62px / 2, 62 * var(--vw-ratio-sp) * 1vw, 62px);
    }
    .footer_content .md_text {
        margin-bottom: clamp(10px / 2, 10 * var(--vw-ratio-sp) * 1vw, 10px);
    }
    .footer_content .md_text .is_small {
        font-size: clamp(12.5px / 2, 12.5 * var(--vw-ratio-sp) * 1vw, 12.5px);
    }
}

@media (max-width: 375px) {
    .footer_inner {
        max-width: clamp(375px / 2, 375 * var(--vw-ratio-sp-375) * 1vw, 375px);
        padding: 0 clamp(30px / 2, 30 * var(--vw-ratio-sp-375) * 1vw, 30px);
    }
    .footer_content {
        padding: clamp(12px / 2, 12 * var(--vw-ratio-sp-375) * 1vw, 12px) 0;
    }
    .footer_content img {
        width: clamp(31px / 2, 31 * var(--vw-ratio-sp-375) * 1vw, 31px);
    }
    .footer_content .md_text {
        margin-bottom: clamp(5px / 2, 5 * var(--vw-ratio-sp-375) * 1vw, 5px);
    }
    .footer_content .md_text .is_small {
        font-size: clamp(6.25px / 2, 6.25 * var(--vw-ratio-sp-375) * 1vw, 6.25px);
    }
}