/*
Theme Name: Hotori
Theme URI: https://hotori-inc.co.jp/
Author: 株式会社ほとり
Description: 株式会社ほとり公式サイト用テーマ。明朝体のタイポグラフィと余白を活かした、テキスト中心のミニマルデザイン。トップの情景写真はカスタマイザーから設定できます。
Version: 1.1.3
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hotori
*/

:root{
  --ink:#232826; --ink2:#454B48; --muted:#868C87;
  --line:#C8C4B9; --hair:#DAD6CC;
  --paper:#FDFCF9; --paper2:#F6F4EE;
  --teal:#2F6E5E; --deep:#1E3833;
  --serif:"Shippori Mincho","Hiragino Mincho ProN",serif;
  --sans:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
.container{max-width:960px;margin:0 auto;padding:0 28px;}
.container.narrow{max-width:760px;}
.serif{font-family:var(--serif);}
.eyebrow{font-size:11px;letter-spacing:.24em;color:var(--teal);margin:0 0 18px;}

.site-head{position:sticky;top:0;z-index:20;background:rgba(253,252,249,.88);-webkit-backdrop-filter:saturate(120%) blur(8px);backdrop-filter:saturate(120%) blur(8px);border-bottom:0.5px solid var(--hair);}
.site-head .inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;}
.logo{font-family:var(--serif);font-size:24px;letter-spacing:.06em;display:flex;align-items:baseline;gap:11px;}
.logo small{font-family:var(--sans);font-size:11px;letter-spacing:.18em;color:var(--muted);}
.menu{display:flex;gap:22px;font-size:12.5px;letter-spacing:.08em;color:var(--ink2);flex-wrap:wrap;}
.menu a{transition:color .2s;}
.menu a:hover,.menu a.on{color:var(--teal);}
.nav-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:24px;padding:0;border:none;background:none;cursor:pointer;}
.nav-btn span{display:block;width:24px;height:1.5px;background:var(--ink);transition:transform .25s ease,opacity .2s ease;}

@media (max-width:781px){
  .nav-btn{display:flex;}
  .menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:0.5px solid var(--line);box-shadow:0 8px 20px rgba(35,40,38,.07);padding:4px 28px 14px;display:none;}
  .site-head.nav-open .menu{display:flex;}
  .menu a{padding:14px 2px;border-bottom:0.5px solid var(--hair);font-size:14px;}
  .menu a:last-child{border-bottom:none;}
  .site-head.nav-open .nav-btn span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .site-head.nav-open .nav-btn span:nth-child(2){opacity:0;}
  .site-head.nav-open .nav-btn span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
}

.hero{padding:96px 0 88px;border-bottom:0.5px solid var(--hair);}
.hero .lab{font-size:11px;letter-spacing:.26em;color:var(--muted);margin:0 0 26px;}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(24px,4.4vw,34px);line-height:1.66;letter-spacing:.03em;margin:0 0 26px;}
.hero .sub{font-size:15px;color:var(--ink2);max-width:540px;line-height:1.95;margin:0;letter-spacing:.02em;}

section.block{padding:74px 0;}
section.block.alt{background:var(--paper2);}
.lead{font-family:var(--serif);font-weight:400;font-size:clamp(19px,3vw,24px);line-height:1.75;letter-spacing:.03em;margin:0 0 24px;}
.body{font-size:15px;color:var(--ink2);max-width:620px;line-height:2.05;margin:0;}
h2.sec{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:.05em;margin:0;}

