@charset "utf-8";

.breadcrumb {
    background-color: #fff;
    position: relative;
    z-index: 1;
}

/* common */
.section_inner {
    margin-inline: auto;
    position: relative;
}
.section_ttl_area {
    position: relative;
}
.section_ttl_en,
.section_ttl_jp {
    display: inline-block;
}
.section_ttl_jp {
    padding-bottom: 28em;
    position: relative;
}
.section_ttl_jp::before {
    content: '';
    width: 100%;
    height: 16em;
    background: no-repeat 50% / cover;
    position: absolute;
    left: 0;
    bottom: 0;
}
.section_ttl_jp_inner {
    font-weight: 500;
    font-size: max(20em, 12px);
    line-height: 1;
    letter-spacing: 0.05em;
}
.section_txt_inner {
    line-height: 1.87;
    letter-spacing: 0;
}
.section_bg {
    background: url(../images/index/section_bg.jpg) 50% 0;
    position: relative;
    z-index: 1;
}
.section_bg::after {
    content: '';
    width: 100%;
    background: linear-gradient(180deg, rgba(252, 254, 243, 0) 0%, var(--color-black-bg) 100%);
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
}
.modal_close {
    width: 30em;
    height: 30em;
    padding: 0;
    font-size: 1em;
    border: none;
    position: absolute;
    cursor: pointer;
}
.modal_close::before,
.modal_close::after {
    content: '';
    width: 100%;
    height: max(1em, 1px);
    margin: auto;
    background-color: var(--color-white);
    display: block;
    position: absolute;
    inset: 0;
}
.modal_close::before {
    rotate: 45deg;
}
.modal_close::after {
    rotate: -45deg;
}
@media (min-width: 521px) {
    .section_inner {
        width: 1200em;
    }
    .section_ttl_en_inner {
        font-size: max(96em, 12px);
        line-height: 1.04;
    }
    .section_txt_inner {
        font-size: max(16em, 12px);
    }
    .section_bg {
        background-size: 100% auto;
    }
    .section_bg::after {
        height: 260em;
    }
    .modal_close {
        top: 30em;
        right: 30em;
    }
}
@media (max-width: 520px) {
    .section_inner {
        width: 350em;
    }
    .section_ttl_en_inner {
        font-size: max(64em, 12px);
        line-height: 1;
    }
    .section_txt_inner {
        font-size: max(15em, 12px);
    }
    .section_bg {
        background-size: 1440em auto;
    }
    .section_bg::after {
        height: 160em;
    }
    .modal_close {
        top: 16em;
        right: 16em;
    }
}
.section_ttl_en {
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.5s;
    display: inline-block;
}
.is_animated.section_ttl_area .section_ttl_en {
    clip-path: inset(0 0 0 0);
}
.section_ttl_jp {
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.5s 0.3s;
    display: inline-block;
}
.is_animated.section_ttl_area .section_ttl_jp {
    clip-path: inset(0 0 0 0);
}


/* mv */
.mv_wrap {
    position: relative;
}
.mv_bg_wrap {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}
.mv_bg {
    width: 100%;
    background: no-repeat 50% 0;
    position: sticky;
    top: 0;
    left: 0;
}
.mv {
    position: relative;
}
.mv_ttl {
    margin-inline: auto;
    position: relative;
    z-index: 1;
}
.mv_ttl_copy {
    height: auto;
    position: absolute;
}
.mv_slide_list_wrap {
    position: absolute;
}
.mv_slide_list {
    width: 100%;
    display: flex;
}
.mv_slide_list > li {
    width: calc(100% / 12);
}
.mv_ttl_img,
.mv_slide_list_img {
    width: 100%;
    height: auto;
    display: block;
}

.mv_slide_list_wrap,
.mv_slide_list,
.mv_slide_list > li,
.mv_slide_list_img {
    perspective: 1000;
}
@media (min-width: 521px) {
    .mv {
        padding-block: calc(232 / 1440 * min(100vw, 1540px));
    }
    .mv_bg_wrap {
        height: calc(100% + (85 / 1440 * min(100vw, 1540px)));
    }
    .mv_bg {
        height: calc(770 / 1440 * min(100vw, 1540px));
        background-image: url(../images/index/mv_bg_pc.jpg);
        background-size: cover;
    }
    .mv_ttl {
        width: calc(468 / 1440 * min(100vw, 1540px));
    }
    .mv_ttl_copy {
        width: calc(248 / 1440 * min(100vw, 1540px));
        top: calc(64 / 1440 * min(100vw, 1540px));
        left: calc(111 / 1440 * min(100vw, 1540px));
    }
    .mv_slide_list_wrap {
        width: calc((336 * 12) * 2 / 1440 * min(100vw, 1540px));
        top: calc(15 / 1440 * min(100vw, 1540px));
    }
    .mv_slide_list > li {
        margin-left: calc(16 / 1440 * min(100vw, 1540px));
    }
}
@media (min-width: 2201px) {
    .mv_bg {
        height: calc(910 / 2200 * 100vw);
    }
}
@media (max-width: 520px) {
    .mv {
        padding-block: calc(180 / 390 * 100vw) calc(310 / 390 * 100vw);
    }
    .mv_bg_wrap {
        height: calc(100% + calc(108 / 390 * 100vw));
    }
    .mv_bg {
        height: calc(720 / 390 * 100vw);
        background-image: url(../images/index/mv_bg_sp.jpg);
        background-size: cover;
    }
    .mv_ttl {
        width: calc(261 / 390 * 100vw);
    }
    .mv_ttl_copy {
        width: calc(145 / 390 * 100vw);
        top: calc(49 / 390 * 100vw);
        left: calc(56 / 390 * 100vw);
    }
    .mv_slide_list_wrap {
        width: calc((420 * 12) / 390 * 100vw);
        top: calc(10 / 390 * 100vw);
    }
    .mv_slide_list > li {
        margin-left: calc(10 / 390 * 100vw);
    }
}

.mv_ttl_copy {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
    transition: clip-path 0.5s, opacity 0.5s;
}
.is_animated.mv .mv_ttl_copy {
    clip-path: inset(0 0 0 0);
    opacity: 1;
}

.mv_slide_list > li .mv_slide_list_img {
    opacity: 0;
    rotate: -45deg;
    transform-origin: 0 -100%;
    transition: opacity 2.5s, rotate 2.5s;
    transition-timing-function: linear(0, 0.067, 0.1294, 0.1877, 0.2421, 0.2929, 0.3402, 0.3844, 0.4257, 0.4641, 0.5, 0.5335, 0.5647, 0.5939, 0.6211, 0.6464, 0.6701, 0.6922, 0.7128, 0.7321, 0.75, 0.7667, 0.7824, 0.7969, 0.8105, 0.8232, 0.8351, 0.8461, 0.8564, 0.866, 0.875, 0.8834, 0.8912, 0.8985, 0.9053, 0.9116, 0.9175, 0.9231, 0.9282, 0.933, 0.9375, 0.9417, 0.9456, 0.9492, 0.9526, 0.9558, 0.9588, 0.9615, 0.9641, 0.9665, 0.9688, 0.9708, 0.9728, 0.9746, 0.9763, 0.9779, 0.9794, 0.9808, 0.9821, 0.9833, 0.9844, 0.9854, 0.9864, 0.9873, 0.9882, 0.989, 0.9897, 0.9904, 0.991, 0.9916, 0.9922, 0.9927, 0.9932, 0.9937, 0.9941, 0.9945, 0.9948, 0.9952, 0.9955, 0.9958, 0.9961, 0.9964, 0.9966, 0.9968, 0.997, 0.9972, 0.9974, 0.9976, 0.9978, 0.9979, 0.998, 0.9982, 0.9983, 0.9984, 0.9985, 0.9986, 0.9987, 0.9988, 0.9989, 0.999, 1);
    --animation-delay: 0.1;
}
.mv_slide_list > li:nth-child(1) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 1s);
}
.mv_slide_list > li:nth-child(2) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 2s);
}
.mv_slide_list > li:nth-child(3) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 3s);
}
.mv_slide_list > li:nth-child(4) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 4s);
}
.mv_slide_list > li:nth-child(5) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 5s);
}
.mv_slide_list > li:nth-child(6) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 6s);
}
.mv_slide_list > li:nth-child(7) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 7s);
}
.mv_slide_list > li:nth-child(8) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 8s);
}
.mv_slide_list > li:nth-child(9) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 9s);
}
.mv_slide_list > li:nth-child(10) .mv_slide_list_img {
    transition-delay: calc(var(--animation-delay) * 10s);
}
.is_animated.mv .mv_slide_list > li .mv_slide_list_img {
    opacity: 1;
    rotate: 0deg;
}
.mv_slide_list_wrap {
    height: 100%;
}
.mv_slide {
    width: 100%;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    will-change: left;
}
.mv_slide_list {
    transform: translateZ(0);
}
.mv_bg::before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background-color: var(--color-black-bg);
    opacity: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    transition: opacity 2s;
}
.is_animated.mv_bg::before {
    opacity: 0.8;
}

