
html { scroll-behavior: smooth; overflow-x:hidden; }
body { overflow-x:hidden; }
.tsukky-shell { width: min(1100px, calc(100% - 2rem)); margin: 0 auto; }
.tsukky-page { background: #F7F2EA; color: #2E2A26; min-height: 100vh; }
.tsukky-form-hero { padding: 9rem 0 4rem; background: linear-gradient(rgba(46,42,38,.82),rgba(46,42,38,.78)), url('./images/hero-bg.webp') center/cover; color: #FFFDF8; }
.tsukky-form-hero h1 { font-size: clamp(2rem,5vw,3.5rem); margin: .4rem 0 1rem; }.tsukky-form-hero em { color: #C59A5A; font-style: normal; }
.tsukky-form-section { padding: 5rem 0; }.tsukky-form-layout { display:grid; grid-template-columns: minmax(240px,.72fr) minmax(0,1.28fr); gap:3rem; align-items:start; }.tsukky-form-layout aside { padding:2rem; background:#EDE8DF; border-top:4px solid #C59A5A; }.tsukky-form-layout h2,.tsukky-prose h1 { margin-top:0; }
.tsukky-eyebrow { color:#B65A3C; font-size:.75rem; letter-spacing:.12em; font-weight:700; }.tsukky-prose { max-width:820px; line-height:2; }
.wpcf7-form p { margin:0 0 1.15rem; }.wpcf7-form label { display:block; color:#2E2A26; font-weight:700; font-size:.9rem; }.wpcf7-form input:not([type=checkbox]), .wpcf7-form select, .wpcf7-form textarea { width:100%; margin-top:.35rem; box-sizing:border-box; border:1px solid #D4C4A8; background:#FFFDF8; padding:.8rem; font:inherit; border-radius:4px; }.wpcf7-form textarea { min-height:130px; }.wpcf7-form input[type=submit] { width:100%; border:0; border-radius:4px; background:#B65A3C; color:#FFFDF8; padding:1rem; font:700 1rem 'Noto Sans JP',sans-serif; cursor:pointer; }.tsukky-in-person { display:none; }.tsukky-in-person.is-visible { display:block; }
	.wp-faq-answer { padding:0 0 1.5rem 2rem; color:#6B6560; font-family:'Noto Sans JP',sans-serif; font-size:1rem; line-height:1.9; }.wp-faq-answer span { color:#C59A5A; font-family:'Oswald',sans-serif; font-size:1.1rem; margin-right:.5rem; }.wp-business-faq-answer { margin:-.15rem 0 1rem 1.65rem; color:#6B6560; font-family:'Noto Sans JP',sans-serif; font-size:.86rem; line-height:1.8; }.wp-business-faq-answer strong { color:#C59A5A; margin-right:.5rem; }.wp-faq-form-link { display:inline-flex; margin-top:.55rem; color:#B65A3C; font-size:.86rem; font-weight:700; text-decoration:none; border-bottom:1px solid #B65A3C; }.wp-theme-agenda { margin:.8rem 0 0; padding:.8rem 0 0 1.4rem; border-top:1px dashed #D4C4A8; color:#6B6560; font-family:'Noto Sans JP',sans-serif; font-size:.8rem; line-height:1.8; }.wp-theme-agenda li { padding-left:.15rem; }
	@media (max-width: 800px) { .tsukky-form-layout { grid-template-columns:1fr; gap:1.5rem; } .tsukky-form-hero { padding-top:7rem; } }
	/* Home LP: the static WordPress export is rendered at desktop width, so these rules explicitly override its inline desktop grids on phones. */
	@media (max-width: 767px) {
	  #top { width:100%; overflow-x:clip; }
	  #top section { overflow-x:hidden; }
	  #top > nav > div { padding:0 1rem !important; }
	  #top > nav > div > div > a:not(:last-child) { display:none !important; }
	  #top > nav > div > div > a:last-child { margin-left:0 !important; padding:.45rem .7rem !important; font-size:.76rem !important; }
	  #reasons .container > div:nth-child(2),
	  #services .container > div:nth-child(2),
	  #seminar .container > div:nth-child(2),
	  #corporate .container > div:nth-child(2),
	  #themes .container > div:nth-child(2),
	  #pricing .container > div:nth-child(2),
	  #contact .container > div:nth-child(2),
	  #corporate .slide-in-left > div[style*="grid-template-columns"] { grid-template-columns:minmax(0,1fr) !important; width:100%; }
	  #stats, #reasons, #seminar { background-attachment:scroll !important; background-position:center center !important; }
	  #seminar .slide-in-left, #seminar .slide-in-right, #corporate .slide-in-left, #corporate .slide-in-right { transform:translateY(16px); }
	  #seminar .slide-in-left.visible, #seminar .slide-in-right.visible, #corporate .slide-in-left.visible, #corporate .slide-in-right.visible { transform:translateY(0); }
	  #seminar .btn-primary, #seminar .btn-gold, #corporate .btn-primary, #corporate .btn-gold, #contact .btn-line-main, #contact .btn-gold { width:100% !important; max-width:100% !important; min-height:3.35rem; box-sizing:border-box; padding:.8rem 1rem; white-space:normal; text-align:center; line-height:1.4; }
	  #contact .btn-line-main { font-size:1rem; }
	}
