/* 熊本・長崎 ふっこう応援割LP 本文スタイル
   すべてのセレクタは .ouen-lp（<main id="main" class="ouen-lp">）配下に限定。
   共通ヘッダー・フッター（/headerFooter/ のSSI）には影響しない。 */
/* 唯一のグローバル指定。共通CSS（headerFooterStyles）は body の余白を打ち消さないため、
   既存LPの css/style.css と同様にここで打ち消す（テスト環境で 8px の余白を確認済み） */
body{margin:0}
.ouen-lp{--red:#bd2536;--ink:#18362c;--green:#174d3b}
.ouen-lp,.ouen-lp *{box-sizing:border-box}
html:has(.ouen-lp){scroll-behavior:smooth}
.ouen-lp [id]{scroll-margin-top:80px}
.ouen-lp{color:var(--ink);background:#fff;font-family:'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.8}
.ouen-lp a{color:inherit;text-underline-offset:5px}
.ouen-lp nav{display:flex;gap:26px;font-size:14px}
.ouen-lp nav a{text-decoration:none}
.ouen-lp .hero{position:relative;min-height:660px;background:#174d3b;color:white;overflow:hidden}
.ouen-lp .hero img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}
.ouen-lp .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,37,28,.78),rgba(9,37,28,.35) 55%,rgba(9,37,28,.04))}
.ouen-lp .hero-inner{position:relative;z-index:1;max-width:1180px;margin:auto;padding:68px 32px 85px}
.ouen-lp .eyebrow{font-size:14px;letter-spacing:.12em;font-weight:bold}
.ouen-lp .hero h1{font-family:'Yu Mincho',serif;font-size:clamp(40px,5vw,65px);line-height:1.45;margin:18px 0 20px;letter-spacing:.05em}
.ouen-lp .hero h1 span{display:block;font-family:'Yu Gothic',sans-serif;font-size:22px;letter-spacing:0;margin-top:15px}
.ouen-lp .offer{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ouen-lp .offer p{margin:0;font-size:20px}
.ouen-lp .offer b{font-size:90px;line-height:1.1;color:#ffe58b;letter-spacing:-.05em}
.ouen-lp .offer b small{font-size:38px;letter-spacing:0}
.ouen-lp .hero-note{max-width:560px;font-size:14px;margin-top:16px}
.ouen-lp .btn{display:inline-block;padding:14px 30px;border-radius:4px;background:var(--red);color:#fff;font-weight:bold;text-decoration:none}
.ouen-lp .hero .btn{margin-top:12px;background:white;color:var(--green)}
.ouen-lp .photo-label{position:absolute;z-index:1;right:22px;bottom:15px;font-size:12px}
.ouen-lp .wrap{max-width:1120px;padding:0 28px;margin:auto}
.ouen-lp .notice{margin-top:30px;display:flex;gap:25px;align-items:center;padding:24px 30px;border:1px solid #e5c8cb;border-left:5px solid var(--red);background:#fff8f8}
.ouen-lp .badge{white-space:nowrap;color:var(--red);font-weight:bold}
.ouen-lp .notice p{margin:0}
.ouen-lp .minor{font-size:14px;color:#52645b}
.ouen-lp section{padding:76px 0}
.ouen-lp h2{font-size:32px;line-height:1.5;margin:8px 0 24px;letter-spacing:.02em}
.ouen-lp h3{font-size:22px;line-height:1.5}
.ouen-lp .section-label{color:var(--red);font-size:14px;font-weight:bold;letter-spacing:.1em}
.ouen-lp .intro{max-width:740px}
.ouen-lp .period{margin:32px 0;display:flex;align-items:center;gap:30px;background:#edf4ef;padding:24px 30px}
.ouen-lp .period strong{font-size:24px}
.ouen-lp .cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ouen-lp .card{padding:30px;border:1px solid #d5dfd9;border-top:4px solid var(--green);border-radius:4px}
.ouen-lp .card h3{margin:0}
.ouen-lp .card p{margin:10px 0}
.ouen-lp .cap{font-size:40px;font-weight:bold;color:var(--red);line-height:1.5}
.ouen-lp .cap small{font-size:18px}
.ouen-lp .pale{background:#f1f6f3}
.ouen-lp .calc{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.ouen-lp .fields{display:flex;flex-wrap:wrap;gap:15px;margin:25px 0}
.ouen-lp .fields label{min-width:120px}
.ouen-lp .result dt{max-width:65%}
.ouen-lp .result dl div{flex-wrap:wrap}
.ouen-lp .fields label{flex:1;font-size:14px;font-weight:bold}
.ouen-lp .fields input,.ouen-lp .fields select{display:block;width:100%;padding:14px 10px;font-size:18px;color:var(--ink);border:1px solid #899d90;border-radius:4px;background:white;margin-top:8px}
.ouen-lp .result{background:white;padding:32px;border-radius:6px;box-shadow:0 10px 30px #18362c0a}
.ouen-lp .result dl{margin:0}
.ouen-lp .result dl div{display:flex;justify-content:space-between;gap:15px;margin:10px 0}
.ouen-lp .result dd{margin:0;font-weight:bold}
.ouen-lp .result .total{border-top:1px solid #d5dfd9;padding-top:20px;margin-top:20px;color:var(--red);align-items:center}
.ouen-lp .total dd{font-size:36px}
.ouen-lp .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.ouen-lp .step{border-top:1px solid #cdd8d1;padding-top:20px}
.ouen-lp .num{font-size:32px;color:var(--red);font-family:Georgia,serif}
.ouen-lp .step h3{margin:12px 0}
.ouen-lp .step p{margin:0}
.ouen-lp .faq{max-width:850px;margin:auto}
.ouen-lp details{border-bottom:1px solid #d5dfd9;padding:21px 0}
.ouen-lp summary{cursor:pointer;font-weight:bold;font-size:18px}
.ouen-lp details p{margin-bottom:0;color:#52645b}
.ouen-lp .sales{background:var(--green);color:white;text-align:center;padding:55px 28px}
.ouen-lp .sales h2{margin-top:0}
.ouen-lp .sales button{font:inherit;padding:14px 45px;background:#d7e0da;color:#3e5849;border:0;border-radius:4px;cursor:not-allowed}
.ouen-lp .sources{padding:34px 28px;font-size:14px}
.ouen-lp .sources a{display:inline-block;margin-right:24px}
.ouen-lp .sticky{display:none}
.ouen-lp button:focus-visible,.ouen-lp a:focus-visible,.ouen-lp summary:focus-visible{outline:3px solid #d19614;outline-offset:5px}
@media(max-width:700px){
.ouen-lp nav{gap:15px}
.ouen-lp .hero{min-height:660px}
.ouen-lp .hero-inner{padding:48px 24px 80px}
.ouen-lp .hero h1{font-size:40px}
.ouen-lp .hero h1 span{font-size:18px}
.ouen-lp .offer{gap:10px}
.ouen-lp .offer b{font-size:78px}
.ouen-lp .wrap{padding:0 22px}
.ouen-lp .notice{display:block;padding:20px}
.ouen-lp .badge{display:block;margin-bottom:8px}
.ouen-lp section{padding:50px 0}
.ouen-lp h2{font-size:27px}
.ouen-lp .period{display:block;padding:20px}
.ouen-lp .period strong{font-size:20px;display:block}
.ouen-lp .cards,.ouen-lp .calc,.ouen-lp .steps{grid-template-columns:1fr}
.ouen-lp .calc{gap:20px}
.ouen-lp .card{padding:24px}
.ouen-lp .fields{gap:12px}
.ouen-lp .total dd{font-size:30px}
.ouen-lp .steps{gap:24px}
.ouen-lp .sticky{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#fff;border-top:1px solid #d5dfd9;padding:12px 20px;align-items:center;justify-content:space-between;font-size:14px}
.ouen-lp .sticky a{background:var(--green);color:white;padding:8px 15px;text-decoration:none;border-radius:4px}
.ouen-lp .photo-label{bottom:12px}
.ouen-lp .hero-note{font-size:14px}
}
.ouen-lp .course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ouen-lp .course-button{width:100%;font:inherit;font-weight:bold;padding:13px 8px;background:#e4ebe6;color:#41574a;border:1px solid #cdd8d1;border-radius:4px;cursor:not-allowed}
@media(max-width:800px){
.ouen-lp .course-grid{grid-template-columns:1fr}
}
.ouen-lp .brand img{display:block;width:115px;height:auto;max-height:68px;object-fit:contain}
.ouen-lp .campaign-brand{text-align:center;padding:30px 0 0}
.ouen-lp .campaign-brand img{display:block;width:min(100%,680px);height:auto;margin:auto}
.ouen-lp .campaign-brand + .notice{margin-top:24px}
@media(max-width:700px){
.ouen-lp .brand img{width:88px;max-height:58px}
.ouen-lp .campaign-brand{padding-top:24px}
}
.ouen-lp .hero{min-height:790px}
.ouen-lp .hero:after{background:linear-gradient(90deg,rgba(6,39,26,.91),rgba(6,39,26,.6) 55%,rgba(6,39,26,.12))}
.ouen-lp .hero-inner{padding-top:40px;padding-bottom:50px}
.ouen-lp .hero-campaign{display:inline-block;background:#fff;border-radius:5px;padding:12px 20px;margin-top:16px;max-width:610px;width:100%}
.ouen-lp .hero .hero-campaign img{position:static;display:block;width:100%;height:auto;object-fit:contain}
.ouen-lp .hero h1{margin:20px 0 15px;font-size:clamp(38px,4.5vw,60px);line-height:1.4}
.ouen-lp .hero h1 em{font-style:normal;color:#ffe58b}
.ouen-lp .support-copy{font-size:18px;line-height:1.9;margin:0 0 22px}
.ouen-lp .key-notices{margin-top:34px;border:2px solid #bd2536;border-radius:6px;background:#fff9f8;padding:26px}
.ouen-lp .key-heading{display:flex;gap:14px;align-items:center;margin-bottom:20px}
.ouen-lp .key-heading h2{font-size:23px;margin:0}
.ouen-lp .attention-label{display:inline-block;background:#bd2536;color:#fff;font-size:14px;font-weight:bold;padding:3px 12px;border-radius:3px;white-space:nowrap}
.ouen-lp .attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ouen-lp .attention-grid a{display:block;background:#fff;padding:20px;border:1px solid #e7c2c5;border-top:4px solid #bd2536;text-decoration:none;border-radius:4px}
.ouen-lp .attention-grid a:hover{border-color:#bd2536}
.ouen-lp .attention-timing{display:block;color:#a72030;font-size:14px;font-weight:bold;margin-bottom:8px}
.ouen-lp .attention-grid strong{display:block;font-size:19px;line-height:1.6}
.ouen-lp .attention-grid p{font-size:14px;margin:10px 0 0;line-height:1.9}
.ouen-lp .coupon-warning{background:#fff2e4;border-left:5px solid #b45b00;padding:20px 24px;margin:20px 0 28px}
.ouen-lp .coupon-warning strong{color:#8a3900;font-size:19px}
.ouen-lp .coupon-warning p{margin:8px 0 0}
.ouen-lp .important-detail{background:#fff6f5;border:1px solid #e7b4b8;border-left:5px solid #bd2536;padding:22px 24px;margin:20px 0;border-radius:4px}
.ouen-lp .important-detail summary{color:#972130;line-height:1.9}
.ouen-lp .important-detail summary .attention-label{margin-right:10px}
.ouen-lp .important-detail p{color:#18362c}
.ouen-lp .refund-detail{background:#edf4ef;border:1px solid #afcbbb;padding:22px 24px;border-radius:4px;margin:20px 0}
.ouen-lp .refund-detail summary{color:#174d3b}
.ouen-lp .card:has(span[style]){border-top-color:#bd2536}
.ouen-lp .hero-note{max-width:630px}
.ouen-lp #coupon-warning,.ouen-lp #signature-warning,.ouen-lp #cancel-warning{scroll-margin-top:30px}
@media(max-width:800px){
.ouen-lp .attention-grid{grid-template-columns:1fr}
.ouen-lp .key-heading{align-items:flex-start}
.ouen-lp .key-heading h2{font-size:20px}
.ouen-lp .key-notices{padding:20px}
.ouen-lp .hero-campaign{padding:10px 12px}
.ouen-lp .hero{min-height:820px}
.ouen-lp .hero h1{font-size:38px}
.ouen-lp .support-copy{font-size:16px}
.ouen-lp .important-detail,.ouen-lp .refund-detail{padding:20px 18px}
.ouen-lp .hero-inner{padding-top:30px}
.ouen-lp .attention-grid strong{font-size:18px}
}
@font-face{font-family:KaiseiDecol;src:url('../fonts/kaisei-decol.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Yomogi;src:url('../fonts/yomogi.ttf') format('truetype');font-weight:400;font-display:swap}
.ouen-lp .hero h1{font-family:KaiseiDecol,'Yu Mincho',serif;font-weight:700;font-size:clamp(40px,4.8vw,68px);letter-spacing:.04em;line-height:1.55;text-shadow:0 3px 12px #09271a66}
.ouen-lp .hero h1 em{display:inline-block;transform:rotate(-2deg);padding:0 5px 7px;background:linear-gradient(transparent 84%,#ffe58b55 84%,#ffe58b55 94%,transparent 94%)}
.ouen-lp .support-copy{font-family:Yomogi,'Yu Gothic',sans-serif;font-size:25px;font-weight:400;line-height:1.65}
.ouen-lp .section-label{font-family:Yomogi,'Yu Gothic',sans-serif;font-size:18px}
.ouen-lp .course-grid h3,.ouen-lp #discount h2,.ouen-lp #courses h2{font-family:KaiseiDecol,'Yu Mincho',serif;font-weight:700}
.ouen-lp .hero .eyebrow{letter-spacing:.05em}
@media(max-width:700px){
.ouen-lp .hero h1{font-size:37px;letter-spacing:.01em}
.ouen-lp .support-copy{font-size:21px}
.ouen-lp .section-label{font-size:17px}
}
/* Decorative accents for campaign sections */
.ouen-lp #courses,.ouen-lp #discount{position:relative}
.ouen-lp #courses:before,.ouen-lp #discount:before{content:'';display:block;width:95px;height:12px;background:repeating-linear-gradient(120deg,#ffe258 0 8px,transparent 8px 15px);margin-bottom:20px;transform:rotate(-5deg)}
.ouen-lp #courses>.section-label,.ouen-lp #discount>.section-label{display:inline-block;background:#ffe258;color:#18362c;padding:5px 18px;border-radius:3px;transform:rotate(-2deg);box-shadow:3px 3px 0 #18362c;margin-bottom:16px}
.ouen-lp #courses>h2,.ouen-lp #discount>h2{width:fit-content;background:linear-gradient(transparent 80%,#ffe258 80%,#ffe258 95%,transparent 95%);padding-bottom:8px}
.ouen-lp .course-grid{margin-top:30px}
.ouen-lp .course-grid .card{position:relative;background:linear-gradient(145deg,#fff 80%,#fff6c7 80%);border:2px solid #174d3b;border-radius:18px 5px 18px 5px;box-shadow:5px 6px 0 #e5eee7;overflow:hidden}
.ouen-lp .course-grid .card:before{content:'';display:block;width:68px;height:9px;background:repeating-linear-gradient(90deg,#bd2536 0 4px,transparent 4px 10px);margin-bottom:15px}
.ouen-lp .course-grid .card:nth-child(2){border-color:#b85d00;background:linear-gradient(145deg,#fff 80%,#fff0df 80%)}
.ouen-lp .course-grid .card:nth-child(3){border-color:#236499;background:linear-gradient(145deg,#fff 80%,#eaf4ff 80%)}
.ouen-lp .course-grid h3{font-size:28px}
.ouen-lp .course-grid .course-button{border-radius:30px}
.ouen-lp .cards .card{position:relative;border:2px solid #bd2536;border-radius:16px;margin-top:16px;box-shadow:5px 6px 0 #fff0b8}
.ouen-lp .cards .card h3{display:inline-block;background:#ffe258;color:#18362c;padding:8px 20px;border-radius:3px;transform:rotate(-2deg);margin-bottom:8px}
.ouen-lp .cards .cap{font-size:44px}
.ouen-lp .cards .card>div[style]{border-radius:8px;border:1px dashed #174d3b}
.ouen-lp .pale{background-color:#eff6ef;background-image:radial-gradient(#174d3b15 1.2px,transparent 1.2px);background-size:20px 20px;border-top:2px dashed #b5cdb8;border-bottom:2px dashed #b5cdb8}
.ouen-lp .pale .result{border:2px solid #174d3b;border-radius:18px 6px 18px 6px;box-shadow:7px 7px 0 #ffe258}
.ouen-lp .steps{gap:24px}
.ouen-lp .step{padding:22px;border:1px dashed #99b2a2;border-radius:12px;background:#fbfdfb}
.ouen-lp .step .num{display:inline-flex;align-items:center;justify-content:center;width:57px;height:57px;border-radius:50%;border:2px solid #18362c;background:#ffe258;color:#18362c;transform:rotate(-7deg);font-weight:bold}
.ouen-lp .step:nth-child(2) .num{background:#ffdfc0;transform:rotate(6deg)}
.ouen-lp .step:nth-child(3) .num{background:#d7edff;transform:rotate(-4deg)}
.ouen-lp .sales{position:relative;background-color:#174d3b;background-image:repeating-linear-gradient(135deg,transparent 0 24px,#ffffff06 24px 26px)}
.ouen-lp .sales:before{content:'';display:block;margin:0 auto 24px;width:100px;height:12px;background:repeating-linear-gradient(120deg,#ffe258 0 8px,transparent 8px 15px)}
.ouen-lp .sales .eyebrow{display:inline-block;background:#ffe258;color:#18362c;padding:5px 18px;border-radius:3px;transform:rotate(-2deg);margin-bottom:18px}
.ouen-lp .sales h2{font-family:KaiseiDecol,'Yu Mincho',serif}
.ouen-lp .key-notices{box-shadow:5px 5px 0 #f7dcdf}
.ouen-lp .attention-grid a{border-radius:8px}
.ouen-lp .important-detail{box-shadow:3px 3px 0 #f4e1e2}
@media(max-width:700px){
.ouen-lp .course-grid .card,.ouen-lp .cards .card{box-shadow:3px 4px 0 #e5eee7}
.ouen-lp .pale .result{box-shadow:4px 4px 0 #ffe258}
.ouen-lp .course-grid h3{font-size:25px}
.ouen-lp .cards .cap{font-size:38px}
.ouen-lp #courses>.section-label,.ouen-lp #discount>.section-label{max-width:100%;transform:rotate(-1deg)}
}
.ouen-lp .copy-code{display:block;margin:12px 0 4px;padding:9px 20px;border:2px solid #174d3b;border-radius:30px;background:#fff;color:#174d3b;font:inherit;font-size:15px;font-weight:bold;cursor:pointer}
.ouen-lp .copy-code:hover{background:#ffe258}
.ouen-lp .copy-status{display:block;font-size:14px;font-weight:normal;line-height:1.7}
.ouen-lp .kumamoto-art{display:block;width:min(100%,900px);height:auto;margin:30px auto 10px}
.ouen-lp #courses,.ouen-lp #discount,.ouen-lp .wrap.calc{position:relative}
.ouen-lp .scattered-art{display:block;position:absolute;overflow:hidden;pointer-events:none;width:115px;height:95px;opacity:.8}
.ouen-lp .scattered-art img{position:absolute;max-width:none;width:410px;height:auto;top:-5px}
.ouen-lp .art-castle{right:4px;top:28px}
.ouen-lp .art-castle img{left:0}
.ouen-lp .art-lotus{right:2px;top:38px;width:105px;height:95px}
.ouen-lp .art-lotus img{width:430px;left:-320px;top:-10px}
.ouen-lp .art-aso{right:30px;bottom:-47px;width:155px;height:70px;opacity:.65}
.ouen-lp .art-aso img{width:350px;left:-99px;top:-20px}
.ouen-lp #courses>.section-label,.ouen-lp #discount>.section-label{max-width:calc(100% - 130px)}
@media(max-width:700px){
.ouen-lp .scattered-art{width:76px;height:66px}
.ouen-lp .scattered-art img{width:280px}
.ouen-lp .art-castle{top:20px;right:0}
.ouen-lp .art-lotus{width:70px;height:66px;top:22px;right:0}
.ouen-lp .art-lotus img{width:290px;left:-218px;top:-7px}
.ouen-lp .art-aso{width:120px;height:50px;bottom:-35px;right:0}
.ouen-lp .art-aso img{width:275px;left:-79px;top:-15px}
.ouen-lp #courses>.section-label,.ouen-lp #discount>.section-label{max-width:calc(100% - 88px)}
}
.ouen-lp #courses{margin-top:38px;padding:40px 30px;background:#eef5ff;border:1px solid #c4d6eb;border-radius:12px;border-top:8px solid #28649a}
.ouen-lp #courses:before,.ouen-lp #discount:before{display:none}
.ouen-lp #courses>.section-label{background:#28649a;color:#fff;box-shadow:none;transform:none}
.ouen-lp #courses>h2{background:none;color:#17466e}
.ouen-lp #discount{margin-top:45px;padding:40px 30px;background:#fff9e4;border:1px solid #e9d998;border-radius:12px;border-top:8px solid #e2b900}
.ouen-lp #discount>.section-label{box-shadow:none;transform:none}
.ouen-lp #discount>h2{background:none}
.ouen-lp .pale{margin-top:55px;border-top:6px solid #174d3b;border-bottom:0;padding:55px 0}
.ouen-lp .pale h2{font-size:35px;color:#174d3b}
.ouen-lp #how-to{margin-top:50px;padding:40px 28px;border:1px solid #d4ddd5;border-top:8px solid #596d60;border-radius:12px;background:#fff}
.ouen-lp #how-to>.section-label{font-family:inherit;font-size:14px}
.ouen-lp #conditions{max-width:none;margin-top:50px;background:#fff7f6;border:2px solid #bd2536;border-radius:12px;padding:35px 28px}
.ouen-lp #conditions>.section-label{font-family:inherit;font-size:14px;background:#bd2536;color:#fff;display:inline-block;padding:5px 15px;border-radius:3px}
.ouen-lp #conditions>h2{color:#a82132}
.ouen-lp #conditions>.important-detail{background:#fff}
.ouen-lp #faq{max-width:none;margin-top:45px;padding:35px 28px;border:1px solid #d7dfe7;border-top:8px solid #54697d;border-radius:12px;background:#f5f8fb;margin-bottom:50px}
.ouen-lp #faq>.section-label{font-family:inherit;font-size:14px;color:#43586c}
.ouen-lp .refund-detail{background:#eaf4ec;border:2px solid #174d3b;margin:28px 0;padding:25px}
.ouen-lp .refund-detail>summary{font-size:22px}
.ouen-lp .booking-math{margin-top:22px;background:#fff;border:1px solid #b4cbbc;padding:24px;border-radius:8px}
.ouen-lp .booking-math h3{margin:0 0 12px;font-size:20px}
.ouen-lp .booking-math ol{list-style:none;counter-reset:math;padding:0;margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ouen-lp .booking-math li{counter-increment:math;position:relative;padding:18px 18px 18px 50px;border:1px solid #c7d8cd;background:#f7faf7;border-radius:6px}
.ouen-lp .booking-math li:before{content:counter(math);position:absolute;left:15px;top:17px;background:#174d3b;color:#fff;border-radius:50%;width:25px;height:25px;text-align:center;line-height:25px;font-weight:bold}
.ouen-lp .booking-math li strong{display:block;font-size:16px}
.ouen-lp .booking-math li span{display:block;font-size:14px;line-height:1.9;margin-top:8px}
.ouen-lp .booking-math .math-conclusion{background:#fff4c5;padding:16px;border-left:4px solid #b08700;color:#18362c;margin-bottom:0}
.ouen-lp #courses>.section-label,.ouen-lp #discount>.section-label{max-width:100%}
@media(max-width:700px){
.ouen-lp #courses,.ouen-lp #discount,.ouen-lp #how-to,.ouen-lp #conditions,.ouen-lp #faq{padding:28px 20px;margin-top:32px}
.ouen-lp .booking-math{padding:20px 16px}
.ouen-lp .booking-math ol{grid-template-columns:1fr}
.ouen-lp .refund-detail{padding:20px 16px}
.ouen-lp .refund-detail>summary{font-size:19px}
.ouen-lp .pale h2{font-size:29px}
}
/* Big Holiday Kyushu reference: navy headings, blue-teal actions, clean cards */
.ouen-lp{--ink:#333;--green:#003c61}
.ouen-lp .hero:after{background:linear-gradient(90deg,rgba(0,40,64,.89),rgba(0,50,66,.58) 56%,rgba(0,45,70,.08))}
.ouen-lp .hero .btn{background:linear-gradient(120deg,#00aab5,#0582cb);color:#fff;border-radius:50px;padding:15px 36px;box-shadow:0 3px 8px #0003}
.ouen-lp .page-nav{display:grid;grid-template-columns:repeat(4,1fr);background:#003c61;padding:0 max(20px,calc((100vw - 1120px)/2));box-shadow:0 3px 8px #003c6126}
.ouen-lp .page-nav a{color:white;text-align:center;text-decoration:none;padding:18px 10px;font-size:15px;font-weight:bold;border-right:1px dashed #ffffff70}
.ouen-lp .page-nav a:last-child{border:0}
.ouen-lp .page-nav a:hover{background:#007ac1}
.ouen-lp .wrap{max-width:1180px}
.ouen-lp h2{color:#003c61}
.ouen-lp section>.section-label{color:#007ac1}
.ouen-lp #courses{background:#f7fafc;border-top:0;border-radius:8px;padding:44px 36px}
.ouen-lp #courses>.section-label,.ouen-lp #courses>h2{text-align:center}
.ouen-lp .course-grid .card{background:#fff;border-top:5px solid #007ac1!important;box-shadow:0 3px 12px #003c6115;border-radius:8px}
.ouen-lp .course-grid .card:nth-child(2){border-top-color:#00aab5!important}
.ouen-lp .course-grid .card:nth-child(3){border-top-color:#003c61!important}
.ouen-lp .course-grid .card h3{color:#003c61}
.ouen-lp .course-button{border-radius:50px;background:#e7edf1;color:#576776}
.ouen-lp #discount{background:#fff;border-top:0;padding:56px 36px}
.ouen-lp #discount>.section-label,.ouen-lp #discount>h2{text-align:center}
.ouen-lp #discount .intro{margin:0 auto 30px;max-width:900px}
.ouen-lp #discount .card{border-top-color:#007ac1;background:#fff;box-shadow:0 3px 12px #003c6115}
.ouen-lp #discount .card:nth-child(2){border-top-color:#00aab5}
.ouen-lp .period{background:#edf7fb;border-left:5px solid #00aab5}
.ouen-lp .copy-code{background:linear-gradient(120deg,#00aab5,#0582cb);border-color:#007ac1;border-radius:50px}
.ouen-lp .pale{background:#f0f7fa;border-top:5px solid #00aab5}
.ouen-lp #how-to{border-top-color:#003c61;background:white}
.ouen-lp .num{background:#003c61;color:#fff}
.ouen-lp #conditions h2{color:#9f1f2f}
.ouen-lp #faq{background:#fafafa;border-top:0}
.ouen-lp #faq summary{color:#003c61}
.ouen-lp .sales{background:linear-gradient(120deg,#003c61,#007ac1);background-image:linear-gradient(120deg,#003c61,#007ac1)}
.ouen-lp .sales h2{color:white}
.ouen-lp .sticky a{background:linear-gradient(120deg,#00aab5,#0582cb)}
@media(max-width:700px){
.ouen-lp .page-nav{padding:0}
.ouen-lp .page-nav a{font-size:12px;padding:14px 5px}
.ouen-lp .wrap{padding:0 18px}
.ouen-lp #courses,.ouen-lp #discount{padding:32px 20px}
.ouen-lp .hero .btn{padding:13px 24px}
}
.ouen-lp .payment-guide{margin:36px 0 0;padding:24px;background:#fff;border:2px solid #bd2536;border-radius:8px}
.ouen-lp .payment-guide figcaption{margin-bottom:18px;color:#a72030}
.ouen-lp .payment-guide figcaption strong{display:block;font-size:21px}
.ouen-lp .payment-guide figcaption span{display:block;color:#333;margin-top:5px}
.ouen-lp .payment-guide img{display:block;width:100%;height:auto;border:1px solid #ddd}
.ouen-lp .payment-guide p{margin-bottom:0}
@media(max-width:700px){
.ouen-lp .payment-guide{padding:14px}
.ouen-lp .payment-guide figcaption strong{font-size:18px}
}
.ouen-lp .sale-preview{padding:9px 20px;background:#fff4cc;color:#654a00;text-align:center;font-size:13px;font-weight:bold}
.ouen-lp .notice{border-color:#b7dce5;border-left-color:#007ac1;background:#eff9fc}
.ouen-lp .notice .badge{color:#007ac1}
.ouen-lp .reservation-unset{font-size:12px;color:#69747a;text-align:center}
.ouen-lp .sale-course-link{display:inline-block;background:white;color:#003c61;padding:15px 35px;border-radius:50px;font-weight:bold;text-decoration:none}
@media(max-width:700px){
.ouen-lp .sale-preview{font-size:11px}
}
.ouen-lp .official-check{margin-top:22px;padding:22px;background:#fff;border:2px solid #bd2536;border-radius:6px}
.ouen-lp .official-check strong{font-size:19px;color:#a72030}
.ouen-lp .official-check p{margin:8px 0 14px}
.ouen-lp .official-check a{display:inline-block;background:#bd2536;color:#fff;padding:12px 22px;border-radius:5px;font-weight:bold;text-decoration:none}
.ouen-lp .official-check a:hover{background:#9e1f2d}
@media(max-width:700px){
.ouen-lp .official-check{padding:18px}
.ouen-lp .official-check strong{font-size:17px}
.ouen-lp .official-check a{display:block;text-align:center;padding:12px;font-size:14px}
}
@media(max-width:700px){
.ouen-lp .page-nav{gap:0}
.ouen-lp .page-nav a{display:flex;align-items:center;justify-content:center;min-height:64px;line-height:1.5;overflow-wrap:anywhere}
.ouen-lp .page-nav a:last-child{display:flex}
}
.ouen-lp .hero-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:62% 38%;grid-template-rows:55% 45%;gap:5px;background:#fff}
.ouen-lp .hero .hero-mosaic img{position:static;width:100%;height:100%;min-height:0;object-fit:cover}
.ouen-lp .hero-mosaic .mosaic-main{grid-column:1;grid-row:1/3}
.ouen-lp .hero-mosaic .mosaic-autumn{grid-column:2;grid-row:1}
.ouen-lp .hero .hero-mosaic .mosaic-food-one{position:absolute;left:62%;top:55%;width:19%;height:45%;border-left:5px solid white;border-top:5px solid white}
.ouen-lp .hero .hero-mosaic .mosaic-food-two{position:absolute;left:81%;top:55%;width:19%;height:45%;border-left:5px solid white;border-top:5px solid white}
.ouen-lp .hero:after{background:linear-gradient(90deg,rgba(0,32,49,.9),rgba(0,35,52,.68) 42%,rgba(0,35,52,.12) 70%)}
@media(max-width:700px){
.ouen-lp .hero-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:62% 38%}
.ouen-lp .hero-mosaic .mosaic-main{grid-column:1/3;grid-row:1}
.ouen-lp .hero-mosaic .mosaic-autumn{grid-column:1;grid-row:2}
.ouen-lp .hero .hero-mosaic .mosaic-food-one{left:50%;top:62%;width:25%;height:38%}
.ouen-lp .hero .hero-mosaic .mosaic-food-two{left:75%;top:62%;width:25%;height:38%}
.ouen-lp .hero:after{background:linear-gradient(180deg,rgba(0,32,49,.72),rgba(0,32,49,.8) 65%,rgba(0,32,49,.26))}
.ouen-lp .hero-inner{padding-bottom:180px}
}
.ouen-lp .course-grid .card{display:flex;flex-direction:column;align-items:stretch}
.ouen-lp .course-grid .card:before{flex-shrink:0}
.ouen-lp .course-grid .course-button{margin-top:auto;min-height:54px;flex-shrink:0}
.ouen-lp .course-grid .card>p.minor{margin-bottom:28px}
.ouen-lp .course-grid .reservation-unset{min-height:22px;margin:12px 0 0}
.ouen-lp .fields{align-items:stretch}
.ouen-lp .fields label{display:flex;flex-direction:column;gap:0}
.ouen-lp .fields input,.ouen-lp .fields select{margin-top:auto;height:58px;min-height:58px;box-sizing:border-box;flex-shrink:0}
.ouen-lp .fields label{padding-top:0}
.ouen-lp .fields label input,.ouen-lp .fields label select{margin-top:auto}
.ouen-lp .fields label:has(input),.ouen-lp .fields label:has(select){row-gap:8px}
@media(max-width:700px){
.ouen-lp .fields{display:grid;grid-template-columns:1fr;gap:18px}
.ouen-lp .fields label{min-width:0}
.ouen-lp .course-grid .course-button{margin-top:0}
}
.ouen-lp .hero-campaign{max-width:460px;padding:0;overflow:hidden}
.ouen-lp .hero .hero-campaign img{width:100%;height:auto}
.ouen-lp .hero h1{margin-top:18px}
@media(max-width:700px){
.ouen-lp .hero-campaign{max-width:320px}
}
.ouen-lp .nagasaki-top-banner{width:100%;background:#fff}
.ouen-lp .nagasaki-top-banner img{display:block;width:100%;max-width:1200px;height:auto;margin:0 auto}
.ouen-lp .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ouen-lp .nagasaki-top-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1200px) minmax(0,1fr);align-items:stretch;gap:6px;background:#fff}
.ouen-lp .nagasaki-top-banner>img{width:100%;max-width:none;min-width:0;align-self:center}
.ouen-lp .banner-food{position:relative;margin:0;min-width:0;overflow:hidden;background:#efe9de}
.ouen-lp .nagasaki-top-banner .banner-food img{width:100%;height:100%;object-fit:cover;max-width:none}
.ouen-lp .banner-food figcaption{position:absolute;bottom:0;left:0;right:0;padding:16px 6px;background:linear-gradient(transparent,#000a);color:white;text-align:center;font-size:13px}
.ouen-lp .banner-food-left{grid-column:1}
.ouen-lp .banner-food-right{grid-column:3}
@media(max-width:1500px){
.ouen-lp .nagasaki-top-banner{grid-template-columns:16% minmax(0,1fr) 16%}
}
@media(max-width:700px){
.ouen-lp .nagasaki-top-banner{grid-template-columns:1fr 1fr;gap:5px}
.ouen-lp .nagasaki-top-banner>img{grid-column:1/-1;grid-row:1}
.ouen-lp .banner-food-left{grid-column:1;grid-row:2}
.ouen-lp .banner-food-right{grid-column:2;grid-row:2}
.ouen-lp .nagasaki-top-banner .banner-food img{height:130px;object-fit:cover}
.ouen-lp .banner-food figcaption{padding:15px 6px 6px;font-size:12px}
}
.ouen-lp .banner-food-stack{display:grid;grid-template-rows:1fr 1fr;gap:6px;min-width:0;min-height:0}
.ouen-lp .banner-food-stack .banner-food{grid-column:auto;grid-row:auto;min-height:0}
.ouen-lp .nagasaki-top-banner .banner-food-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){
.ouen-lp .banner-food-stack{grid-template-columns:1fr 1fr;grid-template-rows:130px;gap:5px}
.ouen-lp .banner-food-stack.banner-food-left{grid-column:1/-1;grid-row:2}
.ouen-lp .banner-food-stack.banner-food-right{grid-column:1/-1;grid-row:3}
.ouen-lp .nagasaki-top-banner .banner-food-stack img{height:100%}
}
.ouen-lp .banner-food figcaption{text-align:right;padding:20px 10px 8px;font-size:14px}
@media(max-width:700px){
.ouen-lp .nagasaki-top-banner{display:block}
.ouen-lp .nagasaki-top-banner .banner-food-stack{display:none}
}
.ouen-lp .course-grid a.course-button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;text-decoration:none;cursor:pointer;line-height:1.5;background:#007ac1;color:#fff;border-color:#007ac1}
.ouen-lp .course-grid a.course-button:hover{background:#005f98;border-color:#005f98}
.ouen-lp .course-grid a.course-button:focus-visible{outline:3px solid #bd2536;outline-offset:4px}
.ouen-lp .departure-label{font-weight:bold;margin:0 0 12px}
.ouen-lp .departure-picker{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin-bottom:24px}
.ouen-lp .departure-choice{font:inherit;font-weight:bold;font-size:18px;padding:16px 10px;border:2px solid #007ac1;border-radius:8px;background:#fff;color:#005487;cursor:pointer}
.ouen-lp .departure-choice[aria-pressed="true"]{background:#007ac1;color:#fff}
.ouen-lp .departure-choice:focus-visible{outline:3px solid #bd2536;outline-offset:3px}
.ouen-lp .departure-heading{font-size:22px;color:#003c61;margin:0 0 20px}
.ouen-lp .departure-panel[hidden]{display:none}
.ouen-lp .departure-panel button.course-button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:default}
@media(max-width:700px){
.ouen-lp .departure-picker{gap:8px}
.ouen-lp .departure-choice{font-size:16px;padding:13px 8px}
}

/* --- 県タブ（熊本・長崎の行き来） --- */
.ouen-lp .pref-tabs{background:#f3f6f9;border-bottom:1px solid #d9e2ea}
.ouen-lp .pref-tabs--bottom{border-top:1px solid #d9e2ea;border-bottom:0}
.ouen-lp .pref-tabs-inner{max-width:1180px;margin:auto;padding:10px 28px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ouen-lp .pref-tabs-label{font-size:13px;font-weight:bold;color:#43586c;white-space:nowrap}
.ouen-lp .pref-tabs ul{list-style:none;margin:0;padding:0;display:flex;gap:8px}
.ouen-lp .pref-tabs li a,.ouen-lp .pref-tabs li span{display:inline-block;min-width:110px;text-align:center;padding:9px 18px;border:2px solid #007ac1;border-radius:50px;font-size:15px;font-weight:bold;text-decoration:none;line-height:1.3}
.ouen-lp .pref-tabs li a{background:#fff;color:#005487}
.ouen-lp .pref-tabs li a:hover{background:#e3f1fa}
.ouen-lp .pref-tabs li.is-current span{background:#007ac1;color:#fff}
@media(max-width:700px){
.ouen-lp .pref-tabs-inner{padding:8px 16px;gap:8px 12px}
.ouen-lp .pref-tabs ul{flex:1}
.ouen-lp .pref-tabs li{flex:1}
.ouen-lp .pref-tabs li a,.ouen-lp .pref-tabs li span{display:block;min-width:0;padding:8px 6px;font-size:14px}
}

/* --- バナー下の説明ブロック（長崎のみ追加） --- */
.ouen-lp .hero-lead{background:#003c61;background-image:linear-gradient(120deg,#002a47,#0b4f78);color:#fff}
.ouen-lp .hero-lead-inner{max-width:1180px;margin:auto;padding:26px 28px 30px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px 40px;align-items:center}
.ouen-lp .hero-lead .eyebrow{grid-column:1/-1;font-size:14px;letter-spacing:.1em;font-weight:bold}
.ouen-lp .hero-lead-title{margin:0 0 10px;font-family:KaiseiDecol,'Yu Mincho',serif;font-weight:700;font-size:clamp(28px,3.2vw,44px);line-height:1.4;letter-spacing:.03em;text-shadow:0 2px 8px #00203166}
.ouen-lp .hero-lead-title em{font-style:normal;color:#ffe58b;display:inline-block;transform:rotate(-2deg);padding:0 5px 5px;background:linear-gradient(transparent 84%,#ffe58b55 84%,#ffe58b55 94%,transparent 94%)}
.ouen-lp .hero-lead .hero-note{max-width:none;margin:0 0 6px;font-size:14px}
.ouen-lp .hero-lead .btn{margin-top:10px;background:linear-gradient(120deg,#00aab5,#0582cb);color:#fff;border-radius:50px;padding:14px 32px;box-shadow:0 3px 8px #0003}
.ouen-lp .hero-lead .offer{justify-content:center;gap:18px}
.ouen-lp .hero-lead .offer p{font-size:18px;line-height:1.4}
.ouen-lp .hero-lead .offer b{font-size:80px}
.ouen-lp .hero-lead .offer b small{font-size:32px}
@media(max-width:700px){
.ouen-lp .hero-lead-inner{grid-template-columns:1fr;gap:6px;padding:16px 20px 20px}
.ouen-lp .hero-lead .eyebrow{font-size:12px}
.ouen-lp .hero-lead-title{font-size:27px;line-height:1.35;margin:4px 0 6px;letter-spacing:.02em}
.ouen-lp .hero-lead .offer{justify-content:flex-start;gap:8px;order:-1;margin-top:4px}
.ouen-lp .hero-lead .offer p{font-size:14px;line-height:1.3}
.ouen-lp .hero-lead .offer b{font-size:50px;line-height:1}
.ouen-lp .hero-lead .offer b small{font-size:22px}
.ouen-lp .hero-lead .hero-note{font-size:12px;line-height:1.6}
.ouen-lp .hero-lead .btn{padding:11px 20px;font-size:14px}
}