/* lead */
.lead {
    text-align: center;
    position: relative;
}
.lead_ttl {
    display: flex;
    justify-content: center;
}
.lead_ttl_logo {
    width: 170em;
    height: auto;
}
#contents-body .section img.lead_ttl_logo {
    vertical-align: baseline;
}
.lead_ttl_copy {
    width: 319em;
    height: auto;
}
#contents-body .section img.lead_ttl_copy {
    vertical-align: bottom;
}
.lead_ttl_inner {
    font-weight: 500;
    letter-spacing: 0.075em;
}
.lead_txt {
    margin-top: 64em;
}
.lead_txt_inner {
    font-weight: 500;
    font-size: max(16em, 12px);
    letter-spacing: 0.05em;
    display: inline-block;
}
.lead_txt_word {
    display: inline-block;
}
.lead_copy > path {
    fill: var(--color-white);
}
.lead_note {
    text-align: center;
    color: var(--color-white);
}
.lead_note_in {
    font-size: max(10em, 10px);
}
@media (min-width: 521px) {
    .lead {
        padding-block: 160em 40em;
    }
    .lead_ttl_inner {
        font-size: max(36em, 12px);
        line-height: 0.98;
    }
    .lead_ttl_copy {
        margin-left: 4em;
    }
    .lead_txt_inner {
        line-height: 2.5;
    }
    .lead_copy {
        width: 577em;
        margin-top: 4em;
    }
    .lead_note {
        margin-top: 150em;
    }
}
@media (max-width: 520px) {
    .lead {
        padding-block: 100em 40em;
    }
    .lead_ttl {
        flex-wrap: wrap;
        gap: 8em 0;
    }
    .lead_ttl_inner {
        font-size: max(32em, 12px);
        line-height: 1.37;
    }
    .lead_txt_inner {
        line-height: 2.25;
    }
    .lead_copy {
        width: 357em;
        margin-top: 40em;
    }
    .lead_note {
        margin-top: 100em;
        line-height: 2;
    }
}
.lead_copy_txt {
    mask: url(#lead_copy_mask);
}
.lead_copy_mask_line {
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    stroke-width: 25px;
    stroke-dasharray: 5520px;
    stroke-dashoffset: 5520px;
}
.lead_copy.is_animated .lead_copy_mask_line {
    animation: lead_copy_mask_line 1s forwards;
    animation-timing-function: cubic-bezier(0.8,0,0.8,0.9);
}
@keyframes lead_copy_mask_line {
    0% {
      stroke-dashoffset: 5520px;
    }
    100% {
      stroke-dashoffset: 0;
    }
}
.lead_ttl,
.lead_txt_word {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s, transform 1s;
}
.is_animated.lead_ttl,
.is_animated.lead_txt_word {
    opacity: 1;
    transform: translateY(0);
}

/* voice */
.voice {
    position: relative;
    z-index: 10;
}
.voice .section_ttl_area {
    display: flex;
}
.voice .section_ttl_jp::before {
    background-image: url(../images/index/voice_ttl_line.png);
}
.voice_img,
.voice_content_img,
.voice_area_img {
    height: auto;
    position: relative;
    overflow: clip;
}
.voice_img {
    aspect-ratio: 4 / 3;   
}
.voice_img img,
.voice_content_img img,
.voice_area_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}
.voice_area_img_wrap {
    display: flex;
}
.voice_content_wrap {
    display: flex;
    flex-direction: column;
}
.voice_content {
    display: flex;
}
.voice_content_1_1 {
    z-index: 1;
}
.voice_content_ttl_inner {
    font-weight: 500;
    letter-spacing: 0;
}
.voice_content_txt {
    transition: height 0.5s;
    overflow: clip;
    position: relative;
}
.voice_content_txt::after {
    content: '';
    display: block;
    width: 100%;
    background: linear-gradient(180deg, rgba(26, 22, 18, 0) 0%, #1A1612 92.31%);
    position: absolute;
    left: 0;
    bottom: 0;
    transition: opacity 0.5s;
}
.voice_content_inner:has( .is_active) .voice_content_txt::after {
    opacity: 0;
}
.voice_content_txt_inner,
.voice_content_link_inner {
    font-weight: 500;
    font-size: max(16em, 12px);
    letter-spacing: 0;
}
.voice_content_txt_btn {
    width: 100%;
    margin-top: 24em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8em;
}
.voice_content_txt_btn::before {
    content: 'もっと見る';
    font-weight: 500;
    font-size: max(16em, 12px);
    display: block;
}
.voice_content_txt_btn_arrow {
    width: 14em;
    height: 14em;
    position: relative;
}
.voice_content_txt_btn_arrow::before,
.voice_content_txt_btn_arrow::after {
    content: '';
    width: 100%;
    height: max(1em, 1px);
    margin: auto;
    background-color: var(--color-white);
    display: block;
    position: absolute;
    inset: 0;
}
.voice_content_txt_btn_arrow::after {
    rotate: 90deg;
}
a.voice_content_link {
    color: var(--color-white);
    display: inline-block;
}
.voice_content_link_inner {
    text-decoration: underline;
}
.voice_content_note_inner {
    font-weight: 500;
    font-size: max(10em, 10px);
}
.voice_area,
.voice_message {
    margin-inline: auto;
}
.voice_area {
    position: relative;
}
.voice_area_img {
    width: 100%;
}
.voice_area_img_txt_inner {
    font-weight: 500;
    line-height: 1.87;
}
.voice_message_txt_inner {
    font-weight: 500;
    font-size: max(20em, 12px);
    line-height: 1.87;
    letter-spacing: 0;
}
@media (min-width: 521px) {
    .voice {
        padding-block: 120em;
    }
    .voice .section_ttl_area {
        justify-content: space-between;
    }
    .voice .section_ttl_jp {
        position: absolute;
        top: 136em;
        left: 303em;
    }
    .voice_img {
        width: 320em;
    }
    .voice_content_wrap {
        margin-top: 50em;
        gap: 64em;
    }
    .voice_content {
        align-items: flex-start;
        justify-content: space-between;
    }
    .voice_content:nth-child(2n) {
        flex-direction: row-reverse;
    }
    .voice_content_img_1 {
        aspect-ratio: 7 / 6;
    }
    .voice_content_img_2,
    .voice_content_img_3 {
        aspect-ratio: 7 / 4;
    }
    .voice_area_img {
        aspect-ratio: 2 / 1;
    }
    .voice_content_ttl_inner {
        font-size: max(28em, 12px);
        line-height: 1;
    }
    .voice_content_txt {
        height: 150em;
        margin-top: 32em;
    }
    .voice_content_txt::after {
        height: 60em;
    }
    .voice_content_txt_inner,
    .voice_content_link_inner {
        line-height: 1.87;
    }
    .voice_content_link {
        margin-top: 40em;
    }
    .voice_content_img {
        width: calc(560 / 1200 * 100%);
    }
    .voice_content_inner {
        width: calc(600 / 1200 * 100%);
    }
    .voice_area,
    .voice_message {
        margin-top: 50em;
    }
    .voice_area {
        width: 930em;
    }
    .voice_area_img_wrap {
        justify-content: space-between;
        align-items: flex-end;
        flex-direction: row-reverse;
        gap: 16em;
    }
    .voice_area_img_txt {
        flex-shrink: 0;
        text-align: right;
    }
    .voice_area_img_txt_s {
        font-size: max(14em, 12px);
    }
    .voice_area_img_txt_inner {
        font-size: max(16em, 12px);
    }
    .voice_message_txt {
        text-align: center;
    }
    .voice_content_note {
        margin-top: 40em;
    }
}
@media (max-width: 520px) {
    .voice {
        padding-block: 80em;
    }
    .voice .section_ttl_area {
        flex-direction: column;
        gap: 36em;
    }
    .voice .section_ttl_jp {
        margin-top: 16em;
    }
    .voice_img {
        width: 160em;
        margin-top: -78em;
        margin-left: auto;
        margin-right: 20em;
    }
    .voice_content_wrap {
        margin-top: 50em;
        gap: 64em;
    }
    .voice_content {
        flex-direction: column;
        gap: 48em;
    }
    .voice_content_img_1 {
        aspect-ratio: 7 / 6;
    }
    .voice_content_img_2,
    .voice_content_img_3 {
        aspect-ratio: 7 / 4;
    }
    .voice_area_img {
        aspect-ratio: 2 / 1;
    }
    .voice_content_ttl_inner {
        font-size: max(32em, 12px);
        line-height: 1.3;
    }
    .voice_content_txt {
        height: 128em;
        margin-top: 28em;
    }
    .voice_content_txt::after {
        height: 40em;
    }
    .voice_content_txt_inner,
    .voice_content_link_inner {
        line-height: 2;
    }
    .voice_content_link {
        margin-top: 24em;
    }
    .voice_content_img {
        width: 100%;
    }
    .voice_area,
    .voice_message {
        margin-top: 56em;
    }
    .voice_message {
        max-width: 310em;
    }
    .voice_area_img_wrap {
        flex-direction: column;
        gap: 8em;
    }
    .voice_area_img {
        width: 100%;
    }
    .voice_area_img_txt {
        margin-top: 8em;
    }
    .voice_area_img_txt_s {
        font-size: max(14em, 12px);
    }
    .voice_area_img_txt_inner {
        font-size: max(16em, 12px);
    }
    .voice_content_note {
        margin-top: 24em;
    }
}
.voice_img,
.voice_area_img,
.voice_content_img_animation {
    opacity: 0;
    transform: translateY(80em);
    transition: opacity 1s, transform 1s;
    transition-timing-function: cubic-bezier(0.385,0.194,0.23,0.956);
}
.voice_content_img_animation_1_1,
.voice_content_img_animation_1_2 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.is_animated.voice_img,
.is_animated.voice_area_img,
.is_animated.voice_content_img_animation,
.is_animated.voice_content_img .voice_content_img_animation_1_1,
.is_animated.voice_content_img .voice_content_img_animation_1_2 {
    opacity: 1;
    transform: translateY(0);
}

.is_active.voice_content_txt_btn::before {
    content: '閉じる';
}
.is_active.voice_content_txt_btn .voice_content_txt_btn_arrow::after {
    scale: 0 1;
}
@media (min-width: 521px) {
    .voice_img,
    .voice_area_img,
    .voice_content_img_animation {
        transform: translateY(80em);
    }
    .voice_content_img_animation_1_2 {
        transform: translateY(30em);
    }
}
@media (max-width: 520px) {
    .voice_img,
    .voice_area_img,
    .voice_content_img_animation {
        transform: translateY(50em);
    }
    .voice_content_img_animation_1_2 {
        transform: translateY(30em);
    }
}

/* strengths */
.strengths .section_ttl_jp::before {
    background-image: url(../images/index/strengths_ttl_line.png);
}
.strengths_list {
    display: flex;
    flex-direction: column;
}
.strengths_list > li {
    border-bottom: max(1em, 1px) solid var(--color-gray);
}
.strengths_list > li:first-child {
    border-top: max(1em, 1px) solid var(--color-gray);
}
.strengths_list_item {
    font-weight: 500;
    font-size: 1em;
    text-align: left;
    color: var(--color-white);
    border: none;
    display: block;
}
.strengths_list_item_inner {
    display: flex;
}
.strengths_list_item_num_inner {
    line-height: 1;
    letter-spacing: 0;
    color: var(--color-orange);
}
.strengths_list_item_ttl {
    display: flex;
    flex-direction: column;
}
.strengths_list_item_ttl_sub {
    font-size: max(14em, 12px);
    line-height: 1;
    letter-spacing: 0;
}
.strengths_list_item_ttl_inner {
    line-height: 1.3;
    letter-spacing: 0;
}
.strengths_list_item_img {
    width: 100%;
    height: auto;
}
.strengths_list_item_icon {
    position: relative;
}
.strengths_list_item_icon::before,
.strengths_list_item_icon::after {
    content: '';
    width: 100%;
    height: max(1em, 1px);
    margin: auto;
    background-color: var(--color-white);
    position: absolute;
    inset: 0;
}
.strengths_list_item_icon::after {
    rotate: 90deg;
}

.modal_strengths_list_content {
    text-align: left;
}
.modal_strengths_list_ttl {
    display: flex;
    align-items: flex-start;
}
.modal_strengths_list_ttl_num {
    line-height: 1;
    letter-spacing: 0;
    color: var(--color-orange);
}
.modal_strengths_list_ttl_inner {
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
}
.modal_strengths_list_txt_inner {
    font-weight: 500;
    font-size: max(16em, 12px);
    letter-spacing: 0;
}
.modal_strengths_note_txt_inner {
    font-weight: 500;
    font-size: max(10em, 10px);
}
.modal_strengths_list_img {
    position: relative;
}
.modal_strengths_list_img img {
    width: 100%;
    height: auto;
}
.modal_strengths_list_img .swiper-button-next,
.modal_strengths_list_img .swiper-button-prev {
    width: 40em;
    height: 40em;
    border-top: max(1em, 1px) solid var(--color-white);
    border-left: max(1em, 1px) solid var(--color-white);
    margin-block: auto;
    top: 0;
    bottom: 0;
}
.modal_strengths_list_img .swiper-button-next::after,
.modal_strengths_list_img .swiper-button-prev::after {
    content: none;
}
.modal_strengths_list_img .swiper-button-next {
    rotate: 135deg;
}
.modal_strengths_list_img .swiper-button-prev {
    rotate: -45deg;
}
.modal_strengths_note {
    margin-top: 8em;
    color: var(--color-white);
    line-height: 1.35;
    display: flex;
}
.modal_strengths_note_black {
    color: var(--color-black);
}
.modal_strengths_note_mark,
.modal_strengths_note_in {
    font-size: max(10em, 10px);
}
@media (min-width: 521px) {
    .strengths {
        padding-block: 120em;
    }
    .strengths .section_ttl_jp {
        position: absolute;
        top: 136em;
        left: 305em;
    }
    .strengths_list {
        margin-top: 66em;
    }
    .strengths_list_item {
        width: 100%;
    }
    .strengths_list_item_inner {
        width: 1200em;
        margin-inline: auto;
        padding-block: 8em;
        align-items: center;
    }
    .strengths_list_item_num {
        width: 125em;
    }
    .strengths_list_item_num_inner {
        font-size: max(80em, 12px);
    }
    .strengths_list_item_ttl {
        width: 555em;
        gap: 12em;
    }
    .strengths_list_item_ttl_inner {
        font-size: max(36em, 12px);
    }
    .strengths_list_item_img_wrap {
        width: 400em;
    }
    .strengths_list_item_icon {
        width: 32em;
        height: 32em;
        margin-left: 72em;
    }

    .modal_strengths_list .modal_scroll_inner {
        max-width: 1040em;
        padding: 80em 40em;
    }
    .modal_strengths_list_ttl {
        gap: 24em;
    }
    .modal_strengths_list_ttl_num {
        font-size: 66em;
    }
    .modal_strengths_list_ttl_inner {
        font-size: 48em;
    }
    .modal_strengths_list_img {
        margin-top: 40em;
    }
    .modal_strengths_list_txt {
        margin-top: 40em;
    }
    .modal_strengths_list_txt_inner {
        line-height: 1.87;
    }
    .modal_strengths_note_txt {
        margin-top: 32em;
    }
    .modal_strengths_list_img .swiper-button-next,
    .modal_strengths_list_img .swiper-button-prev {
        width: 40em;
        height: 40em;
        margin-block: auto;
        top: 0;
        bottom: 0;
    }
    .modal_strengths_list_img .swiper-button-next {
        left: auto;
        right: -110em;
    }
    .modal_strengths_list_img .swiper-button-prev {
        left: -110em;
        right: auto;
    }
}
@media (max-width: 520px) {
    .strengths {
        padding-block: 80em;
    }
    .strengths .section_ttl_jp {
        margin-top: 16em;
    }
    .strengths_list {
        margin-top: 48em;
    }
    .strengths_list_item {
        padding: 32em 20em;
        position: relative;
    }
    .strengths_list_item_inner {
        flex-direction: column;
    }
    .strengths_list_item_num {
        position: absolute;
        top: 32em;
        right: 20em;
    }
    .strengths_list_item_num_inner {
        font-size: max(72em, 12px);
    }
    .strengths_list_item_ttl {
        gap: 16em;
    }
    .strengths_list_item_ttl_inner {
        font-size: max(32em, 12px);
    }
    .strengths_list_item_img_wrap {
        width: 100%;
        margin-top: 24em;
    }
    .strengths_list_item_icon {
        width: 30em;
        height: 30em;
        margin: 24em auto 0;
    }

    .modal_strengths_list .modal_scroll_inner {
        padding: 72em 20em;
    }
    .modal_strengths_list_ttl {
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    .modal_strengths_list_ttl_num {
        font-size: 72em;
    }
    .modal_strengths_list_ttl_inner {
        font-size: 32em;
    }
    .modal_strengths_list_img {
        margin-top: 25em;
        padding-bottom: 56em;
    }
    .modal_strengths_list_txt {
        margin-top: 40em;
    }
    .modal_strengths_list_txt_inner {
        line-height: 2;
    }
    .modal_strengths_note_txt {
        margin-top: 20em;
    }
    .modal_strengths_list_img .swiper-button-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12em;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
    }
    .modal_strengths_list_img .swiper-pagination {
        width: auto;
        margin-block: auto;
        display: flex;
        gap: 12em;
        position: relative;
        top: 0;
        bottom: 0;
    }
    .modal_strengths_list_img .swiper-pagination-bullet {
        background-color: var(--color-white);
        opacity: 0.5;
    }
    .modal_strengths_list_img .swiper-pagination-bullet-active {
        opacity: 1;
    }
    .modal_strengths_list_img .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0;
    }
    .modal_strengths_list_img .swiper-button-next,
    .modal_strengths_list_img .swiper-button-prev {
        width: 20em;
        height: 20em;
        position: relative;
        top: auto;
        left: auto;
        right: auto;
    }
}
@media (min-width: 521px) {
    @media (hover:hover) {
        .strengths_list_item_img_wrap {
            transition: clip-path 0.6s cubic-bezier(0.25, 1, 0.5, 1);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
        }
        .strengths_list_item:hover .strengths_list_item_img_wrap  {
            clip-path: polygon(5% 5%, 95% 5%, 95% 95%, 5% 95%);
        }
        .strengths_list_item_img {
            transition: scale 0.5s;
            transition-timing-function: cubic-bezier(0.385,0.194,0.23,0.956);
        }
        .strengths_list_item:hover .strengths_list_item_img  {
            scale: 1.04;
        }
        .strengths_list_item_icon {
            transition: rotate 0.5s;
            transition-timing-function: cubic-bezier(0.385,0.194,0.23,0.956);
        }
        .strengths_list_item:hover .strengths_list_item_icon  {
            rotate: 180deg;
        }
    }
}

