@charset "UTF-8";
/*
Theme Name: Reef tour HONEY
*/
:root{--blue:#2B6B9C;--turquoise:#00d0c2;--ink:#26434c;--pale:#F8FAFB;--pink:#E97383;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;--en:"Cormorant Infant",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;color:var(--ink);background:#fff;font-size:15px;line-height:1.9;}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,h3,p,figure,dl,dd{margin:0}button,input,select,textarea{font:inherit}
.en,.section-title>p,.tour-title>p,.lower-title>p{font-family:var(--en);letter-spacing:.04em}
.container { width:100%;overflow: hidden;}

.sp { display: none;}
.section-title{text-align:center}
.section-title>p{color:var(--blue);font-size:60px;font-weight: 500; line-height:1}
.section-title>h1,.section-title>h2{margin-top:16px;font-size:15px;font-weight:400;color:#AAAAAA;}
.section-title>h1::after, .section-title>h2::after { content:''; display: block; width: 40px; height: 2px; background: #2B6B9C; margin: 16px auto 0;}
.detail-link,.more-link{display:flex;align-items:center;justify-content:center;width:240px;height:46px;border:1px solid currentColor;border-radius: 50px; color:var(--blue)}

.header{position:relative;z-index:50;height:90px;padding:0 16px;display:flex; align-items:center;gap:4px;background:#fff;color:var(--blue);}
.header--over{position:absolute;top:0;left:0;width:100%;color:#fff;background:transparent}
.header__logo{width:268px;margin-right: auto;}
.instagram a{display:flex; justify-content: center; align-items:center; width: 46px; height: 46px; background: rgba(255,255,255,.32); border-radius: 80px;}
.header:not(.header--over) .instagram a { background: rgba(70,159,209,.5);}
@media (min-width: 961px) {
  .header__nav > ul {display:flex;align-items:center;gap:24px; height: 46px; padding: 12px 32px; background: rgba(255,255,255,.32); border-radius: 80px; list-style: none;}
  .header__nav > ul > li { position: relative; padding: 16px 0;}
  .header__nav > ul > li > ul { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); opacity: 0; visibility: hidden; padding: 8px 24px; background: var(--blue); border-radius: 5px; transition: opacity .2s ease, visibility .2s ease; box-shadow: 0 0 6px rgba(0,0,0,.16); list-style: none;}
  .header__nav > ul > li > ul > li { padding: 16px 0; white-space: nowrap;}
  .header__nav > ul > li > ul > li:not(:last-child) { border-bottom: 1px solid rgba(255,255,255,.5);}
  .header__nav > ul > li > ul > li a { color: #FFF;}
  .header__nav > ul > li:hover > ul { opacity: 1; visibility: visible;}
  .menu-button{display:none}
}

.quick-links{position:fixed;z-index:8;right:16px;bottom:16px;display:flex;gap:8px;color:#fff;font-size:16px}
.quick-links a{display:flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 20px;border:1px solid #FFF;border-radius: 40px; background:rgba(95,219,0,.9);}
.quick-links a:first-child{background-color: rgba(53,132,175,.9);}

.home-mv{position:relative;height:768px;overflow:hidden;color:#fff}
.home-mv__poster,.home-mv__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-mv__video{opacity:0;transition:opacity 1.3s}
.home-mv__video.is-playing{opacity:1}
.home-mv::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,38,57,.25),transparent 52%)}
.home-mv__copy{position:absolute;z-index:3;left:6%;top:50%;transform: translateY(-50%);}
.home-mv__copy h1{font-size:31px;font-weight:400;}
.home-mv__copy p{margin-top:3px;font-weight: 500;line-height:1.8}
.scroll-ribbon{position:absolute;z-index:2;inset:0;text-align: center; overflow:hidden}
.scroll-ribbon img{animation:ribbon 18s linear infinite;margin: 0 auto;}
@keyframes ribbon{from{transform:translateY(0)}to{transform:translateY(-66.6%)}}
.home-concept{position:relative; z-index: 4; background:#fff url("./img/top/concept_bg.webp") center/cover no-repeat}
.home-concept__copy{position:absolute;z-index:4;top:96px;left:50%;width:440px;transform:translateX(-50%);text-align:center}
.home-concept__copy h2{margin: 0 auto; font-size:28px;font-weight:500;line-height:1.65;letter-spacing:.2em;font-family: var(--serif);writing-mode: vertical-rl;}
.home-concept__copy p{margin-top:47px;line-height:2.75}
.home-concept__copy p+p{margin-top:18px}
.home-concept__images img{position:absolute;object-fit:contain}
.home-concept__images img:nth-child(1){left:87px;top:68px;width:239px;}
.home-concept__images img:nth-child(2){left:-56px;bottom:-30px;width:447px;}
.home-concept__images img:nth-child(3){right:-84px;top:35px;width:389px;}
.home-concept__images img:nth-child(4){right:250px;bottom:150px;width:177px;}
.home-concept__images img:nth-child(5){right:-57px;bottom:-22px;width:278px;}
.tour-title{padding-top:75px;background:var(--pale);}
.boat{display:grid;grid-template-columns:50% 50%;background:var(--pale)}
.boat__body{padding:52px 65px 25px 184px}
.boat__body h2,.menu-row__body h2{font-size:18px;font-weight: 700;color:#777777;}
.boat__body .en,.menu-row__body .en{margin-top:4px;color:var(--blue);font-size:80px;line-height:1}
.boat__body h3,.menu-row__body h3{margin-top:24px; padding-bottom: 16px; font-size:24px;font-weight:700;border-bottom: 1px solid #B5C0C2;line-height: 1.2;}
.boat__body>p:not(.en):not(.boat__include):not(.boat__extra){margin-top:24px}
.boat__body small{display:block;margin-top:14px;line-height:1.7}
.boat__include{margin:24px 0 0; padding: 0; color:var(--blue); list-style: none; display: flex; gap: 8px;}
.boat__include li { display: flex; align-items: center; padding: 4px 12px; border: 1px solid var(--blue); border-radius: 5px; list-style: none;}
.boat__plans{margin-top:24px}
.boat__plans>div{position:relative; padding-left: 24px; border-left: 4px solid #9CBED8;}
.boat__plans dt{ float: left; margin-right: 1em; font-size:15px;color:#999999;}
.boat__plans dt em{font-size:28px;color:var(--blue); font-family: var(--serif); font-weight: 500; font-style: normal;}
.boat__plans dd{ float: left; font-size:20px}
.boat__plans p{ clear: left; margin-top:8px;}
.boat .detail-link{margin:34px 0 0 0}
.boat__image img{width:100%;height:100%;object-fit:cover}
.price { font-family: var(--serif); font-size:20px}
.price em{font-size:28px;color:var(--pink); font-weight: 500; font-style: normal;}
.menu-row{display:grid;grid-template-columns:50% 50%;background:var(--pale)}
.menu-row--reverse .menu-row__image{order:2}
.menu-row--reverse .menu-row__body{padding-left:184px}
.menu-row__image img{width:100%;height:100%;object-fit:cover}
.menu-row__body{padding:100px 80px 45px 61px}
.menu-row__body .en{margin-top:2px}
.menu-row__body>p:not(.en){margin-top:24px}
.menu-row__body>p:not(.en)+p{margin-top:18px}
.menu-row__body .price { margin: 0 0 24px;}
.plan-present{display:grid;min-height:130px;padding:30px 20px;place-items:center;background:var(--blue);color:#fff;text-align:center}
.plan-present p{display:flex;align-items:center;gap:28px;font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:.08em;line-height:1.6}
.plan-present p::before,.plan-present p::after{content:"";display:block;width:52px;height:1px;background:currentColor}
.charm{padding-top:80px;}
.charm__grid{width:1000px;margin:40px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.charm__grid img{ width:100%;}
.charm__grid figure { position: relative;}
.charm__grid figure::before{ content:''; position: absolute; top: 4px;left: 4px;display: block; width: 100%; height:100%;border:1px solid #9CBED8; border-radius: 50%;z-index: -1;}
.charm__grid h3{margin-top:25px;text-align:center;font-size:24px;font-weight:500; font-family: var(--serif); color: var(--blue); line-height:1.2}
.charm__grid p{margin-top:17px;text-align:center;line-height:2}
.home-voice{padding-top:80px;overflow:hidden;background:var(--pale)}
.home-voice .voice-slider{margin-top:40px;overflow:visible}
.home-voice .swiper-slide, .voice-grid article{width: 320px;padding:30px 23px; height: auto; background:#fff;border:1px solid #9CBED8;border-radius: 12px;}
.home-voice .swiper-slide img, .voice-grid article img { display:block;width:120px;height:120px;margin:0 auto;border-radius:50%;object-fit:cover;object-position:center;text-align:center;}
.home-voice .swiper-slide .star, .voice-grid article .star {display:block;margin-top: 8px; color:#FFC400;font-size:24px;letter-spacing: 0.1em;}
.home-voice .swiper-slide p, .voice-grid article p {margin-top:8px;line-height:2}
.home-voice .more-link{margin:36px auto 0}
.swiper-pagination { position: relative; bottom: 0; margin-top: 24px;}
.swiper-pagination-bullet-active { background-color: var(--blue);}
.home-faq{padding-top:80px;background:#fff}
.home-faq .faq{width:790px;margin:58px auto 0}
.faq dt{border-bottom:1px solid #9CBED8}
.faq dt button{position:relative;width:100%;padding:12px 55px 12px 43px;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer}
.faq dt button::before{content:"Q.";position:absolute;top:4px; left:0;color:var(--blue);font:32px var(--en);font-weight: 500;}
.faq dt button::after{content:"＋";position:absolute;right:2px;font-size:18px}
.faq dt.open button::after{content:"ー"}
.faq dd{position: relative; display:none;padding:16px 43px 20px;}
.faq dd::before{content:"A.";position:absolute;top:12px; left:0;color:#A4BCCF;font:32px var(--en);font-weight: 500;}
.home-faq .more-link{margin:32px auto 0;}
.home-cta{padding-top:165px;color:#fff;background:linear-gradient(rgba(68, 104, 134, 0.55),rgba(4,14,22,.55)),url("./img/top/cta_bg.webp") center/cover no-repeat;text-align:center}
.home-cta h2{font-size:28px;font-weight:500;letter-spacing:.1em;font-family: var(--serif);}
.home-cta p{margin-top:16px;font-size:11px}
.home-cta .more-link {margin:32px auto 0;border-color: #FFF;color:#FFF}

.footer{color:#fff;background:var(--blue); position: relative;z-index: 10; padding: 50px 20px;}
.footer__inner{position:relative;max-width:1100px;margin:auto;}
.footer__logo{float: left;}
.footer__nav{float: right;}
.footer__nav > ul { padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 24px;}
.footer__nav > ul ul { padding: 0; list-style: none; font-size: 13px;}
.footer small{clear: both; display: block; text-align: right;font-size: 13px; color:rgba(255,255,255,.5);}

.voice-page{background:var(--pale);}
.voice-grid{ width:90%;max-width: 1000px; margin:0 auto; display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;}
.voice-grid:last-child{margin-bottom:80px}
.voice-grid article { width: auto}
.voice-grid .voice-text>p:first-child{margin-top:8px}
.voice-grid .voice-text>p:last-child{margin-bottom:0}
.voice-empty{padding:0 20px 60px;text-align:center}
.screen-reader-text { display: none;}
.pagination { padding: 40px 0; text-align: center; white-space: nowrap;}
.pagination span { height: auto;}
.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px;}
.pagination a:not(.top):not(.prev):not(.next):not(.single-prev):not(.single-next) { display: flex; justify-content: center; align-items: center; background: #FFF; border: 1px solid #E8E9EC; border-radius: 4px; font-size: 13px;}
.pagination a:not(.top):not(.single-prev):not(.single-next) { width: 33px; height: 33px;}
.pagination a.prev, .pagination a.next { position: relative; text-indent: -9999px; overflow: hidden;}
.pagination a.prev { transform: scaleX(-1);}
.pagination a.prev::before, .pagination a.next::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(45deg); width: 12px; height: 12px; border-top: 1px solid #808495; border-right: 1px solid #808495;}
.pagination a.single-prev, .pagination a.single-next { display: flex; align-items: center; gap: 8px; font-size: 1.5rem;}
.pagination a strong { position: relative; display: inline-block; width: 21px; height: 21px; text-align: center; vertical-align: middle; background: #7CAABE; border-radius: 50%; font-size: 1.6rem; line-height: 1.2; color: #FFF; text-indent: -9999px; overflow: hidden;}
.pagination a strong::before { content: ''; position: absolute; top: 50%; left: 48%; transform: translate(-50%,-50%) rotate(45deg); width: 6px; height: 6px; border-top: 2px solid #FFF; border-right: 2px solid #FFF;}
.pagination a.single-prev strong { transform: scaleX(-1);}
.pagination a.top { margin: 0 16px; padding: 0 16px; border-left: 1px solid #222; border-right: 1px solid #222;}
.pagination span { line-height: 50px;}
.pagination span.current { display: flex; justify-content: center; align-items: center; width: 33px; height: 33px; background: #2B6B9C; border-radius: 4px; font-size: 13px; color: #FFF;}

.reservation-page{background:var(--pale);}
.reservation{ width: 90%; max-width: 900px; margin: 0 auto 80px; padding:53px;background:#FFF;border-radius: 26px; box-shadow: 0 0 10px rgba(84,117,133,.57);}
.reservation .section-title>h2{margin-top:24px}
.reservation__lead{margin-top:45px;text-align:center;}
.reservation .detail-link { margin: 45px auto 0;}
.reservation-form{width:746px;margin:27px auto 0}
.reservation-form>label,.reservation-form>.form-row{display:grid;grid-template-columns:163px 1fr;min-height:63px;align-items:start;padding-top:10px;}
.reservation-form>label>span:first-child,.form-row>span{padding-top:7px}
.reservation-form em{color:#DF425D;font-style:normal}
.reservation-form input[type=text],.reservation-form input[type=email],.reservation-form input[type=tel],.reservation-form input[type=date],.reservation-form input[type=number],.reservation-form select,.reservation-form textarea{width:100%;padding:7px 12px;border:1px solid #d4dcde;background:#fff; border-radius: 4px;}
.reservation-form div p { padding: 8px 0 16px;}
.radio-row{display:flex;align-items:center;gap:35px;padding-top:8px}
.radio-row label{white-space:nowrap}
.radio-row.plans{display:grid;gap:0;padding-top:3px}
.radio-row.plans label{line-height:1.15}
.people{display:flex;align-items:center;gap:10px}
.people input{width:70px!important}
.reservation-form>[hidden]{display:none}
.option-check{display:flex;align-items:center;gap:9px;padding-top:7px;cursor:pointer}
.option-check input{width:auto}
.reservation-form .form-detail{min-height:340px}
.reservation-form textarea{height:300px;resize:none;line-height:1.8}
.reservation-form button{display:flex;width:165px;height:44px;margin:24px auto 0;align-items:center;justify-content:center;background: #3584AF; border: none; border-radius: 40px; color:#fff}

.jet-mv{position:relative;height:800px;overflow:hidden;color:#fff}
.jet-mv>img{width:100%;height:100%;object-fit:cover}
.jet-mv::after{content:"";position:absolute;inset:0;background:rgba(0,46,72,.12)}
.jet-mv h1{position:absolute;z-index:2;left:50%;top:50%;font:500 60px/1 var(--en);letter-spacing:.05em;transform: translate(-50%,-50%);text-transform: uppercase;}
.jet-concept{position:relative;padding-top:72px;background:url(img/jet-ski-rental/concept_bg.webp) center no-repeat;background-size: cover;}
.jet-concept .section-title h2{font-size:24px;font-family: var(--serif);color:#333}
.jet-concept .section-title h2::after{display: none;}
.jet-concept__lead{margin-top:24px;text-align:center;line-height:2.4}
.jet-concept__grid{width:1000px;margin:40px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.jet-concept__grid article { background: #FFF; border-radius: 10px; overflow: hidden; box-shadow: 0 0 10px rgba(84,117,133,.57);}
.jet-concept__grid img{width:100%;height:175px;object-fit:cover}
.jet-concept__grid p{ padding: 16px;}
.jet-concept>small{position:absolute;left:50%;top:774px;display:block;width:998px;margin:0;transform:translateX(-50%);}
.jet-plan{padding-top:72px;background:var(--pale)}
.jet-plan__body{width:998px;margin:60px auto 0;}
.jet-plan__body>p{margin-bottom:12px}
.plan-data{margin-top:28px}
.plan-data>div{display:flex;gap:18px;margin:9px 0}
.plan-data dt{width:70px;border-left:2px solid var(--blue);padding-left:8px;font-weight: 700;}
.jet-plan__body>h3{margin-top:36px; border-bottom: 3px double var(--blue); font-size:18px;font-weight:700}
.jet-check {list-style:none;padding:0}
.jet-check li{margin:8px 0;padding-left: 1.5em; background: url(img/jet-ski-rental/check.svg) left 0.6em no-repeat; background-size: 1em auto;}
.jet-points{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:25px}
.jet-points article{text-align:center}
.jet-points img{width:100px;height:100px;margin:auto}
.jet-points p{margin-top:16px;line-height:2}
.jet-notice ul{padding-left:18px}
.jet-notice li{margin:3px 0;}
.jet-notice li::marker{ color: #2B6B9C;}
.jet-plan h4{margin:80px 0 16px;text-align:center;font-size:28px; font-family: var(--serif); color: var(--blue);font-weight: 500;letter-spacing: 0.15em;}
.jet-plan h4 +p { text-align: center; font-family: var(--serif); font-size: 20px; font-weight: 500;}
.jet-flow{padding-top:80px;background:#fff}
.jet-flow__body{width:1000px;margin:24px auto 0}
.jet-flow__body > p { margin-bottom: 40px;}
.jet-flow article{position: relative; display:grid;grid-template-columns:140px 1fr;gap:30px;padding:0 0 40px;}
.jet-flow article:not(:last-of-type)::before{ content:'';position: absolute; top: 0; left: 70px; width: 1px; height: 100%; background: var(--blue); z-index: 0;}
.jet-flow article figure{ position: relative; align-self: start; width: 140px; height:140px; border: 1px solid var(--blue);border-radius: 50%; background: #FFF;}
.jet-flow article img{ position: absolute; top: 10%; left: 10%; width:80%;height:80%;object-fit: scale-down;}
.jet-flow article h3{font-size:24px;font-weight:700;padding-bottom: 8px; border-bottom: 1px solid #B5C0C2;}
.jet-flow article h3 span{margin-right:15px;color:var(--blue);font:24px var(--en)}
.jet-flow article h3 span em{font-size:40px; font-style: normal;}
.jet-flow article p{margin-top:20px;line-height:2.6}
.jet-gallery{padding-top:82px;color:#fff;background: #000000;background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(48, 78, 85, 1) 100%);overflow:hidden}
.jet-gallery .section-title>p{color:#fff;}
.jet-gallery .section-title>h2{color:#fff;}
.jet-gallery .section-title>h2::after{background-color:#fff;}
.gallery-slider{margin-top:50px;padding-bottom:60px;overflow:visible}
.gallery-slider .swiper-slide{width:640px;transform:scale(.78);transition:transform .7s ease}
.gallery-slider .swiper-slide.swiper-slide-active{transform:scale(1)}
.gallery-slider .swiper-scrollbar{left:50%;bottom:20px;width:min(640px,calc(100% - 40px));height:2px;transform:translateX(-50%);background:rgba(255,255,255,.3);cursor:pointer}
.gallery-slider .swiper-scrollbar-drag{position:absolute;top:0;left:calc(100% / var(--gallery-slide-count) * var(--gallery-slide-index));width:calc(100% / var(--gallery-slide-count));height:100%;transform:none!important;transition:left .7s ease;background:#44BEEC}
.gallery-slider figcaption{margin-top:20px;text-align:center;font-size:28px;font-family: var(--serif);}
.gallery-slider figcaption small{display:block;margin-top:4cap;font-size: 15px; font-family: var(--sans);}
.jet-faq{padding-top:106px;background:#fff}
.jet-faq .faq{width:790px;margin:58px auto 0}
.jet-faq .faq dd{line-height:2.5}
.jet-faq .faq>div:first-child dt button{height:50px}
.jet-reserve{padding-top:80px;background:var(--pale)}
.jet-reserve>p{width:998px;margin:40px auto 0;}
.reserve-steps{width:998px;margin:60px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.reserve-steps article{position: relative; text-align:center;padding: 16px; background: #FFF; border: 3px solid #71A3C9;border-radius: 10px;}
.reserve-steps article:not(:last-of-type)::after { content: ''; position: absolute; top: 50%;right:-24px;width:22px;height:22px;border-right:8px solid rgba(113,163,201,.5);border-top:8px solid rgba(113,163,201,.5); transform: rotate(45deg) translateY(-50%);}
.reserve-steps img{margin:auto}
.reserve-steps span{display:block; text-align: left; color:var(--blue);font:30px var(--en)}
.reserve-steps p{margin-top:16px;}
/* Content-driven section sizing */
.home-mv{height:100svh;min-height:680px}
.home-concept{height:auto;min-height:760px}
.tour-title{height:auto;padding:75px 0 68px}
.boat{height:auto;align-items:stretch}
.boat__body{padding-bottom:72px}
.boat__plans>div,.boat__plans>div:nth-child(2),.boat__plans>div:nth-child(3){height:auto;min-height:0;margin-bottom:42px}
.boat__image img{min-height:100%;height:100%}
.menu-row{height:auto;min-height:520px;align-items:stretch}
.menu-row__image img{height:100%;min-height:520px}
.charm{height:auto;padding-bottom:120px}
.home-voice{height:auto;padding-bottom:105px}
.home-faq{height:auto;padding-bottom:90px}
.home-cta{height:auto;padding:165px 20px 145px}
.lower-title{height:auto;padding:110px 20px 72px}
.voice-grid article{position:relative;overflow:hidden}
.reservation{height:auto;padding-bottom:85px}
.jet-concept{height:auto;padding-bottom:95px}
.jet-concept>small{position:static;display:block;width:998px;margin:20px auto 0;transform:none}
.jet-plan{height:auto;padding-bottom:105px}
.jet-flow{height:auto;padding-bottom:100px}
.jet-gallery{height:auto;padding-bottom:90px}
.jet-faq{height:auto;padding-bottom:100px}
.jet-reserve{height:auto;padding-bottom:95px}



@media(max-width:960px){
  .sp { display: block;}
  .pc { display: none;}
  .section-title>p { font-size: 40px;}
  .header {height: 76px;padding-right: 60px;}
  .header__logo{width:190px;margin-right: auto;}
  .menu-button{display:block;position:fixed; top:16px;right:16px; width:42px;height:42px;margin-left:auto;border:0;background:none;z-index: 100;}
  .menu-button span{position:absolute;left:7px;width:28px;height:2px;background:var(--blue)}
  .menu-button span:first-child{top:16px}
  .menu-button span:last-child{top:25px}
  .menu-button[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}
  .menu-button[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
  .header__nav { position: fixed; inset: 0 0 auto auto; width: 100%; height: 100svh; padding: 100px 10px; background: var(--blue); transform: translateX(100%); transition: transform .25s ease; }
  .header__nav.open { transform: translateX(0); }
  .header__nav.open ~ .menu-button span{ background: #FFF;}
  .header__nav > ul { display: grid; gap: 16px; justify-content: center; padding: 0; list-style: none;}
  .header__nav > ul > li { padding: 0 0 16px; border-bottom: 1px solid rgba(255,255,255,.5); color: #FFF;}
  .header__nav > ul > li:last-child { padding: 0; border-left: none; border-bottom: none;}
  .header__nav a { color: #FFF;}
  .header__nav > ul > li > ul { display: grid; gap: 8px; margin: 8px 0 8px 1.5em; list-style: disc;}
  .quick-links a{height:40px;font-size: 12px;}
  .home-mv{height:680px}
  .home-mv__copy h1{font-size:23px}
  .home-mv__copy p{font-size:14px}
  .home-concept,.tour-title,.boat,.menu-row,.charm,.home-voice,.home-faq,.home-cta,.jet-concept,.jet-plan,.jet-flow,.jet-gallery,.jet-faq,.jet-reserve,.reservation,.voice-grid{height:auto}
  .home-concept{min-height:650px}
  .home-concept__copy{top:30px;width:calc(100% - 40px)}
  .home-concept__copy h2{font-size:26px}
  .home-concept__images img{opacity:.45}
  .home-concept__images{position:absolute;inset:0;overflow:hidden;pointer-events:none}
  .home-concept__images img{max-width:calc(100% - 24px)}
  .home-concept__images img:nth-child(1){left:12px;right:auto;top:10px;width:clamp(95px,28vw,160px)}
  .home-concept__images img:nth-child(2){left:-22px;right:auto;bottom:auto;top:150px;width:clamp(130px,40vw,230px)}
  .home-concept__images img:nth-child(3){left:auto;right:-12px;top:-25px;width:clamp(160px,40vw,210px)}
  .home-concept__images img:nth-child(4){left:auto;right:60px;bottom:auto;top:140px;width:clamp(80px,23vw,135px)}
  .home-concept__images img:nth-child(5){left:auto;right:-16px;bottom:auto;top:230px;width:clamp(140px,36vw,190px)}
  .boat{display:flex;flex-direction: column;}
  .boat__body{padding:55px 24px}
  .boat__image{height:110vw;order: -1;}
  .menu-row{display:flex;flex-direction:column}
  .menu-row--reverse .menu-row__image{order:0}
  .menu-row__image img { height: auto; min-height: initial;}
  .menu-row__body,.menu-row--reverse .menu-row__body{padding:45px 24px}
  .boat__body h2, .menu-row__body h2 { font-size: 14px;}
  .boat__body .en,.menu-row__body .en{font-size:40px;}
  .boat__body h3, .menu-row__body h3 { margin-top: 16px; font-size: 16px;}
  .boat__plans dt em { font-size: 20px;}
  .charm{padding:75px 20px}
  .charm__grid{width:100%;grid-template-columns:1fr 1fr;gap:35px 14px;margin-top:50px}
  .charm__grid figure{margin: 0 20%;}
  .home-voice,.home-faq{padding:75px 0}
  .home-faq .faq,.jet-faq .faq{width:calc(100% - 40px)}
  .home-cta{padding:100px 20px}
  .footer{height:auto;padding:55px 20px}
  .footer__inner{width:100%;height:300px}
  .footer__logo{left:0;top:0;width:220px}
  .footer__home{left:0;top:80px}
  .footer__menu{left:80px;top:80px}
  .footer__nav{left:0;top:230px;gap:18px}
  .lower-title{height:auto;padding-top:85px}
  .reservation{padding:50px 20px}
  .reservation-form{width:100%}
  .reservation-form>label,.reservation-form>.form-row{grid-template-columns:1fr}
  .jet-mv{height:600px}
  .jet-mv h1{font-size:58px}
  .jet-concept,.jet-plan,.jet-flow,.jet-gallery,.jet-faq,.jet-reserve{padding:75px 20px}
  .jet-concept__grid,.jet-plan__body,.jet-flow__body,.jet-reserve>p,.reserve-steps{width:100%}
  .jet-concept__grid,.reserve-steps{grid-template-columns:1fr}
  .jet-points{grid-template-columns:1fr 1fr}
  .jet-concept__grid>*,.jet-points>*,.reserve-steps>*{min-width:0;overflow-wrap:anywhere}
  .jet-concept>small{position:static;width:100%;margin-top:20px;transform:none}
  .jet-flow article{grid-template-columns:70px 1fr;gap:16px}
  .jet-flow article:not(:last-of-type)::before{ left: 35px;}
  .jet-flow article figure { width:70px;height:70px;}
  .jet-flow article h3 { font-size: 20px;}
  .jet-flow article h3 span { display: block;}
  .gallery-slider .swiper-slide{width:100%}
  .reserve-steps article:not(:last-of-type)::after { top: auto; bottom: -44px; right:50%;transform: rotate(135deg) translateX(-50%);}
}


@media(min-width:701px){
  .sp { display: none;}
}

@media(max-width:700px){
  .pc { display: none;}
  .home-mv{height:50svh;min-height:200px}
  .plan-present{min-height:110px;padding:24px 16px}
  .plan-present p{gap:12px;font-size:18px;letter-spacing:.04em}
  .plan-present p::before,.plan-present p::after{width:20px;flex:0 0 20px}
  .charm__grid{grid-template-columns:1fr;gap:35px 14px;}
  .footer{padding:50px 20px 24px}
  .footer__inner{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px;width:100%;height:auto;min-height:0}
  .footer__logo{grid-column:1/-1;width:220px}
  .footer__home,.footer__menu,.footer__nav{padding:0}
  .footer__nav{display:grid;gap:12px;white-space:normal}
  .footer small{position:static;grid-column:1/-1;margin-top:14px;text-align:right}
}
