
/*---------------------------------------------------

TOP

---------------------------------------------------*/
.c-white {
    color: #fff !important;
}
#page-index {
    overflow-x: hidden;
}
#page-index main {
    padding-bottom: 180px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #page-index main {
        padding-bottom: 18vw;
    }
}
@media screen and (max-width: 767px) {
    #page-index main {
        padding-bottom: 37.33vw;
    }
}
#mv .countdown-wrap {
    max-width: 200px;
    background: linear-gradient(-22deg, #005b93 0%, #009cb0 43%, #005b93 100%);
	color: #fff;
	padding: 20px 15px 15px 15px;
    position: absolute;
    top: 100px;
    left: 0;
	z-index: 20;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #mv .countdown-wrap {
        padding: 2vw 1.5vw 1.5vw 1.5vw;
        top: 4vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .countdown-wrap {
        max-width: 100%;
        position: relative;
        top: auto;
/*
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12vw;
*/
        padding: 3.73vw 3.73vw;
        margin-top: -1px;
    }
/*
    #mv .countdown-wrap::before {
        content: "";
        width: 1px;
        height: calc(100% - 5.33vw);
        background-color: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
*/
}
#mv .countdown-wrap .countdown1 .title,
#mv .countdown-wrap .countdown2 .title {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.6em;
}
html[lang=en] #mv .countdown-wrap .countdown1 .title,
html[lang=en] #mv .countdown-wrap .countdown2 .title {
    font-size: 13px;
    line-height: 1.2;
    height: 4.8em;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #mv .countdown-wrap .countdown1 .title,
    #mv .countdown-wrap .countdown2 .title {
        font-size: 1.4rem;
    }
    html[lang=en] #mv .countdown-wrap .countdown1 .title,
    html[lang=en] #mv .countdown-wrap .countdown2 .title {
        font-size: 1.3rem;
    }
}
@media screen and (max-width: 767px) {
    #mv .countdown-wrap .countdown1 .title,
    #mv .countdown-wrap .countdown2 .title {
        font-size: 2.4rem;
    }
    html[lang=en] #mv .countdown-wrap .countdown1 .title,
    html[lang=en] #mv .countdown-wrap .countdown2 .title {
        font-size: 2rem;
        height: 5em;
    }
}
#mv .countdown-wrap .countdown1 .days-wrap,
#mv .countdown-wrap .countdown2 .days-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-top: 0.2em;
}
#mv .countdown-wrap .countdown1 .remaining,
#mv .countdown-wrap .countdown2 .remaining {
    font-size: 52px;
    font-weight: 700;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #mv .countdown-wrap .countdown1 .remaining,
    #mv .countdown-wrap .countdown2 .remaining {
        font-size: 5.2rem;
    }
}
@media screen and (max-width: 767px) {
    #mv .countdown-wrap .countdown1 .remaining,
    #mv .countdown-wrap .countdown2 .remaining {
        font-size: 6rem;
    }
}
#mv .countdown-wrap .countdown1 .remaining,
#mv .countdown-wrap .countdown2 .remaining {
    font-family: "Lato",sans-serif;
    font-weight: 400;
}
#mv .countdown-wrap .countdown1 {
    padding-bottom: 5px;
	/*
    padding-bottom: 25px;
    border-bottom: 1px solid #fff;
	*/
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #mv .countdown-wrap .countdown1 {
        padding-bottom: 2.5vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .countdown-wrap .countdown1 {
        padding-bottom: 0;
        border-bottom: none;
    }
}
#mv .countdown-wrap .countdown2 {
    padding-top: 20px;
}
html[lang=en] #mv .countdown-wrap .countdown2 {
    padding-top: 0;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #mv .countdown-wrap .countdown2 {
        padding-top: 2vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .countdown-wrap .countdown2 {
        padding-top: 0;
    }
}