.section_txt {
    font-weight: 500;
}
/* history */
.history {
    color: var(--color-black);
    background: no-repeat 50% 0 / 100% auto;
    background-color: #fcfef3;
    position: relative;
}
.history::before {
    content: '';
    width: 100%;
}
.history_content {
    margin-inline: auto;
}
.history .section_ttl_en_inner {
    white-space: nowrap;
}
.history .section_ttl_jp {
    flex-shrink: 0;
}
.history .section_txt {
    flex-shrink: 1;
}
.history .section_ttl_jp::before {
    background-image: url(../images/index/history_ttl_line.jpg);
}
.history .section_ttl_area_inner {
    display: flex;
}
.history_img_swiper .swiper-slide a {
    display: block;
}
#contents-body .history_img_swiper .swiper-slide a:hover img {
    opacity: 1;
}
.history_img {
    width: 100%;
    height: auto;
}
.history_img_swiper .swiper-pagination {
    margin-block: auto;
    display: flex;
    justify-content: center;
    gap: 12em;
    position: relative;
    bottom: auto;
}
.history_img_swiper .swiper-pagination-bullet {
    background-color: var(--color-black);
    opacity: 0.3;
}
.history_img_swiper .swiper-pagination-bullet-active {
    opacity: 1;
}
.history_img_swiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0;
}
.history_btn {
    margin-inline: auto;
    padding-left: 12em;
    line-height: 1;
    border-radius: 4em;
    background-color: var(--color-black-btn);
    display: flex;
    align-items: center;
    position: relative;
}
.history_btn_inner {
    font-weight: 700;
    line-height: calc(16/12);
    letter-spacing: 0;
    color: var(--color-white);
    position: relative;
}
.history_btn_icon {
    width: 12em;
    height: 12em;
    margin-block: auto;
    position: absolute;
    top: 0;
    bottom: 0;
}
.history_btn_icon::before,
.history_btn_icon::after {
    content: '';
    width: 100%;
    height: max(1em, 1px);
    margin: auto;
    background-color: var(--color-white);
    position: absolute;
    inset: 0;
}
.history_btn_icon::after {
    rotate: 90deg;
}
.history_swiper_link {
    display: inline-block;
}
.history_swiper_link::after {
    content: '▶︎';
    color: var(--color-orange);
    display: inline-block;
}
.history_swiper_link::after,
.history_swiper_link_inner {
    font-weight: 500;
    line-height: 1.75;
}
.history_swiper_link_inner {
    text-decoration: underline;
}

