/*
Theme Name: LAYORA
Description: 写真と余白が映える、読みやすいエディトリアルテーマ。ブロックエディター対応。
Version: 2.2.0
Requires at least: 6.9
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: layora
*/
:root{--paper:#fafbf9;--ink:#182d43;--muted:#64737f;--accent:#356f77;--pale:#eaf0f3;--line:#d5dde2;--serif:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", "Noto Serif CJK JP", serif;--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", "Noto Sans CJK JP", sans-serif;--width:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto;display:block}svg{width:22px;height:22px;flex-shrink:0}a,button{transition:color .2s,background .2s,border-color .2s}a:hover{color:var(--accent)}:focus-visible{outline:3px solid #b37c39;outline-offset:5px}.wrap{max-width:var(--width);width:calc(100% - 96px);margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:10px 20px}.skip-link:focus{top:12px}.site-header{height:112px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand-mark{display:grid;place-items:center;background:var(--ink);color:white;font:30px/1 Georgia,serif;width:52px;height:54px;letter-spacing:-2px;padding-right:2px}.brand-name{display:block;font-size:25px;font-weight:700;line-height:1.3;letter-spacing:.095em}.brand-tagline{display:block;font-size:10px;letter-spacing:.18em;margin-top:4px}.custom-logo{max-width:240px;max-height:65px;width:auto}.site-nav{margin-left:auto}.site-nav ul{display:flex;align-items:center;gap:28px;list-style:none;padding:0;margin:0}.site-nav a{font-size:12px;letter-spacing:.04em;white-space:nowrap}.site-nav .current-menu-item>a{color:var(--accent)}.header-tools{display:flex;gap:10px}.icon-button{background:transparent;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:var(--ink);padding:0}.icon-button:hover{background:var(--pale)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:40% 60%;padding-bottom:24px;position:relative}.hero-copy{padding:72px 36px 32px 8px;display:flex;flex-direction:column;align-items:flex-start}.hero h1{font:500 clamp(38px,4.1vw,62px)/1.55 var(--serif);letter-spacing:.06em;margin:20px 0 26px}.hero-description{font-size:15px;line-height:2.1;letter-spacing:.035em;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;background:var(--ink);color:white;border:1px solid var(--ink);min-height:54px;padding:12px 27px;font-size:13px;letter-spacing:.1em}.button:hover{background:var(--accent);border-color:var(--accent);color:white}.hero-signature{font-size:10px;letter-spacing:.23em;color:var(--accent);padding-bottom:14px;border-bottom:1px solid var(--line);margin:30px 0 0;max-width:300px;width:100%}.hero-note{margin-top:auto;padding-top:35px;font-size:11px;letter-spacing:.075em}.hero-note span{border:1px solid var(--line);padding:7px 12px}.hero-visual{margin:0;min-width:0}.hero-visual img{width:100%;height:620px;object-fit:cover;object-position:center;border-radius:3px}.topics{border-block:1px solid var(--line);margin-top:0}.topics-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:28px}.topic{padding:6px 36px;border-right:1px solid var(--line)}.topic:first-child{padding-left:8px}.topic:last-child{border:0;padding-right:8px}.topic-heading{display:flex;align-items:center;gap:20px}.topic-number{font:32px/1 Georgia,serif;color:var(--accent)}.topic h2{font:500 21px/1.5 var(--serif);margin:0}.topic svg{margin-left:auto}.topic p{margin:17px 0 0;font-size:12px;line-height:1.9;color:#52616d;letter-spacing:.03em}.journal{padding-block:64px 68px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.heading-pair{display:flex;align-items:center;gap:25px}.section-heading h2{font:500 29px/1.6 var(--serif);letter-spacing:.03em;margin:0}.english-label{font-size:10px;letter-spacing:.2em;color:var(--accent)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #94b0b9;padding-bottom:7px;font-size:12px;letter-spacing:.05em}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.post-card{min-width:0}.post-picture{overflow:hidden;display:block;border-radius:3px;background:var(--pale)}.post-picture img{width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .5s}.post-picture:hover img{transform:scale(1.035)}.image-empty{aspect-ratio:1.5;display:grid;place-items:center;font:24px/1.5 var(--serif);background:var(--pale);letter-spacing:.15em}.post-card-title{font:500 21px/1.6 var(--serif);letter-spacing:.02em;margin:20px 0 13px}.post-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:10px;letter-spacing:.04em;color:var(--muted)}.post-meta a{color:var(--accent)}.post-meta time{border-left:1px solid var(--line);padding-left:12px}.post-excerpt{font-size:12px;line-height:1.95;margin:14px 0 0;color:#53616c}.about-band{background:var(--pale);padding:40px 0}.about-layout{display:grid;grid-template-columns:46% 54%;align-items:center;gap:0}.about-image{width:100%;height:350px;object-fit:cover;border-radius:2px}.about-copy{padding:16px 0 16px 72px}.about-copy h2{font:500 34px/1.65 var(--serif);letter-spacing:.055em;margin:15px 0 20px}.about-copy p{font-size:13px;line-height:2;margin:0 0 24px}.site-footer{padding-top:38px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:28px}.footer-top .brand-mark{width:43px;height:46px;font-size:25px}.footer-top .brand-name{font-size:19px}.footer-nav ul{display:flex;gap:28px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.footer-nav a{font-size:11px}.copyright{border-top:1px solid var(--line);margin:0;text-align:center;font-size:10px;letter-spacing:.06em;padding:20px 0}.search-dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:40px;width:min(600px,calc(100% - 32px));max-height:90vh}.search-dialog::backdrop{background:#182d4380;backdrop-filter:blur(4px)}.dialog-close{margin-left:auto}.search-dialog h2{font:500 27px/1.5 var(--serif)}.search-form{display:flex;gap:10px;margin:20px 0}.search-form label{flex:1;min-width:0}.search-field{border:1px solid var(--line);background:white;padding:13px 15px;width:100%;min-width:0;border-radius:0;color:var(--ink)}.search-submit{border:0;background:var(--ink);color:white;padding:10px 21px}.screen-reader-text{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;width:1px;white-space:nowrap}.breadcrumbs{font-size:11px;color:var(--muted);padding:24px 0 18px;display:flex;gap:12px;flex-wrap:wrap}.archive-header{padding:28px 0 38px}.archive-header h1{font:500 42px/1.5 var(--serif);margin:10px 0 15px}.archive-header p{color:var(--muted);max-width:650px;font-size:14px}.archive-grid{padding-bottom:70px;row-gap:48px}.filter-nav{display:flex;flex-wrap:wrap;gap:20px;margin:26px 0 0;border-bottom:1px solid var(--line)}.filter-nav a{font-size:13px;padding:9px 0;border-bottom:2px solid transparent}.filter-nav .active{border-color:var(--ink)}.pagination{display:flex;justify-content:center;gap:10px;margin:0 0 65px}.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:5px 12px;border:1px solid var(--line)}.page-numbers.current{color:white;background:var(--ink)}.article-shell{max-width:1040px;margin-inline:auto}.article-header{max-width:830px;margin:32px auto 40px}.article-header h1{font:500 clamp(28px,3.5vw,43px)/1.65 var(--serif);letter-spacing:.04em;margin:20px 0}.article-lead{color:var(--muted);font-size:15px}.article-cover{width:100%;max-height:540px;object-fit:cover;border-radius:3px;margin-bottom:50px}.article-content{max-width:740px;margin:auto;font-size:16px;line-height:2.1;overflow-wrap:anywhere}.article-content h2{font:500 28px/1.65 var(--serif);border-top:1px solid var(--line);padding-top:28px;margin:55px 0 22px;scroll-margin-top:30px}.article-content h3{font-size:20px;margin-top:35px}.article-content p{margin:0 0 25px}.article-content a{text-decoration:underline;text-underline-offset:4px;color:var(--accent)}.article-content li{margin-bottom:10px}.article-content blockquote{margin:30px 0;background:var(--pale);border-left:3px solid var(--accent);padding:24px 30px}.article-content table{border-collapse:collapse;width:100%}.article-content td,.article-content th{padding:12px;border:1px solid var(--line)}.article-content .wp-block-table{overflow:auto}.article-content img{border-radius:3px}.article-content .alignwide{max-width:960px}.article-content pre{overflow:auto;background:var(--pale);padding:20px}.article-content .wp-block-button__link{color:white;text-decoration:none}.toc{max-width:740px;margin:0 auto 40px;background:var(--pale);padding:22px 30px;font-size:13px}.toc summary{font-weight:600;cursor:pointer}.toc ol{padding-left:24px;margin:16px 0 0}.toc a:hover{text-decoration:underline}.article-end{max-width:740px;margin:50px auto;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:20px}.related{border-top:1px solid var(--line);margin-top:65px}.page-main{padding-bottom:70px;min-height:65vh}.empty-state{padding:45px 0 80px;max-width:680px}.empty-state h1,.empty-state h2{font:500 34px/1.6 var(--serif)}.disclosure{font-size:11px;color:var(--muted);border-block:1px solid var(--line);padding:10px 0;margin:20px 0}.demo-note{background:#f2f4f5;padding:12px 16px;font-size:12px;color:var(--muted);border-left:2px solid var(--line)}.article-content .checklist{background:var(--pale);padding:25px 25px 25px 45px}.comment-list{padding-left:20px}.comment-form label{display:block}.comment-form textarea,.comment-form input:not([type=checkbox]){max-width:100%;border:1px solid var(--line);padding:10px}.comment-form .submit{background:var(--ink);color:white}
@media(min-width:1500px){.hero h1{font-size:65px}.hero-copy{padding-top:86px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.site-header{gap:20px;height:96px}.brand-name{font-size:21px}.brand-mark{width:45px;height:48px}.site-nav ul{gap:18px}.site-nav a{font-size:11px}.hero-visual img{height:550px}.hero-copy{padding-top:48px;padding-right:25px}.hero h1{font-size:45px}.hero-description{font-size:13px}.topic{padding-inline:24px}.topic-heading{gap:14px}.topic h2{font-size:18px}.post-grid{gap:24px}.post-card-title{font-size:18px}.about-copy{padding-left:40px}.about-copy h2{font-size:29px}.about-image{height:320px}.footer-nav ul{gap:18px}}
@media(max-width:850px){.site-nav{display:none}.menu-toggle{display:grid}.header-tools{margin-left:auto}.site-header{position:relative;z-index:5}.site-nav.is-open{display:block;position:absolute;top:85px;left:-16px;right:-16px;background:var(--paper);border:1px solid var(--line);padding:20px;box-shadow:0 15px 25px #182d4310}.site-nav ul{display:block}.site-nav li a{display:block;padding:12px;font-size:14px}.hero h1{font-size:36px}.hero-visual img{height:510px}.hero-copy{padding-top:35px;padding-right:20px}.hero-description{font-size:12px}.button{gap:30px;padding:12px 20px}.hero-signature{font-size:8px;letter-spacing:.15em}.hero-note{font-size:9px}.topic{padding-inline:16px}.topic-heading{gap:10px}.topic h2{font-size:16px}.topic-number{font-size:27px}.topic p{font-size:11px}.section-heading h2{font-size:26px}.heading-pair{gap:15px}.about-copy h2{font-size:25px}.footer-top{align-items:flex-start}.footer-nav ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{height:88px;gap:12px}.brand{gap:10px}.brand-name{font-size:19px}.brand-tagline{font-size:9px}.brand-mark{width:39px;height:43px;font-size:25px}.header-tools{gap:8px}.icon-button{width:35px;height:35px}.hero{grid-template-columns:1fr;padding-bottom:22px}.hero-copy{padding:25px 0 30px}.hero h1{font-size:43px;line-height:1.55;margin:0 0 18px;letter-spacing:.04em}.hero-description{font-size:13px;margin-bottom:22px}.hero-signature{margin-top:23px;font-size:9px;max-width:265px}.hero-note{display:none}.hero-visual img{height:340px;object-position:center}.topics-inner{grid-template-columns:1fr;padding-block:0}.topic,.topic:first-child,.topic:last-child{padding:23px 0;border-right:0;border-bottom:1px solid var(--line)}.topic:last-child{border:0}.topic-heading{gap:17px}.topic h2{font-size:20px}.topic p{font-size:12px;margin:9px 0 0;padding-left:49px}.topic p br{display:none}.journal{padding-block:40px 45px}.section-heading{align-items:flex-start;margin-bottom:24px;gap:14px}.heading-pair{display:block}.section-heading h2{font-size:23px;letter-spacing:0}.english-label{font-size:9px}.heading-pair .english-label{display:block;margin-top:5px}.section-heading .text-link{font-size:10px;gap:5px;white-space:nowrap;margin-top:6px}.section-heading .text-link svg{width:16px}.post-grid{grid-template-columns:1fr;gap:35px}.post-card-title{font-size:22px;margin-top:18px}.post-meta{font-size:11px}.post-excerpt{font-size:13px}.about-band{padding-block:25px 30px}.about-layout{grid-template-columns:1fr}.about-image{height:230px}.about-copy{padding:26px 0 0}.about-copy h2{font-size:28px}.about-copy p{font-size:13px}.site-footer{padding-top:28px}.footer-top{display:block}.footer-nav{margin-top:27px}.footer-nav ul{grid-template-columns:1fr 1fr;gap:12px 15px}.copyright{text-align:left;font-size:9px}.archive-header h1{font-size:33px}.archive-header{padding-top:15px}.filter-nav{gap:14px}.filter-nav a{font-size:11px}.article-header{margin-top:20px}.article-header h1{font-size:29px}.article-content{font-size:15px}.article-content h2{font-size:24px}.article-cover{height:260px;margin-bottom:30px}.article-lead{font-size:14px}.toc{padding:18px 22px}.article-end{font-size:12px}.search-dialog{padding:20px}.search-field{font-size:16px}.breadcrumbs{font-size:10px}.page-main{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Optional widget areas: keep all widget styling separate from article content. */
.cp-post-layout--with-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    align-items: start;
    gap: 48px;
}
.cp-post-layout--with-sidebar > .article-shell { width: 100%; min-width: 0; }
@media (min-width: 1025px) {
    .cp-post-layout--with-sidebar .article-header h1 { font-size: 36px; }
}
.cp-widget-area { min-width: 0; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }
.cp-sidebar { display: grid; gap: 28px; margin-top: 32px; }
.cp-after-post { display: grid; gap: 28px; max-width: 740px; margin: 0 auto 40px; }
.cp-footer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding-bottom: 36px; margin-bottom: 32px; border-bottom: 1px solid var(--line); }
.cp-widget { min-width: 0; }
.cp-sidebar > .cp-widget, .cp-after-post > .cp-widget { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 3px; }
.cp-widget :where(h2, h3, h4, .cp-widget-title) { color: var(--ink); font: 500 19px/1.6 var(--serif); margin: 0 0 18px; }
.cp-widget :where(h2, .cp-widget-title) { padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.cp-widget > :first-child { margin-top: 0; }
.cp-widget > :last-child { margin-bottom: 0; }
.cp-widget :where(p, figure, ul, ol, .wp-block-group) { margin-block: 0 18px; }
.cp-widget :where(ul, ol) { padding-left: 20px; }
.cp-widget :where(li) { margin-block: 8px; }
.cp-widget :where(li ul, li ol) { margin-block: 8px 0; }
.cp-widget :where(.wp-block-latest-posts__list, .wp-block-categories-list, .wp-block-archives-list, .widget_recent_entries ul, .widget_categories ul, .widget_archive ul, .menu) { list-style: none; padding-left: 0; }
.cp-widget :where(.wp-block-latest-posts__list > li, .widget_recent_entries li) { border-bottom: 1px solid var(--line); padding-bottom: 13px; margin-bottom: 13px; }
.cp-widget :where(.wp-block-latest-posts__post-date, .post-date, figcaption, .wp-block-latest-posts__post-author) { display: block; color: var(--muted); font-size: 11px; margin-top: 6px; }
.cp-widget a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cp-widget :where(p a, .textwidget a) { text-decoration: underline; text-underline-offset: 3px; }
.cp-widget :where(img, iframe, video) { max-width: 100%; }
.cp-widget :where(img) { border-radius: 3px; }
.cp-widget :where(figure, .wp-block-image) { max-width: 100%; }
.cp-widget :where(.alignleft) { float: left; margin: 0 14px 10px 0; }
.cp-widget :where(.alignright) { float: right; margin: 0 0 10px 14px; }
.cp-widget::after { content: ""; display: table; clear: both; }
.cp-widget :where(.alignwide, .alignfull) { width: 100%; max-width: 100%; margin-inline: 0; }
.cp-widget :where(.wp-block-avatar img) { border-radius: 50%; }
.cp-widget :where(.wp-block-tag-cloud, .tagcloud) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cp-widget :where(.wp-block-tag-cloud a, .tagcloud a) { display: inline-block; max-width: 100%; padding: 4px 10px; margin: 0; background: var(--pale); border-radius: 2px; font-size: 12px !important; }
.cp-widget :where(select, input:not([type=checkbox]):not([type=radio]), textarea) { min-width: 0; max-width: 100%; border: 1px solid var(--line); border-radius: 2px; padding: 10px 12px; color: var(--ink); background: #fff; }
.cp-widget :where(select) { width: 100%; }
.cp-widget :where(label, .wp-block-search__label) { display: block; margin-bottom: 8px; }
.cp-widget :where(.search-form, .wp-block-search) { margin: 0; }
.cp-widget :where(.search-form, .wp-block-search__inside-wrapper) { display: flex; gap: 8px; min-width: 0; max-width: 100%; }
.cp-widget :where(.search-form label) { flex: 1; min-width: 0; margin: 0; }
.cp-widget :where(.search-field, .wp-block-search__input) { width: 100%; min-width: 0; }
.cp-widget :where(.search-submit, .wp-block-search__button, .wp-block-button__link) { display: inline-flex; align-items: center; justify-content: center; background: var(--ink); color: #fff; border: 1px solid var(--ink); border-radius: 2px; padding: 10px 13px; font-size: 13px; line-height: 1.5; text-decoration: none; }
.cp-widget :where(.search-submit, .wp-block-search__button) { flex-shrink: 0; margin-left: 0; }
.cp-widget :where(.search-submit:hover, .wp-block-search__button:hover, .wp-block-button__link:hover) { background: var(--accent); border-color: var(--accent); color: #fff; text-decoration: none; }
.cp-widget :where(.wp-block-search__button svg) { fill: currentColor; }
.cp-widget :where(.wp-block-buttons) { gap: 10px; }
.cp-widget :where(.is-style-outline > .wp-block-button__link) { color: var(--ink); background: transparent; }
.cp-widget :where(.wp-block-calendar table) { width: 100%; border-collapse: collapse; font-size: 12px; }
.cp-widget :where(.wp-block-calendar th, .wp-block-calendar td) { border: 1px solid var(--line); padding: 5px; text-align: center; }
.cp-widget :where(.wp-block-calendar caption) { margin-bottom: 10px; }
@media (max-width: 1024px) {
    .cp-post-layout--with-sidebar { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .cp-sidebar { width: 100%; max-width: 740px; margin: 0 auto 40px; }
}
@media (max-width: 850px) {
    .cp-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .cp-footer { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 28px; margin-bottom: 28px; }
    .cp-sidebar > .cp-widget, .cp-after-post > .cp-widget { padding: 20px; }
    .cp-widget :where(input, select, textarea) { font-size: 16px; }
}
