*{margin:0;padding:0;box-sizing:border-box;scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',sans-serif;background:#f9f9f9;color:#111;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;transition:opacity .3s;}
a:hover{opacity:.8;}
.header{width:100%;background:#ffd400;position:sticky;top:0;z-index:999;}
.header::after,.hero::after{content:"";display:block;height:12px;background:repeating-linear-gradient(-45deg,#111 0,#111 12px,#ffd400 12px,#ffd400 24px);}
.header-inner{width:1200px;height:100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;}
.logo-area{display:flex;flex-direction:column;width:240px;box-shrink:0;box-sizing:border-box;}
.logo{border:4px solid #111;border-bottom:none;background:#ffd400;width:100%;height:52px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;overflow:hidden;}
.logo img{width:100%;height:100%;object-fit:contain;display:block;}
.logo-sub{font-size:11px;letter-spacing:0.05em;font-weight:900;background:#111;color:#fff;padding:5px 0;border:4px solid #111;border-top:none;text-align:center;line-height:1;width:100%;height:26px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;text-transform:none;}
.nav{display:flex;gap:24px;margin-left:auto;margin-right:30px;}
.nav a{font-size:14px;font-weight:700;display:flex;align-items:center;gap:4px;}
.nav-arrow{border:solid #111;border-width:0 2px 2px 0;display:inline-block;padding:2.5px;transform:rotate(45deg);margin-bottom:4px;}
.header-sns{display:flex;gap:12px;align-items:center;}
.sns-icon{width:36px;height:36px;background:#111;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:8px;}
.sns-icon svg{fill:#ffd400;width:100%;height:100%;}
.hero{width:100%;background:#ffd400;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:url('../img/hero-bg.jpg') center/cover no-repeat;opacity:0.25;}
.hero-inner{width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:50px;padding:80px 0 90px;position:relative;z-index:2;}
.hero-left{display:flex;flex-direction:column;justify-content:center;}
.hero-copy{font-size:20px;font-weight:700;margin-bottom:20px;}
.hero-title-area{width:max-content;margin-bottom:30px;display:flex;flex-direction:column;gap:4px;align-items:stretch;}
.hero-title-row{display:flex;align-items:center;width:100%;font-size:80px;font-weight:900;line-height:1.0;letter-spacing:0.02em;color:#111;white-space:nowrap;}
.hero-title-row span{display:inline-block;}
.hero-online-wrap{width:100%;margin-top:12px;display:flex;}
.hero-online-bar{width:100%;background:#111;color:#fff;font-size:20px;font-weight:900;padding:8px 0;letter-spacing:0.46em;text-align:center;text-indent:0.46em;line-height:1;white-space:nowrap;box-sizing:border-box;}
.hero-text{font-size:18px;line-height:1.8;font-weight:700;max-width:600px;margin-bottom:0;}
.section{padding:90px 0;}
.container{width:1200px;margin:0 auto;}
.section-title-wrap{display:flex;align-items:center;margin-bottom:45px;border-left:8px solid #ffd400;padding-left:16px;}
.index-section-title{font-size:36px;font-weight:900;line-height:1;letter-spacing:0.02em;}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.feature-card--preparing{position:relative;overflow:hidden;}
.feature-card--preparing::after{content:"只今準備中";position:absolute;inset:0;background:rgba(160,160,160,0.7);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#fff;letter-spacing:0.12em;pointer-events:all;cursor:default;text-shadow:0 1px 4px rgba(0,0,0,0.25);}
.feature-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,0.04);display:flex;flex-direction:column;justify-content:space-between;border:1px solid #eef0f2;}
.feature-icon-wrap{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.feature-icon{width:44px;height:44px;background:#ffd400;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:10px;flex-shrink:0;}
.feature-icon svg{fill:#111;width:100%;height:100%;}
.feature-title{font-size:18px;font-weight:900;line-height:1.3;}
.feature-text{font-size:14px;line-height:1.6;color:#444;margin-bottom:20px;flex-grow:1;}
.feature-image{height:160px;border-radius:12px;overflow:hidden;position:relative;display:block;}
.feature-image img{width:100%;height:100%;object-fit:cover;}
.card-arrow-btn{position:absolute;right:12px;bottom:12px;width:32px;height:32px;background:#111;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.card-arrow-btn::after{content:"";border:solid #ffd400;border-width:0 2px 2px 0;display:inline-block;padding:3.5px;transform:rotate(-45deg);margin-right:2px;}
.map-area{margin-bottom:60px;width:100%;padding-top:0px;}
.map-iframe-wrapper{width:100%;height:auto;overflow:visible;background:none;}
.info-area{display:grid;grid-template-columns:1fr 440px;gap:30px;margin-top:60px;align-items:stretch;}
.info-box{background:#fff;border-radius:24px;padding:40px;box-shadow:0 10px 35px rgba(0,0,0,0.04);display:flex;flex-direction:column;justify-content:space-between;border:1px solid #eef0f2;}
.info-title{font-size:32px;font-weight:900;margin-bottom:24px;letter-spacing:0.05em;}
.info-list{display:flex;flex-direction:column;gap:18px;flex-grow:1;margin-bottom:24px;}
.info-item{display:flex;gap:24px;padding-bottom:16px;border-bottom:1px solid #edeef0;align-items:baseline;}
.info-date{font-size:14px;font-weight:700;color:#666;width:90px;flex-shrink:0;}
.info-text{font-size:15px;line-height:1.5;font-weight:500;}
.info-btn{height:48px;padding:0 28px;background:#111;color:#fff;border-radius:999px;font-size:14px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:10px;align-self:start;}
.side-boxes{display:flex;flex-direction:column;gap:20px;}
.download-box{background:#ffd400;border-radius:24px;padding:30px;box-shadow:0 10px 35px rgba(255,212,0,0.15);flex:1;display:flex;align-items:center;}
.download-title{font-size:24px;font-weight:900;line-height:1.2;margin-bottom:8px;}
.download-text{font-size:13px;line-height:1.6;font-weight:700;margin-bottom:16px;color:#222;}
.download-btn{height:44px;padding:0 20px;background:#111;color:#fff;border-radius:999px;font-size:13px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:10px;}
.btn-icon-dl-white{width:12px;height:12px;background:#fff;clip-path:polygon(35% 0%, 65% 0%, 65% 50%, 100% 50%, 50% 100%, 0% 50%, 35% 50%);}
.contact-box{background:#fff;border-radius:24px;padding:30px;box-shadow:0 10px 35px rgba(0,0,0,0.04);border:3px solid #1111113b;flex:1;display:flex;align-items:center;}
.contact-title{font-size:24px;font-weight:900;line-height:1.2;margin-bottom:8px;color:#111;}
.contact-text{font-size:13px;line-height:1.6;font-weight:700;margin-bottom:16px;color:#444;}
.contact-btn{height:44px;padding:0 20px;background:#111;color:#fff;border-radius:999px;font-size:13px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:10px;}
.btn-arrow-white{border:solid #fff;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(-45deg);}
.about-wrap{display:grid;grid-template-columns:1fr 520px;gap:50px;align-items:start;}
.about-title{font-size:48px;font-weight:900;line-height:1.2;margin-bottom:24px;}
.about-text-lead{font-size:18px;line-height:1.8;font-weight:700;margin-bottom:20px;}
.about-text-sub{font-size:15px;line-height:1.8;color:#444;font-weight:500;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.about-grid img{border-radius:12px;height:160px;object-fit:cover;width:100%;box-shadow:0 8px 20px rgba(0,0,0,0.05);}
.seminar-prep-box{background:#fff;border-radius:24px;padding:60px 40px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,0.04);border:1px solid #eef0f2;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.prep-icon{width:80px;height:80px;margin-bottom:20px;background:#ffd400;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:18px;flex-shrink:0;}
.prep-icon svg{fill:#111;width:100%;height:100%;}
.prep-title{font-size:24px;font-weight:900;margin-bottom:14px;color:#111;}
.prep-text{font-size:15px;line-height:1.8;color:#555;max-width:600px;font-weight:500; text-align: left;}
/* .footer{width:100%;background:#ffd400;margin-top:100px;border-top:8px solid #111;position:relative;}
.footer::before{content:"";display:block;height:12px;background:repeating-linear-gradient(-45deg,#111 0,#111 12px,#ffd400 12px,#ffd400 24px);position:absolute;top:-20px;left:0;width:100%;}
.footer-inner{width:1200px;margin:0 auto;padding:60px 0;display:flex;justify-content:space-between;align-items:flex-start;}
.footer-left{width:300px;display:flex;flex-direction:column;gap:16px;box-shrink:0;}
.footer-copy{font-size:11px;font-weight:700;color:#222;line-height:1.5;}
.footer-nav{display:flex;gap:40px;flex-grow:1;justify-content:flex-end;}
.footer-col{width:140px;}
.footer-col-title{font-size:15px;font-weight:900;margin-bottom:16px;border-bottom:2px solid #111;padding-bottom:6px;}
.footer-col a{display:block;font-size:13px;line-height:2.2;color:#111;font-weight:700;}
.footer-sns-col{display:flex;flex-direction:column;gap:12px;padding-top:35px;box-shrink:0;}
.sns-icon-black{width:36px;height:36px;background:#111;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:8px;}
.sns-icon-black svg{fill:#ffd400;width:100%;height:100%;} */
.pagetop-btn{position:fixed;right:24px;bottom:24px;width:48px;height:48px;background:#111;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.2);z-index:99;}
.pagetop-btn::after{content:"";border:solid #ffd400;border-width:0 3px 3px 0;display:inline-block;padding:4.5px;transform:rotate(-135deg);margin-top:4px;}
/* 追加：ヘッダーの高さ分、ページ内リンクをオフセット */
.section, #map-section, #info-section { scroll-margin-top: 60px; }
/* ...以下略... */
/* モーダル閉じるボタン: 赤丸に白× */
.modal-close{position:absolute;top:15px;right:15px;width:30px;height:30px;border-radius:50%;background:#e53e3e;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1;}


/* 準備中ボタン グレーアウト */
[data-preparing]{background:#aaa !important;color:#fff !important;cursor:not-allowed !important;opacity:0.7;pointer-events:auto !important;}

/* フッター高さ短縮 */
.footer-compact{background:#ffd400;padding:20px 0;text-align:center;font-size:12px;color:#718096;border-top:1px solid #e2e8f0;}

/* ハンバーガーボタン（PC時は非表示） */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:6px;flex-shrink:0;z-index:1100;}
.hamburger span{display:block;width:24px;height:2px;background:#111;border-radius:2px;transition:transform .3s,opacity .3s;}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.is-open span:nth-child(2){opacity:0;}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* モバイルナビドロワー（右側・幅は画面全体にしない） */
.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;width:300px;background:#ffd400;z-index:1050;box-shadow:-6px 0 32px rgba(0,0,0,0.18);pointer-events:none;opacity:0;transform:translateX(20px);transition:opacity .25s,transform .25s;overflow-y:auto;}
.mobile-nav-overlay.is-open{pointer-events:auto;opacity:1;transform:translateY(0);}
.mobile-nav{display:flex;flex-direction:column;padding:24px 32px 36px;gap:0;position:relative;}
.mobile-nav-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#e53e3e;border:none;cursor:pointer;flex-shrink:0;}
.mobile-nav-close::before,.mobile-nav-close::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;background:#fff;border-radius:2px;}
.mobile-nav-close::before{transform:translate(-50%,-50%) rotate(45deg);}
.mobile-nav-close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.mobile-nav-link{font-size:14px;font-weight:900;color:#111;padding:18px 0;border-bottom:2px solid rgba(0,0,0,0.12);display:block;letter-spacing:0.02em;}
.mobile-nav-link:first-child{border-top:2px solid rgba(0,0,0,0.12);margin-top:16px;}
.mobile-nav-sns{display:flex;gap:16px;margin-top:32px;}

@media(max-width:1240px){
	.header-inner,.hero-inner,.container,.footer-inner{width:94%;}
	.hero-inner{grid-template-columns:1fr;gap:40px;padding:50px 0;}
	.hero-title{font-size:80px;}
	.feature-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
	.info-area{grid-template-columns:1fr;gap:40px;}
	.about-wrap{grid-template-columns:1fr;gap:40px;}
	.footer-inner{flex-direction:column;gap:40px;}
	.footer-nav{width:100%;justify-content:space-between;flex-wrap:wrap;gap:20px;}}
@media(max-width:768px){
	.nav,.header-sns{display:none;}
	.hamburger{display:flex;}
	.logo-area{width:180px;}
	.logo{height:42px;border-width:3px;}
	.logo img{transform:scale(0.95);}
	.logo-sub{font-size:9px;height:20px;border-width:3px;margin-top:-3px;}
	.hero-inner{padding:40px 0;}
	.hero-left{align-items:center;text-align:center;}
	.hero-copy{font-size:14px;margin-bottom:12px;}
	.hero-title-area{width:100%;max-width:320px;margin:0 auto 24px;transform:scale(0.9);transform-origin:center center;}
	.hero-title-row{font-size:54px;text-align:center;justify-content:center;}
	.hero-online-bar{font-size:15px;padding:6px 0;letter-spacing:0.1em;text-indent:0.1em;}
	.hero-text{font-size:14px;line-height:1.6;margin-bottom:0;max-width:100%;}
	.feature-grid,.footer-nav{grid-template-columns:1fr;}
	.section{padding: 40px 0;}
	.index-section-title{font-size:24px;}
	.map-area{padding-top:60px;}
	.about-title{font-size:26px;margin-bottom:16px;}
	.seminar-prep-box{padding:40px 20px;}
	.info-area{grid-template-columns:1fr;gap:16px;}
	.info-box{padding:24px 20px;}
	.info-item{gap:12px;}
	.info-date{width:80px;}
	.side-boxes{gap:16px;}
	.download-box,.contact-box{padding:24px 20px;}
	.footer-col{width:100%;}
	.footer-left{width:100%;align-items:center;}
	.footer-sns-col{flex-direction:row;justify-content:center;padding-top:20px;width:100%;}}