.history_swiper_ttl {
    position: relative;
}
.history_swiper_ttl::before {
    content: '';
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: block;
}
.history_swiper {
    position: relative;
}
.history_swiper_japan_wrap .history_swiper_ttl::before {
    background-color: var(--color-orange);
}
.history_swiper_world_wrap .history_swiper_ttl::before {
    background: url(../images/index/history_swiper_ttl_world_bg.svg) no-repeat 50% / contain;
}
.history_swiper_ttl_img {
    width: 100%;
    height: auto;
    position: absolute;
}
.history_slide_img {
    width: 100%;
    height: auto;
}
.history_swiper_txt {
    text-align: center;
}
.history_swiper_txt .fw700 {
    font-weight: 700;
}
.history_swiper_txt_inner {
    line-height: 1.16;
    letter-spacing: 0.05em;
}
.swiper_scrollbar_wrap {
    display: flex;
    position: absolute;
}
.history_swiper_wrap .swiper-scrollbar.swiper-scrollbar-vertical,
.history_swiper_wrap .swiper-scrollbar.swiper-scrollbar-horizontal {
    background-color: #9caeb4;
    position: relative;
    inset: auto;
}
.history_swiper_wrap .swiper-scrollbar-drag {
    background-color: var(--color-black-bg);
    width: 4em;
    left: -1em;
    cursor: pointer;
}
.history_swiper_wrap .swiper-scrollbar-drag::before {
    content: '';
    border-radius: 100em;
    background-color: var(--color-white);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    cursor: pointer;
}
.swiper_scrollbar_year {
    line-height: 1;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
@media (min-width: 521px) {
    .history {
        padding-block: 160em 140em;
        background-image: url(../images/index/history_bg_pc.jpg);
    }
    .history_content {
        width: 646em;
    }
    .history .section_ttl_area_inner {
        margin-top: 12em;
        align-items: center;
        gap: 38em;
    }
    .history_img {
        width: 640em;
        height: 360em;
        margin-top: 16em;
    }
    .history_img_swiper .swiper-pagination {
        margin-top: 24em;
    }
    .history_btn {
        width: 276em;
        margin-top: 42em;
        padding: 18em 44em 18em 24em;
    }
    .history_btn_inner {
        font-size: max(18em, 12px);
    }
    .history_btn_icon {
        right: 26em;
    }
    .history_swiper_link {
        margin-top: 20em;
    }
    .history_swiper_link::after,
    .history_swiper_link_inner {
        font-size: max(16em, 12px);
    }

    .history_swiper_wrap {
        position: absolute;
    }
    .history_swiper_japan_wrap {
        top: 178em;
        right: calc(50% + 359em);
    }
    .history_swiper_world_wrap {
        top: 178em;
        left: calc(50% + 359em);
    }
    .history_swiper_ttl {
        width: 120em;
        height: 120em;
        margin-inline: auto;
    }
    .history_swiper_ttl_img {
        margin-block: auto;
        top: 0;
        bottom: 0;
    }
    .history_swiper_japan_wrap .history_swiper_ttl_img {
        width: 147em;
        left: -15em;
    }
    .history_swiper_world_wrap .history_swiper_ttl_img {
        width: 161em;
        left: -20em;
    }
    .history_swiper_inner {
        padding-block: 49em 160em;
        overflow: clip;
    }
    .history_swiper::before,
    .history_swiper::after {
        content: '';
        width: 100%;
        display: block;
        position: absolute;
        left: 0;
        z-index: 10;
        pointer-events: none;
    }
    .history_swiper::before {
        height: 48em;
        background: linear-gradient(180deg, #fcfef3 0%, rgba(252, 254, 243, 0) 100%);
        top: 0;
    }
    .history_swiper::after {
        height: 160em;
        background: linear-gradient(180deg, rgba(252, 254, 243, 0) 0%, #fcfef3 100%);
        bottom: 0;
    }
    .history_swiper .swiper {
        width: 240em;
        height: 440em;
        overflow: visible;
    }
    .history_swiper .swiper .swiper-slide {
        height: auto;
    }
    .history_swiper_txt {
        margin-top: 8em;
    }
    .history_swiper_txt_inner {
        font-size: max(12em, 12px);
    }
    .swiper_scrollbar_wrap {
        flex-direction: column;
        align-items: center;
        gap: 2em;
        top: 32em;
    }
    .history_swiper_japan_wrap .swiper_scrollbar_wrap {
        left: -30em;
    }
    .history_swiper_world_wrap .swiper_scrollbar_wrap {
        right: -30em;
    }
    .history_swiper_wrap .swiper-scrollbar.swiper-scrollbar-vertical {
        width: max(2em, 2px);
        height: 240em;
    }
    .history_swiper_wrap .swiper-scrollbar-drag::after {
        content: 'Scroll';
        position: absolute;
        top: 50%;
        font-size: 12em;
        writing-mode: sideways-rl;
        transform: translateY(-50%);
        line-height: 1;
    }
    .history_swiper_wrap .swiper-scrollbar-drag::before {
        width: 12em;
        height: 12em;
        border: 3px solid var(--color-black);
    }
    .history_swiper_japan_wrap.history_swiper_wrap .swiper-scrollbar-drag::after {
        right: calc(10 / 10 * 1em);
    }
    .history_swiper_world_wrap.history_swiper_wrap .swiper-scrollbar-drag::after {
        left: calc(10 / 10 * 1em);
    }
    .swiper_scrollbar_year {
        font-size: max(14em, 12px);
        writing-mode: vertical-rl;
    }
}
@media (max-width: 520px) {
    .history {
        padding-block: 80em;
        background-image: url(../images/index/history_bg_sp.jpg);
    }
    .history_content {
        width: 350em;
    }
    .history .section_ttl_area {
        text-align: center;
    }
    .history .section_ttl_area_inner {
        margin-top: 16em;
        flex-direction: column;
        align-items: center;
        gap: 16em;
    }
    .history_img {
        width: 350em;
        height: 197em;
        margin-top: 32em;
    }
    .history_img_swiper .swiper-pagination {
        margin-top: 12em;
    }
    .history_btn {
        width: 246em;
        margin-top: 36em;
        padding: 17em 22em 18em;
    }
    .history_btn_inner {
        font-size: max(16em, 12px);
    }
    .history_btn_icon {
        right: 22em;
    }
    .history_swiper .swiper-wrapper {
        align-items: center;
    }
    .history_swiper_link::after,
    .history_swiper_link_inner {
        font-size: max(14em, 12px);
    }

    .history_swiper_wrap {
        margin-top: 24em;
    }
    .history_swiper_wrap + .history_swiper_wrap {
        margin-top: 11em;
    }
    .history_swiper_ttl {
        width: 68em;
        height: 68em;
        margin-left: 10em;
        z-index: 2;
    }
    .history_swiper_japan_wrap .history_swiper_ttl_img {
        width: 83em;
        top: 15em;
        left: 30em;
    }
    .history_swiper_world_wrap .history_swiper_ttl_img {
        width: 91em;
        top: 15em;
        left: 26em;
    }
    .history_swiper {
        margin-top: -3em;
    }
    .history_swiper .swiper {
        overflow: visible;
    }
    .history_swiper_wrap .swiper-slide {
        width: 190em;
    }
    .history_swiper_txt {
        margin-top: 8em;
    }
    .history_swiper_txt_inner {
        font-size: max(10em, 12px);
    }
    .history_swiper_japan_wrap .swiper_scrollbar_wrap {
        display: none;
    }
    .history_swiper_world_wrap .swiper_scrollbar_wrap {
        margin-top: 18em;
        align-items: center;
        justify-content: center;
        gap: 4em;
        position: relative;
    }
    .history_swiper_wrap .swiper-scrollbar.swiper-scrollbar-horizontal {
        width: 200em;
        height: max(2em, 2px);
    }
    .history_swiper_wrap .swiper-scrollbar-drag::after {
        content: 'Scroll';
        position: absolute;
        bottom: calc(8 / 10 * 1em);
        font-size: 10em;
        transform: translateX(-50%);
        line-height: 1;
        left: 50%;
    }
    .history_swiper_wrap .swiper-scrollbar-drag::before {
        width: 8em;
        height: 8em;
        border: 2px solid var(--color-black);
    }
    .swiper_scrollbar_year {
        font-size: max(14em, 12px);
    }
}
@media (min-width: 521px) {
    @media (hover:hover) {
        .history_btn {
            overflow: clip;
        }
        .history_btn_inner {
            transition: color 0.5s;
        }
        .history_btn:hover .history_btn_inner {
            color: var(--color-black);
        }
        .history_btn::before {
            content: '';
            width: 100%;
            height: 100%;
            background-color: var(--color-orange);
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            scale: 0 1;
            transition: scale 0.5s;
            transform-origin: 100% 0;
        }
        .history_btn:hover::before {
            scale: 1 1;
            transform-origin: 0 0;
        }
        .history_btn_icon::before,
        .history_btn_icon::after {
            transition: background-color 0.5s;
        }
        .history_btn:hover .history_btn_icon::before,
        .history_btn:hover .history_btn_icon::after {
            background-color: var(--color-black-btn);
            transition: background-color 0.5s;
        }
        .history_swiper_link {
            transition: color 0.5s;
        }
        .history_swiper_link:hover {
            color: var(--color-orange);
        }
    }
}

/* world */
.world {
    position: relative;
    overflow: clip;
}
.world .section_ttl_jp::before {
    background-image: url(../images/index/world_ttl_line.png);
}
.world_content {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 100;
}
.world .section_txt {
    text-align: center;
}
.world_note {
    text-align: center;
}
.world_note_inner {
    font-size: max(10em, 10px);
    line-height: 1;
    letter-spacing: 0.05em;
}
.world_icon_txt_inner {
    font-weight: 400;
    font-size: max(14em, 12px);
    line-height: 1;
    letter-spacing: 0;
}
.world_icon_wrap,
.world_icon,
.world_icon_item {
    display: flex;
    align-items: center;
    justify-content: center;
}
.world_icon_txt_scene {
    color: var(--color-orange);
}
.world_icon_txt_base {
    color: #6c82a6;
}
.world_icon_btn {
    padding: 7em;
    font-size: 1em;
    border: none;
    border-radius: 4em;
    background-color: #6c82a6;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8em;
}
.world_icon_btn_inner {
    font-weight: 700;
    font-size: max(12em, 12px);
    line-height: 1;
    letter-spacing: 0;
    color: var(--color-black-bg);
}
.world_icon_btn_icon {
    width: 12em;
    height: 12em;
    position: relative;
}
.world_icon_btn_icon::before,
.world_icon_btn_icon::after {
    content: '';
    width: 100%;
    height: max(1em, 1px);
    margin: auto;
    background-color: var(--color-black-bg);
    position: absolute;
    inset: 0;
}
.world_icon_btn_icon::after {
    rotate: 90deg;
}
.world_map {
    position: relative;
}
.world_map_img {
    width: 100%;
    height: auto;
}
.world_map_txt {
    text-align: center;
    color: var(--color-white);
    position: absolute;
    left: 0;
    right: 0;
}
.world_map_txt_inner {
    font-weight: 500;
    font-size: max(12em, 12px);
    line-height: 1;
    letter-spacing: 0;
}
.world_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
}
.world_bg::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--color-black-bg);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0.7;
    z-index: 20;
}
.world_bg_img {
    width: 100%;
    height: auto;
    position: absolute;
    will-change: transform;
}
.world_map_base {
    width: 100%;
    height: auto;
    position: absolute;
}
.world_map_scene_btn {
    padding: 0;
    font-size: 1em;
    border: none;
    display: block;
    position: absolute;
}
.world_map_scene {
    width: 100%;
    height: auto;
}

