/*
Theme Name: Sakura Hills
Description: さくらヒルズの住宅プロモーション用クラシックテーマ。レスポンシブLP・カスタマイザー対応。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Author: Sakura Home Development
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sakura-hills
*/
:root{--ink:#263d3b;--muted:#61736f;--green:#397976;--sky:#eef7f8;--orange:#c96128;--line:#dce7e4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:'Noto Sans JP',sans-serif;color:var(--ink);font-size:16px;line-height:1.9;background:#fff}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #388eaa;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}header{height:98px;display:flex;align-items:center;gap:28px;padding:0 4%;background:#fff;position:relative;z-index:10}.brand{display:flex;gap:10px;align-items:center;white-space:nowrap}.brand svg{width:43px;height:43px;fill:none;stroke:var(--green);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.brand .sun{stroke:var(--orange)}.brand>span{font-weight:800;font-size:24px;letter-spacing:.06em;line-height:1.35}.brand small{display:block;font-size:10px;letter-spacing:.23em;margin-top:7px;color:var(--green)}nav{display:flex;gap:25px;margin-left:auto;font-size:13px;font-weight:600}nav a:hover{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--orange);color:white;border:0;border-radius:5px;font-weight:700;line-height:1.5;padding:18px 25px;transition:background .2s,transform .2s}.button:hover{background:#ad4b18;transform:translateY(-2px)}.button span{font-size:23px;font-weight:400}.header-cta{font-size:14px}.large{padding:23px 30px;min-width:305px}.menu-toggle{display:none}.hero{position:relative;min-height:730px;background:#f1f7f5;overflow:hidden}.hero-photo{position:absolute;right:0;top:0;width:65%;height:645px;overflow:hidden;border-radius:90px 0 0 0}.hero-photo img{object-position:60% center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f1f7f5 0%,rgba(241,247,245,.92) 4%,rgba(241,247,245,.4) 24%,transparent 48%)}.image-note{position:absolute;right:18px;bottom:15px;font-size:12px;background:#ffffffd9;padding:3px 9px;z-index:1}.hero-copy{position:relative;z-index:2;padding:64px 0 65px 8%;width:56%;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--green);margin:0 0 23px}.eyebrow>span{display:inline-block;width:7px;height:7px;border-radius:100%;background:var(--green);vertical-align:2px;margin-right:7px}h1{font-size:clamp(36px,3.7vw,57px);line-height:1.55;letter-spacing:.05em;margin:0 0 22px;font-weight:800}h1>span{color:var(--green)}.lead{font-size:15px;line-height:2.05;margin:0 0 28px;letter-spacing:.025em}.cta-caption{font-size:11px;margin-top:13px;color:var(--muted)}.campaign-badge{z-index:3;position:absolute;right:4%;bottom:114px;width:205px;height:205px;border-radius:50%;border:6px solid white;outline:1px solid #f1d19c;background:#fff8e9;color:#a84b1c;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 7px 22px #1b3b3515;transform:rotate(7deg);line-height:1.55}.campaign-badge>span{font-size:13px;font-weight:600}.campaign-badge strong{font-size:19px}.campaign-badge b{font-size:37px;font-family:Arial,sans-serif;letter-spacing:-1px}.campaign-badge small{font-size:9px;margin-top:5px}.campaign-badge i{font-style:normal;margin-left:8px}.hero-bottom{height:85px;position:absolute;bottom:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 5% 0 8%;font-size:10px;letter-spacing:.16em;color:var(--green)}.hero-bottom p{font-size:12px;letter-spacing:.15em;line-height:1.9}.wrap{max-width:1180px;margin:auto;width:84%}.quick-facts{padding:42px 0;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.quick-facts>div{display:flex;gap:16px;align-items:center;justify-content:center;border-right:1px solid var(--line)}.quick-facts>div:last-child{border:0}.quick-facts p{font-size:12px;line-height:1.6;margin:0}.fact-icon{font-size:30px;color:var(--green)}.quick-facts big{display:block;font-size:17px;font-weight:600}.quick-facts b{font-size:30px;color:var(--green)}.section{padding-top:100px;padding-bottom:100px}h2{font-size:32px;line-height:1.65;letter-spacing:.055em;margin:0 0 28px;font-weight:700}h3{font-size:19px;line-height:1.8;margin:0 0 12px}p{margin:0 0 20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:60px}.about-text{font-size:15px;line-height:2.1}.tags{display:flex;gap:12px;margin-top:27px}.tags span{color:var(--green);border:1px solid #c6d9d2;padding:5px 20px;border-radius:3px;font-size:13px}.centered{text-align:center}.worries{background:var(--sky)}.worry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:43px}.worry-grid article{background:white;padding:30px 30px 20px;border-radius:8px}.worry-grid article>span{font-size:13px;letter-spacing:.1em;color:var(--green);border-bottom:1px solid #b1cfcc;display:inline-block;margin-bottom:19px}.worry-grid p{font-size:14px;color:var(--muted)}.worry-answer{text-align:center;margin:40px 0 0;font-size:20px}.worry-answer strong{color:var(--green)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.section-title>p{font-size:14px;color:var(--muted)}.feature-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:65px}.feature-photo{position:relative;border-radius:8px;overflow:hidden;min-height:590px}.feature-photo img{position:absolute;object-position:61% center}.feature-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#123e37aa)}.feature-photo>span{position:absolute;bottom:35px;left:30px;color:white;font-size:19px;z-index:1;letter-spacing:.06em}.feature-list article{display:flex;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}.feature-list article:first-child{padding-top:0}.feature-list article>span{font-size:25px;color:var(--green);font-weight:500;line-height:1.5}.feature-list p{font-size:14px;line-height:1.95;color:var(--muted);margin-bottom:0}.note{font-size:12px;line-height:1.9;color:var(--muted);margin:24px 0 0}.plan{background:#ecf5f1}.plan-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.plan-inner>div>p{font-size:14px}.plan-card{background:white;border-radius:8px;padding:35px}.pill{font-size:12px;color:var(--green);background:#edf5f1;border-radius:3px;padding:6px 12px;display:inline-block;margin-bottom:20px}.plan-card h3{font-size:22px}.plan-card p{color:var(--muted)}dl{margin:20px 0}dl>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:16px 0;font-size:13px}dd{margin:0;font-weight:500}dt{color:var(--muted)}.text-link{border:0;background:none;padding:0;color:var(--green);font-weight:600;font-size:14px}.text-link span{margin-left:25px}.plan-card small{display:block;color:var(--muted);font-size:11px;margin-top:15px}.section-sub{font-size:14px;color:var(--muted);margin-top:-10px}.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}.voices article{border:1px solid var(--line);padding:25px 30px;border-radius:5px}.quote{color:#83aea5;font-family:Georgia,serif;line-height:1;font-size:65px;display:block;height:47px}.voices p{font-size:16px;line-height:2}.voices footer{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:17px}.flow{background:var(--sky)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:50px}.steps article{position:relative}.steps article:not(:last-child):after{content:'→';position:absolute;right:-36px;top:68px;color:#8bafac}.steps article>span{color:var(--green);font-size:12px;letter-spacing:.1em}.steps b{font-size:35px;margin-left:8px;font-weight:500}.steps h3{margin:15px 0}.steps p{color:var(--muted);font-size:14px;margin:0}.narrow{max-width:830px;width:84%;margin:auto}.faq-list{margin-top:43px}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer;font-size:16px;font-weight:500;padding:23px 0}summary::-webkit-details-marker{display:none}summary>span{color:var(--green);font-weight:600;font-size:21px}summary i{margin-left:auto;font-style:normal;color:var(--green)}details[open] summary i{transform:rotate(45deg)}details>p{font-size:14px;padding:0 35px 10px 43px;color:var(--muted)}.news{padding:10px 0 100px;display:grid;grid-template-columns:1fr 2fr;gap:60px}.news h2{font-size:26px}.news-list summary{font-size:14px}.news-list summary>span{font-size:9px;min-width:105px;letter-spacing:.08em}.booking{background:#edf6f6}.booking h2{font-size:34px}.booking .centered>p:not(.eyebrow):not(.note){font-size:14px}.campaign-inline{display:flex;justify-content:center;align-items:center;gap:24px;color:#a55025;margin-top:32px}.campaign-inline>span{border:1px solid #c89978;padding:5px 14px;font-size:13px}.campaign-inline strong{font-size:19px}.campaign-inline b{font-size:32px}.form-shell{background:white;border-radius:9px;max-width:840px;margin:45px auto 0;box-shadow:0 12px 50px #29535b06;overflow:hidden}.form-tabs{display:flex;background:#ddebe9}.form-tabs button{width:50%;border:0;padding:23px 8px;font-size:16px;color:var(--green);background:transparent;font-weight:600}.form-tabs button[aria-selected=true]{background:#fff;box-shadow:inset 0 4px var(--green)}form{padding:34px 45px 45px}form>p:first-child{font-size:13px;color:var(--muted);margin-bottom:27px}label{display:block;font-size:14px;font-weight:500;margin-bottom:23px}em{font-size:10px;font-style:normal;color:#a75023;margin-left:7px}input,select,textarea{width:100%;display:block;border:1px solid #cddbd6;background:#fff;border-radius:3px;padding:12px 13px;color:var(--ink);font-size:15px;margin-top:8px;min-height:48px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-notice{font-size:12px;line-height:1.9;padding:14px 17px;background:#f5f7f6;color:var(--muted)}form>.button{display:flex;margin:25px auto 0}.contact-bottom{display:flex;align-items:center;flex-direction:column;margin-top:35px;font-size:14px}.contact-bottom p{margin-bottom:5px}.contact-bottom>span{margin-top:22px}.contact-bottom small{font-size:12px;color:var(--muted);margin-top:6px}.site-footer{padding-top:55px;padding-bottom:25px}.footer-top{display:flex;justify-content:space-between;gap:35px;font-size:12px;color:var(--muted)}.footer-top strong{color:var(--ink);font-size:14px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:25px;padding-top:25px;font-size:10px;color:var(--muted)}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom button{font-size:10px;color:inherit;border:0;background:none;padding:0}.mobile,.mobile-bar{display:none}dialog{border:0;border-radius:10px;width:min(620px,90vw);padding:45px;color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:#102e2bbb;backdrop-filter:blur(4px)}dialog h2{font-size:25px}dialog p{font-size:14px}.dialog-close{position:absolute;right:18px;top:9px;font-size:28px;border:0;background:none;color:var(--ink)}#confirmation-details>div{display:block}#confirmation-details dd{margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(min-width:1500px){.hero-copy{padding-left:max(8%,calc((100vw - 1250px)/2))}.hero-photo{width:64%}.hero{min-height:780px}.hero-photo{height:695px}h1{font-size:60px}.hero-copy{padding-top:73px}}
@media(max-width:1100px){header{gap:20px;padding:0 3%;height:84px}nav{gap:17px;font-size:11px}.brand>span{font-size:21px}.brand svg{width:35px}.header-cta{padding:16px;font-size:12px;gap:12px}.hero-copy{padding-left:6%;width:60%}.hero-photo{width:68%}.hero{min-height:710px}.hero-photo{height:625px}.campaign-badge{width:175px;height:175px;right:3%;bottom:120px}.campaign-badge b{font-size:30px}.wrap{width:88%}.quick-facts>div{gap:10px}.quick-facts big{font-size:14px}.fact-icon{font-size:24px}.feature-layout{gap:35px}.feature-list h3{font-size:17px}.worry-grid{gap:15px}.worry-grid article{padding:25px}.plan-inner{gap:35px}.voices article{padding:23px}.footer-top{flex-wrap:wrap}.footer-bottom{font-size:10px}}
@media(max-width:760px){html{scroll-padding-top:25px}header{height:79px;padding:0 5%;gap:15px}.brand>span{font-size:21px}.brand svg{width:34px}.brand small{font-size:8px}.header-cta{margin-left:auto;font-size:11px;padding:13px 12px;gap:8px}.header-cta span{display:none}.menu-toggle{display:block;border:0;background:none;color:var(--green);font-size:0;padding:8px;order:3}.menu-toggle span{font-size:23px}nav{display:none;position:absolute;top:79px;left:0;width:100%;background:white;padding:20px 6%;box-shadow:0 10px 20px #173b351a;flex-direction:column;font-size:15px;gap:0}nav.open{display:flex}nav a{padding:10px}.hero{min-height:925px;padding-top:340px}.hero-photo{top:0;width:100%;height:390px;border-radius:35px 0 0 0}.hero-photo img{object-position:65% 48%}.hero-photo:after{background:linear-gradient(0deg,#f1f7f5,transparent 45%)}.image-note{bottom:75px;font-size:9px}.hero-copy{padding:0 7% 55px;width:100%}.hero-copy .eyebrow{font-size:10px;letter-spacing:.05em;margin-bottom:15px}h1{font-size:34px;line-height:1.5;letter-spacing:.03em}h1>span br{display:none}.lead{font-size:13px;line-height:1.95;margin-bottom:22px}.large{min-width:0;width:100%;padding:21px 20px;font-size:15px;justify-content:space-between}.cta-caption{text-align:center;font-size:10px;margin-bottom:0}.campaign-badge{width:135px;height:135px;border-width:4px;right:5%;top:230px;bottom:auto}.campaign-badge>span{font-size:10px}.campaign-badge strong{font-size:13px}.campaign-badge b{font-size:24px}.campaign-badge div{font-size:11px}.campaign-badge small{font-size:6px}.hero-bottom{height:50px;padding:0 7%;font-size:8px}.hero-bottom>p{display:none}.hero-bottom>span:first-child{font-size:7px}.wrap,.narrow{width:86%}.quick-facts{padding:22px 0;grid-template-columns:1fr 1fr;gap:22px 0}.quick-facts>div{justify-content:flex-start;padding:0 9px;gap:11px}.quick-facts>div:nth-child(2){border:0}.quick-facts p{font-size:10px}.quick-facts big{font-size:13px}.quick-facts b{font-size:23px}.fact-icon{font-size:24px}.section{padding-top:65px;padding-bottom:65px}h2{font-size:25px;line-height:1.7;margin-bottom:24px}.eyebrow{font-size:10px;margin-bottom:15px}.about{grid-template-columns:1fr;gap:10px}.about-text{font-size:14px}.tags{gap:9px}.tags span{font-size:11px;padding:5px 17px}.mobile{display:block}.worry-grid{grid-template-columns:1fr;margin-top:30px;gap:15px}.worry-grid article{padding:25px;display:grid;grid-template-columns:40px 1fr;gap:0 10px}.worry-grid article>span{border:0;margin-bottom:0;padding-top:3px}.worry-grid h3{font-size:18px}.worry-grid h3 br{display:none}.worry-grid p{grid-column:2;margin-bottom:0;font-size:13px}.worry-grid p br{display:none}.worry-answer{font-size:15px;margin-top:27px}.section-title{display:block}.section-title>p{font-size:13px}.feature-layout{grid-template-columns:1fr;gap:30px}.feature-photo{min-height:320px}.feature-photo img{object-position:center 60%}.feature-photo>span{font-size:16px;left:25px;bottom:25px}.feature-list article{gap:19px;padding:22px 0}.feature-list p{font-size:13px}.note{font-size:10px}.plan-inner{grid-template-columns:1fr;gap:22px}.plan-card{padding:25px 22px}.plan-card h3{font-size:19px}.plan-card dl>div{font-size:11px}.voices{grid-template-columns:1fr;gap:18px;margin-top:28px}.voices article{padding:24px}.voices p{font-size:15px}.steps{grid-template-columns:1fr;gap:30px;margin-top:30px}.steps article{padding-left:75px}.steps article>span{position:absolute;left:0;top:0;line-height:1.6}.steps b{display:block;margin:0}.steps h3{margin:0 0 10px;font-size:18px}.steps article:not(:last-child):after{display:none}.steps p{font-size:13px}.faq-list{margin-top:22px}summary{font-size:14px;gap:12px;padding:21px 0}summary>span{font-size:18px}.news{grid-template-columns:1fr;gap:5px;padding-bottom:65px}.news h2{font-size:24px}.news-list summary{flex-wrap:wrap;gap:5px 10px;font-size:12px;padding:18px 0}.news-list summary>span{min-width:0;width:100%;font-size:9px}.news-list summary>i{display:none}.booking h2{font-size:24px}.booking .centered>p:not(.eyebrow):not(.note){font-size:13px}.campaign-inline{flex-direction:column;gap:10px}.campaign-inline strong{font-size:17px}.campaign-inline b{font-size:28px}.form-shell{margin-top:30px}.form-tabs button{font-size:14px;padding:19px 5px}form{padding:24px 22px 30px}.form-row{grid-template-columns:1fr;gap:0}label{font-size:13px;margin-bottom:19px}input,textarea,select{font-size:16px}.form-notice{font-size:11px}.contact-bottom{font-size:12px;text-align:center}.contact-bottom>span{font-size:11px}.footer-top{flex-direction:column;gap:20px;font-size:11px}.footer-top p{margin-bottom:0}.site-footer{padding-top:40px;padding-bottom:95px}.footer-bottom{flex-direction:column;gap:13px;margin-top:27px}.footer-bottom>div{gap:12px}.mobile-bar{position:fixed;z-index:8;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(10px);padding:12px 5%;display:flex;align-items:center;gap:10px;box-shadow:0 -2px 20px #22443c12}.mobile-bar>span{font-size:9px;line-height:1.6;max-width:90px}.mobile-bar .button{margin-left:auto;font-size:13px;padding:14px 20px}.footer-bottom small{font-size:9px}dialog{padding:35px 25px}dialog h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;top:10px;left:10px;z-index:99999;background:white;padding:15px}.integrated-form{padding:30px}.integrated-form form{padding:0}.wp-content-area{min-height:55vh}.wp-content-area img{height:auto;max-width:100%}.wp-content-area h1{font-size:32px}.wp-content-area article{margin-bottom:40px}.wp-content-area a{text-decoration:underline}.wp-content-area .alignwide{max-width:100%}.wp-content-area iframe{max-width:100%}
