


:root{--background:#fff;--foreground:#142b3c;--card:#fff;--card-foreground:#142b3c;--popover:#fff;--popover-foreground:#142b3c;--primary:#142b3c;--primary-foreground:#fff;--secondary:#edf2f4;--secondary-foreground:#142b3c;--muted:#f2f5f6;--muted-foreground:#50616a;--accent:#edf2f4;--accent-foreground:#142b3c;--border:#d5dde1;--input:#d5dde1;--ring:#946e27;--radius:.2rem;--gold:#a98035;--ink:#142b3c;--serif:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:1rem;line-height:1.9;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}p{margin:0 0 1.2em}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.6;margin:0}h2{font-size:clamp(1.6rem,2.6vw,2.3rem)}h3{font-size:1.4rem}svg{flex-shrink:0}a:focus-visible,button:focus-visible{outline:3px solid #b48935;outline-offset:5px}a:hover{color:#866321}a.button:hover{color:inherit;filter:brightness(.94)}.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;background:white;padding:1rem}.skip-link:focus{top:1rem}.review-bar{background:#eaf0f3;text-align:center;font-size:.875rem;padding:.32rem 1rem;letter-spacing:.04em;border-bottom:1px solid #d7e0e5}.review-bar span{margin-left:1rem;color:#475962}.site-header{display:flex;align-items:center;gap:2rem;padding:1.45rem 3.5%;background:#fff;position:relative;z-index:20;border-bottom:1px solid #e1e6e9;min-height:108px}.brand{flex-shrink:0;display:grid;line-height:1.35}.brand-small{font-size:.75rem;letter-spacing:.22em}.brand-name{font:1.8rem var(--serif);letter-spacing:.18em;margin:.2rem 0}.brand-roman{font-size:.75rem;letter-spacing:.14em}.desktop-nav{display:flex;gap:1.7rem;margin-left:auto;font-size:.875rem}.desktop-nav a{padding:.7rem 0;border-bottom:1px solid transparent}.desktop-nav a[aria-current=page]{border-color:var(--gold)}.header-actions{display:flex;gap:1.3rem;align-items:center}.join-link{background:var(--ink);color:#fff;padding:.75rem 1.1rem;font-size:.875rem}.join-link:hover{color:#ecdcae}.menu-button{display:flex;align-items:center;gap:.4rem;border:0;background:none;color:var(--ink);min-height:44px;padding:.25rem}.menu-button span{font-size:.875rem}.site-menu{padding:2rem;width:min(92vw,430px)!important;max-width:430px!important;overflow-y:auto}.menu-top{display:flex;align-items:center;justify-content:space-between}.menu-top [data-slot=sheet-title]{font-family:var(--serif);font-size:1.6rem}.icon-button{padding:.6rem;background:transparent;border:0}.site-menu nav{display:grid;margin-top:1rem}.site-menu nav a{border-bottom:1px solid var(--border);padding:.7rem 0;font-size:1rem;min-height:44px}.hero{display:grid;grid-template-columns:43% 57%;background:var(--ink);color:#fff;min-height:590px}.hero-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:4rem 10% 4rem 13%}.eyebrow{font-size:.8rem;letter-spacing:.15em;font-weight:500;margin:0 0 1.4rem;color:#68542c}.hero .eyebrow{color:#d9c18b}.hero h1{font-size:clamp(2.5rem,4.1vw,4.6rem);letter-spacing:.08em;line-height:1.65;white-space:normal;margin-bottom:1.5rem}.hero-copy>p:not(.eyebrow){color:#edf0f1;line-height:2.1}.hero-note{display:block;font-size:.875rem;color:#d4dde3;margin-top:2rem}.hero-photo{margin:0;position:relative;min-width:0;overflow:hidden}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:49% center;display:block}.hero-photo figcaption{position:absolute;bottom:1.6rem;right:2rem;color:#fff;font-size:.875rem;text-shadow:0 1px 6px #000;background:#142b3c8a;padding:.2rem .8rem}.button{display:inline-flex;gap:2.2rem;align-items:center;justify-content:space-between;padding:.95rem 1.5rem;font-size:1rem;min-height:50px;line-height:1.6;border:1px solid transparent}.button-light{background:#fff;color:var(--ink);margin-top:.5rem}.button-dark{background:var(--ink);color:white}.button-outline{border:1px solid currentColor}.text-link{display:inline-flex;align-items:center;gap:1.1rem;min-height:44px;font-size:.9375rem;line-height:1.7;border-bottom:1px solid #a8b3b9;padding:.5rem 0;margin:.4rem 0}.intro-strip{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.6rem 6%;border-bottom:1px solid var(--border)}.intro-strip p{margin:0;font-size:.9375rem}.intro-strip p span{font-family:var(--serif);font-size:1.2rem;margin-right:1.8rem}.section{padding:6rem 6%;max-width:1440px;margin:auto}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:7%}.prose{max-width:700px;line-height:2.1}.prose h2{margin-bottom:1.2rem}.reading-section{background:#f2f5f6;max-width:none}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.reading-card{display:flex;flex-direction:column;background:white;border-top:3px solid var(--gold);padding:2.2rem;min-height:280px;transition:box-shadow .2s}.reading-card:hover{box-shadow:0 10px 28px #142b3c0c;color:var(--ink)}.reading-top,.reading-bottom{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.875rem;color:#526571}.reading-top{margin-bottom:2rem}.reading-top span:last-child{font-family:var(--serif);font-size:1.5rem;color:#947239}.reading-card h3{margin-bottom:2rem;max-width:16em}.reading-bottom{margin-top:auto}.source-note{font-size:.875rem;color:#53626b;line-height:1.9;margin:1.2rem 0}.profile-band{display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:10%;max-width:1030px;margin:6rem auto;align-items:center;padding:0 3rem}.profile-band img{width:100%;max-height:530px;object-fit:cover}.profile-band h2{font-size:3rem;letter-spacing:.16em}.profile-role{font-size:.9375rem;margin:0}.ruby-name{font-size:.875rem;letter-spacing:.15em;margin:.2rem 0 1.8rem}.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--border)}.path-card{padding:2.4rem;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--border);color:var(--ink)}.path-card:last-child{border-right:0}.path-card>svg:first-child{width:32px;height:32px;margin-bottom:1.8rem;color:#8b6c2e}.path-card>span{font-size:.875rem;color:#556570}.path-card h3{margin:.7rem 0 1rem}.path-card p{font-size:.9375rem}.path-card .small-label{font-size:.875rem;line-height:1.6;background:#eef2f4;padding:.4rem .6rem;margin-top:auto}.path-card>svg:last-child{align-self:flex-end;margin-top:1.2rem}.news-home{display:grid;grid-template-columns:1fr 1.7fr;gap:8%;border-top:1px solid var(--border)}.welcome-end{padding:3rem 6%;background:#edf2f4;display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}.welcome-end p{margin:0;font-family:var(--serif);font-size:1.25rem}.site-footer{background:var(--ink);color:#e9eff2;padding:4rem 6% 1.5rem}.footer-inner{display:grid;grid-template-columns:1fr 1.7fr;gap:10%;padding-bottom:3rem}.footer-brand{font-family:var(--serif);font-size:2.2rem;letter-spacing:.15em}.footer-inner p{font-size:.875rem;line-height:2;margin:1rem 0}.footer-inner a:hover{color:#e0c68d}.footer-inner>div>a:last-child{display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem}.footer-inner nav{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 2rem;font-size:.9375rem}.footer-inner nav a{padding:.4rem 0}.footer-bottom{border-top:1px solid #5c6b77;display:flex;justify-content:space-between;gap:1rem;padding-top:1.4rem;font-size:.8rem;color:#d0dce3}.inner-page{max-width:1140px;margin:auto;padding:0 3rem 6rem;min-height:70vh}.breadcrumb{display:flex;align-items:center;gap:.6rem;font-size:.875rem;color:#596b75;padding:1.5rem 0}.page-intro{padding:3rem 0 3.5rem;border-bottom:1px solid var(--border);margin-bottom:3rem}.page-intro h1{font-size:clamp(2rem,3.8vw,3.4rem);margin-bottom:1.2rem}.lead{font-size:1.1rem;max-width:780px;margin:0;color:#435865}.content-section{margin:3.5rem 0}.content-section>h2{margin-bottom:1.5rem}.notice{padding:2rem;background:#edf2f4;border-left:3px solid #aa823c;margin:2.5rem 0}.notice h2{font-family:inherit;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.notice p:last-child{margin-bottom:0}.info-list{margin:2rem 0}.info-list>div{display:grid;grid-template-columns:210px 1fr;gap:2rem;padding:1.3rem 0;border-bottom:1px solid var(--border)}.info-list dt{font-weight:600}.info-list dd{margin:0}.spaced-heading{margin:3rem 0 1.5rem}.steps{list-style:none;padding:0;margin:3rem 0}.steps li{display:flex;gap:2.5rem;padding:2.5rem 0;border-bottom:1px solid var(--border)}.steps li>span{font-family:var(--serif);font-size:2.6rem;color:#8f7035}.steps h2{margin-bottom:.7rem}.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f2f5f6;margin:3rem 0}.values>div{padding:2rem}.values>div>span{color:#8d6d31;font-family:var(--serif);font-size:1.5rem}.values h2{font-size:1.5rem;margin:1rem 0}.profile-page{display:grid;grid-template-columns:340px 1fr;gap:4rem}.profile-page img{width:100%;height:auto}.profile-page .text-link{display:flex;width:fit-content}.reading-article{max-width:790px;margin:auto}.reading-article blockquote{font:1.45rem/2.1 var(--serif);padding:1rem 0 1rem 2rem;margin:0;border-left:2px solid var(--gold)}.reflection{padding:2.5rem;background:#f2f5f6;margin:3rem 0}.reflection h2{font-size:1.4rem;margin-bottom:1.2rem}.reflection small{font-size:.875rem;line-height:1.8;color:#4e626d;display:block}.faq-list [data-slot=accordion-trigger]{font-size:1.05rem;padding:1.7rem .25rem;line-height:1.9;border-radius:0}.faq-list [data-slot=accordion-trigger] b{font:1.3rem var(--serif);color:#806025;margin-right:.5rem}.faq-list [data-slot=accordion-content]>div{font-size:1rem;line-height:2;padding:0 1.8rem 1.8rem 2.4rem;max-width:920px}.empty-state{padding:3rem;background:#f2f5f6}.empty-state>span{font-size:.875rem;border:1px solid #83939c;padding:.35rem .7rem}.empty-state h2{font-size:1.6rem;margin:1.6rem 0}.empty-state p{max-width:700px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.service-list>div{border:1px solid var(--border);padding:2rem}.service-list h2{font-size:1.8rem;margin:.8rem 0 1.2rem}.status-label{font-size:.875rem;background:#edf2f4;padding:.75rem 1rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-grid h2{font-size:1.5rem;margin-bottom:1rem}.contact-grid section{border-top:2px solid var(--gold);padding-top:1.5rem}.policy-copy{max-width:850px}.policy-copy h2{margin-top:2rem}
@media(min-width:1600px){.hero-copy{padding-left:18%}.hero{min-height:680px}.hero-photo img{max-height:760px}}
@media(max-width:1149.98px){.desktop-nav{display:none}.header-actions{margin-left:auto}.hero-copy{padding:3rem 9%}.hero h1{font-size:3.1rem}.hero{min-height:530px}.path-card{padding:1.7rem}.reading-card{padding:1.7rem}}
@media(max-width:760px){.review-bar{font-size:.8rem;padding:.3rem .65rem}.review-bar span{display:block;margin:0;font-size:.75rem}.site-header{padding:1rem 5%;min-height:90px;gap:1rem}.brand{flex-shrink:1;min-width:0}.header-actions{flex-shrink:0}.brand-name{font-size:1.5rem}.brand-small,.brand-roman{font-size:.7rem}.join-link{display:none}.hero{display:flex;flex-direction:column-reverse;min-height:0}.hero-photo{height:auto;aspect-ratio:1.4}.hero-photo img{height:100%;object-position:50% 42%}.hero-photo figcaption{bottom:.8rem;right:1rem}.hero-copy{padding:2.5rem 7% 2.7rem}.hero h1{font-size:2.8rem;line-height:1.55;margin-bottom:1rem}.hero .eyebrow{margin-bottom:.9rem}.hero-copy>p:not(.eyebrow){font-size:1rem;margin-bottom:.7rem}.hero-note{margin-top:1.5rem}.intro-strip{display:block;padding:1.6rem 7%}.intro-strip p span{display:block;margin-bottom:.35rem}.intro-strip .text-link{margin-top:.8rem}.section{padding:3.5rem 7%}.two-col{grid-template-columns:1fr;gap:1.8rem}.section-heading{align-items:flex-start;flex-direction:column;gap:.5rem}.section-heading .eyebrow{margin-bottom:1rem}.reading-grid{grid-template-columns:1fr;gap:1rem}.reading-card{min-height:225px;padding:1.6rem}.reading-top{margin-bottom:1.3rem}.reading-card h3{max-width:100%;font-size:1.45rem;margin-bottom:1.2rem}.profile-band{grid-template-columns:42% 1fr;gap:7%;margin:3.5rem 7%;padding:0}.profile-band img{max-height:none}.profile-band .eyebrow{font-size:.75rem;margin-bottom:.75rem}.profile-band h2{font-size:1.75rem;letter-spacing:.08em}.profile-role{font-size:.8rem}.profile-band p:not(.eyebrow):not(.ruby-name):not(.profile-role){font-size:.9375rem}.profile-band .ruby-name{margin-bottom:1rem}.profile-band .button{font-size:.875rem;gap:.6rem;padding:.6rem .7rem}.profile-band br{display:none}.path-grid{grid-template-columns:1fr}.path-card{padding:1.8rem;border-right:0;border-bottom:1px solid var(--border)}.path-card:last-child{border-bottom:0}.path-card>svg:first-child{margin-bottom:1rem}.path-card>svg:last-child{margin-top:.2rem}.news-home{grid-template-columns:1fr;gap:1.8rem}.welcome-end{padding:2.5rem 7%;gap:1.2rem;flex-direction:column}.site-footer{padding:3rem 7% 1.5rem}.footer-inner{grid-template-columns:1fr;gap:2rem}.footer-inner nav{gap:.65rem 1.5rem}.footer-bottom{flex-direction:column;font-size:.8rem;gap:.5rem}.inner-page{padding:0 7% 3.5rem}.breadcrumb{padding:1.2rem 0}.page-intro{padding:1.7rem 0 2.2rem;margin-bottom:2rem}.page-intro h1{font-size:2.1rem}.page-intro .lead{font-size:1rem}.page-intro .eyebrow{margin-bottom:.9rem}.content-section{margin:2.5rem 0}.info-list>div{grid-template-columns:1fr;gap:.4rem;padding:1.1rem 0}.steps li{gap:1.4rem;padding:1.8rem 0}.steps li>span{font-size:2rem}.steps h2{font-size:1.5rem}.values{grid-template-columns:1fr}.values>div{padding:1.7rem;border-bottom:1px solid var(--border)}.profile-page{grid-template-columns:1fr;gap:2rem}.profile-page img{max-width:360px;margin:auto}.service-list,.contact-grid{grid-template-columns:1fr}.service-list>div{padding:1.6rem}.service-list h2{font-size:1.6rem}.notice{padding:1.4rem}.empty-state{padding:1.7rem}.empty-state h2{font-size:1.4rem}.empty-state .button{gap:1rem;font-size:.9375rem}.reading-article blockquote{font-size:1.2rem;padding:.5rem 0 .5rem 1.2rem}.reflection{padding:1.5rem}.faq-list [data-slot=accordion-trigger]{font-size:1rem}.faq-list [data-slot=accordion-content]>div{padding-left:.3rem;padding-right:.3rem}.site-menu{padding:1.5rem}}
@media(max-width:380px){.hero h1{font-size:2.35rem}.profile-band{grid-template-columns:1fr}.profile-band img{max-width:250px}.menu-button span{display:none}.footer-inner nav{grid-template-columns:1fr}.hero-note{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.review-bar,.site-header,.site-footer,.welcome-end{display:none}.hero{background:white;color:var(--ink)}.hero-copy p{color:var(--ink)!important}.button{border:1px solid}.section{padding:2rem}.reading-grid{grid-template-columns:1fr}.page-intro{padding-top:0}}

/* 2026-09-17: 悩みを入口に、深い学びは希望者へ。 */
.hero h1{font-size:clamp(2rem,3.2vw,3.5rem);letter-spacing:.035em}.concerns{padding-bottom:4rem}.concern-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.concern-card{display:flex;flex-direction:column;padding:2rem;background:#edf2f4;border-top:3px solid #a98035;min-width:0}.concern-card>span:first-child{font-size:.9375rem;color:#52616b}.concern-card h3{font-size:1.45rem;margin:1.3rem 0}.concern-card p{font-size:1rem}.concern-card:hover{color:var(--ink);background:#e3ecf1}.concern-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9375rem;padding-top:.8rem}.welcome-copy{padding-top:2rem}.deeper-invitation{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:#f2f5f6;border-top:1px solid #d5dde1}.concern-shortcuts{display:flex;gap:.8rem;flex-wrap:wrap;margin:2rem 0}.concern-shortcuts a{padding:.65rem 1rem;min-height:44px;border:1px solid #bccbd3;font-size:1rem}.concern-shortcuts a:hover{background:#edf2f4}.concern-detail{padding:2.5rem 0;border-top:1px solid var(--border);scroll-margin-top:1rem}.concern-detail h2{margin-bottom:1.5rem}.intro-links{display:grid;justify-items:start;gap:.5rem}.learning-intro{margin-bottom:3rem}@media(max-width:760px){.hero h1{font-size:clamp(1.8rem,6.8vw,2.8rem)}.concern-grid,.deeper-invitation{grid-template-columns:1fr}.concern-card{padding:1.6rem}.deeper-invitation{gap:1.7rem}.concern-detail h2{font-size:1.55rem}.concerns{padding-bottom:2rem}}

/* Supplied logo reference: original raster retained, star displayed in a viewport. */
.brand{display:flex;align-items:center;gap:.8rem}.brand-wordmark{display:grid;min-width:0}.brand-symbol{position:relative;display:block;overflow:hidden;width:3.15rem;aspect-ratio:130/145;flex:none;background:#151513}.brand-symbol img{position:absolute;width:173.076923%;max-width:none;height:auto;left:-47.692308%;top:-9.655172%}.footer-brand{display:inline-flex;align-items:center;gap:1rem}.footer-brand .brand-symbol{width:3.2rem}.contact-actions{display:grid;justify-items:start;gap:.7rem}.phone-link{font-size:1.35rem;letter-spacing:.03em}.entry-steps{margin:2rem 0}.entry-steps li{padding:1.7rem 0}.entry-steps h2{font-size:1.5rem}.activity-list{padding-left:1.25rem}.activity-list li{margin-bottom:.75rem}
@media(max-width:760px){.brand{gap:.55rem}.brand-symbol{width:2.5rem}.brand-name{letter-spacing:.11em}.brand-roman{letter-spacing:.05em}.site-header{gap:.6rem}.header-actions{gap:0}}
@media(max-width:380px){.brand-symbol{width:2.2rem}}

/* 共通設定：本文16px、補足14px。デザイン変更はこのファイルで行います。 */
:root{--ink:#142b3c;--foreground:#142b3c;--secondary:#edf2f4;--muted:#f2f5f6}
html{font-size:16px}body{font-size:16px;font-weight:500}h1,h2,h3,h4,h5,h6{font-weight:600}
small,.source-note,.hero-note,.eyebrow,.breadcrumb,.footer-bottom,.ruby-name,.brand-small,.brand-roman,.reading-top,.reading-bottom,.status-label,.small-label,.hero-photo figcaption{font-size:14px!important}
p,.lead,.text-link,.path-card p,.profile-band p,.intro-strip p,.footer-inner p{font-size:16px}
.site-header{gap:1rem;flex-wrap:wrap}.desktop-nav{gap:1rem;flex-wrap:wrap}.header-actions{margin-left:auto}.desktop-nav a,.join-link{font-size:16px}.brand-name{font-size:1.65rem}
.menu-list{list-style:none;padding:0;margin:0;display:contents}.menu-list li{display:contents}

.entry-content{max-width:100%}
.reading-card h2{font-size:1.4rem}.news-list article{padding:2rem 0;border-bottom:1px solid var(--border)}.news-list h2{font-size:1.5rem}.pagination{margin-top:2rem}.page-numbers{display:inline-block;padding:.6rem 1rem;border:1px solid var(--border)}
.sr-only,.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}
button,input,textarea,select{font:inherit}input,textarea,select{max-width:100%;padding:.7rem;border:1px solid var(--border)}textarea{width:100%}.wpcf7 label{display:block;margin:1rem 0}.wpcf7 input[type=submit]{background:var(--ink);color:white;cursor:pointer}
.alignwide{max-width:100%}.wp-caption-text{font-size:14px}.entry-content img{height:auto}svg{vertical-align:middle}.site-logo img{max-width:220px;max-height:80px;width:auto}
/* 本文・注釈のサイズは画面幅によらず統一 */
p{font-size:16px!important}p.source-note,p.hero-note,p.eyebrow,p.ruby-name,p.status-label{font-size:14px!important}

/* 1.0.1: 元サイトの紺・白・金の配色に統一 */


/* 1.0.2 Google Fonts：本文・ナビはNoto Sans JP、明朝部分はShippori Mincho */
h1,h2,h3,h4,h5,h6{font-family:var(--serif)}

/* 1.0.3 元サイトのヘッダー：PCナビ＋全幅で利用できる右側メニュー */
.menu-button{display:flex}
.ntw-drawer{position:fixed;inset:0 0 0 auto;margin:0;border:0;border-left:1px solid var(--border);height:100dvh;max-height:100dvh;color:var(--ink);background:#fff;box-sizing:border-box;overscroll-behavior:contain}
.ntw-drawer:not([open]){display:none}.ntw-drawer[open]{display:block;animation:ntw-drawer-in .2s ease-out}
.ntw-drawer::backdrop{background:rgb(0 0 0 / 45%)}.ntw-drawer h2{font-size:1.6rem}.ntw-drawer nav a{display:block;text-decoration:none}.menu-close{min-width:44px;min-height:44px}
body.ntw-menu-open{overflow:hidden}
@keyframes ntw-drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:1149.98px){.desktop-nav{display:none}}
@media(min-width:1150px){.desktop-nav{display:flex}.menu-button{display:flex}}
@media(prefers-reduced-motion:reduce){.ntw-drawer[open]{animation:none}}
@media print{.ntw-drawer{display:none!important}}

/* 1.0.4 元ページの見出し・リンク・FAQの余白に合わせる */
.faq-list details{border-bottom:1px solid var(--border)}
.faq-list summary{display:flex;align-items:center;gap:.5rem;list-style:none;cursor:pointer;font-size:16px;font-weight:500;padding:1.7rem .25rem;line-height:1.9;min-height:44px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::before{content:"Q.";font:1.3rem var(--serif);color:#806025;flex-shrink:0}
.faq-list summary::after{content:"";width:8px;height:8px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin-left:auto;margin-right:.5rem;flex-shrink:0}
.faq-list details[open]>summary::after{transform:rotate(225deg)}
.faq-list details>p{font-size:16px;line-height:2;padding:0 1.8rem 1.8rem 2.4rem;max-width:920px;margin:0}
.faq-list summary:focus-visible{outline:3px solid #b48935;outline-offset:3px}
@media(max-width:760px){.faq-list details>p{padding-left:.3rem;padding-right:.3rem}}

/* 1.0.6: 復元した5ページの元レイアウト。本文16px・補足14pxを維持。 */
.ntw-visitor .steps{list-style:none;margin-left:0;padding-left:0}
.ntw-visitor .info-list dd{margin:0}
.entry-content .button{text-decoration:none;border-bottom-width:1px}
.entry-content .button-dark,.entry-content .button-dark:hover{color:#fff}
.entry-content .policy-copy h2{margin-top:2.5rem;margin-bottom:1rem}
.entry-content .policy-copy h2:first-child{margin-top:0}
.ntw-member-status a:not(.button){text-decoration:underline;text-underline-offset:.25em}
@media(max-width:760px){.contact-actions .button{max-width:100%;white-space:normal}}

/* 1.0.7: ボタンとナビゲーション */
a.button.button-light:hover,a.button.button-light:focus-visible{background:#d9c18b;color:#142b3c;filter:none}
.button.button-outline{--ntw-outline-ink:#142b3c;--ntw-outline-fill:#fff;color:var(--ntw-outline-ink);background:transparent;border-color:var(--ntw-outline-ink)}
.hero .button.button-outline{--ntw-outline-ink:#fff;--ntw-outline-fill:#142b3c}
a.button.button-outline:hover,a.button.button-outline:focus-visible{background:var(--ntw-outline-ink);color:var(--ntw-outline-fill);border-color:var(--ntw-outline-ink);filter:none}
.desktop-nav a[aria-current="page"]{border-color:var(--gold)}
.header-actions a[aria-current="page"]{box-shadow:inset 0 -3px var(--gold)}
.ntw-instagram{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.ntw-policy{max-width:800px;margin:0 auto}.ntw-policy section{padding:1.6rem 0;border-bottom:1px solid var(--border)}.ntw-policy h2{font-size:clamp(1.25rem,2.5vw,1.65rem);margin-bottom:1rem}.ntw-policy p:last-child{margin-bottom:0}

/* Contact Form 7：assets/css/style.css の末尾に追記 */
.ntw-contact-form{max-width:760px;margin:0 auto;color:var(--ink,#142b3c);font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.9}
.ntw-contact-form>p{margin:0 0 1.5rem}
.wpcf7 .ntw-contact-form label{display:block;margin:0;font-weight:500}
.ntw-contact-form .wpcf7-form-control-wrap{display:block;margin-top:.5rem}
.ntw-contact-form input[type="text"],.ntw-contact-form input[type="email"],.ntw-contact-form textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:.8rem 1rem;background:#fff;color:var(--ink,#142b3c);border:1px solid #bac7ce;border-radius:2px;font:inherit;font-size:16px;line-height:1.6;box-shadow:none}
.ntw-contact-form textarea{min-height:180px;resize:vertical}
.ntw-contact-form input::placeholder,.ntw-contact-form textarea::placeholder{color:#667681;opacity:1}
.ntw-contact-form input:focus-visible,.ntw-contact-form textarea:focus-visible{outline:2px solid #946e27;outline-offset:3px}
.ntw-contact-form .ntw-required,.ntw-contact-form .ntw-optional{display:inline-block;margin-left:.5rem;padding:0 .5rem;font-size:14px;line-height:1.8;vertical-align:middle}
.ntw-contact-form .ntw-required{background:#142b3c;color:#fff}
.ntw-contact-form .ntw-optional{background:#edf2f4;color:#50616a}
.ntw-contact-form p.ntw-form-note{font-size:14px!important;color:#50616a}
.ntw-contact-form .ntw-consent{margin:2rem 0}
.ntw-contact-form .ntw-consent>p{margin:0 0 .6rem}
.ntw-contact-form .wpcf7-list-item{margin:0}
.wpcf7 .ntw-contact-form .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:.75rem;min-height:44px}
.ntw-contact-form input[type="checkbox"]{flex:0 0 auto;width:20px;height:20px;margin:.4rem 0 0;padding:0;accent-color:#142b3c}
.ntw-contact-form .ntw-consent a{color:#71531b;border:0;text-decoration:underline;text-underline-offset:.25em}
.ntw-contact-form input[type="submit"]{width:auto;min-width:180px;min-height:50px;padding:.95rem 2rem;background:#142b3c;color:#fff;border:1px solid #142b3c;border-radius:2px;font:inherit;font-size:16px;cursor:pointer}
.ntw-contact-form input[type="submit"]:disabled{opacity:.5;cursor:not-allowed}
.ntw-contact-form .wpcf7-not-valid-tip{font-size:14px;margin-top:.4rem}
@media(max-width:760px){.ntw-contact-form input[type="submit"]{width:100%}}

/* 1.0.8: 通常時の視認性と入会案内ボタンのホバー */
.button.button-outline{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.profile-band .button.button-outline{--ntw-outline-ink:#142b3c;--ntw-outline-fill:#fff;background:transparent;color:#142b3c;border:1px solid #142b3c}
.profile-band a.button.button-outline:hover,.profile-band a.button.button-outline:focus-visible{background:#142b3c;color:#fff;border-color:#142b3c;filter:none}
@media(prefers-reduced-motion:reduce){.button.button-outline{transition:none}}
/* 1.0.9: 濃色ボタンの色反転・枠線（全ページ共通） */
body .button.button-dark {
 background:#142b3c; color:#fff; border:1px solid #142b3c;
 transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
body .button.button-dark:hover,
body .button.button-dark:focus-visible {
 background:#fff; color:#142b3c; border:1px solid #142b3c; filter:none;
}
@media(prefers-reduced-motion:reduce){body .button.button-dark{transition:none}}
/* Contact Form 7：assets/css/style.css の末尾に追記 */
.ntw-contact-form{max-width:760px;margin:0 auto;color:var(--ink,#142b3c);font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.9}
.ntw-contact-form>p{margin:0 0 1.5rem}
.wpcf7 .ntw-contact-form label{display:block;margin:0;font-weight:500}
.ntw-contact-form .wpcf7-form-control-wrap{display:block;margin-top:.5rem}
.ntw-contact-form input[type="text"],.ntw-contact-form input[type="email"],.ntw-contact-form textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:.8rem 1rem;background:#fff;color:var(--ink,#142b3c);border:1px solid #bac7ce;border-radius:2px;font:inherit;font-size:16px;line-height:1.6;box-shadow:none}
.ntw-contact-form textarea{min-height:180px;resize:vertical}
.ntw-contact-form input::placeholder,.ntw-contact-form textarea::placeholder{color:#667681;opacity:1}
.ntw-contact-form input:focus-visible,.ntw-contact-form textarea:focus-visible{outline:2px solid #946e27;outline-offset:3px}
.ntw-contact-form .ntw-required,.ntw-contact-form .ntw-optional{display:inline-block;margin-left:.5rem;padding:0 .5rem;font-size:14px;line-height:1.8;vertical-align:middle}
.ntw-contact-form .ntw-required{background:#142b3c;color:#fff}
.ntw-contact-form .ntw-optional{background:#edf2f4;color:#50616a}
.ntw-contact-form p.ntw-form-note{font-size:14px!important;color:#50616a}
.ntw-contact-form .ntw-consent{margin:2rem 0}
.ntw-contact-form .ntw-consent>p{margin:0 0 .6rem}
.ntw-contact-form .wpcf7-list-item{margin:0}
.wpcf7 .ntw-contact-form .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:.75rem;min-height:44px}
.ntw-contact-form input[type="checkbox"]{flex:0 0 auto;width:20px;height:20px;margin:.4rem 0 0;padding:0;accent-color:#142b3c}
.ntw-contact-form .ntw-consent a{color:#71531b;border:0;text-decoration:underline;text-underline-offset:.25em}
.ntw-contact-form input[type="submit"]{width:auto;min-width:180px;min-height:50px;padding:.95rem 2rem;background:#142b3c;color:#fff;border:1px solid #142b3c;border-radius:2px;font:inherit;font-size:16px;cursor:pointer}
.ntw-contact-form input[type="submit"]:disabled{opacity:.5;cursor:not-allowed}
.ntw-contact-form .wpcf7-not-valid-tip{font-size:14px;margin-top:.4rem}
@media(max-width:760px){.ntw-contact-form input[type="submit"]{width:100%}}

/* 送信ボタン：紺と白の反転 */
body .wpcf7 .ntw-contact-form input[type="submit"]{background:#142b3c;color:#fff;border:1px solid #142b3c;transition:background-color .18s ease,color .18s ease}
body .wpcf7 .ntw-contact-form input[type="submit"]:hover,
body .wpcf7 .ntw-contact-form input[type="submit"]:focus-visible{background:#fff;color:#142b3c;border-color:#142b3c;filter:none}
@media(prefers-reduced-motion:reduce){body .wpcf7 .ntw-contact-form input[type="submit"]{transition:none}}
/* お問い合わせフォームを左寄せ */
.wpcf7 .ntw-contact-form {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.wpcf7 .ntw-contact-form input[type="text"],
.wpcf7 .ntw-contact-form input[type="email"],
.wpcf7 .ntw-contact-form textarea {
  text-align: left;
}
/* 入会案内・書籍ページ追加CSS：assets/css/style.css の末尾へ追記 */
.ntw-added-page{color:#142b3c;font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:500;line-height:1.9;text-align:left}
.ntw-added-page h1,.ntw-added-page h2{font-family:"Shippori Mincho",serif;font-weight:600;letter-spacing:.04em}
.ntw-added-intro{padding:3.5rem 0;border-bottom:1px solid #d7e0e5;margin-bottom:2rem}
.ntw-added-intro h1{font-size:clamp(32px,4vw,52px);margin:0 0 1.2rem}
.ntw-added-intro>p:last-child{color:#435865;margin:0}
.ntw-added-page .ntw-added-eyebrow{font-size:14px;letter-spacing:.16em;color:#866321;margin:0 0 .65rem}
.ntw-entry-steps{list-style:none;padding:0;margin:0 0 4rem}
.ntw-entry-steps>li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:2rem;padding:3rem 0;border-bottom:1px solid #d7e0e5}
.ntw-step-no{font-family:"Shippori Mincho",serif;font-size:52px;line-height:1.3;color:#987b42}
.ntw-added-page h2{font-size:clamp(24px,2.4vw,32px);line-height:1.6;margin:0 0 1.2rem}
.ntw-added-page p{margin:0 0 1.1rem}
.ntw-added-page a.ntw-added-button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;max-width:100%;padding:.9rem 1.5rem;min-height:50px;background:#142b3c;color:#fff;border:1px solid #142b3c;text-decoration:none;line-height:1.6;transition:background-color .18s ease,color .18s ease}
.ntw-added-page a.ntw-added-button:hover,.ntw-added-page a.ntw-added-button:focus-visible{background:#fff;color:#142b3c;border-color:#142b3c;filter:none}
.ntw-added-contact{background:#edf2f4;border-left:3px solid #a48950;padding:2.5rem;margin:3rem 0}
.ntw-added-page a.ntw-added-phone{display:inline-block;font-family:"Shippori Mincho",serif;font-size:clamp(24px,3vw,36px);text-decoration:none;border:0;color:#142b3c}
.ntw-added-page .ntw-added-note{font-size:14px;color:#50616a}
.ntw-book{display:grid;grid-template-columns:220px minmax(0,1fr);gap:3rem;padding:3rem 0;border-bottom:1px solid #d7e0e5}
.ntw-book:last-child{margin-bottom:2rem}
.ntw-book-cover{display:flex;align-items:center;justify-content:center;background:#f2f5f6;padding:1.5rem;min-height:250px}
.ntw-book-cover img{display:block;width:auto;height:auto;max-width:100%;max-height:280px;box-shadow:0 8px 18px #142b3c1a}
.ntw-book-copy{align-self:center}
.ntw-book-copy h2{font-size:clamp(23px,2.4vw,30px)}
.ntw-book-copy>p:not(.ntw-added-eyebrow){color:#435865}
.ntw-added-page a.ntw-added-textlink{display:inline-block;color:#71531b;text-decoration:none;border-bottom:1px solid #a48950;padding:.5rem 0}
.ntw-book-noimage{text-align:center;color:#50616a;font-size:14px}
.ntw-book-noimage span{display:block}
.ntw-book-noimage strong{display:block;font:600 30px "Shippori Mincho",serif;margin:1rem 0}
@media(max-width:640px){.ntw-added-intro{padding:2rem 0}.ntw-entry-steps>li{grid-template-columns:44px minmax(0,1fr);gap:1rem;padding:2rem 0}.ntw-step-no{font-size:34px}.ntw-added-contact{padding:1.5rem}.ntw-book{grid-template-columns:1fr;gap:1.5rem;padding:2rem 0}.ntw-book-cover{min-height:0;padding:1.5rem}.ntw-book-cover img{max-height:230px}.ntw-added-page a.ntw-added-button{gap:1rem}}
@media(prefers-reduced-motion:reduce){.ntw-added-page a.ntw-added-button{transition:none}}
/* フッターロゴの背景と位置をリセット */
.site-footer .footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.site-footer .footer-brand .brand-symbol {
  display: block;
  position: static;
  width: 48px;
  height: auto;
  flex: 0 0 48px;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
  transform: none;
}

.site-footer .footer-brand .brand-symbol img {
  display: block;
  position: static;
  width: 100%;
  height: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  object-fit: contain;
  transform: none;
  filter: none;
}
/* つながる場所：SNS・音声配信 */
.ntw-social-section{margin:4rem 0 2rem;color:#142b3c;text-align:left;font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:500;line-height:1.9}
.ntw-social-section>h2{font-family:"Shippori Mincho",serif;font-size:32px;font-weight:600;margin:0 0 1rem}
.ntw-social-section>.eyebrow{color:#866321;font-size:14px;letter-spacing:.16em;margin:0 0 .75rem}
.ntw-social-section .ntw-social-intro{margin:0 0 2rem;color:#435865}
.ntw-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.ntw-social-card{background:#fff;border:1px solid #d7e0e5;border-top:2px solid #a48950;padding:2rem;display:flex;flex-direction:column;min-width:0}
.ntw-social-card h3{font-family:"Shippori Mincho",serif;font-size:26px;font-weight:600;margin:0 0 1rem;color:#142b3c}
.ntw-social-card p{margin:0 0 1.5rem;color:#435865}
.ntw-social-card a.ntw-social-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding:.85rem 1rem;min-height:48px;border:1px solid #142b3c;background:#fff;color:#142b3c;text-decoration:none;line-height:1.6;transition:color .18s ease,background-color .18s ease}
.ntw-social-card a.ntw-social-link:hover,.ntw-social-card a.ntw-social-link:focus-visible{background:#142b3c;color:#fff;border-color:#142b3c;text-decoration:none;filter:none}
.ntw-social-card a.ntw-social-link:focus-visible{outline:2px solid #a48950;outline-offset:4px}
@media(max-width:640px){.ntw-social-grid{grid-template-columns:1fr}.ntw-social-card{padding:1.5rem}.ntw-social-section{margin-top:3rem}}
@media(prefers-reduced-motion:reduce){.ntw-social-card a.ntw-social-link{transition:none}}
/* 日本天星会 1.2.2：既存の assets/css/style.css の末尾に追記 */
/* 入力欄の配置はそのまま。確認・送信エリアのみ本文幅の中央へ。 */
.wpcf7 .ntw-form-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
  margin: 24px 0 0;
  text-align: center;
}
.wpcf7 .ntw-form-actions .ntw-turnstile {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
}
.wpcf7 .ntw-form-actions p.ntw-submit {
  position: relative;
  display: inline-block;
  width: auto;
  margin: 0;
  padding: 0;
  text-align: center;
}
.wpcf7 .ntw-form-actions .wpcf7-submit {
  display: inline-block;
  margin: 0;
  float: none;
}
.wpcf7 .ntw-form-actions .wpcf7-spinner {
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  margin: 0;
  transform: translateY(-50%);
}
.inner-page .ntw-visitor-actions,
.inner-page .ntw-member-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
.inner-page .ntw-visitor-actions > a,
.inner-page .ntw-member-actions > a {
  margin: 0;
}

/* 1.2.2：対象ボタン間隔を20pxに固定 */
body .inner-page .entry-content .ntw-visitor-actions,
body .inner-page .entry-content .ntw-member-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  column-gap: 20px !important;
  row-gap: 20px !important;
}
body .inner-page .entry-content .ntw-visitor-actions > a,
body .inner-page .entry-content .ntw-member-actions > a {
  margin: 0 !important;
  flex: 0 0 auto !important;
  position: static !important;
  transform: none !important;
}

/* 1.0.11: 総裁プロフィール */
.founder-profile{margin:0 0 5rem}
.founder-feature{display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:clamp(3rem,7vw,6rem);align-items:center;margin:0 0 5rem;padding:clamp(2rem,4vw,4rem);background:#f3f6f7;border-top:2px solid var(--gold)}
.founder-feature__portrait{margin:0;min-width:0}
.founder-feature__portrait img{display:block;width:100%;height:auto;box-shadow:0 18px 45px rgba(20,43,60,.12)}
.founder-feature__intro{min-width:0}
.founder-feature__role{margin:0 0 .8rem;color:#806025;font-size:.85rem;font-weight:600;letter-spacing:.12em}
.founder-feature__intro h2{font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:.12em;margin:0}
.founder-feature__reading{margin:.35rem 0 2rem;color:#596b75;font-size:.9rem;letter-spacing:.18em}
.founder-feature__lead{font-family:var(--serif);font-size:clamp(1.05rem,1.6vw,1.18rem);line-height:2.25}
.founder-feature__lead p:last-child{margin-bottom:0}
.founder-story{max-width:790px;margin:0 auto}
.founder-story__section{padding:0 0 4.5rem;margin:0 0 4.5rem;border-bottom:1px solid var(--border)}
.founder-story__section:last-child{margin-bottom:0}
.founder-story__section h3{font-size:clamp(1.55rem,2.5vw,2rem);letter-spacing:.06em;margin:0 0 2rem}
.founder-story__section>p{line-height:2.25;margin-bottom:1.55rem}
.founder-story__eyebrow{font-size:.78rem!important;font-weight:600;letter-spacing:.16em;color:#806025;line-height:1.6!important;margin:0 0 1.4rem!important}
.founder-quote{margin:2.4rem 0;padding:1.7rem 2rem;background:#f7f8f8}
.founder-quote p{margin:0;font:500 clamp(1.25rem,2.4vw,1.65rem)/2 var(--serif);letter-spacing:.035em}
.founder-quote--small p{font-size:clamp(1.1rem,2vw,1.35rem)}
.founder-story__emphasis{font:500 clamp(1.35rem,2.4vw,1.7rem)/2 var(--serif);letter-spacing:.04em;color:#142b3c}
.founder-story__section--closing{padding:clamp(2rem,5vw,3.5rem);background:#142b3c;color:#fff;border:0}
.founder-story__section--closing h3,.founder-story__section--closing .founder-story__emphasis{color:#fff}
.founder-links{display:grid;grid-template-columns:.7fr 1.3fr;gap:4rem;align-items:start;margin:5rem 0 0;padding:3rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.founder-links h2{font-size:clamp(1.7rem,2.6vw,2.2rem)}
.founder-links__list{display:grid}
.founder-links__list .text-link{display:flex;justify-content:space-between;width:100%;margin:0;padding:.9rem 0}
.founder-next{max-width:790px;margin-left:auto;margin-right:auto}
@media(max-width:760px){
  .founder-profile{margin-bottom:3.5rem}
  .founder-feature{grid-template-columns:1fr;gap:2rem;margin-bottom:3.5rem;padding:1.4rem}
  .founder-feature__portrait{max-width:340px;margin:0 auto}
  .founder-feature__intro h2{font-size:2.35rem}
  .founder-feature__reading{margin-bottom:1.4rem}
  .founder-feature__lead{font-size:1rem;line-height:2.1}
  .founder-story__section{padding-bottom:3rem;margin-bottom:3rem}
  .founder-story__section>p{line-height:2.1;margin-bottom:1.35rem}
  .founder-quote{margin:1.8rem 0;padding:1.35rem 1.2rem}
  .founder-story__section--closing{padding:1.7rem 1.4rem}
  .founder-links{grid-template-columns:1fr;gap:1rem;margin-top:3.5rem;padding:2.2rem 0}
}

/* 1.0.12: 総裁プロフィールをコンパクト化・ゴシック体に統一 */
.founder-profile,
.founder-profile h2,
.founder-profile h3,
.founder-profile p,
.founder-profile blockquote,
.founder-links,
.founder-links h2,
.founder-next,
.founder-next h2{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
.founder-profile{margin-bottom:2.5rem}
.founder-feature{gap:clamp(2rem,4vw,3.5rem);margin-bottom:2.5rem;padding:clamp(1.4rem,2.5vw,2.25rem)}
.founder-feature__role{margin-bottom:.45rem}
.founder-feature__intro h2{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:700;line-height:1.45}
.founder-feature__reading{margin:.25rem 0 1.15rem}
.founder-feature__lead{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:1rem;line-height:1.9}
.founder-feature__lead p{margin-bottom:.85rem}
.founder-story__section{padding-bottom:1rem;margin-bottom:1.4rem}
.founder-story__section>:last-child{margin-bottom:0}
.founder-story__section h3{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;line-height:1.55;letter-spacing:.035em;margin-bottom:.85rem}
.founder-story__section>p{line-height:1.9;margin-bottom:.8rem}
.founder-story__eyebrow{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;margin-bottom:.75rem!important}
.founder-quote{margin:.9rem 0;padding:.85rem 1rem}
.founder-quote p,.founder-quote--small p{font:600 1rem/1.8 "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;letter-spacing:.01em}
.founder-story__emphasis{font:700 1.05rem/1.8 "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;letter-spacing:.015em}
.founder-story__section--closing{padding:1.3rem 1.5rem;background:#f3f6f7;color:var(--ink);border-left:3px solid var(--gold)}
.founder-story__section--closing h3,.founder-story__section--closing .founder-story__emphasis{color:var(--ink)}
.founder-story__section--closing p{line-height:1.75;margin-bottom:.55rem;font-weight:500}
.founder-story__section--closing .founder-story__emphasis{margin:.65rem 0}
.founder-links{gap:2rem;margin-top:2.4rem;padding:1.5rem 0}
.founder-links h2{font-size:1.55rem;font-weight:700}
.founder-links__list .text-link{padding:.65rem 0}
.founder-next{margin-top:2rem;margin-bottom:2rem}
.founder-next h2{font-size:1.45rem;font-weight:700;margin-bottom:.7rem}
.founder-next p{line-height:1.85;margin-bottom:.75rem}

@media(max-width:760px){
  .founder-profile{margin-bottom:2rem}
  .founder-feature{gap:1.25rem;margin-bottom:2rem;padding:1rem}
  .founder-feature__portrait{max-width:280px}
  .founder-feature__intro h2{font-size:2rem}
  .founder-feature__reading{margin-bottom:.9rem}
  .founder-feature__lead{font-size:.97rem;line-height:1.85}
  .founder-story__section{padding-bottom:.85rem;margin-bottom:1.1rem}
  .founder-story__section h3{margin-bottom:.65rem}
  .founder-story__section>p{line-height:1.85;margin-bottom:.65rem}
  .founder-quote{margin:.7rem 0;padding:.7rem .85rem}
  .founder-quote p,.founder-quote--small p{font-size:.97rem;line-height:1.7}
  .founder-story__section--closing{padding:1rem 1.05rem}
  .founder-story__section--closing p{line-height:1.7;margin-bottom:.45rem}
  .founder-links{gap:.6rem;margin-top:2rem;padding:1.25rem 0}
  .founder-next{margin-top:1.5rem;margin-bottom:1.5rem}
}

/* founderページはページタイトルを含めてゴシック体 */
.founder-page,
.founder-page h1,
.founder-page h2,
.founder-page h3,
.founder-page p,
.founder-page blockquote{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
.founder-page .page-intro h1{font-weight:700;letter-spacing:.03em}

/* 1.0.13: 総裁プロフィールのセクション区切り線を削除 */
.founder-story__section{
  border-bottom:0 !important;
  padding-bottom:.35rem;
  margin-bottom:1rem;
}
.founder-story__section:last-child{
  margin-bottom:0;
}
/* 関連リンク上下の横罫線も使わない */
.founder-links{
  border-top:0 !important;
  border-bottom:0 !important;
}
@media(max-width:760px){
  .founder-story__section{
    padding-bottom:.2rem;
    margin-bottom:.8rem;
  }
}

/* 1.0.14: founder本文セクション間のグレー横線を完全に削除 */
.founder-page .founder-story > .founder-story__section{
  border-top:none !important;
  border-right:none !important;
  border-bottom:none !important;
  border-left:none !important;
  box-shadow:none !important;
  background-image:none !important;
}
.founder-page .founder-story > .founder-story__section::before,
.founder-page .founder-story > .founder-story__section::after{
  content:none !important;
  display:none !important;
  border:0 !important;
}
.founder-page .founder-story hr{
  display:none !important;
  border:0 !important;
}
/* closing セクションの左アクセントだけは残す */
.founder-page .founder-story > .founder-story__section--closing{
  border-left:3px solid var(--gold) !important;
}

/* 1.0.15: founder quote の金色左罫線を削除 */

/* 1.0.16: founder H3 を明朝体にし、見出し前後の余白を調整 */
.founder-page .founder-story__section h3{
  font-family:var(--serif);
  font-weight:500;
  margin-top:60px;
  margin-bottom:24px;
}
.founder-page .founder-story__section--closing h3{
  margin-bottom:30px;
}

/* 1.0.17: closing block spacing correction */
/* 通常のH3は明朝体＋上60pxを維持。closing内だけカード内余白で制御する */
.founder-page .founder-story > .founder-story__section--closing{
  border-left:0 !important;
  padding:28px 28px 36px !important;
}
.founder-page .founder-story > .founder-story__section--closing h3{
  font-family:var(--serif);
  font-weight:500;
  margin-top:0 !important;
  margin-bottom:26px !important;
}
@media(max-width:760px){
  .founder-page .founder-story > .founder-story__section--closing{
    padding:22px 20px 30px !important;
  }
  .founder-page .founder-story > .founder-story__section--closing h3{
    margin-bottom:22px !important;
  }
}

/* 1.0.18: 通常H3とclosing内H3を明確に分離 */
/* 「世界平和への願い」以外のH3 */
.founder-page .founder-story__section:not(.founder-story__section--closing) h3{
  font-family:var(--serif);
  font-weight:600;
  margin-top:60px;
  margin-bottom:24px;
  color:#806025;
}

/* 「世界平和への願い」のH3だけ個別調整 */
.founder-page .founder-story__section.founder-story__section--closing h3{
  font-family:var(--serif);
  font-weight:600;
  margin-top:0 !important;
  margin-bottom:32px !important;
  color:var(--ink);
}

/* 1.0.17で追加したclosing本体のpadding上書きを解除し、元のコンパクト設定へ戻す */
.founder-page .founder-story > .founder-story__section--closing{
  border-left:0 !important;
  padding:1.3rem 1.5rem !important;
}

@media(max-width:760px){
  .founder-page .founder-story > .founder-story__section--closing{
    padding:1rem 1.05rem !important;
  }
  .founder-page .founder-story__section.founder-story__section--closing h3{
    margin-top:0 !important;
    margin-bottom:28px !important;
  }
}


/* 1.0.19: 公式リンクエリアの上下罫線のみ復元 */
.founder-page .founder-links{
  border-top:1px solid var(--border) !important;
  border-bottom:1px solid var(--border) !important;
}

/* 1.0.21: founder page header line removal and profile name styling */
.founder-page .page-intro{
  border-bottom:0 !important;
}
.founder-page .founder-feature__intro h2{
  font-family:var(--serif) !important;
  font-size:28px !important;
}


/* 1.0.24: 「世界平和への願い」を他の本文セクションと同じデザインに統一 */
.founder-page .founder-story > .founder-story__section.founder-story__section--closing{
  padding:0 0 .35rem !important;
  background:transparent !important;
  color:inherit !important;
  border-top:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-left:0 !important;
  box-shadow:none !important;
}
.founder-page .founder-story__section.founder-story__section--closing h3{
  font-family:var(--serif) !important;
  font-weight:600 !important;
  margin-top:60px !important;
  margin-bottom:24px !important;
  color:#806025 !important;
}
.founder-page .founder-story__section.founder-story__section--closing > p{
  line-height:1.9;
  margin-bottom:.8rem;
  font-weight:inherit;
  color:inherit;
}
.founder-page .founder-story__section.founder-story__section--closing .founder-story__emphasis{
  margin:0 0 .8rem;
  color:#142b3c;
}
@media(max-width:760px){
  .founder-page .founder-story > .founder-story__section.founder-story__section--closing{
    padding:0 0 .2rem !important;
  }
  .founder-page .founder-story__section.founder-story__section--closing h3{
    margin-top:60px !important;
    margin-bottom:24px !important;
  }
  .founder-page .founder-story__section.founder-story__section--closing > p{
    line-height:1.85;
    margin-bottom:.65rem;
  }
  .founder-page .founder-story__section.founder-story__section--closing .founder-story__emphasis{
    margin:0 0 .65rem;
  }
}


/* 1.0.25: PC表示では「56億7千万年後」を途中で改行しない */
@media (min-width: 761px){
  .founder-page .founder-no-break-pc{
    white-space:nowrap;
  }
}

/* 1.0.27: Keep the original home layout and add only a clean white gap below the deeper invitation. */
.deeper-invitation{margin-bottom:36px}
@media(max-width:760px){.deeper-invitation{margin-bottom:24px}}

/* 1.0.30: 天星大神宮お問い合わせ */
.ntw-daijingu-contact-lead{max-width:760px;margin:0 0 2rem;color:#435865}
.ntw-daijingu-contact-lead p:last-child{margin-bottom:0}
.ntw-daijingu-contact-form{margin-left:0;margin-right:auto}
.ntw-daijingu-contact-form .ntw-consent{padding-top:.5rem;border-top:1px solid var(--border)}
.ntw-daijingu-contact-form .ntw-consent a{font-weight:600}

/* 1.0.31: 天星大神宮お問い合わせ - Turnstile位置とオンライン導線 */
.ntw-daijingu-contact-form .ntw-form-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  width:100%;
  margin:24px 0 0;
  text-align:center;
}
.ntw-daijingu-contact-form .ntw-turnstile,
.ntw-daijingu-contact-form .wpcf7-turnstile,
.ntw-daijingu-contact-form .cf-turnstile,
.ntw-daijingu-contact-form .cf7-simple-turnstile{
  display:flex;
  justify-content:center;
  width:100%;
  margin:0;
  padding:0;
}
.ntw-daijingu-contact-form .ntw-form-actions p.ntw-submit{
  margin:0;
}
.ntw-daijingu-contact-form .ntw-daijingu-online-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:240px;
  min-height:50px;
  padding:.9rem 1.6rem;
  border:1px solid #142b3c;
  background:#fff;
  color:#142b3c;
  text-decoration:none;
  line-height:1.5;
  transition:background-color .18s ease,color .18s ease;
}
.ntw-daijingu-contact-form .ntw-daijingu-online-button:hover,
.ntw-daijingu-contact-form .ntw-daijingu-online-button:focus-visible{
  background:#142b3c;
  color:#fff;
  border-color:#142b3c;
  filter:none;
}
@media(max-width:760px){
  .ntw-daijingu-contact-form .ntw-daijingu-online-button{width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .ntw-daijingu-contact-form .ntw-daijingu-online-button{transition:none}
}
/* 1.0.37: 年中行事 / 月間行事 / 行事のご案内 */
.annual-events{margin:0 0 4.5rem}
.annual-events__list{border-top:0}
.annual-events__row{display:grid;grid-template-columns:110px 1fr;gap:2rem;padding:1.25rem 0;border-bottom:1px solid var(--border);align-items:start}
.annual-events__month{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:#806025;letter-spacing:.04em}
.annual-events__items{display:grid;gap:.2rem}
.annual-events__items p{margin:0;line-height:1.9}

/* 月間行事は年中行事と同じ、背景なしの一覧デザイン */
.monthly-events{margin-top:4.5rem;padding:0;background:transparent}
.monthly-events h2{margin-bottom:1.5rem}
.monthly-events__list{display:block;border-top:1px solid var(--border)}
.monthly-events__list>div{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:1.25rem 0;border-bottom:1px solid var(--border);align-items:start}
.monthly-events__list>div:first-child{border-right:0}
.monthly-events__list span{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:#806025;letter-spacing:.02em}
.monthly-events__list strong{font-family:inherit;font-size:1rem;font-weight:400;line-height:1.9;color:inherit}

/* 行事のご案内だけを薄いグレー背景にする */
.activities-info-box{margin-top:4.5rem;padding:2.2rem 2.4rem;background:#f2f5f6}
.activities-info-box h2{margin-top:0}
.activities-info-box p{margin-bottom:1.25rem}

@media(max-width:760px){
  .annual-events{margin-bottom:3rem}
  .annual-events__row{grid-template-columns:64px 1fr;gap:1rem;padding:1rem 0}
  .annual-events__month{font-size:1.08rem}
  .monthly-events{margin-top:3rem;padding:0}
  .monthly-events__list>div{grid-template-columns:1fr;gap:.25rem;padding:1rem 0}
  .monthly-events__list span{font-size:1rem}
  .monthly-events__list strong{font-size:1rem}
  .activities-info-box{margin-top:3rem;padding:1.5rem}
}

/* 1.0.42: /activities/ line correction and footer Instagram position restore */
body.ntw-activities-page .page-intro{
  border-bottom:0 !important;
}
body.ntw-activities-page .annual-events__list{
  border-top:1px solid var(--border) !important;
}
.site-footer .footer-inner>div>.ntw-instagram{
  display:flex;
  width:fit-content;
  margin-top:3.75rem;
}
@media(max-width:760px){
  .site-footer .footer-inner>div>.ntw-instagram{margin-top:3.75rem}
}

/* 1.0.50 Header logo: use the supplied square logo-white.png without legacy cropping. */
.site-header .brand-symbol{
  width:3.15rem;
  aspect-ratio:1/1;
  background:#000;
  overflow:hidden;
}
.site-header .brand-symbol img{
  position:static;
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
@media(max-width:760px){.site-header .brand-symbol{width:2.5rem}}
@media(max-width:380px){.site-header .brand-symbol{width:2.2rem}}

/* 1.0.51: header logo background removal, footer navigation 3 columns. */
.site-header .brand-symbol{
  background:transparent;
  overflow:visible;
}
.site-header .brand-symbol img{
  background:transparent;
}
.site-footer .footer-inner nav{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.site-footer .footer-inner nav .menu-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem 2rem;
  margin:0;
  padding:0;
  list-style:none;
}
.ntw-visitor-contact{margin-top:4rem}
@media(max-width:760px){
  .site-footer .footer-inner nav,
  .site-footer .footer-inner nav .menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 1.0.52: /visitor/ inquiry area */
.ntw-visitor-contact-grid{
  margin-top:4rem;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  background:#edf2f4;
  border-left:3px solid #a48950;
}
.ntw-visitor-contact-item{
  min-width:0;
  padding:2.5rem;
}
.ntw-visitor-contact-item + .ntw-visitor-contact-item{
  border-left:1px solid #d3dde2;
}
.ntw-visitor-contact-item h2{
  margin:0 0 1.5rem;
}
.ntw-visitor-contact-form .button{
  margin-top:.25rem;
}
.ntw-visitor-phone{
  display:inline-block;
  font-family:var(--serif);
  font-size:clamp(1.7rem,3vw,2.35rem);
  line-height:1.35;
  color:var(--ink);
  text-decoration:none;
  border:0;
  margin:0 0 .65rem;
}
.ntw-visitor-contact-phone p{
  margin:0;
}
@media(max-width:760px){
  .ntw-visitor-contact-grid{grid-template-columns:1fr}
  .ntw-visitor-contact-item{padding:1.7rem 1.5rem}
  .ntw-visitor-contact-item + .ntw-visitor-contact-item{
    border-left:0;
    border-top:1px solid #d3dde2;
  }
}

/* 1.0.53: /visitor/ white notice + /connected/-style contact cards */
body .ntw-visitor-membership-note{
  background:#fff;
}
.ntw-visitor-contact-grid{
  margin-top:4rem;
  padding:0;
  background:transparent;
  border-left:0;
  gap:2rem;
}
.ntw-visitor-contact-grid.ntw-visitor-contact.service-list{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.ntw-visitor-contact-grid .ntw-visitor-contact-item{
  min-width:0;
  padding:2rem;
  border:1px solid var(--border);
  background:#fff;
}
.ntw-visitor-contact-grid .ntw-visitor-contact-item + .ntw-visitor-contact-item{
  border-left:1px solid var(--border);
}
.ntw-visitor-contact-grid .ntw-visitor-contact-item h2{
  font-size:1.8rem;
  margin:.8rem 0 1.2rem;
}
@media(max-width:760px){
  .ntw-visitor-contact-grid.ntw-visitor-contact.service-list{grid-template-columns:1fr}
  .ntw-visitor-contact-grid .ntw-visitor-contact-item + .ntw-visitor-contact-item{
    border-left:1px solid var(--border);
    border-top:1px solid var(--border);
  }
}

/* 1.0.59: header/footer row logo + semantic homepage title */
.site-logo{margin:0;line-height:1;flex-shrink:0;font-size:0}
.site-logo .brand{display:block;line-height:1}
.site-header .brand-row-logo{display:block;width:auto;height:auto;max-width:270px;max-height:72px;object-fit:contain}
.footer-row-logo{display:block;width:auto;height:auto;max-width:270px;max-height:84px;object-fit:contain}
.hero .hero-title{font-family:var(--serif);font-weight:500;font-size:clamp(2.5rem,4.1vw,4.6rem);letter-spacing:.08em;line-height:1.65;white-space:normal;margin:0 0 1.5rem}
@media(max-width:1149.98px){.hero .hero-title{font-size:3.1rem}}
@media(max-width:760px){.site-header .brand-row-logo{max-width:210px;max-height:58px}.footer-row-logo{max-width:230px;max-height:72px}.hero .hero-title{font-size:2.8rem;line-height:1.55;margin-bottom:1rem}}
