@charset "UTF-8";html { scrollbar-gutter: stable; }

/* =====================
基本
===================== */

body.is-fixed {position: fixed;overflow: hidden;width: 100%;}

/* =====================
ヘッダー固定
===================== */
.site-header {position: fixed;top: 20px;right: 30px;background: #fff;width: 64px;height: 64px;display: flex;align-items: center;justify-content: space-between;z-index: 1200;border-radius: 12px;}
.logo {font-weight: bold;margin-left: 20px;}






/* =====================
ハンバーガー（ズレない）
===================== */
.hamburger {position: relative;width: 40px;height: 32px;background: none;border: none;cursor: pointer;z-index: 1100;margin: auto;}
.hamburger span {position: absolute;left: 0;width: 100%;height: 4px;background: var(--blue-color);border-radius: 2px;transition: transform 0.4s ease, opacity 0.3s ease;}
/* 初期位置 */
.hamburger span:nth-child(1) {top: 0;}
.hamburger span:nth-child(2) {top: 50%;transform: translateY(-50%);}
.hamburger span:nth-child(3) {bottom: 0;}
/* × 変形（中央基準） */
.hamburger.is-active span:nth-child(1) {top: 50%;transform: translateY(-50%) rotate(45deg);}
.hamburger.is-active span:nth-child(2) {opacity: 0;}
.hamburger.is-active span:nth-child(3) {top: 50%;bottom: auto;transform: translateY(-50%) rotate(-45deg);}
/* =====================
モーダル
===================== */
.menu-modal {position: fixed;inset: 0;background: rgba(125,194,201,0.9);opacity: 0;visibility: hidden;transition: opacity 0.4s ease;justify-content: center;align-items: center;z-index: 1000;/* top:0; right:0; bottom:0; left:0; */
width: 100vw;height: 100vh;overflow-y: auto;overflow-x: hidden;-webkit-overflow-scrolling: touch; /* iOS対策 */}
.menu-modal .menu-modal_block {  display: flex;  justify-content: center;align-items: center;padding: 0;position: absolute;top: 50%;left: 50%;transform: translateY(-50%) translateX(-50%);-webkit- transform: translateY(-50%) translateX(-50%);}

.menu-modal.is-open {opacity: 1;visibility: visible;}
.menu-content {background: #fff;width: 80%;max-width: 400px;padding: 2rem;border-radius: 8px;transform: scale(0.85);transition: transform 0.4s ease;}
.menu-modal.is-open .menu-content {transform: scale(1);}
/* =====================
メニュー
===================== */
.menu-content ul {list-style: none;padding: 0;margin: 0;}
.menu-content li {opacity: 0;transform: translateY(10px);animation: menuFade 0.4s ease forwards;}
.menu-modal.is-open li:nth-child(1) { animation-delay: 0.1s; }
.menu-modal.is-open li:nth-child(2) { animation-delay: 0.2s; }
.menu-modal.is-open li:nth-child(3) { animation-delay: 0.3s; }
.menu-modal.is-open li:nth-child(4) { animation-delay: 0.4s; }
.menu-content a {display: block;padding: 1rem 0;font-size: 1.1rem;color: #333;text-decoration: none;}
@keyframes menuFade {to {opacity: 1;transform: translateY(0);}
}



@media screen and (max-width: 1120px) {
.site-header {top: 1.78vw;right: 2.67vw;width: 5.71vw;height: 5.71vw;border-radius: 1.07vw}
.hamburger {position: relative;width: 3.57vw;height: 2.85vw;}
.hamburger span {height: 0.35vw;border-radius: 0.17vw;}
}


/* =========================
SP表示（768px以下）
========================= */
@media screen and (max-width: 768px) {.menu-modal {display: inline-block;height: 75vh;padding: 10vh 0 15vh;}
.menu-modal .menu-modal_block {  display: flex;  justify-content: center;align-items: center;padding:0;position: relative;top: inherit;left: inherit;transform: inherit;-webkit- transform: inherit;}
.site-header {position: fixed;top: 10px;right: 10px;width: 52px;height: 52px;}
/* ハンバーガー */
.hamburger {position: fixed;top: 24px;right: 20px;width: 32px;height: 24px;}
.hamburger span {height: 2px;}
#content {padding-top: 0;}
}
/*
.header_back {width: 80vw;margin: auto;font-family: "M PLUS Rounded 1c", sans-serif;display:flex;}
.header_data {width: 20vw;}
.header_data .modal_logo {width: 100%;margin: 0 0 2.5vw;}
.header_data .modal_logo img {width: 100%;height: auto;}
.header_data p.data {font-size: 1.2vw;line-height: 1.6;text-align: left;color: #fff; margin: 0 0 2.5vw;}
.header_btn {display: inline-block;width: 100%;text-align: center;text-decoration: none;line-height: 60px;outline: none;color: #fff;background-color: #ffd800;-webkit-transition: all .5s;transition: all .5s;border-radius: 50vh;}
.header_btn:hover {transform: scale(0.9,0.9);}
.header_btn a {font-size: 1.33vw;font-weight: 700;letter-spacing: .2em; color: #000;text-decoration: none;display: block;}
.header_menu {width: 80vw; text-align: left;display:flex;flex-wrap:wrap;}
.header_menu dl.menu_list {color: #fff;width: 15vw;margin-left: 5vw;}
.header_menu dl.menu_list dt {font-size: 1.2vw;line-height: 1.6;margin: 0 0 2vw;padding: 0 0 1vw;border-bottom: 1px solid #fff;}
.header_menu dl.menu_list dt span{font-size: 1vw;display: block;}
.header_menu dl.menu_list dd {}
.header_menu dl.menu_list dd ul.header_menu_list {}
.header_menu dl.menu_list dd ul.header_menu_list li {}
.header_menu dl.menu_list dd ul.header_menu_list li {position: relative;display: block;padding: 0 0 0 30px;}
.header_menu dl.menu_list dd ul.header_menu_list li:before {content: '';position: absolute;top: 50%;left: 0;display: inline-block;width: 20px;height: 1px;background-color: #fff;}
.header_menu dl.menu_list dd ul.header_menu_list li {transition: all 0.5s;}
.header_menu dl.menu_list dd ul.header_menu_list li:hover {margin-left: 1vw;}
.header_menu dl.menu_list dd ul.header_menu_list li a {font-size: 1.1vw;line-height: 2;white-space: nowrap; color: #fff;text-decoration: none;}

.header_menu .move_btn {display: inline;width: 33%;text-align: center;text-decoration: none;line-height: 60px;outline: none;color: #fff;background-color: #fff;-webkit-transition: all .5s;transition: all .5s;border-radius: 50vh;margin: 30px 0 0 30px}
.header_menu .move_btn:hover {transform: scale(0.9,0.9);}
.header_menu .move_btn a {font-size: 16px;font-weight: 700;letter-spacing: .2em; color: var(--blue-color);text-decoration: none;display: block;}


.header_under {color: #fff;font-family: "M PLUS Rounded 1c", sans-serif;text-align: right;width: 80vw;margin: auto;}
.header_under a {font-size: 1.1vw;line-height: 2;color: #fff;text-align: right;text-decoration: none;}
.header_under a:hover {text-decoration: underline;}

@media screen and (max-width: 1120px) {}
@media screen and (max-width: 767px) {.header_back {padding:10vw 0;}
.header_back {width: 70vw;}
.header_data {width: 70vw;margin: 0 0 10vw}
.header_data .modal_logo {width: 60%;margin: 0 auto 2.5vw;}
.header_data .modal_logo img {width: 100%;height: auto;}
.header_data p.data {font-size: 3vw;line-height: 1.6;margin: 0 0 5vw;}
.header_btn {line-height: 50px;}
.header_btn:hover {transform: scale(0.9,0.9);}
.header_btn a {font-size: 3.4vw;}
.header_menu {width: 70vw; text-align: left;display:inherit;flex-wrap:inherit;}
.header_menu dl.menu_list {color: #fff;width:100%;margin-left: 0;margin: 0 0 5vw;}
.header_menu dl.menu_list dt {font-size: 3.8vw;line-height: 1.6;margin: 0 0 2.5vw;padding: 0 0 2.5vw;}
.header_menu dl.menu_list dt span{font-size: 3vw;}
.header_menu dl.menu_list dd ul.header_menu_list li a {font-size: 3vw;line-height: 2;}
.header_under {width: 70vw;}
.header_under a {font-size: 3vw;line-height: 2;}
}

*/

.header_data .modal_logo {width: 100%;margin: 0 0 2.5vw;}
.header_data .modal_logo img {width: 100%;height: auto;}

.header_data .modal_logo a {display: block; transition: transform 0.5s ease;
    will-change: transform;
    transform: translateZ(0); /* ←カクつき防止 */}
.header_data .modal_logo a:hover {transform: scale(0.9);}


.header_back {width: 1020px;margin: auto;font-family: "M PLUS Rounded 1c", sans-serif;display:flex;flex-wrap:wrap;}
.header_data {width: 250px;margin-right: 30px;}
.header_data .header_logo {width: 100%;margin: 0 0 50px;}
.header_data .header_logo img {width: 100%;height: auto;}
.header_data p.data {font-size: 16px;line-height: 1.6;text-align: left;color: #fff; margin: 0 0 30px;}
.header_btn {display: inline-block;width: 100%;text-align: center;text-decoration: none;line-height: 60px;outline: none;color: #fff;background-color: #ffd800;-webkit-transition: all .5s;transition: all .5s;border-radius: 50vh;}
.header_btn:hover {transform: scale(0.9,0.9);}
.header_btn a {font-size: 16px;font-weight: 700;letter-spacing: .2em; color: #000;text-decoration: none;display: block;}
.header_menu {width: 740px; text-align: left;display:flex;flex-wrap:wrap;}
.header_menu dl.menu_list {color: #fff;width: 215px;margin-left: 30px;}
.header_menu dl.menu_list dt {font-size: 18px;line-height: 1.6;margin: 0 0 2vw;padding: 0 0 1vw;border-bottom: 1px solid #fff;}
.header_menu dl.menu_list dt span{font-size: 11px;display: block;}
.header_menu dl.menu_list dd {margin: 0;padding: 0;}
.header_menu dl.menu_list dd ul.header_menu_list {margin: 0;padding: 0;}
.header_menu dl.menu_list dd ul.header_menu_list li {}
.header_menu dl.menu_list dd ul.header_menu_list li {position: relative;display: block;padding: 0 0 0 30px;}
.header_menu dl.menu_list dd ul.header_menu_list li:before {content: '';position: absolute;top: 50%;left: 0;display: inline-block;width: 20px;height: 1px;background-color: #fff;}
.header_menu dl.menu_list dd ul.header_menu_list li {transition: all 0.5s;}
.header_menu dl.menu_list dd ul.header_menu_list li:hover {margin-left: 1vw;}
.header_menu dl.menu_list dd ul.header_menu_list li a {font-size: 16px;line-height: 2;white-space: nowrap; color: #fff;text-decoration: none;}
.header_menu .move_btn {display: inline;width: 33%;text-align: center;text-decoration: none;line-height: 60px;outline: none;color: #fff;background-color: #fff;-webkit-transition: all .5s;transition: all .5s;border-radius: 50vh;margin: 30px 0 0 30px}
.header_menu .move_btn:hover {transform: scale(0.9,0.9);}
.header_menu .move_btn a {font-size: 16px;font-weight: 700;letter-spacing: .2em; color: var(--blue-color);text-decoration: none;display: block;}


.header_under {color: #fff;font-family: "M PLUS Rounded 1c", sans-serif;text-align: right;width: 1020px;margin: auto;}
.header_under p {font-size: 16px;line-height: 2;}
.header_under a {font-size: 16px;line-height: 2;color: #fff;text-align: right;text-decoration: none;}
.header_under a:hover {text-decoration: underline;}

@media screen and (max-width: 1120px) {

.header_back {padding: 8.92w 0;}
.header {width: 91.07vw;}
.header_data {width: 22.32vw;margin-right: 2.67vw;}
.header_data .header_logo {margin: 0 0 4.46vw;}

.header_data p.data {font-size: 1.42vw; margin: 0 0 2.67vw;}
.header_btn {line-height: 5.35vw;}

.header_btn a {font-size: 1.42vw;}
.header_menu {width: 66.07vw;}
.header_menu dl.menu_list {width: 19.19vw;margin-left: 2.67vw;}
.header_menu dl.menu_list dt {font-size: 1.60vw;margin: 0 0 2.23vw;padding: 0 0 2.23vw;}
.header_menu dl.menu_list dt span{font-size: 0.98vw;}
.header_menu dl.menu_list dd ul.header_menu_list li {padding: 0 0 0 2.67vw;}
.header_menu dl.menu_list dd ul.header_menu_list li:before {width: 1.78vw;}
.header_menu dl.menu_list dd ul.header_menu_list li a {font-size: 1.42vw;}
.header_under {width: 91.07vw;}
.header_under p {font-size: 1.42vw;}
.header_under a {font-size: 1.42vw;}


}
@media screen and (max-width: 767px) {
.header_data .modal_logo {width: 60%;margin: 0 auto 2.5vw;}
.header_data .modal_logo img {width: 100%;height: auto;}
.header_back {width: 70%;margin: auto; padding:10vw 0;}
.header {width: 70vw;}
.header_data {width: 70vw;margin: 0 0 10vw}
.header_data .header_logo {width: 60%;margin: 0 auto 2.5vw;}
.header_data .header_logo img {width: 100%;height: auto;}
.header_data p.data {font-size: 3vw;line-height: 1.6;margin: 0 0 5vw;}
.header_btn {line-height: 50px;}
.header_btn:hover {transform: scale(0.9,0.9);}
.header_btn a {font-size: 3.4vw;}
.header_menu {width: 70vw; text-align: left;display:inherit;flex-wrap:inherit;}
.header_menu dl.menu_list {color: #fff;width:80vw;margin-left: 0;margin: 0 0 5vw;}
.header_menu dl.menu_list dt {font-size: 3.8vw;line-height: 1.6;margin: 0 0 2.5vw;padding: 0 0 2.5vw;}
.header_menu dl.menu_list dt span{font-size: 3vw;}
.header_menu dl.menu_list dd ul.header_menu_list li a {font-size: 3vw;line-height: 2;}

.header_menu .move_btn {width: 100%;line-height: 50px;margin:0;}
.header_menu .move_btn a {font-size: 3vw;}


.header_under {width: 70vw;}
.header_under p {font-size: 3vw;line-height: 2;}
.header_under a {font-size: 3vw;line-height: 2;}


}