/* mv */
#mv {
    max-width: 1400px;
    max-height: 784px;
    aspect-ratio: 1400 / 784;
    position: relative;
    overflow: hidden;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    #mv {
        max-height: none;
        aspect-ratio: auto;
    }
}
#mv .swiper-slide {
    opacity: 0;
}
#mv .swiper-slide.swiper-slide-active {
    opacity: 1;
}
#mv .swiper-wrapper {
    height: 100% !important;
}
#mv .mv-slider-item a {
    display: block;
    height: 100%;
}
#mv .mv,
#mv .mv-slider,
#mv .mv-slider-item,
#mv .mv-slider-item picture {
    height: 100%;
}
#mv .mv-slider-item picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}
@media screen and (max-width: 767px) {
    #mv .mv-slider-item picture {
        aspect-ratio: 375 / 476;
    }
}
#mv::before {
    content: "";
    height: calc(100% + 4px);
    aspect-ratio: 136 / 784;
    background: url("../img/top/top_slide_bg.svg") no-repeat top right / 100% 100%;
    position: absolute;
    top: -1px;
    left: -1px;
    z-index: 2;
}
@media screen and (max-width: 767px) {
    #mv::before {
        content: none;
    }
}
#mv .mv {
    margin-bottom: -1px;
}
@media screen and (max-width: 767px) {
    #mv .mv {
        margin-bottom: 0;
    }
}
#mv .mv-slider {
    position: relative;
}
#mv .mv-slider-navigation-wrap {
    max-width: 1400px;
    margin: 0 auto;
}
#mv .mv-slider-navigation {
    width: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
	z-index: 2;
	position: absolute;
    bottom: 115px;
    left: 245px;
    margin-top: 40px;
}
@media screen and (max-width: 1400px) {
    #mv .mv-slider-navigation {
        width: 12.86vw;
        gap: 2.14vw;
        bottom: 8.21vw;
        left: 17.5vw;
        margin-top: 2.85vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .mv-slider-navigation {
        left: 50%;
        transform: translateX(-50%);
        margin-top: 0;
        bottom: 0;
    }
}
#mv .swiper-button-prev::after,
#mv .swiper-button-next::after,
#mv button[id$="slider-control"]::after {
    display: none;
}
#mv .swiper-button-next,
#mv .swiper-button-prev {
    width: 27px;
    height: 27px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    cursor: pointer;
    margin-top: -13px;
}
@media screen and (max-width: 1400px) {
    #mv .swiper-button-next,
    #mv .swiper-button-prev {
        width: 1.93vw;
        height: 1.93vw;
        margin-top: -0.93vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .swiper-button-next,
    #mv .swiper-button-prev {
        display: none;
    }
}
#mv .swiper-button-next {
    transform: rotate(-45deg);
    right: 0;
}
#mv .swiper-button-prev {
    transform: rotate(135deg);
    left: 0;
}
#mv .swiper-button-next::after,
#mv .swiper-button-prev::after {
    content: none;
}
#mv .swiper-pagination {
    position: relative;
}
#mv .swiper-pagination-bullets {
    display: flex;
    align-items: center;
    width: max-content;
    height: max-content;
    gap: 25px;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
}
@media screen and (max-width: 1400px) {
    #mv .swiper-pagination-bullets {
        gap: 1.78vw;
        top: -2.85vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .swiper-pagination-bullets {
        gap: 6.66vw;
        top: auto;
        bottom: 22.4vw;
    }
}
#mv .swiper-pagination-bullet {
    background: transparent;
    opacity: 1;
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
    opacity: 1;
    margin: 0;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #mv .swiper-pagination-bullet {
        width: 1vw;
        height: 1vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .swiper-pagination-bullet {
        width: 3.2vw;
        height: 3.2vw;
    }
}
#mv .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #fff;
    opacity: 1;
}
#mv #mv-slider-control {
    position: relative;
    z-index: 10;
    transition: .3s;
    background-image: url(../img/top/ic_stop.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    #mv #mv-slider-control {
        display: none;
    }
}
#mv button[id$="slider-control"] {
    aspect-ratio: 1;
    height: auto;
    width: 62px;
}
@media screen and (max-width: 1400px) {
    #mv button[id$="slider-control"] {
        width: 4.43vw;
    }
}
#mv .stop#mv-slider-control {
    background: url(../img/top/ic_play.svg) no-repeat;
    background-size: auto;
    background-size: contain;
}
#mv .mv-slider-item .title {
    width: 840px;
    font-size: 18px;
    line-height: 1.75em;
    font-weight: 500;
    background: #fff;
    padding: 10px 70px 10px 20px;
    border-radius: 10px 0 0 10px;
    transition: .3s;
    position: absolute;
    bottom: 100px;
    right: 0;
}
@media screen and (max-width: 1400px) {
    #mv .mv-slider-item .title {
        width: 60vw;
        font-size: 1.28vw;
        padding: 0.71vw 5vw 0.71vw 1.43vw;
        border-radius: 0.71vw 0 0 0.71vw;
        bottom: 7.14vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .mv-slider-item .title {
        width: 100%;
        padding: 2.66vw 10.66vw 2.66vw 4vw;
        font-size: 2.6rem;
        bottom: 0;
        left: 0;
    }
}
#mv .mv-slider-item .title > span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
#mv .mv-slider-item .title::after {
    content: "";
    width: 30px;
    aspect-ratio: 1;
    background-image: url(../img/common/arrow_05.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
    transition: .3s;
}
@media screen and (max-width: 1400px) {
    #mv .mv-slider-item .title::after {
        width: 2.14vw;
        right: 1.43vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .mv-slider-item .title::after {
        width: 5.86vw;
        right: 2.66vw;
    }
}
@media print, screen and (min-width: 768px) {
	#mv .mv-slider-item a:hover .title {
		background: #00828c;
		color: #fff
	}
	#mv .mv-slider-item a:hover .title::after {
		background-image: url(../img/common/arrow_05_on.svg)
	}
}
#mv .mv-slider-item .title2 {
    font-size: 18px;
    color: #000;
    line-height: 1.75em;
}
@media screen and (max-width: 1400px) {
    #mv .mv-slider-item .title2 {
        font-size: 1.28vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .mv-slider-item .title2 {
        font-size: 2.6rem;
    }
}
#mv .mv-slider-item .title2 .em {
    font-size: 48px;
    font-weight: bold;
    line-height: 1.25em;
    display: block;
    margin-bottom: 1em;
}
html[lang=en] #mv .mv-slider-item .title2 .em {
    font-size: 44px;
}
@media screen and (max-width: 1400px) {
    #mv .mv-slider-item .title2 .em {
        font-size: 3.43vw;
    }
    html[lang=en] #mv .mv-slider-item .title2 .em {
        font-size: 3.14vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .mv-slider-item .title2 .em {
        font-size: 7rem;
    }
    html[lang=en] #mv .mv-slider-item .title2 .em {
        font-size: 7rem;
    }
}
#mv .mv-slider-item .title2 + .button-01 {
    margin-top: 40px;
}
@media screen and (max-width: 1400px) {
    #mv .mv-slider-item .title2 + .button-01 {
        margin-top: 2.86vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .mv-slider-item .title2 + .button-01 {
        margin-top: 14.66vw;
    }
}
#mv .mv-slider-item .title2.mb-add + .button-01 {
    margin-top: 150px;
}
@media screen and (max-width: 1400px) {
    #mv .mv-slider-item .title2.mb-add + .button-01 {
        margin-top: 10.71vw;
    }
}
@media screen and (max-width: 767px) {
    #mv .mv-slider-item .title2.mb-add + .button-01 {
        margin-top: 32vw;
    }
}
.expo-logo {
    width: 484px;
    position: absolute;
    top: 240px;
    left: 50%;
    transform: translateX(-50%);
}
@media screen and (max-width: 1400px) {
    .expo-logo {
        width: 34.57vw;
        top: 17.14vw;
    }
}
@media screen and (max-width: 767px) {
    .expo-logo {
        width: 70vw;
        top: 37vw;
    }
}
.mv-lead {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.mv-lead.mv-08 p {
    text-shadow: 9px 6px 14px rgba(0,0,0,0.75);
}
.mv-lead.mv-08 .em2 {
    font-size: 72px;
    line-height: 1;
    font-weight: 900;
}
.mv-lead.mv-08 .em3 {
    font-size: 44px;
    line-height: 1;
    margin-top: 0.4em;
    margin-bottom: 1.7em;
    font-weight: 900;
}
@media screen and (max-width: 1400px) {
    .mv-lead.mv-08 .em2 {
        font-size: 5.1vw;
    }
    .mv-lead.mv-08 .em3 {
        font-size: 3.1vw;
    }
}
@media screen and (max-width: 767px) {
    .mv-lead.mv-08 p {
        text-shadow: 3px 3px 11px rgba(0,0,0,0.8);
    }
    .mv-lead.mv-08 .em2 {
        font-size: 40px;
    }
    .mv-lead.mv-08 .em3 {
        font-size: 23px;
    }
}
.mv-lead.mv-09 .em2 {
    font-size: 41px;
    line-height: 1.2;
    font-weight: bold;
}
.mv-lead.mv-09 .em3 {
    font-size: 46px;
    line-height: 1;
    margin-top: 0.4em;
    margin-bottom: 1em;
    font-weight: bold;
}
.mv-lead.mv-09 .schedule {
    font-size: 17px;
    line-height: 1.7;
    color: #fff;
	margin-top:30px;
    margin-bottom: 90px;
    font-feature-settings: "palt";
}
.mv-lead.mv-09 .schedule span {
    width: 12em;
    display: inline-block;
}
@media screen and (max-width: 1400px) {
    .mv-lead.mv-09 .em2 {
        font-size: 2.9vw;
    }
    .mv-lead.mv-09 .em3 {
        font-size: 3.3vw;
    }
    .mv-lead.mv-09 .schedule {
        font-size: 1.2vw;
        margin-bottom: 6.4vw;
    }
}
@media screen and (max-width: 767px) {
    .mv-lead.mv-09 .em2 {
        font-size: 20px;
    }
    .mv-lead.mv-09 .em3 {
        font-size: 23px;
    }
    .mv-lead.mv-09 .schedule {
        font-size: 11px;
        margin-bottom: 70px;
    }
    .mv-lead.mv-09 .schedule li {
        margin-bottom: 0.5em;
    }
    .mv-lead.mv-09 .schedule span {
        display: block;
    }
}
.mv-lead.mv-11 {
    width: 40%;
     height: auto;
    position: absolute;
    top: 20%;
    left: inherit;
    right: 4%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.mv-lead.mv-11 img {
    max-width: 100%;
    margin: 30px 0 20px;
    filter: drop-shadow(7px 7px 9px rgba(0,0,0,0.75));
}
.mv-lead.mv-11 .em2 {
    font-size: 25px;
    line-height: 1.8;
    text-shadow: 7px 7px 14px rgba(0,0,0,0.8);
}
html[lang=en] .mv-lead.mv-11 .em2 {
    text-align: center;
}
.mv-lead.mv-11 .em3 {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 2em;
    font-weight: bold;
}
.mv-lead.mv-11 .em4 {
    font-size: 18px;
    line-height: 1;
    border-left: 8px solid #fff;
    border-right: 8px solid #fff;
    padding: 0 0.7em 0.1em;
    margin-bottom: 80px;
}
@media screen and (max-width: 1400px) {
    .mv-lead.mv-11 img {
        margin: 2.1vw 0 1.4vw;
    }
    .mv-lead.mv-11 .em2 {
        font-size: 1.8vw;
    }
    .mv-lead.mv-11 .em3 {
        font-size: 1.6vw;
    }
    .mv-lead.mv-11 .em4 {
        font-size: 1.3vw;
        border-left: 0.6vw solid #fff;
        border-right: 0.6vw solid #fff;
        margin-bottom: 5.7vw;
    }
}
@media screen and (max-width: 767px) {
    .mv-lead.mv-11 {
        width: 100%;
        height: auto;
        top: 25%;
        right: 0;
    }
    .mv-lead.mv-11 img {
        max-width: 80%;
        margin: 13px 0 15px;
    }
    .mv-lead.mv-11 .em2 {
        font-size: 3.5vw;
    }
    .mv-lead.mv-11 .em3 {
        font-size: 13px;
    }
    .mv-lead.mv-11 .em4 {
        font-size: 12px;
        border-left: 5px solid #fff;
        border-right: 5px solid #fff;
        margin-bottom: 70px;
    }
}
.mv-link {
    width: 320px;
    position: absolute;
    bottom: 120px;
    right: 50px;
}
@media screen and (max-width: 1400px) {
    .mv-link {
        width: 22.85vw;
        bottom: 8.57vw;
        right: 3.57vw;
    }
}
@media screen and (max-width: 767px) {
    .mv-link {
        width: 90vw;
        bottom: calc(4vw + 1px);
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}
.mv-link .button-01 {
    transition: .3s;
}
.scroll-down {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 40px;
    bottom: 30px;
    padding-bottom: 105px;
    z-index: 3;
}
@media screen and (max-width: 1400px) {
    .scroll-down {
        left: 2.85vw;
        bottom: 2.14vw;
        padding-bottom: 7.5vw;
    }
}
@media screen and (max-width: 767px) {
    .scroll-down {
        display: none;
    }
}
.scroll-down-arrow {
    width: 18px;
    position: absolute;
	bottom: 1%;
    animation: arrowmove 1.2s ease-in-out infinite;
}
@media screen and (max-width: 1400px) {
    .scroll-down-arrow {
        width: 1.28vw;
    }
}
@keyframes arrowmove {
    0%{bottom: 1%;}
    50%{bottom: 6%;}
    100%{bottom: 1%;}
}
.mv .button-01 {
    width: 320px;
    aspect-ratio: 320 / 94;
}
@media screen and (max-width: 1400px) {
    .mv .button-01 {
        width: 22.85vw;
    }
}
@media screen and (max-width: 767px) {
    .mv .button-01 {
        width: 69.33vw;
        aspect-ratio: 260 / 40;
    }
}
.mv .button-01 span {
    font-size: 20px;
    transform: translateX(-0.5em);
}
@media screen and (max-width: 1400px) {
    .mv .button-01 span {
        font-size: 1.42vw;
    }
}
@media screen and (max-width: 767px) {
    .mv .button-01 span {
        font-size: 2.4rem;
    }
}
.mv .button-01 span::after {
    width: 0.7em;
    aspect-ratio: 14 / 8;
    position: absolute;
    top: 37%;
    right: -1.4em;
}

/* news */
#news {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    z-index: 2;
}
#news .news {
    width: 840px;
    background-color: #fff;
    padding: 20px 30px;
    display: flex;
    align-items: center;
    gap: 30px;
    position: absolute;
    bottom: 0;
    right: 0;
}
@media screen and (max-width: 1400px) {
    #news .news {
        width: 60vw;
        padding: 1.43vw 2.14vw;
        gap: 2.14vw;
    }
}
@media screen and (max-width: 767px) {
    #news .news {
        width: 100%;
        padding: 6.66vw 8vw;
        flex-direction: column;
        gap: 8vw;
        position: relative;
        bottom: auto;
        right: auto;
    }
}
.news h2 {
    position: relative;
    font-size: 24px;
    font-weight: 700;
    color: #0098ac;
    flex-shrink: 0;
}
@media screen and (max-width: 1400px) {
    .news h2 {
        font-size: 1.71vw;
    }
}
@media screen and (max-width: 767px) {
    .news h2 {
        font-size: 2.8rem;
    }
}
.news h2::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -30px;
    width: 1px;
    height: 36px;
    background: #000;
    background-size: 4px 12px;
}
@media screen and (max-width: 1400px) {
    .news h2::after {
        right: -2.14vw;
        height: 2.57vw;
        background-size: 0.28vw 0.85vw;
    }
}
@media screen and (max-width: 767px) {
    .news h2::after {
        right: -4vw;
        height: 4.8vw;
    }
}
.news-list {
    width: 60%;
}
@media screen and (max-width: 767px) {
    .news-list {
        width: auto;
    }
}
.news-list > li {
    font-size: 14px;
    line-height: 1.5em;
    position: relative;
    /*padding-left: 1em;*/
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    /* overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; */
}
@media screen and (max-width: 1400px) {
    .news-list > li {
        font-size: 1vw;
    }
}
@media screen and (max-width: 767px) {
    .news-list > li {
        font-size: 2.4rem;
        white-space: normal;
    }
}
.news-list > li a {
    color: inherit;
}
.news-list > li:not(:first-child) {
    margin-top: 0.5em;
}
/*
.news-list > li::before {
    content: "・";
    width: 1em;
    height: 1em;
    position: absolute;
    top: 0;
    left: 0;
}
*/
.news-cont {
    width: 80%;
    display: flex;
    align-items: center;
    gap: 60px;
}
@media screen and (max-width: 1400px) {
    .news-cont {
        gap: 4.28vw;
    }
}
@media screen and (max-width: 767px) {
    .news-cont {
        width: 100%;
        gap: 8vw;
    }
}
.news .button-01 {
    width: 145px;
    aspect-ratio: 145 / 37;
}
@media screen and (max-width: 1400px) {
    .news .button-01 {
        width: 10.36vw;
    }
}
@media screen and (max-width: 767px) {
    .news .button-01 {
        width: 69.33vw;
        aspect-ratio: 260 / 40;
    }
}
.news .button-01 span {
    font-size: 14px;
}
@media screen and (max-width: 1400px) {
    .news .button-01 span {
        font-size: 1vw;
    }
}
@media screen and (max-width: 767px) {
    .news .button-01 span {
        font-size: 2.4rem;
    }
}
.news .button-01 span::after {
    width: 0.7em;
    aspect-ratio: 14 / 8;
    position: absolute;
    top: 37%;
    right: -1.4em;
}
#exh {
    margin-top: 100px;
    background-color: #dbeef0;
    padding-bottom: 150px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #exh {
        margin-top: 10vw;
        padding-bottom: 15vw;
    }
}
@media screen and (max-width: 767px) {
    #exh {
        margin-top: 13.33vw;
        padding-bottom: 24vw;
    }
}
.exh-inner {
    width: 94vw;
    max-width: 1400px;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .exh-inner {
        width: 84vw;
    }
}
.exh {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
}
.exh::before {
    content: "";
    width: 415px;
    aspect-ratio: 415 / 160;
    background: url("../img/top/exh_bg_01.png") no-repeat center center / contain;
    position: absolute;
    top: -60px;
    left: -125px;
    z-index: 2;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh::before {
        width: 41.5vw;
        top: -6vw;
        left: -12.5vw;
    }
}
@media screen and (max-width: 767px) {
    .exh::before {
        width: 208px;
        aspect-ratio: 208 / 80;
        top: -13vw;
        left: -22.66vw;
    }
}
.exh::after {
    content: "";
    width: 355px;
    aspect-ratio: 355 / 166;
    background: url("../img/top/exh_bg_02.png") no-repeat center center / contain;
    position: absolute;
    top: 84px;
    right: -80px;
    z-index: 2;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh::after {
        width: 35.5vw;
        top: 8.4vw;
        right: -8vw;
    }
}
@media screen and (max-width: 767px) {
    .exh::after {
        width: 47.46vw;
        aspect-ratio: 178 / 83;
        top: 23.73vw;
        right: -20vw;
    }
}
.exh-title-en {
    font-size: 72px;
    font-weight: bold;
    color: #0093a7;
    text-align: center;
    line-height: 1.3;
    transform: translateY(-0.6em);
    margin-bottom: -0.6em;
    position: relative;
    z-index: 2;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh-title-en {
        font-size: 7.2rem;
    }
}
@media screen and (max-width: 767px) {
    .exh-title-en {
        font-size: 7rem;
        margin-left: -4vw;
        margin-right: -4vw;
    }
}
.exh-title {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3;
    color: #0093a7;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 30px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh-title {
        font-size: 2.4rem;
        margin-top: 1vw;
        margin-bottom: 3vw;
    }
}
@media screen and (max-width: 767px) {
    .exh-title {
        font-size: 2.8rem;
        margin-top: 2.66vw;
        margin-bottom: 6.13vw;
    }
}
.exh-lead {
    font-size: 18px;
    line-height: 1.75em;
    text-align: center;
    position: relative;
    z-index: 3;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh-lead {
        font-size: 1.8rem;
    }
}
@media screen and (max-width: 767px) {
    .exh-lead {
        font-size: 2.4rem;
    }
}
.exh-cont {
    margin-top: 110px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh-cont {
        margin-top: 11vw;
    }
}
@media screen and (max-width: 767px) {
    .exh-cont {
        margin-top: 10vw;
        position: relative;
        z-index: 3;
    }
}
.exh-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #0093a7;
    border-left: 1px solid #0093a7;
}
@media screen and (max-width: 767px) {
    .exh-list {
        grid-template-columns: 1fr;
    }
}
.exh-list > li {
    aspect-ratio: 466 / 466;
    position: relative;
    border-right: 1px solid #0093a7;
    border-bottom: 1px solid #0093a7;
}
.exh-list > li .photo {
    width: 100%;
    height: 100%;
    position: relative;
    font-size: 0;
    overflow: hidden;
}
.exh-list > li .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.exh-list > li .photo::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(000, 000, 000, .4);
    position: absolute;
    top: 0;
    left: 0;
    transition: all .5s;
    z-index: 1;
}
@media screen and (min-width: 768px) {
    .exh-list > li .photo::before {
        background-color: #fff;
    }
    .exh-list > li.bg-blue .photo::before {
        background-color: #0093a7;
    }
    .exh-list > li.bg-light-blue .photo::before {
        background-color: #dbeef0;
    }
    .exh-list > li a:hover .photo::before {
        background-color: rgba(000, 000, 000, .4);
    }
    .exh-list > li a:hover .photo img {
        transition: transform .5s ease;
        position: relative;
        z-index: 0;
    }
    .exh-list > li a:hover .photo img {
        transform: scale(1.04);
    }
}
.exh-text {
    color: #0093a7;
    width: 100%;
    height: 100%;
    padding: 35px 40px 30px;
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
@media screen and (max-width: 1400px) {
    .exh-text {
        padding: 2.5vw 1.76vw 2.14vw;
    }
}
@media screen and (max-width: 767px) {
    .exh-text {
        color: #fff;
        padding: 4.26vw 4vw 6.66vw;
    }
}
.exh-list > li.bg-blue .exh-text {
    color: #fff;
}
@media screen and (min-width: 768px) {
    .exh-list > li a:hover .exh-text {
        color: #fff;
    }
}
.exh-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}
@media screen and (max-width: 1400px) {
    .exh-head {
        gap: 2.14vw;
    }
}
.exh-head .num {
    font-family: "Lato", sans-serif;
    font-size: 72px;
    font-weight: bold;
    line-height: 1;
    flex-shrink: 0;
}
@media screen and (max-width: 1400px) {
    .exh-head .num {
        font-size: 5vw;
    }
}
@media screen and (max-width: 767px) {
    .exh-head .num {
        font-size: 9.6rem;
    }
}
.exh-head .text {
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
    text-align: start;
    transform: translateY(-0.2em);
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh-head .text {
        font-size: 3.6rem;
    }
}
@media screen and (max-width: 767px) {
    .exh-head .text {
        font-size: 4.8rem;
    }
}
.exh-head .text span {
    display: block;
    font-size: 0.44em;
    margin-bottom: 0.2em;
}
.exh-body {
    margin-top: auto;
}
.exh-body .text {
    font-size: 22px;
    line-height: 1.75em;
    text-align: center;
    font-feature-settings: "palt";
}
html[lang=en] .exh-body .text {
    font-size: 20px;
}
@media screen and (max-width: 1160px) {
    .exh-body .text {
        font-size: 1.89vw;
    }
}
@media screen and (min-width: 768px)and (max-width: 1020px) {

    html[lang=en] .exh-body .text {
        font-size: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .exh-body .text {
        font-size: 2.8rem;
    }
    html[lang=en] .exh-body .text {
        font-size: 2.8rem;
    }
}
.exh-body .note {
    font-size: 14px;
    text-align: center;
    line-height: 1.5;
    margin-top: 0.8em;
}
@media screen and (max-width: 1160px) {
    .exh-body .note {
        font-size: 1.2vw;
    }
}
@media screen and (max-width: 767px) {
    .exh-body .note {
        font-size: 2rem;
    }
}
.exh-body .button-01 {
    width: 145px;
    aspect-ratio: 145 / 37;
    margin: 30px auto 0;
    visibility: hidden;
}
@media screen and (min-width: 768px) {
    .exh-body .button-01 {
        transition: all .5s;
        opacity: 0;
    }
    /* .exh-list > li a:hover .button-01 {
        opacity: 1;
    } */
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh-body .button-01 {
        width: 14.5vw;
        margin: 3vw auto 0;
    }
}
@media screen and (max-width: 767px) {
    .exh-body .button-01 {
        width: 46.66vw;
        aspect-ratio: 175 / 38;
        margin: 5.33vw auto 0;
        margin-top: 0; /* ボタン非表示の場合 */
    }
}
.exh-body .button-01 span {
    font-size: 14px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh-body .button-01 span {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .exh-body .button-01 span {
        font-size: 2.4rem;
    }
}
.exh-body .button-01 span::after {
    width: 0.7em;
    aspect-ratio: 14 / 8;
    position: absolute;
    top: 37%;
    right: -1.4em;
}
.exh-bg {
    width: 200px;
    aspect-ratio: 200 / 100;
    background: url("../img/top/exh_bg_03.png") no-repeat center center / contain;
    position: absolute;
    bottom: -190px;
    left: 300px;
    z-index: 2;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh-bg {
        width: 20vw;
        bottom: -19vw;
        left: 30vw;
    }
}
@media screen and (max-width: 767px) {
    .exh-bg {
        display: none;
    }
}
.exh-date {
    font-size: 22px;
    line-height: 1.75em;
    margin-top: 20px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .exh-date {
        font-size: 2.2rem;
        margin-top: 2rem;
    }
}
@media screen and (max-width: 767px) {
    .exh-date {
        font-size: 2.8rem;
        margin-top: 4vw;
    }
}
.font-5em {
    width: 5em;
    text-align: justify;
    text-align-last: justify;
    text-justify: inter-character;
    display: inline-block;
}
#bbb {
    padding-top: 200px;
    padding-bottom: 220px;
    position: relative;
    background: url("../img/top/bbb_head_ill.png") no-repeat top 290px center / 1400px auto;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #bbb {
        padding-top: 20vw;
        padding-bottom: 22vw;
        background: url("../img/top/bbb_head_ill.png") no-repeat top 28.43vw center / 140vw auto;
    }
}
@media screen and (max-width: 767px) {
    #bbb {
        padding-top: 0;
        padding-bottom: 37.33vw;
        background: url("../img/top/bbb_head_ill_sp.png") no-repeat top 20.8vw center / 100% auto,
                    url("../img/top/bbb_bg_sp.jpg") no-repeat top 10.66vw center / 100% auto;
    }
}
#bbb::before {
    content: "";
    width: 2837px;
    aspect-ratio: 2837 / 1110;
    background: url("../img/top/bbb_bg.jpg") no-repeat top center / 100% auto;
    position: absolute;
    top: 65px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
