/*
Theme Name: 清蓮 和モダン
Template: tijaji
Description: 清蓮書道教室のための「淡い桜・やさしい和」デザイン。親テーマ tijaji の子テーマです。外観 > テーマ で tijaji に戻せば元のデザインに戻ります。
Version: 1.5.0
Text Domain: seiren-wa
*/

:root{
  --sw-ink:#3A2A30;
  --sw-seal:#A8434F;
  --sw-petal:#E9BFC6;
  --sw-washi:#FBF7F5;
  --sw-washi2:#F6EDEC;
  --sw-line:#EADDDD;
  --sw-mute:#6E5A60;
  --sw-mincho:'Old Standard TT','Yuji Syuku','Shippori Mincho',serif;
  --sw-gothic:'Zen Kaku Gothic New',sans-serif;
}

/* ===== 共通 ===== */
body{background:var(--sw-washi)!important;color:#2E2528;font-family:var(--sw-gothic);letter-spacing:.04em;line-height:1.9}
a{color:#8C4A5A}
a:hover{color:#5E2E3B}

/* ===== 下層ページ（親テーマの構造を和モダンに） ===== */
body.sw-inner .header,body.sw-inner .footer,body.sw-inner #slider,body.sw-inner .totop,body.sw-inner .pagetop{display:none!important}
body.sw-inner .sw-chrome{overflow:visible}
body.sw-inner .sitebody{background:var(--sw-washi)!important;background-image:none!important;padding:72px 24px 120px;margin:0}
body.sw-inner .inbody{max-width:1180px!important;width:auto!important;margin:0 auto;display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start;float:none}
body.sw-inner .inbody::after{content:none}
body.sw-inner #main{flex:999 1 600px;min-width:0;width:auto!important;float:none!important;margin:0!important;padding:0!important}
body.sw-inner #sidebar{flex:1 1 260px;max-width:340px;width:auto!important;float:none!important;margin:0!important;padding:0!important}
body.sw-inner .clear{clear:both}

/* 記事・固定ページ本文 */
body.sw-inner #main article,body.sw-inner #main .contents>div,body.sw-inner .loopbox{background:#FFFDFB!important;border:0!important;border-radius:0!important;box-shadow:0 24px 50px -36px rgba(94,46,59,.45)!important;padding:56px 56px 64px!important;margin:0 0 32px!important;border-top:3px solid var(--sw-petal)!important}
body.sw-inner #main .contents>div>article{padding:0!important;margin:0!important;box-shadow:none!important;border:0!important;background:none!important}
body.sw-inner #main h1,body.sw-inner #main h2,body.sw-inner #main h3,body.sw-inner #main h4{font-family:var(--sw-mincho)!important;font-weight:500!important;color:var(--sw-ink)!important;letter-spacing:.14em;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
body.sw-inner #main h1{font-size:30px!important;line-height:1.6!important;margin:6px 0 32px!important;padding-bottom:24px!important;border-bottom:1px solid var(--sw-line)!important}
body.sw-inner #main h1::before,body.sw-inner #main h1::after,body.sw-inner #main h2::before,body.sw-inner #main h2::after,body.sw-inner #main h3::before,body.sw-inner #main h3::after{content:none!important;display:none!important}
body.sw-inner .post-content h2{font-size:23px!important;margin:48px 0 18px!important;padding-left:18px!important;border-left:3px solid var(--sw-seal)!important}
body.sw-inner .post-content h3{font-size:19px!important;margin:36px 0 14px!important}
body.sw-inner .post-content{font-family:var(--sw-mincho);font-size:16.5px;line-height:2.15;color:#3D3236}
body.sw-inner .post-content p{margin:0 0 1.4em}
body.sw-inner .post-content img{height:auto;max-width:100%}
body.sw-inner .post-content blockquote{position:relative;margin:32px 0;padding:24px 28px;background:var(--sw-washi2);border:0;border-left:3px solid var(--sw-petal);font-size:17px;quotes:none}
body.sw-inner .post-content blockquote::before,body.sw-inner .post-content blockquote::after{content:none!important;display:none!important}
body.sw-inner .loopdate,body.sw-inner .loopdate *{font-family:var(--sw-mincho);font-size:13px!important;letter-spacing:.14em;color:#8A7A7E!important;background:none!important}
body.sw-inner .loopdate a,body.sw-inner .cat a,body.sw-inner .category a,body.sw-inner a[rel~="category"]{display:inline-block;color:var(--sw-seal)!important;border:1px solid var(--sw-seal)!important;background:none!important;padding:0 10px!important;border-radius:0!important;font-size:12px!important;letter-spacing:.2em;text-decoration:none}
body.sw-inner .editlink a{font-size:12px;color:#8A7A7E}

/* 一覧（お知らせ等） */
body.sw-inner .loopbox_cover{margin:0 0 28px}
body.sw-inner .loopbox{padding:36px 40px!important}
body.sw-inner .loopbox img{object-fit:cover}
body.sw-inner .loopbox h2,body.sw-inner .loopbox h2 a{font-size:21px!important;text-decoration:none}
body.sw-inner .loopbox h2{margin:4px 0 20px!important;line-height:1.6!important;position:static!important}
body.sw-inner .more-link,body.sw-inner .readmore,body.sw-inner .loopbox .more a{font-family:var(--sw-mincho);letter-spacing:.16em;color:#8C4A5A!important;background:none!important;border:0!important;border-bottom:1px solid #8C4A5A!important;border-radius:0!important;padding:4px 0!important}

/* ページ送り */
body.sw-inner .pagination a,body.sw-inner .pagination span,body.sw-inner .page-numbers{font-family:var(--sw-mincho);border:1px solid var(--sw-line)!important;background:#FFFDFB!important;color:#2E2528!important;border-radius:0!important}
body.sw-inner .page-numbers.current{background:var(--sw-ink)!important;color:#FBF2F2!important}

/* サイドバー */
body.sw-inner .sidebox{background:#FFFDFB!important;border:0!important;border-radius:0!important;box-shadow:0 20px 40px -32px rgba(94,46,59,.45)!important;padding:28px 26px!important;margin:0 0 24px!important;font-size:14px;line-height:2}
body.sw-inner .sidebox h3,body.sw-inner .sidebox h2{font-family:var(--sw-mincho)!important;font-weight:500!important;font-size:16px!important;letter-spacing:.2em;color:var(--sw-ink)!important;background:none!important;border:0!important;border-bottom:1px solid var(--sw-line)!important;padding:0 0 12px!important;margin:0 0 16px!important;box-shadow:none!important}
body.sw-inner .sidebox h3::before,body.sw-inner .sidebox h3::after{content:none!important}
body.sw-inner .sidebox ul{list-style:none;margin:0;padding:0}
body.sw-inner .sidebox li{padding:8px 0;border-bottom:1px dashed var(--sw-line);background:none!important}
body.sw-inner .sidebox li::before{content:none!important}
body.sw-inner .sidebox li a{color:#2E2528;text-decoration:none}
body.sw-inner .sidebox li a:hover{color:var(--sw-seal)}
body.sw-inner .searchform{display:flex;gap:0}
body.sw-inner .searchform .s{flex:1;min-width:0;height:44px;border:1px solid var(--sw-line)!important;background:var(--sw-washi)!important;padding:0 12px;border-radius:0!important;font-size:14px}
body.sw-inner .searchform .searchsubmit{width:48px;height:44px;border:0!important;border-radius:0!important;background-color:var(--sw-ink)!important}

/* フォーム（お問い合わせ等） */
body.sw-inner .post-content input[type=text],body.sw-inner .post-content input[type=email],body.sw-inner .post-content input[type=tel],body.sw-inner .post-content input[type=url],body.sw-inner .post-content textarea,body.sw-inner .post-content select{width:100%;max-width:100%;box-sizing:border-box;border:1px solid #DCCACC!important;background:var(--sw-washi)!important;border-radius:0!important;padding:12px 14px!important;font-size:16px;font-family:var(--sw-gothic);color:#2E2528;box-shadow:none!important}
body.sw-inner .post-content input:focus,body.sw-inner .post-content textarea:focus{outline:2px solid var(--sw-petal);outline-offset:1px}
body.sw-inner .post-content label{font-family:var(--sw-gothic);font-size:14px;letter-spacing:.1em;color:#5A4A50}
body.sw-inner .post-content button,body.sw-inner .post-content input[type=submit],body.sw-inner .post-content .wp-block-button__link{background:var(--sw-ink)!important;color:#FBF2F2!important;border:0!important;border-radius:0!important;padding:16px 44px!important;font-family:var(--sw-mincho)!important;font-size:15px!important;letter-spacing:.24em;cursor:pointer}
body.sw-inner .post-content button:hover,body.sw-inner .post-content input[type=submit]:hover{background:var(--sw-seal)!important}

/* コメント欄 */
body.sw-inner #comments,body.sw-inner #respond,body.sw-inner .comment-respond{background:#FFFDFB!important;padding:40px 48px!important;border:0!important;border-radius:0!important;font-size:14px}
body.sw-inner #respond h3,body.sw-inner .comment-reply-title{font-family:var(--sw-mincho)!important;font-weight:500!important;color:var(--sw-ink)!important;background:none!important;border:0!important;border-bottom:1px solid var(--sw-line)!important;padding:0 0 12px!important}
body.sw-inner #respond textarea,body.sw-inner #respond input[type=text],body.sw-inner #respond input[type=email],body.sw-inner #respond input[type=url]{width:100%;box-sizing:border-box;border:1px solid #DCCACC!important;background:var(--sw-washi)!important;border-radius:0!important;padding:12px!important}
body.sw-inner #respond input[type=submit]{background:var(--sw-ink)!important;color:#FBF2F2!important;border:0!important;border-radius:0!important;padding:14px 40px!important;font-family:var(--sw-mincho)!important;letter-spacing:.2em}

@media (max-width:700px){
  body.sw-inner .sitebody{padding:40px 16px 80px}
  body.sw-inner #main article,body.sw-inner #main .contents>div,body.sw-inner .loopbox{padding:32px 22px 40px!important}
  body.sw-inner #main h1{font-size:24px!important}
  body.sw-inner #sidebar{max-width:none}
}

/* ===== トップページ専用 ===== */
.sw{font-family:var(--sw-gothic);color:#2E2528;background:var(--sw-washi);overflow:hidden}
.sw *{box-sizing:border-box}
.sw img{max-width:100%}
.sw-wrap{max-width:1180px;margin:0 auto}
.sw-eyebrow{font-size:12px;letter-spacing:.4em;color:var(--sw-seal);font-family:var(--sw-gothic)}
.sw-h2{margin:0;font-family:var(--sw-mincho);font-weight:500;font-size:32px;letter-spacing:.22em;line-height:1.6;color:#2E2528}

.sw-header{position:relative;z-index:3;border-bottom:1px solid var(--sw-line);background:rgba(251,247,245,.92)}
.sw-header .sw-wrap{padding:22px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.sw-logo{display:flex;align-items:center;gap:14px;color:#2E2528!important;text-decoration:none}
.sw-logo img{width:56px;height:56px;object-fit:contain}
.sw-logo b{display:block;font-family:var(--sw-mincho);font-size:28.6px;font-weight:600;letter-spacing:.18em;line-height:1.3}
.sw-logo small{display:block;font-size:11px;letter-spacing:.28em;color:#8A7A7E}
.sw-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 30px;font-family:var(--sw-mincho);font-size:15px;letter-spacing:.16em}
.sw-nav a{color:#2E2528;padding:10px 0;text-decoration:none}
.sw-nav a.sw-cta{color:#FFF7F5;background:var(--sw-seal);padding:10px 22px;border-radius:2px}

.sw-hero{position:relative;background:var(--sw-washi2);padding:72px 24px 96px}
.sw-hero-bg{position:absolute;right:2%;top:10px;width:640px;max-width:60%;opacity:.09;pointer-events:none}
.sw-hero .sw-wrap{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.sw-hero-title{flex:1 1 420px;display:flex;justify-content:center;gap:36px;min-height:520px}
.sw-hero-title p{margin:120px 0 0;writing-mode:vertical-rl;font-family:var(--sw-mincho);font-size:17px;letter-spacing:.5em;color:var(--sw-mute)}
.sw-hero-title h1{margin:0;writing-mode:vertical-rl;font-family:var(--sw-mincho);font-weight:500;font-size:58px;line-height:1.5;letter-spacing:.22em;color:var(--sw-ink)}
.sw-hero-title .sw-seal{align-self:flex-end;width:14px;height:auto}
.sw-frame{flex:1 1 420px;margin:0;display:flex;flex-direction:column;gap:14px}
.sw-frame div{background:#FFFDFB;padding:18px;box-shadow:0 30px 60px -30px rgba(94,46,59,.35)}
.sw-frame img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 40%}
.sw-frame figcaption{font-family:var(--sw-mincho);font-size:13px;letter-spacing:.2em;color:#8A7A7E;text-align:right}
.sw-petal{position:absolute;fill:var(--sw-petal)}

.sw-about{position:relative;padding:120px 24px;background:var(--sw-washi)}
.sw-about-bg{position:absolute;right:3%;top:50%;transform:translateY(-50%);height:78%;width:auto;opacity:.09;pointer-events:none}
.sw-about .sw-in{position:relative;max-width:1000px;margin:0 auto;display:flex;flex-wrap:wrap;gap:64px;align-items:flex-start}
.sw-about .sw-side{flex:0 1 220px;display:flex;flex-direction:column;gap:18px}
.sw-about .sw-side i{width:48px;height:2px;background:var(--sw-petal)}
.sw-about .sw-body{flex:1 1 480px;display:flex;flex-direction:column;gap:26px;font-family:var(--sw-mincho);font-size:17px;line-height:2.3;color:#3D3236}
.sw-about p{margin:0}
.sw-about blockquote::before,.sw-about blockquote::after{content:none!important;display:none!important}
.sw-about blockquote{position:static!important;margin:12px 0 0!important;padding:28px 0 0!important;border:0;border-top:1px solid var(--sw-line);font-size:21px;line-height:2;letter-spacing:.14em;color:var(--sw-ink);background:none;quotes:none}

.sw-guide,.sw-news{padding:110px 24px;background:var(--sw-washi2)}
.sw-guide .sw-wrap,.sw-works .sw-wrap{display:flex;flex-direction:column;gap:56px}
.sw-center{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.sw-center p{margin:0;color:var(--sw-mute);font-size:15px}
.sw-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.sw-cards article{background:#FFFDFB;padding:44px 34px;display:flex;flex-direction:column;gap:16px;border-top:3px solid var(--sw-petal)}
.sw-cards span{font-family:var(--sw-mincho);font-size:15px;letter-spacing:.3em;color:var(--sw-seal)}
.sw-cards h3{margin:0;font-family:var(--sw-mincho);font-weight:600;font-size:20px;letter-spacing:.16em;color:#2E2528}
.sw-cards p{margin:0;font-size:14.5px;color:#5A4A50}
.sw-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));background:#FFFDFB;border:1px solid var(--sw-line)}
.sw-info div{padding:26px 30px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--sw-line)}
.sw-info div:last-child{border-right:0}
.sw-info span{font-size:12px;letter-spacing:.3em;color:#8A7A7E}
.sw-info b{font-family:var(--sw-mincho);font-size:17px;font-weight:500}

.sw-works{padding:110px 24px;background:var(--sw-washi)}
.sw-works-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.sw-works-head a{font-family:var(--sw-mincho);font-size:14px;letter-spacing:.2em;padding:10px 0;border-bottom:1px solid #8C4A5A;text-decoration:none}
.sw-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px}
.sw-gallery .sw-wide{grid-column:span 2}
.sw-gallery .sw-wide div{flex:1;display:flex}
.sw-gallery .sw-wide img{aspect-ratio:auto;height:100%;min-height:100%;object-position:center}
@media (max-width:700px){.sw-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sw-gallery .sw-wide img{aspect-ratio:1280/862;height:auto}}
.sw-gallery figure{margin:0;display:flex;flex-direction:column;gap:14px}
.sw-gallery figure div{background:#FFFDFB;padding:12px;box-shadow:0 20px 40px -28px rgba(94,46,59,.45)}
.sw-gallery img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 30%}
.sw-gallery figcaption{font-family:var(--sw-mincho);font-size:15px;letter-spacing:.2em;text-align:center}

.sw-news .sw-in{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.sw-list{border-top:1px solid #DCCACC}
.sw-list a{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 32px;padding:28px 8px;border-bottom:1px solid #DCCACC;color:#2E2528;text-decoration:none}
.sw-list time{font-family:var(--sw-mincho);font-size:14px;letter-spacing:.12em;color:#8A7A7E}
.sw-list em{font-style:normal;font-size:12px;letter-spacing:.2em;color:var(--sw-seal);border:1px solid var(--sw-seal);padding:0 10px}
.sw-list strong{flex:1 1 320px;font-family:var(--sw-mincho);font-size:18px;font-weight:500;letter-spacing:.1em}
.sw-list a:hover strong{color:var(--sw-seal)}

.sw-contact{position:relative;padding:120px 24px;background:var(--sw-ink);color:#FBF2F2;text-align:center}
.sw-contact-bg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:90%;width:auto;opacity:.1;pointer-events:none}
.sw-contact .sw-in{position:relative;max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:24px}
.sw-contact .sw-eyebrow{color:var(--sw-petal)}
.sw-contact h2{margin:0;font-family:var(--sw-mincho);font-weight:500;font-size:34px;letter-spacing:.2em;line-height:1.7;color:#FBF2F2}
.sw-contact p{margin:0;font-size:15px;color:#E6D6D9}
.sw-contact img.sw-seal{width:15px;height:auto}
.sw-contact a.sw-btn{margin-top:12px;display:inline-block;padding:18px 48px;background:var(--sw-washi);color:var(--sw-ink);font-family:var(--sw-mincho);font-size:16px;letter-spacing:.24em;text-decoration:none}

.sw-footer{background:var(--sw-washi);padding:56px 24px 40px;border-top:1px solid var(--sw-line)}
.sw-footer .sw-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.sw-footer .sw-logo img{width:46px;height:46px}
.sw-footer .sw-logo b{font-size:17px}
.sw-footer nav{display:flex;flex-wrap:wrap;gap:4px 26px;font-size:13px;letter-spacing:.14em}
.sw-footer nav a{padding:10px 0;text-decoration:none}
.sw-copy{max-width:1180px;margin:32px auto 0;font-size:12px;color:#8A7A7E;letter-spacing:.1em}

@media (max-width:700px){
  .sw-hero{padding:48px 16px 64px}
  .sw-hero-title{min-height:420px;gap:20px}
  .sw-hero-title h1{font-size:40px}
  .sw-hero-title p{margin-top:60px;font-size:14px}
  .sw-about,.sw-guide,.sw-works,.sw-news,.sw-contact{padding:80px 16px}
  .sw-h2,.sw-contact h2{font-size:26px}
  .sw-info div{border-right:0;border-bottom:1px solid var(--sw-line)}
}

/* 文字サイズ切り替え */
.sw-fsbar{background:#F1E4E4;border-bottom:1px solid var(--sw-line);font-family:var(--sw-gothic);font-size:12px;letter-spacing:.1em;color:#5A4A50}
.sw-fsbar .sw-wrap{padding:6px 24px;display:flex;justify-content:flex-end}
.sw-fs{display:inline-flex;align-items:center;gap:6px}
.sw-fs button{min-width:32px;min-height:26px;padding:0 8px;border-radius:999px;cursor:pointer;border:1.5px solid var(--sw-seal);background:transparent;color:var(--sw-seal);font:inherit;font-size:12px}
.sw-fs button:hover{background:rgba(168,67,79,.1)}
.sw-fs button[aria-pressed="true"]{background:var(--sw-seal);color:#fff}
.sw-fs button:focus-visible{outline:3px solid var(--sw-petal);outline-offset:2px}
html.fs-small body{zoom:.9}
html.fs-large body{zoom:1.15}
