/*
Theme Name: LAQSMILE for Blocksy
Template: blocksy
Version: 1.0.1
Description: 南千里ラクスマイル整体院のBlocksy子テーマ。アイボリー、オリーブの細線、テラコッタ、実写、明朝を核にした女性専門整体院サイト。
*/

:root { --lq-ivory:#fbf9f2; --lq-paper:#fffdf8; --lq-ink:#413b33; --lq-body:#686055; --lq-olive:#77785c; --lq-rule:rgba(119,120,92,.46); --lq-terra:#b96d55; --lq-sage:#eaf0e7; --lq-peach:#f4e4dc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--lq-ivory); color:var(--lq-ink); font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif; font-size:16px; line-height:1.9; }
a { color:inherit; text-underline-offset:3px; }
img { max-width:100%; height:auto; }
.lq-skip { position:absolute; top:-4rem; left:1rem; z-index:100; background:var(--lq-ink); color:#fff; padding:.6rem 1rem; }
.lq-skip:focus { top:1rem; }
.lq-site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--lq-rule); background:rgba(255,253,248,.96); backdrop-filter:blur(11px); }
.lq-header-inner { display:flex; align-items:center; gap:clamp(1rem,2vw,2.6rem); width:min(1240px,100%); min-height:78px; margin:auto; padding:0 clamp(1rem,4vw,3.5rem); }
.lq-logo { display:block; flex:0 0 auto; width:153px; line-height:1; }
.lq-logo img { display:block; width:100%; }
.lq-nav { display:flex; flex:1; align-items:center; justify-content:center; gap:clamp(.8rem,1.4vw,1.55rem); }
.lq-nav a { color:var(--lq-ink); font-family:"Noto Serif JP",serif; font-size:13px; text-decoration:none; white-space:nowrap; }
.lq-nav a:hover { color:var(--lq-terra); }
.lq-header-actions { display:flex; gap:.5rem; }
.lq-button { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:44px; padding:.65rem 1.05rem; border:1px solid var(--lq-olive); border-radius:15px 3px 15px 3px; background:var(--lq-paper); color:var(--lq-olive); font-size:13px; font-weight:700; line-height:1.45; text-decoration:none; white-space:nowrap; transition:transform .16s cubic-bezier(.23,1,.32,1),background .16s cubic-bezier(.23,1,.32,1); }
.lq-button:hover { transform:translateY(-1px); }
.lq-button:active { transform:scale(.97); }
.lq-button--line { border-color:var(--lq-terra); background:var(--lq-terra); color:#fff; }
.lq-button--solid { border-color:var(--lq-terra); background:var(--lq-terra); color:#fff; }
.lq-button--text { min-height:0; padding:.15rem 0 .28rem; border:0; border-bottom:1px solid var(--lq-olive); border-radius:0; background:transparent; }
.lq-container { width:min(1160px,100%); margin:auto; padding-right:clamp(1.35rem,7vw,5.5rem); padding-left:clamp(1.35rem,7vw,5.5rem); }
.lq-kicker { margin:0; color:var(--lq-olive); font-family:"Cormorant Garamond","Times New Roman",serif; font-size:13px; font-weight:600; letter-spacing:.15em; }
h1,h2,h3 { font-family:"Noto Serif JP","Hiragino Mincho ProN",serif; font-weight:500; }
.lq-page-hero { position:relative; display:flex; min-height:430px; overflow:hidden; align-items:center; background:#746e60; }
.lq-page-hero::before { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(255,253,248,.98) 0%,rgba(255,253,248,.92) 42%,rgba(255,253,248,.22) 73%,rgba(255,253,248,.05)); content:""; }
.lq-page-hero img { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.lq-page-hero > div { position:relative; z-index:2; width:min(1160px,100%); margin:auto; padding:clamp(4rem,9vw,7rem) clamp(1.35rem,7vw,5.5rem); }
.lq-page-hero h1 { max-width:690px; margin:.8rem 0 1rem; font-size:clamp(32px,4.2vw,54px); line-height:1.55; letter-spacing:.025em; }
.lq-page-hero p:not(.lq-kicker) { max-width:550px; margin:0; color:#585146; font-size:16px; line-height:2; }
.lq-home-hero { position:relative; min-height:660px; overflow:hidden; background:#746e60; }
.lq-home-hero img { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.lq-home-hero::before { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(255,253,248,.985),rgba(255,253,248,.94) 34%,rgba(255,253,248,.61) 51%,rgba(255,253,248,.05) 75%); content:""; }
.lq-home-hero .lq-container { position:relative; z-index:2; padding-top:clamp(5rem,11vw,8.9rem); padding-bottom:clamp(4rem,9vw,7.2rem); }
.lq-home-hero h1 { max-width:700px; margin:.9rem 0 1rem; font-size:clamp(36px,4.1vw,55px); line-height:1.5; letter-spacing:.025em; }
.lq-home-hero .lq-lead { max-width:500px; margin:0; color:#585146; font-family:"Noto Serif JP",serif; font-size:20px; line-height:1.85; }
.lq-trust { display:flex; flex-wrap:wrap; gap:.5rem 1.55rem; margin-top:1.7rem; color:#5c5e44; font-size:14px; font-weight:700; }
.lq-trust span::before { display:inline-block; width:5px; height:5px; margin:0 .5rem 2px 0; border-radius:50%; background:var(--lq-olive); content:""; }
.lq-section { padding:clamp(4.4rem,9vw,7.5rem) 0; }
.lq-section--rule { border-top:1px solid var(--lq-rule); }
.lq-section--sage { background:linear-gradient(100deg,var(--lq-sage) 0 30%,var(--lq-ivory) 30%); }
.lq-section--peach { background:linear-gradient(102deg,var(--lq-ivory) 0 60%,rgba(244,228,220,.7) 60%); }
.lq-split { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(2.5rem,8vw,8rem); align-items:start; }
.lq-split h2,.lq-section-heading h2 { margin:.85rem 0 1rem; font-size:clamp(28px,3.2vw,43px); line-height:1.65; }
.lq-split p,.lq-section-heading > p { margin:0; color:var(--lq-body); font-size:16px; line-height:2.05; }
.lq-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--lq-rule); }
.lq-list li { display:grid; grid-template-columns:56px 1fr; gap:1rem; padding:1.25rem 0; border-bottom:1px solid var(--lq-rule); }
.lq-list li > span { color:var(--lq-olive); font-family:"Cormorant Garamond",serif; font-size:27px; line-height:1.25; }
.lq-list h3 { margin:0 0 .32rem; font-size:20px; line-height:1.6; }
.lq-list p { margin:0; color:var(--lq-body); font-size:14px; line-height:1.9; }
.lq-photo-copy { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.4rem,4vw,3.5rem); align-items:center; }
.lq-photo-copy figure { position:relative; margin:0; overflow:hidden; border-radius:7px 46px 7px 46px; box-shadow:0 13px 26px rgba(66,51,37,.12); }
.lq-photo-copy img { display:block; width:100%; min-height:360px; object-fit:cover; }
.lq-photo-copy figcaption { position:absolute; right:0; bottom:0; left:0; padding:2rem 1rem .8rem; background:linear-gradient(transparent,rgba(42,34,26,.73)); color:#fff; font-size:12px; }
.lq-orbit { position:relative; min-height:490px; }
.lq-orbit figure { width:86%; height:405px; margin:2.3rem 0 0 4%; overflow:hidden; border-radius:62% 38% 63% 37% / 31% 51% 49% 69%; box-shadow:0 13px 30px rgba(66,51,37,.13); transform:rotate(-3deg); }
.lq-orbit figure img { width:100%; height:100%; object-fit:cover; transform:rotate(3deg) scale(1.08); }
.lq-bubble { position:absolute; display:flex; width:174px; min-height:104px; align-items:center; justify-content:center; padding:.8rem 1rem; border:1px solid var(--lq-rule); border-radius:50%; background:rgba(255,253,248,.95); color:#514a3f; font-family:"Noto Serif JP",serif; font-size:12px; line-height:1.72; text-align:center; }
.lq-bubble--top { top:0; right:0; }
.lq-bubble--left { bottom:47px; left:0; background:rgba(243,239,218,.97); }
.lq-bubble--bottom { right:-5px; bottom:0; width:188px; min-height:98px; background:rgba(246,232,223,.97); }
.lq-concern-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:2rem; border-top:1px solid var(--lq-rule); border-bottom:1px solid var(--lq-rule); }
.lq-concern { position:relative; display:grid; grid-template-columns:62px 1fr 22px; gap:.9rem; min-height:138px; align-items:center; padding:1.5rem; border-bottom:1px solid var(--lq-rule); color:var(--lq-ink); text-decoration:none; }
.lq-concern:nth-child(odd) { border-right:1px solid var(--lq-rule); }
.lq-concern:nth-last-child(-n+2) { border-bottom:0; }
.lq-concern > span { grid-row:1 / span 2; align-self:start; color:var(--lq-olive); font-family:"Cormorant Garamond",serif; font-size:30px; }
.lq-concern small { color:#776f5d; font-size:11px; letter-spacing:.09em; }
.lq-concern h3 { margin:.1rem 0; font-size:22px; line-height:1.5; }
.lq-concern p { grid-column:2; margin:0; color:var(--lq-body); font-size:13px; line-height:1.75; }
.lq-concern b { grid-column:3; grid-row:1 / span 2; color:var(--lq-terra); font-size:20px; font-weight:400; }
.lq-flow { margin:0; padding:0; list-style:none; border-top:1px solid var(--lq-rule); }
.lq-flow li { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(250px,.92fr); gap:clamp(2rem,6vw,6rem); align-items:center; padding:3.1rem 0; border-bottom:1px solid var(--lq-rule); }
.lq-step { position:relative; padding-top:1.5rem; }
.lq-step > span { display:block; margin:0 0 -.35rem -.3rem; color:rgba(119,120,92,.25); font-family:"Cormorant Garamond",serif; font-size:clamp(60px,7vw,94px); line-height:.9; }
.lq-step h3 { position:relative; margin:0 0 .7rem; font-size:clamp(22px,2.2vw,30px); line-height:1.55; }
.lq-step p { position:relative; margin:0; color:var(--lq-body); font-size:15px; line-height:2.05; }
.lq-flow figure { position:relative; min-height:235px; margin:0; overflow:hidden; border-radius:7px 43px 7px 43px; background:#ebe6d8; }
.lq-flow figure img { width:100%; height:100%; min-height:235px; object-fit:cover; }
.lq-flow figcaption { position:absolute; right:0; bottom:0; left:0; padding:2rem 1rem .75rem; background:linear-gradient(transparent,rgba(42,34,26,.7)); color:#fff; font-size:11px; }
.lq-menu-list { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid var(--lq-rule); }
.lq-menu-list li { display:grid; grid-template-columns:48px minmax(0,1fr) 145px; gap:1rem; padding:1.65rem 0; border-bottom:1px solid var(--lq-rule); }
.lq-menu-list > li > span { color:var(--lq-olive); font-family:"Cormorant Garamond",serif; font-size:26px; }
.lq-menu-list h3 { margin:0 0 .35rem; font-size:21px; line-height:1.6; }
.lq-menu-list p { margin:0; color:var(--lq-body); font-size:14px; line-height:1.85; }
.lq-menu-list strong { align-self:center; color:var(--lq-terra); font-family:"Noto Serif JP",serif; font-size:19px; font-weight:500; text-align:right; }
.lq-menu-list strong small { display:block; color:var(--lq-body); font-family:"Noto Sans JP",sans-serif; font-size:11px; font-weight:400; }
.lq-faq { margin:0; border-top:1px solid var(--lq-rule); }
.lq-faq > div { padding:1.45rem 0; border-bottom:1px solid var(--lq-rule); }
.lq-faq dt { display:flex; gap:.75rem; font-family:"Noto Serif JP",serif; font-size:19px; line-height:1.7; }
.lq-faq dt span { flex:0 0 auto; color:var(--lq-terra); font-family:"Cormorant Garamond",serif; font-size:17px; }
.lq-faq dd { margin:.55rem 0 0 2.5rem; color:var(--lq-body); font-size:14px; line-height:1.95; }
.lq-contact { position:relative; overflow:hidden; border-top:1px solid var(--lq-rule); border-bottom:1px solid var(--lq-rule); background:#f8f5ed; }
.lq-contact .lq-container { display:flex; gap:3rem; align-items:center; justify-content:space-between; padding-top:4.8rem; padding-bottom:4.8rem; }
.lq-contact h2 { margin:.6rem 0 .7rem; font-size:clamp(27px,3vw,40px); line-height:1.6; }
.lq-contact p { max-width:560px; margin:0; color:var(--lq-body); font-size:15px; }
.lq-contact-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:.55rem; }
.lq-site-footer { padding:3.8rem 0 6.7rem; background:#4b473d; color:#f6f1e7; }
.lq-footer-inner { display:flex; justify-content:space-between; gap:2rem; align-items:end; }
.lq-footer-inner img { width:165px; filter:brightness(0) invert(1); opacity:.9; }
.lq-footer-inner p { margin:1rem 0 0; color:#e7e0d3; font-size:13px; line-height:1.9; }
.lq-footer-inner a { color:#fff; font-size:14px; }
.lq-mobile-actions { position:fixed; z-index:60; right:0; bottom:0; left:0; display:none; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.6); box-shadow:0 -5px 18px rgba(57,50,38,.11); }
.lq-mobile-actions a { display:flex; min-height:54px; align-items:center; justify-content:center; background:var(--lq-terra); color:#fff; font-size:13px; font-weight:700; text-decoration:none; }
.lq-mobile-actions a + a { background:var(--lq-paper); color:var(--lq-olive); }
.lq-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2rem; }
.lq-blog-card { border-bottom:1px solid var(--lq-rule); }
.lq-blog-card img,.lq-blog-card__blank { display:block; width:100%; height:190px; object-fit:cover; background:var(--lq-sage); }
.lq-blog-card time { display:block; margin-top:1rem; color:var(--lq-olive); font-family:"Cormorant Garamond",serif; font-size:13px; letter-spacing:.08em; }
.lq-blog-card h2 { margin:.3rem 0 1.1rem; font-size:20px; line-height:1.65; }
.lq-blog-card a { text-decoration:none; }
.lq-article { width:min(820px,100%); margin:auto; padding-top:4.8rem; padding-bottom:6rem; }
.lq-article header { padding-bottom:2rem; border-bottom:1px solid var(--lq-rule); }
.lq-article time { color:var(--lq-olive); font-size:14px; }
.lq-article h1 { margin:.6rem 0 0; font-size:clamp(29px,3.8vw,46px); line-height:1.6; }
.lq-article .entry-content { padding-top:2rem; color:var(--lq-body); }
.lq-article .entry-content h2,.lq-article .entry-content h3 { color:var(--lq-ink); }
.lq-access-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(2.5rem,8vw,8rem); }
.lq-address { margin:1rem 0 1.5rem; font-family:"Noto Serif JP",serif; font-size:18px; line-height:1.9; }
.lq-hours { padding:1rem 0; border-top:1px solid var(--lq-rule); border-bottom:1px solid var(--lq-rule); }
.lq-hours b,.lq-hours span,.lq-hours small { display:block; }
.lq-hours b { color:var(--lq-olive); font-size:12px; letter-spacing:.08em; }
.lq-hours span { margin:.2rem 0; font-family:"Noto Serif JP",serif; font-size:24px; }
.lq-hours small { color:var(--lq-body); font-size:12px; }
.lq-note { margin:2rem 0 0; padding:1.3rem 1.5rem; border-left:1px solid var(--lq-olive); background:rgba(234,240,231,.48); color:var(--lq-body); font-size:14px; line-height:1.95; }
@media (max-width:1240px) { .lq-header-inner { gap:1rem; padding-right:1.3rem; padding-left:1.3rem; } .lq-nav { gap:.7rem; } .lq-nav a { font-size:11px; } .lq-header-actions .lq-button { padding:.55rem .65rem; font-size:11px; } }
@media (max-width:700px) { body { font-size:15px; } .lq-header-inner { min-height:66px; padding:0 1rem; } .lq-logo { width:130px; } .lq-nav { display:none; } .lq-header-actions { margin-left:auto; } .lq-header-actions .lq-button { min-height:34px; padding:.45rem .55rem; font-size:10px; } .lq-header-actions .lq-button--line { display:none; } .lq-page-hero { min-height:330px; } .lq-page-hero::before { background:linear-gradient(90deg,rgba(255,253,248,.97),rgba(255,253,248,.84) 58%,rgba(255,253,248,.15)); } .lq-page-hero > div { padding-top:4.3rem; padding-bottom:4.3rem; } .lq-page-hero h1 { font-size:31px; } .lq-page-hero p:not(.lq-kicker) { font-size:14px; } .lq-home-hero { min-height:552px; } .lq-home-hero img { object-position:68% center; } .lq-home-hero::before { background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(255,253,248,.91) 43%,rgba(255,253,248,.48) 67%,rgba(255,253,248,.04)); } .lq-home-hero h1 { font-size:31px; } .lq-home-hero .lq-lead { font-size:16px; } .lq-trust { gap:.3rem .8rem; font-size:12px; } .lq-section--sage,.lq-section--peach { background:var(--lq-ivory); } .lq-split,.lq-photo-copy,.lq-access-grid { grid-template-columns:1fr; gap:2rem; } .lq-split h2,.lq-section-heading h2 { font-size:28px; } .lq-split p,.lq-section-heading > p { font-size:15px; } .lq-photo-copy figure,.lq-photo-copy img { min-height:245px; } .lq-orbit { min-height:370px; } .lq-orbit figure { height:290px; } .lq-bubble { width:128px; min-height:77px; padding:.5rem .6rem; font-size:9px; line-height:1.55; } .lq-bubble--left { bottom:39px; left:-8px; } .lq-bubble--bottom { right:-8px; width:148px; min-height:78px; } .lq-concern-grid { grid-template-columns:1fr; } .lq-concern,.lq-concern:nth-child(odd) { grid-template-columns:43px 1fr 17px; min-height:125px; padding:1.2rem 1rem; border-right:0; border-bottom:1px solid var(--lq-rule); } .lq-concern:nth-last-child(-n+2) { border-bottom:1px solid var(--lq-rule); } .lq-concern:last-child { border-bottom:0; } .lq-concern h3 { font-size:20px; } .lq-flow li { grid-template-columns:1fr; gap:1.4rem; padding:2rem 0; } .lq-step h3 { font-size:22px; } .lq-flow figure,.lq-flow figure img { min-height:204px; } .lq-menu-list li { grid-template-columns:38px 1fr; gap:.7rem; } .lq-menu-list strong { grid-column:2; text-align:left; } .lq-faq dt { font-size:17px; } .lq-faq dd { margin-left:2rem; font-size:14px; } .lq-contact .lq-container { display:block; padding-top:3.7rem; padding-bottom:3.7rem; } .lq-contact h2 { font-size:27px; } .lq-contact-actions { margin-top:1.5rem; } .lq-site-footer { padding-bottom:5.7rem; } .lq-footer-inner { display:block; } .lq-footer-inner img { width:145px; } .lq-mobile-actions { display:grid; } .lq-blog-grid { grid-template-columns:1fr; gap:2.2rem; } .lq-blog-card img,.lq-blog-card__blank { height:210px; } }