/* @media screen and (max-width: 767px) {
    #bbb::before {
        width: 26.66vw;
        aspect-ratio: 100 / 51;
        background: url("../img/top/exh_bg_03.png") no-repeat center center / contain;
        position: absolute;
        top: 17.06vw;
        left: -8.8vw;
        transform: none;
        z-index: 2;
    }
} */
.bbb-inner-l {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
}
@media screen and (max-width: 767px) {
    .bbb-inner-l {
        padding-top: 37.86vw;
    }
    html[lang=en] .bbb-inner-l {
        padding-top: 31.46vw;
    }
}
.bbb-inner-l::before {
    content: "";
    width: 380px;
    aspect-ratio: 380 / 175;
    background: url("../img/top/bbb_bg_01.png") no-repeat center center / contain;
    position: absolute;
    top: -335px;
    left: -190px;
}
@media screen and (max-width: 767px) {
    .bbb-inner-l::before {
        width: 50.66vw;
        aspect-ratio: 190 / 88;
        top: -17.33vw;
        left: -24.8vw;
    }
}
.bbb-inner-l::after {
    content: "";
    width: 517px;
    aspect-ratio: 517 / 283;
    background: url("../img/top/bbb_bg_02.png") no-repeat center center / contain;
    position: absolute;
    top: -120px;
    right: -150px;
    z-index: 0;
}
@media screen and (max-width: 767px) {
    .bbb-inner-l::after {
        width: 21.33vw;
        aspect-ratio: 80 / 43;
        background: url("../img/top/bbb_bg_02_sp.png") no-repeat center center / contain;
        top: 10.66vw;
        right: -8.53vw;
    }
}
/* .bbb-bg::before {
    content: "";
    width: 370px;
    aspect-ratio: 370 / 217;
    background: url("../img/top/bbb_bg_03.png") no-repeat center center / contain;
    position: absolute;
    bottom: -225px;
    left: -190px;
}
@media screen and (max-width: 767px) {
    .bbb-bg::before {
        content: none;
    }
} */
.bbb-bg::after {
    content: "";
    width: 240px;
    aspect-ratio: 240 / 122;
    background: url("../img/top/bbb_bg_04.png") no-repeat center center / contain;
    position: absolute;
    bottom: -110px;
    right: -110px;
}
@media screen and (max-width: 767px) {
    .bbb-bg::after {
        content: none;
    }
}
.bbb-inner {
    width: 94vw;
    max-width: 1070px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 767px) {
    .bbb-inner {
        width: 84vw;
    }
}
.bbb-title {
    width: 43%;
    text-align: center;
    margin: 0 auto 180px;
}
html[lang=en] .bbb-title {
    width: 100%;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .bbb-title {
        margin: 0 auto 18vw;
    }
}
@media screen and (max-width: 767px) {
    .bbb-title {
        width: 90%;
        margin: 0 auto 9.6vw;
    }
}
.bbb-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .bbb-list {
        gap: 1.5vw;
    }
}
@media screen and (max-width: 767px) {
    .bbb-list {
        grid-template-columns: 1fr;
    }
}
.bbb-list > li {
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 767px) {
    .bbb-list > li {
        position: relative;
    }
    /* .bbb-list > li:nth-child(2)::before {
        content: "";
        width: 44vw;
        aspect-ratio: 165 / 96;
        background: url("../img/top/bbb_bg_02_2_sp.png") no-repeat center center / contain;
        position: absolute;
        top: -8vw;
        right: -28.8vw;
        z-index: -1;
    } */
    /* .bbb-list > li:nth-child(3)::before {
        content: "";
        width: 49.33vw;
        aspect-ratio: 185 / 109;
        background: url("../img/top/bbb_bg_03.png") no-repeat center center / contain;
        position: absolute;
        top: -20.8vw;
        left: -29.33vw;
        z-index: -1;
    } */
    .bbb-list > li:not(:first-child) {
        margin-top: 18.66vw;
    }
}
.bbb-text {
    width: 90%;
    margin: 0 auto;
    flex: 1;
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 767px) {
    .bbb-text {
        width: 100%;
    }
}
.bbb-list > li .icon {
    width: 60px;
    margin: 10px auto 0;
}
@media screen and (max-width: 767px) {
    .bbb-list > li .icon {
        width: 15.46vw;
        margin-top: 4vw auto 0;
    }
}
.bbb-list > li .title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .bbb-list > li .title {
        font-size: 2rem;
        margin-top: 2vw;
        margin-bottom: 2vw;
    }
}
@media screen and (max-width: 767px) {
    .bbb-list > li .title {
        font-size: 3.6rem;
        margin-top: 6.66vw;
    }
}
.bbb-list > li .text {
    font-size: 14px;
    line-height: 1.75em;
    margin-bottom: 30px;
}
html[lang=en] .bbb-list > li .text {
    text-align: left;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .bbb-list > li .text {
        font-size: 1.4rem;
        margin-bottom: 3vw;
    }
}
@media screen and (max-width: 767px) {
    .bbb-list > li .text {
        font-size: 2.4rem;
        margin-bottom: 0;
    }
}
.bbb-list > li .button-01 {
    width: 100%;
    max-width: 315px;
    margin: auto auto 0;
}
@media screen and (max-width: 767px) {
    .bbb-list > li .button-01 {
        width: 69.33vw;
        max-width: 100%;
        aspect-ratio: 260 / 40;
        margin: 6.66vw auto 0;
    }
}
#recovery .inner {
    max-width: 94vw;
}
@media screen and (max-width: 767px) {
    #recovery .inner {
        max-width: 84vw;
    }
}
.recovery-title {
    font-size: 48px;
    font-weight: bold;
    line-height: 1.3;
    color: #0098ac;
    text-align: center;
    margin-bottom: 30px;
}
html[lang=en] .recovery-title {
    font-size: 39px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .recovery-title {
        font-size: 4.8rem;
        margin-bottom: 3vw;
    }
    html[lang=en] .recovery-title {
        font-size: 3.9rem;
    }
}
@media screen and (max-width: 767px) {
    .recovery-title {
        font-size: 4.8rem;
        margin-bottom: 4vw;
    }
    html[lang=en] .recovery-title {
        font-size: 4.8rem;
    }
}
.recovery-lead {
    font-size: 18px;
    line-height: 1.75em;
    text-align: center;
    margin-bottom: 70px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .recovery-lead {
        font-size: 1.8rem;
        margin-bottom: 7vw;
    }
}
@media screen and (max-width: 767px) {
    .recovery-lead {
        font-size: 2.4rem;
        font-feature-settings: "palt";
        margin-bottom: 10.66vw;
    }
}
.recovery-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 55px;
    padding-bottom: 30px;
    margin-bottom: 35px;
    background-image : linear-gradient(to right, #b7b7b7 2px, transparent 2px);
    background-size: 8px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .recovery-list {
        gap: 5.5vw;
        padding-bottom: 3vw;
        margin-bottom: 3.5vw;
    }
}
@media screen and (max-width: 767px) {
    .recovery-list {
        grid-template-columns: 1fr;
        gap: 11.46vw;
        background-image: none;
        padding-bottom: 0;
        margin-bottom: 13.33vw;
    }
}
.recovery-list > li {
    display: flex;
    flex-direction: column;
}
.recovery-list > li .image {
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 25px;
    position: relative;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .recovery-list > li .image {
        border-radius: 1.2vw;
        margin-bottom: 2.5vw;
    }
}
@media screen and (max-width: 767px) {
    .recovery-list > li .image {
        width: 80%;
        margin: 0 auto 4.8vw;
    }
}
.recovery-list > li .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.recovery-text {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.recovery-list > li .title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 20px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .recovery-list > li .title {
        font-size: 2rem;
        margin-bottom: 2vw;
    }
}
@media screen and (max-width: 767px) {
    .recovery-list > li .title {
        font-size: 3.6rem;
        margin-bottom: 4vw;
    }
}
.recovery-list > li .text {
    font-size: 14px;
    line-height: 1.75em;
    margin-bottom: 30px;
}
html[lang=en] .recovery-list > li .text {
    text-align: left;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .recovery-list > li .text {
        font-size: 1.4rem;
        margin-bottom: 3vw;
    }
}
@media screen and (max-width: 767px) {
    .recovery-list > li .text {
        font-size: 2.4rem;
        margin-bottom: 0;
    }
}
.recovery-list > li .button-01 {
    width: 100%;
    max-width: 315px;
    margin: auto auto 0;
}
@media screen and (max-width: 767px) {
    .recovery-list > li .button-01 {
        width: 69.33vw;
        max-width: 100%;
        aspect-ratio: 260 / 40;
        margin: 6.4vw auto 0;
    }
}
.alps {
    display: flex;
    align-items: center;
    gap: 40px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .alps {
        gap: 4vw;
    }
}
@media screen and (max-width: 767px) {
    .alps {
        flex-direction: column;
        gap: 4vw;
    }
}
.alps h3 {
    width: 20%;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.3;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .alps h3 {
        font-size: 1.8rem;
    }
}
@media screen and (max-width: 767px) {
    .alps h3 {
        font-size: 3.6rem;
        text-align: center;
        width: 100%;
        white-space: normal;
    }
}
.alps-cont {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .alps-cont {
        gap: 4vw;
    }
}
@media screen and (max-width: 767px) {
    .alps-cont {
        flex-direction: column;
        gap: 6.4vw;
    }
}
.alps-text {
    width: 54%;
}
@media screen and (max-width: 767px) {
    .alps-text {
        width: 100%;
    }
}
.alps-text {
    font-size: 14px;
    line-height: 1.75em;
    /* display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden; */
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .alps-text {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .alps-text {
        font-size: 2.4rem;
    }
}
.alps-cont .button-01 {
    max-width: 39.5%;
}
@media screen and (max-width: 767px) {
    .alps-cont .button-01 {
        width: 69.33vw;
        max-width: 100%;
        aspect-ratio: 260 / 40;
    }
}

#amb {
    width: 100%;
    background-color: #f1eed5;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 100px 0 140px;
    position: relative;
}
.amb-title {
    font-size: 72px;
    font-weight: 900;
    line-height: 1;
    color: #008ca0;
    margin-bottom: 0.8em;
}
.amb-img {
    max-width: 90%;
    margin-bottom: 65px;
}
.amb-text-em {
    font-size: 25px;
    font-weight: bold;
    line-height: 1.7;
    color: #008ca0;
    margin-bottom: 0.5em;
}
.amb-text {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 50px;
}
#amb .wide-button.button-01 {
    width: 90%;
    max-width: 1040px;
    height: 60px;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    #amb {
        padding: 9.8vw 0 13.7vw;
    }
    .amb-title {
        font-size: 7.2rem;
    }
    .amb-img {
        margin-bottom: 6.4vw;
    }
    .amb-text-em {
        font-size: 2.5rem;
    }
    .amb-text {
        font-size: 1.8rem;
        margin-bottom: 4.9vw;
    }
    #amb .wide-button.button-01 {
        height: 50px;
    }
}
@media screen and (max-width: 767px) {
    #amb {
        padding: 14vw 0 30vw;
    }
    .amb-title {
        font-size: 7.2rem;
    }
    .amb-img {
        max-width: 80%;
        margin-bottom: 6.4vw;
    }
    .amb-text-em {
        max-width: 80%;
        font-size: 3.5rem;
        text-align: center;
    }
    .amb-text-em span {
        display: inline-block;
    }
    .amb-text {
        max-width: 80%;
        font-size: 2.8rem;
        margin-bottom: 7vw;
    }
    #amb .wide-button.button-01 {
        width: 70%;
        height: auto;
        aspect-ratio: 260 / 40;
    }
}

