/* ゴクラク堂HP 採用デザイン 2026-09-11
   店舗写真を主役にした、明るく端正な和モダン。 */
:root{
  --bg:#fcfbf8!important;
  --paper:#fffefa!important;
  --ink:#34392f!important;
  --muted:#64695f!important;
  --gold:#8a7855!important;
  --gold2:#d7d0c0!important;
  --brown:#445044!important;
  --line:#dedfd5!important;
  --deep:#344035!important;
  --shadow:none!important;
  --gkd-green:#4b594a;
  --gkd-green-dark:#344035;
  --gkd-pale:#eef0e9;
  --gkd-cream:#f6f3ec;
  --gkd-brass:#8a7855;
}
html{background:#fcfbf8}
body{font-family:"Noto Sans CJK JP","Noto Sans JP","Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:#fcfbf8;color:#34392f;line-height:1.9;letter-spacing:.015em}
h1,h2,.logo-main{font-family:"Noto Serif CJK JP","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-weight:400}
h3,h4,strong{font-family:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(75,89,74,.35);outline-offset:3px}
.container{width:min(1160px,calc(100% - 48px))}

/* Header */
.topbar{background:#eef0e9;color:#455047;border-bottom:1px solid #dedfd5;font-size:12px}
.topbar a{color:#344035}
.topbar .container{align-items:center;padding:7px 0}
.topbar-tools{gap:7px}
.topbar-tool{background:transparent!important;border:0!important;border-bottom:1px solid #aeb5aa!important;border-radius:0!important;color:#4b594a!important;padding:2px 0!important;font-size:12px!important}
.header{background:rgba(252,251,248,.97);border-bottom:1px solid #dedfd5;box-shadow:none;backdrop-filter:blur(12px)}
.header-inner{min-height:80px;padding:16px 0}
.logo-main{font-size:27px;letter-spacing:.18em;font-weight:400;color:#34392f}
.logo-sub{font-size:10px;letter-spacing:.13em;color:#70756d;margin-top:7px}
.nav{gap:19px;font-size:13px;color:#4e554d}
.nav>a:not(.nav-rakuten){padding:9px 0;border-bottom:1px solid transparent}
.nav>a:not(.nav-rakuten):hover,.nav>a[aria-current="page"]{color:#344035;border-bottom-color:#4b594a}
.nav-search-button{border:0;background:transparent;color:#4e554d;padding:9px 0;border-bottom:1px solid #aeb5aa;border-radius:0}
.nav-rakuten{padding:9px 14px!important;border:1px solid #8b9589!important;border-radius:2px!important;background:transparent!important;color:#445044!important;box-shadow:none!important;font-size:12px}
.mobile-menu summary{color:#445044}
.mobile-menu-panel{border:1px solid #dedfd5;background:#fffefa;box-shadow:none}
.mobile-menu-panel a,.mobile-utility-button{border-bottom:1px solid #e7e7df}

/* Buttons and shared controls */
.btn{border-radius:2px;padding:12px 20px;font-weight:500;box-shadow:none!important;transform:none!important;letter-spacing:.02em}
.btn.gold{background:#4b594a!important;color:#fff!important;border-color:#4b594a!important}
.btn.gold:hover{background:#344035!important}
.btn.outline{background:transparent!important;border-color:#879184!important;color:#445044!important}
.btn.outline.light{border-color:rgba(255,255,255,.75)!important;color:#fff!important}
.badge,.problem-tag,.trust-strip span,.home-product-extra a,.article-topic-nav a{border-radius:2px;box-shadow:none}

/* Page headings */
.breadcrumb{background:#fcfbf8;border-bottom:1px solid #ebeae3;color:#767b73;font-size:12px}
.page-head{padding:64px 0;background:#f1f2ed;border-bottom:1px solid #dedfd5}
.page-head h1{max-width:900px;margin:0;font-size:clamp(31px,4.2vw,49px);line-height:1.48;letter-spacing:.055em;color:#34392f}
.page-head p{max-width:850px;margin-top:16px;color:#64695f;font-size:16px;line-height:1.9}
.page-head .eyebrow,.eyebrow.dark,.section-title>span,.company-kicker{display:inline-block;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;color:#8a7855!important;font-size:11px!important;font-weight:500!important;letter-spacing:.15em!important}
.article-feature-head{padding:55px 0;background:#f3f3ee}
.article-feature-head-grid{gap:48px;align-items:center}
.article-feature-head figure{border-radius:0;border:1px solid #dedfd5;background:#fff;box-shadow:none;overflow:hidden}
.article-feature-head figure img{object-fit:cover}
.article-meta{color:#737970}

/* Shared sections */
.section{padding:78px 0}
.section.alt{background:#f5f4ef;border-color:#dedfd5}
.section-title{margin-bottom:38px}
.section-title h2{color:#34392f;font-size:clamp(27px,3.3vw,39px);line-height:1.55;letter-spacing:.045em;font-weight:400}
.section-title p{color:#64695f;line-height:1.9}
.section-title.left{text-align:left}
.card,.consult-box,.info-panel,.article-side,.article-answer-box,.article-source-box,.notice{border:1px solid #dedfd5;border-radius:2px;background:#fffefa;box-shadow:none}
.grid-3>.card,.grid-4>.card{box-shadow:none}

/* Home: new storefront-first hero */
.gkd-home-hero{padding:34px 0 0;background:#fcfbf8}
.gkd-home-photo{margin:0}
.gkd-home-photo img{display:block;width:100%;height:auto;aspect-ratio:2.55;object-fit:cover;object-position:50% 55%;border:0}
.gkd-home-photo figcaption{text-align:right;padding-top:8px;color:#777d75;font-size:11px;letter-spacing:.08em}
.gkd-home-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center;padding:29px 0 38px}
.gkd-home-intro-label{display:block;margin-bottom:15px;color:#8a7855;font-size:11px;letter-spacing:.14em}
.gkd-home-intro h1{margin:0;color:#34392f;font-size:clamp(29px,3.1vw,42px);font-weight:400;letter-spacing:.09em;line-height:1.75}
.gkd-home-intro-copy{color:#64695f;font-size:15px;line-height:2.05}
.gkd-home-intro-copy p{margin:0}
.gkd-home-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px}
.gkd-text-link{display:inline-flex;align-items:center;gap:20px;color:#4b594a;border-bottom:1px solid #4b594a;padding:4px 0;font-size:13px;font-weight:500}
.gkd-home-storeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid #dedfd5;border-bottom:1px solid #dedfd5;padding:16px 0;color:#64695f;font-size:12px}
.gkd-home-storeline span:nth-child(2){text-align:center}.gkd-home-storeline span:last-child{text-align:right}.gkd-home-storeline a{color:#34392f;font-size:14px}
.home-assistance-section{padding:64px 0 58px;background:#fcfbf8}
.home-assistance-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:30px}
.home-assistance-heading h2{margin:0;font-size:clamp(25px,3vw,35px);letter-spacing:.055em;color:#34392f}
.home-assistance-heading p{margin:0;color:#6c726a;font-size:13px}
.home-assistance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.home-assistance-card{display:block;border-top:1px solid #bcc1b8;padding-top:19px;color:#34392f}
.home-assistance-card span{display:block;color:#8a7855;font-size:11px;letter-spacing:.1em;margin-bottom:7px}
.home-assistance-card h3{font-size:18px;font-weight:500;line-height:1.6;margin:0 0 10px}
.home-assistance-card p{font-size:13px;color:#64695f;line-height:1.9;margin:0}
.home-assistance-card strong{display:inline-block;margin-top:11px;color:#4b594a;font-size:12px;font-weight:500;border-bottom:1px solid #879184}

/* Home: retained content, restyled */
.home-problem-section{background:#f4f3ee!important;border-top:1px solid #dedfd5;border-bottom:1px solid #dedfd5}
.home-problem-grid{gap:20px}
.problem-card,.home-problem-card{padding:0 0 21px;border:1px solid #d9dbd2;border-radius:2px;background:#fffefa;box-shadow:none!important;transform:none!important}
.problem-card:before{display:none}
.problem-card-image,.home-problem-card .problem-card-image{margin:0 0 18px;border:0;border-bottom:1px solid #e0e1d9;border-radius:0;aspect-ratio:16/10;object-fit:contain;background:#faf9f5;box-shadow:none}
.problem-card .problem-tag{margin:0 18px 11px;padding:0;background:transparent;color:#8a7855;border:0;font-size:11px;letter-spacing:.08em}
.problem-card h3,.problem-card p,.problem-card strong{margin-left:18px;margin-right:18px}
.problem-card h3{color:#34392f;font-size:19px;font-weight:500}
.problem-card p{color:#64695f;font-size:13px}
.problem-card strong{color:#4b594a;font-size:12px;font-weight:500;border-bottom:1px solid #879184}
.home-products-section{background:#fcfbf8!important}
.home-product-grid{gap:20px}
.home-product-card{border:1px solid #d9dbd2;border-radius:2px;background:#fffefa;box-shadow:none!important;transform:none!important}
.home-product-card img{padding:0;border-bottom:1px solid #e0e1d9;background:#faf9f5}
.home-product-card div{padding:18px 18px 20px}
.home-product-card strong{color:#34392f;font-size:18px;font-weight:500}
.home-product-card span{color:#64695f}
.home-product-extra a{background:transparent;border:0;border-bottom:1px solid #aeb5aa;color:#4b594a;padding:6px 1px}
.home-proof-section{background:#eef0e9;border-top:1px solid #dedfd5;border-bottom:1px solid #dedfd5}
.home-proof-grid{gap:60px;align-items:center}
.home-proof-image img{border-radius:0;border:1px solid #d5d8cf;box-shadow:none}
.home-proof-content h2,.home-store-copy h2{color:#34392f;font-size:clamp(27px,3.2vw,39px);font-weight:400;line-height:1.55}
.home-proof-content>p,.home-store-copy>p{color:#64695f}
.home-proof-facts{border-top:1px solid #cbd0c7;border-bottom:1px solid #cbd0c7}
.home-proof-facts>div{border-color:#cbd0c7;background:transparent;border-radius:0}
.home-proof-facts strong{color:#445044}
.home-guide-section{background:#fcfbf8}
.home-guide-grid a{border:0;border-top:1px solid #c8ccc3;border-radius:0;background:transparent;box-shadow:none;padding:23px 14px 22px}
.home-guide-grid a:hover{background:#f6f6f1;transform:none}
.home-guide-grid span{color:#8a7855}
.home-guide-grid strong{color:#34392f;font-weight:500}
.home-article-links{border-radius:2px;background:#f2f3ee;border-color:#d9dbd2}
.home-store-section{background:#f5f4ef!important}
.home-store-gallery img{border-radius:0;border:1px solid #d9dbd2;box-shadow:none}
.home-store-info{border-top:1px solid #cfd2ca;border-bottom:1px solid #cfd2ca}
.home-store-info div{border-color:#d9dbd2}
.home-faq-grid details,.faq-list details{border:0;border-top:1px solid #cfd2ca;border-radius:0;background:transparent;box-shadow:none}
.home-faq-grid details:last-child,.faq-list details:last-child{border-bottom:1px solid #cfd2ca}
.home-faq-grid summary,.faq-list summary{color:#34392f;font-weight:500}
.home-final-section{background:#fcfbf8}
.cta,.cta-sales,.home-final-cta,.article-cta{border-radius:2px;background:#435044;color:#fff;box-shadow:none}

/* Knowledge and list pages */
.guide-head,.products-page-head{background:#f1f2ed}
.guide-head h1,.products-page-head h1{font-size:clamp(32px,4.3vw,50px)}
.guide-cards,.guide-grid,.knowledge-guide-grid{gap:20px}
.guide-card,.knowledge-guide-card{border:0;border-top:1px solid #c2c7bf;border-radius:0;background:transparent;box-shadow:none;padding:23px 16px}
.article-topic-nav{gap:0;border-top:1px solid #d4d6cf;border-bottom:1px solid #d4d6cf;background:transparent;padding:0}
.article-topic-nav a{background:transparent;border:0;border-right:1px solid #d4d6cf;padding:13px 18px;color:#4b594a}
.article-topic-nav a:last-child{border-right:0}
.juzu-repair-highlight{border-radius:2px;background:#eef0e9;border:1px solid #d5d8cf;box-shadow:none}
.article-category-heading{border-bottom:1px solid #c9cdc5;padding-bottom:11px}
.article-category-heading h3{font-family:"Noto Serif CJK JP","Noto Serif JP","Yu Mincho",serif;font-weight:400;color:#34392f;font-size:25px}
.article-category-heading span{color:#777d75}
.article-list-grid{gap:18px}
.article-list-card{grid-template-columns:190px 1fr;border:1px solid #d9dbd2;border-radius:2px;background:#fffefa;box-shadow:none!important;transform:none!important}
.article-list-card:hover{background:#f8f8f3;box-shadow:none;transform:none}
.article-list-card>div{padding:18px 20px}
.article-list-card span{color:#8a7855;font-weight:500;letter-spacing:.05em}
.article-list-card h3{color:#34392f;font-size:18px;font-weight:500}
.article-list-card p{color:#64695f;font-size:14px}
.article-list-card strong{color:#4b594a;font-weight:500;border-bottom:1px solid #879184}

/* Products/services/general cards */
.page-toc{background:#fcfbf8;border-color:#dedfd5;box-shadow:none}
.page-toc a{color:#4b594a}
.product-card,.products-category-card,.service-card,.case-card,.care-menu-card,.care-case-card,.care-detail-block,.timeline>div,.flow>div{border-radius:2px!important;border-color:#d9dbd2!important;background:#fffefa!important;box-shadow:none!important;transform:none!important}
.product-card img,.products-category-card img{border-radius:0!important}
.care-menu-icon,.care-detail-heading>span,.care-flow-grid span{border-radius:2px!important;background:#4b594a!important}
.alt-bg,.care-overview-section,.care-flow-section{background:#f5f4ef!important;border-color:#dedfd5!important}

/* Articles */
.article-layout{gap:48px}
.seo-article{font-family:"Noto Sans CJK JP","Noto Sans JP","Yu Gothic",sans-serif;color:#3d433c}
.seo-article>h2{font-family:"Noto Serif CJK JP","Noto Serif JP","Yu Mincho",serif;font-weight:400;color:#34392f;border-left:0;border-bottom:1px solid #cfd2ca;padding:0 0 12px;margin-top:50px;font-size:29px}
.seo-article>h3{color:#445044;font-weight:500}
.article-answer-box{border-left:3px solid #8a7855;background:#f4f3ed;padding:24px}
.article-answer-box strong{color:#445044}
.article-warning-grid>div,.article-step-grid>div,.article-check-columns>div,.article-case-cards>div,.article-summary-table,.article-compare-table,.article-source-box{border-radius:2px!important;border-color:#d9dbd2!important;box-shadow:none!important}
.article-summary-table>div,.article-compare-table>div{border-color:#d9dbd2!important}
.article-check-list li:before,.care-check-list li:before{color:#4b594a}
.article-side{border-radius:2px;background:#eef0e9;border:1px solid #d7dad2;box-shadow:none;color:#34392f}
.article-side h3{color:#34392f}
.article-side p{color:#64695f}
.article-side>a:not(.btn){color:#4b594a;border-color:#b8beb5}
.article-source-box{background:#f7f6f1}

/* Footer and fixed actions */
.footer{background:#344035;color:#fff;padding-top:54px}
.footer h3{font-family:"Noto Serif CJK JP","Noto Serif JP","Yu Mincho",serif;font-weight:400;letter-spacing:.06em}
.footer p,.footer a{color:#e5e8e1}
.copy{border-color:rgba(255,255,255,.18);color:#c7cec4}
.desktop-action-rail{border:1px solid #d9dbd2;border-right:0;background:#fffefa;box-shadow:none}
.desktop-action-rail a{color:#445044;border-color:#d9dbd2}
.page-top-button{background:#fffefa;color:#445044;border:1px solid #d9dbd2;box-shadow:none}

@media(max-width:1080px){
  .nav{gap:14px;font-size:12px}
  .home-assistance-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
  .container{width:min(100% - 36px,1160px)}
  .gkd-home-intro{grid-template-columns:1fr;gap:17px}
  .gkd-home-intro h1 br{display:none}
  .gkd-home-photo img{aspect-ratio:2.15}
  .article-layout{gap:30px}
  .article-list-card{grid-template-columns:170px 1fr}
}
@media(max-width:760px){
  body{padding-bottom:68px}
  .container{width:min(100% - 32px,1160px)}
  .topbar .container{justify-content:center;text-align:center;padding:7px 0}
  .topbar .container>div:first-child,.topbar-tools{display:none}
  .header-inner{min-height:69px;padding:13px 0}
  .logo-main{font-size:23px}.logo-sub{font-size:9px;margin-top:5px}
  .mobile-menu summary{min-width:64px;border:0!important;background:transparent!important;color:#445044!important;border-radius:0!important}
  .page-head,.article-feature-head{padding:39px 0}
  .page-head h1{font-size:clamp(27px,8.6vw,36px);letter-spacing:.035em;line-height:1.52}
  .page-head p{font-size:15px}
  .article-feature-head-grid{gap:25px}
  .gkd-home-hero{padding-top:20px}
  .gkd-home-photo img{aspect-ratio:1.6;object-position:50% 52%}
  .gkd-home-photo figcaption{text-align:left}
  .gkd-home-intro{padding:24px 0 29px}
  .gkd-home-intro-label{margin-bottom:11px}
  .gkd-home-intro h1{font-size:28px;line-height:1.75}
  .gkd-home-intro h1 br{display:block}
  .gkd-home-intro-copy{font-size:14px;line-height:1.95}
  .gkd-home-storeline{grid-template-columns:1fr;gap:5px;padding:14px 0}
  .gkd-home-storeline span:nth-child(2),.gkd-home-storeline span:last-child{text-align:left}
  .home-assistance-section{padding:43px 0 37px}
  .home-assistance-heading{display:block;margin-bottom:22px}
  .home-assistance-heading h2{font-size:24px}.home-assistance-heading p{margin-top:8px}
  .home-assistance-grid{grid-template-columns:1fr;gap:24px}
  .section{padding:58px 0}
  .section-title{text-align:left;margin-bottom:28px}
  .section-title h2{font-size:27px;line-height:1.55}
  .problem-grid,.home-product-grid{grid-template-columns:1fr!important}
  .problem-card,.home-product-card{max-width:520px;width:100%;margin-inline:auto}
  .home-proof-grid,.home-store-grid{gap:34px}
  .home-proof-facts{grid-template-columns:1fr}
  .home-proof-facts>div{border-right:0!important;border-bottom:1px solid #cbd0c7}
  .home-proof-facts>div:last-child{border-bottom:0}
  .article-topic-nav{display:grid;grid-template-columns:repeat(2,1fr)}
  .article-topic-nav a{border-right:1px solid #d4d6cf;border-bottom:1px solid #d4d6cf;text-align:center}
  .article-list-card{grid-template-columns:112px 1fr}
  .article-list-card img{height:100%!important;aspect-ratio:auto!important;object-fit:cover}
  .article-list-card>div{padding:14px}
  .article-list-card h3{font-size:16px;line-height:1.55}
  .article-list-card p{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .seo-article>h2{font-size:24px;margin-top:40px}
  .article-answer-box{padding:19px}
  .mobile-action-bar{display:grid!important;grid-template-columns:repeat(3,1fr);position:fixed;z-index:999;left:0;right:0;bottom:0;height:64px;background:#fffefa;border-top:1px solid #d4d7cf;box-shadow:none}
  .mobile-action-bar a{color:#445044;border-right:1px solid #e0e2dc}
  .mobile-action-bar a:nth-child(2){background:#4b594a;color:#fff}
  .desktop-action-rail{display:none!important}
  .page-top-button{bottom:77px}
}
@media(max-width:430px){
  .container{width:calc(100% - 28px)}
  .gkd-home-photo img{aspect-ratio:1.46}
  .gkd-home-intro h1{font-size:27px}
  .article-list-card{grid-template-columns:96px 1fr}
  .article-list-card>div{padding:12px}
  .article-list-card p{display:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