.scene{padding:64px 0 0;}
.scene-line{text-align:center;font-family:var(--serif);font-size:clamp(18px,2.6vw,21px);color:#3A4440;letter-spacing:.1em;margin:0 0 30px;}
.photo{position:relative;min-height:360px;background:#D9E3E2;background-size:cover;background-position:center;}

.works{margin-top:30px;border-top:0.5px solid var(--line);}
.work{display:flex;gap:22px;align-items:baseline;padding:20px 2px;border-bottom:0.5px solid var(--line);}
.work .no{font-family:var(--serif);font-size:14px;color:var(--teal);min-width:26px;}
.work .ttl{font-size:15px;min-width:180px;}
.work .de{font-size:13.5px;color:#565C58;line-height:1.7;}

.rows{margin-top:26px;max-width:600px;}
.row{display:flex;padding:14px 0;border-bottom:0.5px solid var(--line);font-size:14px;}
.row .k{min-width:96px;color:var(--muted);letter-spacing:.06em;}
.row .v{color:#2B302D;}

.contact{text-align:center;padding:88px 0;}
.contact h3{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:.05em;margin:0 0 14px;}
.contact p{font-size:13.5px;color:#565C58;margin:0 0 30px;}
.btn{display:inline-flex;align-items:center;gap:10px;border:0.5px solid #B9BEB6;color:#2B302D;padding:14px 34px;border-radius:30px;font-size:13px;letter-spacing:.08em;transition:.2s;}
.btn:hover{border-color:var(--teal);color:var(--teal);}

.site-foot{background:var(--paper2);border-top:0.5px solid var(--line);}
.site-foot .inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:26px 0;font-size:11.5px;letter-spacing:.05em;color:var(--muted);}
.site-foot .fl{display:flex;gap:18px;flex-wrap:wrap;}
.site-foot .fl a:hover{color:var(--teal);}

.policy{padding:72px 0 40px;line-height:1.9;}
.policy .company{color:var(--muted);font-size:14px;letter-spacing:.06em;margin:0 0 10px;}
.policy h1{font-family:var(--serif);font-weight:500;font-size:clamp(23px,3.4vw,29px);line-height:1.55;letter-spacing:.02em;margin:0;}
.policy .rule{width:56px;height:2px;background:var(--teal);border-radius:2px;margin:22px 0 30px;}
.policy .lead-p{font-size:15.5px;color:var(--ink);margin:0 0 8px;line-height:2;}
.policy section{margin:34px 0;}
.policy h2{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.6;letter-spacing:.02em;margin:0 0 10px;padding-left:14px;border-left:2px solid var(--teal);}
.policy p{margin:0 0 4px;font-size:15.5px;line-height:2;}
.policy ul{margin:8px 0 0;padding-left:1.25em;}
.policy li{margin:0 0 10px;font-size:15.5px;line-height:1.95;}
.notice{background:var(--paper2);border:0.5px solid var(--line);border-radius:12px;padding:26px 28px;margin:40px 0 8px;}
.notice h2{border-left:none;padding-left:0;font-size:18px;margin-bottom:10px;}
.notice p{font-size:15px;}
.pub{margin-top:48px;padding-top:22px;border-top:0.5px solid var(--line);text-align:right;color:var(--ink2);font-size:14px;}
.pub .name{font-family:var(--serif);color:var(--ink);font-weight:500;font-size:16px;margin-top:4px;}
.back{display:inline-flex;align-items:center;gap:8px;margin-top:36px;font-size:13px;letter-spacing:.06em;color:var(--teal);}

.entry-title{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:.03em;margin:0 0 24px;}
.entry-content{font-size:15px;color:var(--ink2);line-height:2;}
.entry-content a{color:var(--teal);text-decoration:underline;}
.entry-content h2{font-family:var(--serif);font-weight:500;color:var(--ink);margin:1.6em 0 .5em;}
.entry-content h3{font-family:var(--serif);font-weight:500;color:var(--ink);margin:1.4em 0 .5em;}
.entry-content p{margin:0 0 1em;}
.entry-content img{border-radius:8px;}

@media (max-width:414px){ .br-m{display:none;} }
@media (max-width:380px){ .br-s{display:none;} }

@media (max-width:640px){
  .hero{padding:64px 0 56px;}
  section.block{padding:56px 0;}
  .work{flex-wrap:wrap;gap:6px;}
  .work .ttl{min-width:auto;}
  .policy{padding:48px 0 32px;}
}