.amb-bg-01 {
    position: absolute;
    top: -50px;
    left: 100px;
}
.amb-bg-02 {
    position: absolute;
    top: 80px;
    right: -180px;
}
.amb-bg-03 {
    position: absolute;
    top: 770px;
    right: -60px;
}
@media screen and (max-width: 1400px) {
    .amb-bg-01 {
        top: -50px;
        left: 40px;
    }
    .amb-bg-02 {
        top: 80px;
        right: -180px;
    }
    .amb-bg-03 {
        top: 830px;
        right: -60px;
    }
}
@media screen and (max-width: 767px) {
    .amb-bg-01 {
        max-width: 26.7vw;
        top: 22vw;
        left: -16.7vw;
    }
    .amb-bg-02 {
        max-width: 36.7vw;
        top: 60vw;
        right: -20.7vw;
    }
    .amb-bg-03 {
        max-width: 22vw;
        top: 135vw;
        right: inherit;
        left: -8.7vw;
    }
    .amb-bg-04 {
        max-width: 50.7vw;
        position: absolute;
        top: -18vw;
        left: -17.3vw;
    }
}

.amb-slide-list {
    width: 100%;
    position: relative;
    margin: 160px 0 0;
}
.amb-slider-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    z-index: 2;
    margin-bottom: 50px;
}
#amb .amb-button-next,
#amb .amb-button-prev {
    width: 27px;
    height: 27px;
    border-right: 2px solid #009aae;
    border-bottom: 2px solid #009aae;
    cursor: pointer;
    margin-top: -3px;
    position: relative;
}
#amb .amb-button-next {
    transform: rotate(-45deg);
    right: 0;
}
#amb .amb-button-prev {
    transform: rotate(135deg);
    left: 0;
}
#amb .amb-button-next::after,
#amb .amb-button-prev::after {
    content: none;
}
#amb .swiper-pagination {
    position: relative;
}
#amb .swiper-pagination-bullets {
    display: flex;
    align-items: center;
    width: max-content;
    height: max-content;
    gap: 25px;
}
#amb .swiper-pagination-bullet {
    background: transparent;
    opacity: 1;
    width: 12px;
    height: 12px;
    border: 2px solid #009aae;
    opacity: 1;
    margin: 0;
}
#amb .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #009aae;
    opacity: 1;
}
@media screen and (max-width: 1400px) {
    .amb-slider-navigation {
        gap: 2.14vw;
    }
    #amb .amb-button-next,
    #amb .amb-button-prev {
        width: 1.93vw;
        height: 1.93vw;
        margin-top: -0.93vw;
    }
    #amb .swiper-pagination-bullets {
        gap: 1.78vw;
        bottom: 0.71vw;
    }
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .amb-slide-list {
        margin: 13vw 0 0;
    }
    .amb-slider-navigation {
        margin-bottom: 4.9vw;
    }
    #amb .swiper-pagination-bullet {
        width: 1vw;
        height: 1vw;
    }
}
@media screen and (max-width: 767px) {
    .amb-slide-list {
        margin: 23vw 0 0;
    }
    .amb-slider-navigation {
        gap: 5vw;
        margin-bottom: 10vw;
    }
    #amb .amb-button-next,
    #amb .amb-button-prev {
        width: 5vw;
        height: 5vw;
    }
    #amb .swiper-pagination-bullets {
        gap: 6vw;
        margin-top: 0.53vw;
    }
    #amb .swiper-pagination-bullet {
        width: 3.2vw;
        height: 3.2vw;
    }
}