.modal_world_map_scene_ttl {
    display: flex;
    align-items: center;
    gap: 8em;
}
.modal_world_map_scene_icon {
    height: auto;
}
.modal_world_map_scene_ttl_inner {
    line-height: 1;
    letter-spacing: 0.05em;
}
.modal_world_map_scene_content_inner {
    display: flex;
}
.modal_world_map_scene_img {
    position: relative;
}
.modal_world_map_scene_img img {
    width: 100%;
    height: auto;
}
.modal_world_map_scene_content_area {
    text-align: left;
}
.modal_world_map_scene_content_txt_inner {
    font-weight: 500;
    font-size: max(16em, 12px);
    letter-spacing: 0;
}
#contents-body .section.hilux .modal_strengths_list_txt_inner a,
#contents-body .section.hilux .modal_world_map_scene_content_txt_inner a {
    color: var(--color-white);
    text-decoration: underline;
}
.modal_world_map_scene_img .swiper-button-next,
.modal_world_map_scene_img .swiper-button-prev {
    top: auto;
    bottom: 0;
    cursor: pointer;
}
.modal_world_map_scene_img .swiper-button-next::before,
.modal_world_map_scene_img .swiper-button-next::after,
.modal_world_map_scene_img .swiper-button-prev::before,
.modal_world_map_scene_img .swiper-button-prev::after {
    content: '';
    margin-block: auto;
    position: absolute;
    top: 0;
    bottom: 0;
}
.modal_world_map_scene_img .swiper-button-next::before,
.modal_world_map_scene_img .swiper-button-prev::before {
    width: 100%;
    height: max(1em, 1px);
    background-color: var(--color-white);
}
.modal_world_map_scene_img .swiper-button-next::after,
.modal_world_map_scene_img .swiper-button-prev::after {
    font-size: 1em;
}
.modal_world_map_scene_img .swiper-button-next::after {
    border-top: max(1em, 1px) solid var(--color-white);
    border-right: max(1em, 1px) solid var(--color-white);
    rotate: 45deg;
}
.modal_world_map_scene_img .swiper-button-prev::after {
    border-top: max(1em, 1px) solid var(--color-white);
    border-left: max(1em, 1px) solid var(--color-white);
    rotate: -45deg;
}

