/*
Theme Name: HIMARI ESTATE Fullwidth V5
Template: lightning
Version: 5.0.0
*/

/* ========== 全体 ========== */
:root{
  --h5-pink:#e98d98;
  --h5-brown:#4c3528;
  --h5-text:#4c4039;
  --h5-line:#efe3df;
  --h5-bg:#fffaf8;
  --h5-side:48px;
}
html,body.himari-v5{margin:0!important;padding:0!important;overflow-x:hidden!important}
body.himari-v5{background:#fff;color:var(--h5-text);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}
body.himari-v5 *,body.himari-v5 *:before,body.himari-v5 *:after{box-sizing:border-box}
body.himari-v5 a{text-decoration:none;color:inherit}
body.himari-v5 #page,body.himari-v5 .site,body.himari-v5 #main,body.himari-v5 .site-content,body.himari-v5 .site-content-inner,body.himari-v5 .main-section,body.himari-v5 .container{max-width:none!important;margin:0!important;padding:0!important}
.h5-wrap{width:calc(100% - (var(--h5-side) * 2));margin:0 auto}

/* ========== ヘッダー ========== */
.h5-header{position:relative;z-index:100;width:100%;height:102px;background:#fff;border-bottom:1px solid #f1e8e5}
.h5-header__inner{height:100%;width:calc(100% - (var(--h5-side) * 2));margin:0 auto;display:flex;align-items:center;gap:28px}
.h5-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;min-width:285px}
.h5-brand__mark{display:block;width:75px;height:75px;object-fit:contain}
.h5-brand__word{display:flex;flex-direction:column;line-height:1;white-space:nowrap}
.h5-brand__word strong{font-family:Georgia,"Times New Roman",serif;color:var(--h5-brown);font-size:27px;font-weight:500;letter-spacing:.12em}
.h5-brand__word em{position:absolute;margin-left:121px;margin-top:5px;color:var(--h5-pink);font-family:sans-serif;font-size:16px;font-style:normal;font-weight:600;letter-spacing:.05em}
.h5-brand__word small{margin-top:17px;color:#a27b67;font-family:sans-serif;font-size:9px;letter-spacing:.1em}
.h5-nav{display:flex;align-items:center;justify-content:center;gap:clamp(13px,1.25vw,25px);flex:1 1 auto}
.h5-nav a{position:relative;padding:8px 0;color:var(--h5-brown)!important;font-size:clamp(13px,1vw,16px);letter-spacing:.06em;white-space:nowrap}
.h5-nav a:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--h5-pink);transform:scaleX(0);transition:.2s}
.h5-nav a:hover:after{transform:scaleX(1)}
.h5-header__tel{flex:0 0 auto;text-align:right;white-space:nowrap}
.h5-header__tel strong{display:block;color:var(--h5-brown);font-family:Georgia,"Times New Roman",serif;font-size:clamp(23px,1.9vw,33px);line-height:1.1}
.h5-header__tel strong span{color:#d92843;font-family:Arial,sans-serif;font-size:.86em}
.h5-header__tel small{display:block;margin-top:4px;color:#765f54;font-family:sans-serif;font-size:10px}
.h5-menu-toggle{display:none;margin-left:auto;width:44px;height:42px;padding:8px;border:0;background:transparent}
.h5-menu-toggle span{display:block;height:2px;margin:6px 0;background:var(--h5-brown)}

/* ========== ヒーロー：絶対配置で文字と丸が重ならない ========== */
.h5-hero{position:relative;min-height:610px;overflow:hidden;background:#fff}
.h5-hero__photo{position:absolute;inset:0 0 0 38%;background-repeat:no-repeat;background-size:cover;background-position:center}
.h5-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 33%,rgba(255,255,255,.75) 50%,rgba(255,255,255,.13) 76%,transparent 100%)}
.h5-hero__inner{position:relative;height:610px}
.h5-hero__copy{position:absolute;top:72px;left:0;z-index:2}
.h5-hero__copy h1{margin:0;color:var(--h5-brown);font-size:clamp(44px,4vw,71px);font-weight:500;line-height:1.45;letter-spacing:.14em}
.h5-hero__copy h1 span{color:var(--h5-pink)}
.h5-hero__copy p{margin:22px 0 0;color:var(--h5-brown);font-family:sans-serif;font-size:clamp(14px,1.08vw,18px);font-weight:700;line-height:2;letter-spacing:.05em}
.h5-hero__circles{position:absolute;z-index:3;left:0;bottom:34px;display:flex;gap:18px}
.h5-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:142px;height:142px;padding:12px 8px;border:1px solid #f0ddd9;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(84,57,43,.08);text-align:center}
.h5-circle svg{width:39px;height:39px;margin-bottom:8px;fill:none;stroke:var(--h5-pink);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.h5-circle--gold svg{stroke:#d99b45}.h5-circle--red svg{stroke:#e94d63}
.h5-circle span{color:var(--h5-brown);font-family:sans-serif;font-size:13px;font-weight:700;line-height:1.45}.h5-circle--small span{font-size:10px}.h5-circle b{white-space:nowrap}
.h5-contact-card{position:absolute;z-index:4;top:50%;right:0;transform:translateY(-50%);width:320px;padding:28px;border-radius:8px;background:rgba(255,255,255,.95);box-shadow:0 16px 44px rgba(78,54,43,.14);text-align:center}
.h5-contact-card>p{margin:0 0 12px;color:var(--h5-brown);font-size:15px}
.h5-contact-card__tel{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--h5-brown);font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1.15}
.h5-contact-card__tel span{color:#d92843;font-family:Arial,sans-serif;font-size:.87em}.h5-contact-card__tel strong{font-weight:700;white-space:nowrap}
.h5-contact-card small{display:block;margin:10px 0 18px;color:#725d54;font-family:sans-serif;font-size:10px;white-space:nowrap}
.h5-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border-radius:5px;background:var(--h5-pink);color:#fff!important;font-family:sans-serif;font-size:15px;font-weight:700}
.h5-contact-card .h5-button{display:flex;width:100%;margin-top:10px;min-height:53px;font-size:16px}.h5-button--line{background:#2dbd45}

/* ========== 見出し・セクション ========== */
.h5-section,.h5-bottom{width:100%;padding:76px 0}.h5-section--business{background:var(--h5-bg)}.h5-bottom{background:#fff}
.h5-title{margin:0 0 42px;text-align:center}.h5-title h2{margin:0;color:var(--h5-brown);font-size:clamp(28px,2.2vw,39px);font-weight:500;letter-spacing:.14em}.h5-title span{display:block;margin-top:10px;color:var(--h5-pink);font-family:sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em}

/* ========== 強み ========== */
.h5-strengths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.h5-strengths article{overflow:hidden;border:1px solid var(--h5-line);border-radius:6px;background:#fff;box-shadow:0 8px 24px rgba(73,51,40,.05)}.h5-strengths img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.h5-strengths article>div{padding:24px}.h5-strengths h3{margin:0 0 14px;color:var(--h5-brown);font-size:18px;text-align:center}.h5-strengths p{margin:0;font-family:sans-serif;font-size:13px;line-height:2}

/* ========== 事業カード ========== */
.h5-business-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.h5-business-grid>a{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:370px;overflow:hidden;border-radius:6px;background-position:center;background-size:cover;color:#fff!important}.h5-business-grid>a:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 15%,rgba(0,0,0,.8) 100%)}.h5-business-grid>a>div{width:100%;padding:26px}.h5-business-grid h3{margin:0 0 12px;color:#fff;font-size:clamp(19px,1.45vw,27px);line-height:1.4;text-shadow:0 1px 6px rgba(0,0,0,.3)}.h5-business-grid p{margin:0;color:#fff;font-family:sans-serif;font-size:13px;line-height:1.9;text-shadow:0 1px 6px rgba(0,0,0,.3)}.h5-business-grid span{display:inline-flex;justify-content:center;min-width:135px;margin-top:18px;padding:10px 18px;border:1px solid rgba(255,255,255,.85);border-radius:3px;font-family:sans-serif;font-size:13px}

/* ========== 下部 ========== */
.h5-bottom__grid{display:grid;grid-template-columns:1.18fr .82fr;gap:56px}.h5-company{display:grid;grid-template-columns:40% 1fr;gap:30px;align-items:center}.h5-company img{display:block;width:100%;aspect-ratio:1.45/1;object-fit:cover;border-radius:5px}.h5-company h2{margin:0 0 14px;color:var(--h5-brown);font-size:clamp(22px,1.7vw,31px);font-weight:500;line-height:1.6}.h5-company p{margin:0 0 20px;font-family:sans-serif;font-size:14px;line-height:2}.h5-news__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--h5-line)}.h5-news__head h2{margin:0;color:var(--h5-brown);font-size:26px;font-weight:500}.h5-news__head a{font-family:sans-serif;font-size:13px}.h5-news__item{display:grid;grid-template-columns:112px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--h5-line);font-family:sans-serif;font-size:14px}.h5-news__item time{color:#826e63}.h5-footer{padding:30px 20px;background:#44362e;color:#fff;font-family:sans-serif;font-size:13px;text-align:center}.h5-footer p{margin:0}

/* ========== レスポンシブ ========== */
@media(max-width:1200px){:root{--h5-side:28px}.h5-header{height:94px}.h5-brand{min-width:250px}.h5-brand__mark{width:65px;height:65px}.h5-brand__word strong{font-size:23px}.h5-brand__word em{margin-left:105px;font-size:14px}.h5-nav{gap:14px}.h5-nav a{font-size:13px}.h5-header__tel strong{font-size:24px}.h5-hero{min-height:570px}.h5-hero__inner{height:570px}.h5-circle{width:124px;height:124px}.h5-contact-card{width:295px}.h5-business-grid>a{min-height:320px}.h5-bottom__grid{gap:34px}}
@media(max-width:900px){:root{--h5-side:20px}.h5-header{height:78px}.h5-brand{min-width:0}.h5-brand__mark{width:55px;height:55px}.h5-brand__word strong{font-size:19px}.h5-brand__word em{margin-left:86px;font-size:12px}.h5-brand__word small{margin-top:13px;font-size:7px}.h5-header__tel{display:none}.h5-menu-toggle{display:block}.h5-nav{position:absolute;top:78px;right:0;left:0;display:none;z-index:101;padding:8px 20px 18px;background:#fff;border-bottom:1px solid var(--h5-line);box-shadow:0 12px 22px rgba(76,53,40,.08)}.h5-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.h5-nav a{padding:13px 6px;border-bottom:1px solid #f4ebe8}.h5-hero{min-height:auto}.h5-hero__photo{inset:0;background-position:62% center}.h5-hero__shade{background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.65) 48%,rgba(255,255,255,.25) 100%)}.h5-hero__inner{height:auto;min-height:0;padding:58px 0 42px;display:flex;flex-direction:column}.h5-hero__copy{position:static}.h5-hero__copy h1{font-size:clamp(35px,10vw,52px)}.h5-hero__copy p{font-size:14px}.h5-hero__circles{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:32px;order:2}.h5-circle{width:100%;height:auto;min-height:138px;aspect-ratio:1/1}.h5-contact-card{position:static;transform:none;width:min(360px,100%);margin:28px auto 0;order:3}.h5-strengths,.h5-business-grid{grid-template-columns:repeat(2,1fr)}.h5-bottom__grid,.h5-company{grid-template-columns:1fr}.h5-company img{max-width:520px}}
@media(max-width:560px){:root{--h5-side:16px}.h5-section,.h5-bottom{padding:56px 0}.h5-hero__copy p br{display:none}.h5-contact-card{padding:24px 18px}.h5-contact-card__tel{font-size:clamp(20px,7vw,28px)}.h5-strengths,.h5-business-grid{grid-template-columns:1fr}.h5-business-grid>a{min-height:340px}.h5-news__item{grid-template-columns:1fr;gap:4px}}