.amb-slider {
    position: relative;
}
.amb-slider-item {
    height: auto;
    width: 300px;
}
.amb-slider-item .item-inner {
    border-radius: 10px;
    padding: 10px 20px 20px;
    width: 100%;
    height: 100%;
    display: block;
    transition: .3s;
    display: flex;
    flex-direction: column;
    color: #000;
}
.amb-slider-item a.item-inner:hover {
    background-color: #fff;
}
.amb-slider-item .text-warp {
    margin-bottom: 25px;
}
.amb-slider-item .text-warp.flex-center {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.amb-slider-item .img {
    margin-bottom: 25px;
    text-align: center;
}
.amb-slider-item .img.img-01 {
    margin-top: -3%;
}
.amb-slider-item .txt {
    font-size: 14px;
    line-height: 1.7em;
    padding-left: 2%;
    padding-right: 2%;
}
.amb-slider-item .txt2 {
    font-size: 25px;
    line-height: 1.7em;
    font-weight: bold;
    margin-top: 0.3em;
}
.amb-slider-item .txt3 {
    font-size: 16px;
    line-height: 1.7em;
    font-weight: bold;
    margin-bottom: 0.8em;
}
.amb-slider-item .txt4 {
    font-size: 14px;
    line-height: 1em;
    border-left: 0.5em solid #000;
    border-right: 0.5em solid #000;
    padding: 0 0.5em;
}
.amb-slider-item .button-01 {
    width: 100%;
    height: 60px;
    margin-top: auto;
    transition: .3s;
}
@media screen and (max-width: 1400px) {
    .amb-slider-item {
        width: 21.43vw;
    }
    .amb-slider-item .item-inner {
        padding: 1vw 1.42vw 1.42vw;
        border-radius: 0.71vw;
    }
    .amb-slider-item .text-warp,
    .amb-slider-item .img {
        margin-bottom: 20px;
    }
    .amb-slider-item .button-01 {
        height: 50px;
    }
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .amb-slider-item .txt {
        font-size: 1.4rem;
    }
    .amb-slider-item .txt2 {
        font-size: 2.5rem;
    }
    .amb-slider-item .txt3 {
        font-size: 1.6rem;
    }
    .amb-slider-item .txt4 {
        font-size: 1.4rem;
    }
}
@media (max-width: 767px) {
    .amb-slider-item {
        width: 60.8vw;
    }
    .amb-slider-item .item-inner {
        padding: 3vw 10vw;
        border-radius: 2.66vw;
    }
    .amb-slider-item .text-warp,
    .amb-slider-item .img {
        margin-bottom: 4vw;
    }
    .amb-slider-item .txt {
        font-size: 2.4rem;
    }
    .amb-slider-item .txt2 {
        font-size: 3.5rem;
    }
    .amb-slider-item .txt3 {
        font-size: 2.6rem;
    }
    .amb-slider-item .txt4 {
        font-size: 2.4rem;
    }
    .amb-slider-item .button-01 {
        height: 12vw;
    }
}
@media screen and (min-width: 768px) {
    .amb-slider-item .button-01:hover {
        border-color: #fff;
    }
}

/* アンバサダー調整 */
/* #page-index .guide {
    margin-bottom: 0;
}
.guide-date {
    margin: 80px auto 0;
}
.amb-bg-02 {
    display: none;
}
@media screen and (min-width: 768px)and (max-width: 1200px) {
    .guide-date {
        margin: 6.66vw auto 0;
    }
}
@media (max-width: 767px) {
    .guide-date {
        margin: 8vw auto 5.33vw;
    }
    #amb {
        padding: 32vw 0 30vw;
    }
    .amb-bg-01 {
        top: 42vw;
    }
    .amb-bg-02 {
        top: 79vw;
    }
    .amb-bg-03 {
        top: 152vw;
    }
    .amb-bg-04 {
        display: none;
    }
}

html[lang=en] #page-index .guide {
    padding-bottom: 90px;
} */

/* 2025.05 add */
.amb-img {
    position: relative;
}
.amb-slide-list {
    margin: 60px 0 0;
}
.amb-title-02 {
    max-width: 90%;
    font-size: 23px;
    line-height: 1.3;
    text-align: center;
    position: relative;
    padding-bottom: 0.8em;
    margin-bottom: 1em;
}
.amb-title-02::before {
    content: "";
    width: 0.9em;
    height: 2px;
    background-color: #008ca0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.amb-text-02 {
    max-width: 90%;
    font-size: 35px;
    font-weight: bold;
    color: #008ca0;
    line-height: 1.75;
    text-align: center;
    margin-bottom: 1.34em;
    position: relative;
    z-index: 1;
}
.amb-img-caption {
    position: absolute;
    top: 100px;
    right: 0;
}
.amb-caption-01 {
    font-family: "Lato",sans-serif;
    font-size: 30px;
    font-weight: 900;
    color: #008ca0;
    line-height: 1.25;
    margin-bottom: 0.7em;
}
.amb-caption-02 {
    font-size: 16px;
    margin-bottom: 0.9em;
}
.amb-caption-02 > span  {
    font-size: 1.4375em;
}
.amb-caption-03 {
    font-family: "Lato",sans-serif;
    font-size: 16px;
    font-weight: bold;
}
@media screen and (min-width: 768px)and (max-width: 1020px) {
    .amb-slide-list {
        margin: 6vw 0 0;
    }
    .amb-title-02 {
        font-size: 2.3rem;
    }
    .amb-text-02 {
        font-size: 3.5rem;
    }
    .amb-img-caption {
        top: 10vw;
    }
    .amb-caption-01 {
        font-size: 3rem;
    }
    .amb-caption-02 {
        font-size: 1.6rem;
    }
    .amb-caption-03 {
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 767px) {
    .amb-title-02 {
        font-size: 2.8rem;
    }
    .amb-text-02 {
        font-size: 3.6rem;
    }
    .amb-bg-02 {
        top: 52vw;
    }
    .amb-img {
        max-width: 90%;
    }
    .amb-img-caption {
        position: relative;
        top: auto;
        right: auto;
        transform: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 1em;
    }
    .amb-slide-list {
        margin: 23vw 0 0;
    }
    .amb-caption-01 {
        font-size: 4rem;
    }
    .amb-caption-02,
    .amb-caption-03 {
        font-size: 2.8rem;
    }
}