.modal_world_base_ttl {
    display: flex;
    align-items: center;
    gap: 24em;
}
.modal_world_base_icon,
.modal_world_base_list_flag {
    height: auto;
}
.modal_world_base_ttl_inner {
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}
.modal_world_base_list_wrap,
.modal_world_base_list {
    display: flex;
}
.modal_world_base_list {
    flex-direction: column;
    gap: 16em;
}
.modal_world_base_list > li {
    padding-block: 16em;
    border-bottom: max(1em, 1px) solid var(--color-white);
    display: flex;
}
.modal_world_base_list_txt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
}
.modal_world_base_list_txt_jp {
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
}
.modal_world_base_list_txt_en {
    font-size: max(14em, 12px);
    line-height: 1;
    letter-spacing: 0;
}
.modal_world_base_close {
    margin: 64em auto 0;
    padding: 12em 17em 12em 27em;
    font-size: 1em;
    border: none;
    border-radius: 4em;
    background-color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18em;
}
.modal_world_base_close_inner {
    font-weight: 700;
    font-size: max(12em, 12px);
    line-height: 1;
    letter-spacing: 0;
    color: var(--color-black);
}
.modal_world_base_close_icon {
    width: 12em;
    height: 12em;
    position: relative;
}
.modal_world_base_close_icon::before,
.modal_world_base_close_icon::after {
    content: '';
    width: 100%;
    height: max(1em, 1px);
    margin: auto;
    background-color: var(--color-black);
    position: absolute;
    inset: 0;
}
.modal_world_base_close_icon::before {
    rotate: 45deg;
}
.modal_world_base_close_icon::after {
    rotate: -45deg;
}
@media (min-width: 521px) {
    .world {
        padding-block: 240em;
    }
    .world_content {
        align-items: center;
    }
    .world .section_ttl_jp {
        position: absolute;
        top: 136em;
        left: 305em;
    }
    .world .section_txt {
        margin-top: 40em;
    }
    .world_note {
        margin-top: 8em;
    }
    .world_icon_wrap {
        margin-top: 40em;
        gap: 40em;
    }
    .world_icon_txt {
        margin-left: 12em;
    }
    .world_icon_btn {
        margin-left: 12em;
    }
    .world_map {
        width: 1200em;
        margin-top: 40em;
    }
    .world_map_txt {
        bottom: 0;
    }
    .world_map_base {
        width: 25em;
    }
    .world_map_base_1 {
        top: 280em;
        left: 111em;
    }
    .world_map_base_2 {
        top: 297em;
        left: 214em;
    }
    .world_map_base_3 {
        top: 160em;
        left: 413em;
    }
    .world_map_base_4 {
        top: 162em;
        left: 273em;
    }
    .world_map_base_5 {
        top: 179em;
        left: 324em;
    }
    .world_map_base_6 {
        top: 148em;
        left: 360em;
    }
    .world_map_base_7 {
        top: 158em;
        left: 387em;
    }
    .world_map_base_8 {
        top: 182em;
        left: 403em;
    }
    .world_map_base_9 {
        top: 344em;
        left: 870em;
    }
    .world_map_scene_btn {
        width: 47em;
    }
    .world_map_scene_btn_1 {
        top: 113em;
        left: 135em;
    }
    .world_map_scene_btn_2 {
        top: 230em;
        left: 201em;
    }
    .world_map_scene_btn_3 {
        top: 94em;
        left: 264em;
    }
    .world_map_scene_btn_4 {
        top: 112em;
        left: 315em;
    }
    .world_map_scene_btn_5 {
        top: 91em;
        left: 378em;
    }
    .world_map_scene_btn_6 {
        top: 45em;
        left: 472em;
    }
    .world_map_scene_btn_7 {
        top: 164em;
        left: 473em;
    }
    .world_map_scene_btn_8 {
        top: 88em;
        left: 822em;
    }
    .world_map_scene_btn_9 {
        top: 275em;
        left: 858em;
    }
    .world_map_scene_btn_10 {
        top: 241em;
        left: 910em;
    }
    .world_bg {
        width: 1440em;
        margin-inline: auto;
        left: 50%;
        translate: -50% 0;
    }
    .world_bg_img_1 {
        width: 360em;
        top: 28em;
        left: 0em;
        z-index: 3;
    }
    .world_bg_img_2 {
        width: 160em;
        top: -192em;
        left: 478em;
        z-index: 1;
    }
    .world_bg_img_3 {
        width: 240em;
        top: -178em;
        left: 793em;
        z-index: 2;
    }
    .world_bg_img_4 {
        width: 200em;
        top: -115em;
        left: 1150em;
        z-index: 2;
    }
    .world_bg_img_5 {
        width: 200em;
        top: 216em;
        left: 74em;
        z-index: 2;
    }
    .world_bg_img_6 {
        width: 160em;
        top: 377em;
        left: 307em;
        z-index: 1;
    }
    .world_bg_img_7 {
        width: 160em;
        top: 475em;
        left: 22em;
        z-index: 1;
    }
    .world_bg_img_8 {
        width: 357em;
        top: 199em;
        left: 1082em;
        z-index: 3;
    }
    .world_bg_img_9 {
        width: 240em;
        top: 452em;
        left: 1119em;
        z-index: 2;
    }
    .world_bg_img_10 {
        width: 122em;
        top: 1083em;
        left: 80em;
        z-index: 1;
    }
    .world_bg_img_11 {
        width: 240em;
        top: 962em;
        left: 222em;
        z-index: 2;
    }
    .world_bg_img_12 {
        width: 320em;
        top: 1085em;
        left: 504em;
        z-index: 2;
    }
    .world_bg_img_13 {
        width: 160em;
        top: 739em;
        left: 741em;
        z-index: 1;
    }
    .world_bg_img_14 {
        width: 240em;
        top: 1070em;
        left: 956em;
        z-index: 2;
    }
    .world_bg_img_15 {
        width: 200em;
        top: 863em;
        left: 1200em;
        z-index: 2;
    }
    .world_bg_img_16 {
        width: 96em;
        top: 502em;
        left: 971em;
        z-index: 2;
    }

    .modal_world_map_scene .modal_scroll_inner {
        max-width: 1280em;
        padding: 40em;
    }
    .modal_world_map_scene_ttl_inner {
        font-size: max(74em, 12px);
    }
    .modal_world_map_scene_icon {
        width: 56em;
    }
    .modal_world_map_scene_content_inner {
        margin-top: 32em;
        align-items: flex-start;
        justify-content: space-between;
    }
    .modal_world_map_scene_img {
        width: 50%;
        padding-bottom: 40em;
    }
    .modal_world_map_scene_content_area {
        width: 44.66%;
    }
    .modal_world_map_scene_content_txt_inner {
        line-height: 1.875;
    }
    .modal_world_map_scene_img .swiper-button-next,
    .modal_world_map_scene_img .swiper-button-prev {
        width: 24em;
        height: 24em;
    }
    .modal_world_map_scene_img .swiper-button-next {
        left: 62em;
    }
    .modal_world_map_scene_img .swiper-button-prev {
        left: 4em;
        right: auto;
    }
    .modal_world_map_scene_img .swiper-button-next::after,
    .modal_world_map_scene_img .swiper-button-prev::after {
        width: 20em;
        height: 20em;
    }
    .modal_world_map_scene_img .swiper-button-next::after {
        right: 3em;
    }
    .modal_world_map_scene_img .swiper-button-prev::after {
        left: 3em;
    }

    .modal_world_base .modal_scroll_inner {
        max-width: 1280em;
        padding: 80em 40em;
    }
    .modal_world_base_icon {
        width: 69em;
    }
    .modal_world_base_ttl_inner {
        font-size: max(40em, 12px);
    }
    .modal_world_base_list_wrap {
        margin-top: 48em;
        justify-content: space-between;
    }
    .modal_world_base_list {
        width: calc(568 / 1200 * 100%);
    }
    .modal_world_base_list > li {
        gap: 40em;
    }
    .modal_world_base_list_flag {
        width: 62em;
    }
    .modal_world_base_list_txt_jp {
        font-size: max(28em, 12px);
    }
}
@media (max-width: 520px) {
    .world {
        padding-block: 240em;
    }
    .world .section_ttl_area {
        padding-inline: 22em;
    }
    .world .section_ttl_jp {
        margin-top: 16em;
    }
    .world .section_txt {
        margin-top: 40em;
    }
    .world_note {
        margin-top: 16em;
    }
    .world_icon_wrap {
        margin-top: 36em;
        gap: 24em;
    }
    .world_icon_txt {
        margin-left: 14em;
    }
    .world_icon_btn {
        margin-left: 8em;
    }
    .world_map {
        width: 350em;
        height: 360em;
        margin: 24em auto 0;
        border: max(1em, 1px) solid #4c4c4c;
        background: rgba(13, 7, 2, 0.5);
        overflow: clip;
    }
    .world_map_img {
        margin-top: 125em;
        pointer-events: none;
    }
    .world_map_txt {
        bottom: 12em;
    }
    .world_map_inner,
    .world_map_inner_scale {
        width: 100%;
        height: 100%;
        position: relative;
    }
    .world_map_base {
        width: 8em;
    }
    .world_map_base_1 {
        top: 207em;
        left: 30em;
    }
    .world_map_base_2 {
        top: 214em;
        left: 62em;
    }
    .world_map_base_3 {
        top: 172em;
        left: 120em;
    }
    .world_map_base_4 {
        top: 193em;
        left: 74em;
    }
    .world_map_base_5 {
        top: 178em;
        left: 92em;
    }
    .world_map_base_6 {
        top: 168em;
        left: 104em;
    }
    .world_map_base_7 {
        top: 170em;
        left: 112em;
    }
    .world_map_base_8 {
        top: 178em;
        left: 117em;
    }
    .world_map_base_9 {
        top: 226em;
        left: 252em;
    }
    .world_map_scene_btn {
        width: 15em;
    }
    .world_map_scene_btn_1 {
        top: 158em;
        left: 40em;
    }
    .world_map_scene_btn_2 {
        top: 194em;
        left: 58em;
    }
    .world_map_scene_btn_3 {
        top: 154em;
        left: 70em;
    }
    .world_map_scene_btn_4 {
        top: 157em;
        left: 89em;
    }
    .world_map_scene_btn_5 {
        top: 149em;
        left: 111em;
    }
    .world_map_scene_btn_6 {
        top: 136em;
        left: 136em;
    }
    .world_map_scene_btn_7 {
        top: 170em;
        left: 137em;
    }
    .world_map_scene_btn_8 {
        top: 148em;
        left: 238em;
    }
    .world_map_scene_btn_9 {
        top: 206em;
        left: 248em;
    }
    .world_map_scene_btn_10 {
        top: 192em;
        left: 264em;
    }
    .world_map_btn_wrap {
        margin-top: 16em;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12em;
    }
    .world_map_btn_wrap > button {
        padding: 0;
        font-size: 1em;
    }
    .world_map_btn_plus,
    .world_map_btn_minus {
        width: 36em;
        height: 36em;
        border: max(1em, 1px) solid var(--color-white);
        border-radius: 50%;
        position: relative;
    }
    .world_map_btn_plus::before,
    .world_map_btn_plus::after,
    .world_map_btn_minus::before {
        content: '';
        width: 16em;
        height: max(1em, 1px);
        margin: auto;
        background-color: var(--color-white);
        position: absolute;
        inset: 0;
    }
    .world_map_btn_plus::after {
        rotate: 90deg;
    }
    .world_map_btn_wrap > .world_map_btn_reset {
        width: auto;
        height: 36em;
        padding-inline: 24em;
        color: var(--color-white);
        border: max(1em, 1px) solid var(--color-white);
        border-radius: 100em;
        display: block;
    }
    .world_map_btn_inner {
        font-weight: 500;
        font-size: max(12em, 12px);
        letter-spacing: 0;
    }
    .world_bg {
        width: 100%;
        left: 0;
    }
    .world_bg_img_1 {
        width: 179em;
        top: 39em;
        left: -24em;
        z-index: 3;
    }
    .world_bg_img_2 {
        width: 80em;
        top: -41em;
        left: 173em;
        z-index: 1;
    }
    .world_bg_img_3 {
        width: 120em;
        top: -90em;
        left: 228em;
        z-index: 2;
    }
    .world_bg_img_4 {
        width: 101em;
        top: 31em;
        left: 288em;
        z-index: 2;
    }
    .world_bg_img_5 {
        width: 100em;
        top: 557em;
        left: -22em;
        z-index: 2;
    }
    .world_bg_img_6 {
        width: 80em;
        top: 801em;
        left: 99em;
        z-index: 2;
    }
    .world_bg_img_7 {
        width: 80em;
        top: 722em;
        left: -40em;
        z-index: 2;
    }
    .world_bg_img_8 {
        width: 182em;
        top: 183em;
        left: 207em;
        z-index: 3;
    }
    .world_bg_img_9 {
        width: 120em;
        top: 342em;
        left: 298em;
        z-index: 2;
    }
    .world_bg_img_10 {
        width: 60em;
        top: 1068em;
        left: 0em;
        z-index: 1;
    }
    .world_bg_img_11 {
        width: 120em;
        top: 950em;
        left: 18em;
        z-index: 2;
    }
    .world_bg_img_12 {
        width: 160em;
        top: 1173em;
        left: 84em;
        z-index: 2;
    }
    .world_bg_img_13 {
        width: 80em;
        top: 832em;
        left: 318em;
        z-index: 1;
    }
    .world_bg_img_14 {
        width: 120em;
        top: 971em;
        left: 186em;
        z-index: 2;
    }
    .world_bg_img_15 {
        width: 100em;
        top: 1110em;
        left: 278em;
        z-index: 2;
    }
    .world_bg_img_16 {
        width: 48em;
        top: 628em;
        left: 223em;
        z-index: 2;
    }

    .modal_world_map_scene .modal_scroll_inner {
        padding: 60em 20em;
    }
    .modal_world_map_scene_ttl {
        align-items: baseline;
    }
    .modal_world_map_scene_ttl_inner {
        font-size: max(56em, 12px);
        text-align: left;
    }
    .modal_world_map_scene_icon {
        width: 40em;
    }
    .modal_world_map_scene_content_inner {
        margin-top: 36em;
        flex-direction: column;
        gap: 40em;
    }
    .modal_world_map_scene_img {
        padding-bottom: 33em;
    }
    .modal_world_map_scene_content_txt_inner {
        line-height: 2;
    }
    .modal_world_map_scene_img .swiper-button-next,
    .modal_world_map_scene_img .swiper-button-prev {
        width: 20em;
        height: 20em;
    }
    .modal_world_map_scene_img .swiper-button-next {
        left: auto;
        right: 4em;
    }
    .modal_world_map_scene_img .swiper-button-prev {
        left: auto;
        right: 50em;
    }
    .modal_world_map_scene_img .swiper-button-next::after,
    .modal_world_map_scene_img .swiper-button-prev::after {
        width: 16em;
        height: 16em;
    }
    .modal_world_map_scene_img .swiper-button-next::after {
        right: 3em;
    }
    .modal_world_map_scene_img .swiper-button-prev::after {
        left: 3em;
    }

    .modal_world_base .modal_scroll_inner {
        padding: 72em 20em;
    }
    .modal_world_base_icon {
        width: 58em;
    }
    .modal_world_base_ttl_inner {
        font-size: max(32em, 12px);
    }
    .modal_world_base_list_wrap {
        margin-top: 32em;
        flex-direction: column;
        gap: 16em;
    }
    .modal_world_base_list {
        width: 100%;
    }
    .modal_world_base_list > li {
        gap: 28em;
    }
    .modal_world_base_list_flag {
        width: 58em;
    }
    .modal_world_base_list_txt_jp {
        font-size: max(24em, 12px);
    }
}
.world_map_scene_btn {
    transform-origin: 50% 100%;
}
.is_animated.world_map .world_map_scene_btn {
    transform: translateY(0);
}
.world_map_scene_btn_1 {
    transition: transform 0.5s calc(0.05 * 9s), scale 0.5s;
}
.world_map_scene_btn_2 {
    transition: transform 0.5s calc(0.05 * 5s), scale 0.5s;
}
.world_map_scene_btn_3 {
    transition: transform 0.5s calc(0.05 * 1s), scale 0.5s;
}
.world_map_scene_btn_4 {
    transition: transform 0.5s calc(0.05 * 7s), scale 0.5s;
}
.world_map_scene_btn_5 {
    transition: transform 0.5s calc(0.05 * 3s), scale 0.5s;
}
.world_map_scene_btn_6 {
    transition: transform 0.5s calc(0.05 * 2s), scale 0.5s;
}
.world_map_scene_btn_7 {
    transition: transform 0.5s calc(0.05 * 8s), scale 0.5s;
}
.world_map_scene_btn_8 {
    transition: transform 0.5s calc(0.05 * 4s), scale 0.5s;
}
.world_map_scene_btn_9 {
    transition: transform 0.5s calc(0.05 * 6s), scale 0.5s;
}
.world_map_scene_btn_10 {
    transition: transform 0.5s calc(0.05 * 8s), scale 0.5s;
}
@media (min-width: 521px) {
    .world_map_scene_btn {
        transform: translateY(-60em);
    }
}
@media (max-width: 520px) {
    .world_map_scene_btn {
        transform: translateY(-20em);
    }
}
@media (min-width: 521px) {
    @media (hover:hover) {
        .world_icon_btn,
        .modal_world_base_close {
            position: relative;
            overflow: clip;
        }
        .world_icon_btn_inner,
        .modal_world_base_close_inner {
            position: relative;
        }
        .modal_world_base_close_inner {
            transition: color 0.5s;
        }
        .modal_world_base_close:hover .modal_world_base_close_inner {
            color: var(--color-white);
        }
        .world_icon_btn_icon::before,
        .world_icon_btn_icon::after {
            transition: background-color 0.5s;
        }
        .modal_world_base_close:hover .modal_world_base_close_icon::before,
        .modal_world_base_close:hover .modal_world_base_close_icon::after {
            background-color: var(--color-white);
        }
        .world_icon_btn::before,
        .modal_world_base_close::before {
            content: '';
            width: 100%;
            height: 100%;
            background-color: var(--color-black-btn);
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            scale: 0 1;
            transition: scale 0.5s;
            transform-origin: 100% 0;
        }
        .world_icon_btn::before {
            background-color: var(--color-orange);
        }
        .modal_world_base_close::before {
            background-color: var(--color-black-btn);
        }
        .world_icon_btn:hover::before,
        .modal_world_base_close:hover::before {
            scale: 1 1;
            transform-origin: 0 0;
        }
        .world_map_scene_btn:hover {
            scale: 1.2;
        }
    }
}