/* Preserve the original content H1 design when its semantic level is H2. */
body.page .p-subpg__content .inside-article .entry-content h2.aizu-display-h1 {
  font-size: 46px;
  font-weight: 600;
  font-family: 'Shippori Mincho', serif;
  letter-spacing: .15em;
  text-align: center;
  width: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
  margin: 1.5em auto 1.3em;
  position: relative;
  background: none;
  -webkit-text-fill-color: currentColor;
}
body.page .p-subpg__content .inside-article .entry-content h2.aizu-display-h1:first-child { margin-top: 0; }
body.page .p-subpg__content .inside-article .entry-content h2.aizu-display-h1::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -.65em;
  transform: translateX(-50%);
  display: block;
  width: 42%;
  height: .15em;
  background-image: url('../images/common/underline-wavy.svg');
  background-size: contain;
}
@media (max-width: 768px) {
  body.page .p-subpg__content .inside-article .entry-content h2.aizu-display-h1 { font-size: 34px; }
}

/* == single-post detail == */
html:has(> body.single-post){scroll-padding-top:180px}
body.single-post,body:is(.blog,.archive,.search) #right-sidebar{--ap-primary:#7a87df;--ap-accent:#414b88;--ap-line:#d7dbf5;--ap-tint:#f4f5fc;--ap-muted:#555;--ap-mincho:"Shippori Mincho",YuMincho,"Yu Mincho","Hiragino Mincho ProN",serif;--ap-en:Lexend,"Yu Gothic",YuGothic,sans-serif}
body.single-post #page{max-width:1200px;margin-inline:auto}
body.single-post #content{display:block;padding:clamp(40px,5vw,64px) clamp(20px,4vw,40px) clamp(64px,8vw,96px)}
body.single-post :is(#primary,#right-sidebar){width:auto;float:none}
body.single-post :is(.site-main,.inside-right-sidebar){margin:0}
body.single-post .site-main>*{margin-bottom:0}
body.single-post .inside-article{padding:0}
@media (min-width:1024px){body.single-post #content{display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:64px;align-items:start}}
@media (max-width:1023px){body:is(.single-post,.blog,.archive,.search) #right-sidebar{margin-top:64px}}
body.single-post .page-header-image-single{margin:0 0 40px}
body.single-post .entry-header{display:block;writing-mode:horizontal-tb;margin:0 0 40px;padding-bottom:24px;border-bottom:1px solid var(--ap-primary)}
body.single-post .entry-title{margin:0;writing-mode:horizontal-tb;font:600 clamp(24px,16.8px + 1.4vw,32px)/1.5 var(--ap-mincho);letter-spacing:.04em;font-feature-settings:"palt";text-wrap:balance;word-break:auto-phrase;overflow-wrap:anywhere}
body.single-post .entry-header .entry-meta{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:16px;font:14px/1.7 var(--ap-en);color:var(--ap-muted)}
body.single-post :is(.entry-header .entry-meta a,.entry-content a:not(.wp-element-button)){color:var(--ap-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
body.single-post :is(.entry-header .entry-meta a,.entry-content a:not(.wp-element-button)):hover{text-decoration-thickness:2px}
body.single-post .entry-content{display:flow-root;margin:0;line-height:2.1;overflow-wrap:break-word}
body.single-post .entry-content>*+*,body.single-post .entry-content :where(.is-layout-flow,.wp-block-group__inner-container,blockquote)>*+*{margin-top:1.5em}
body.single-post .entry-content :is(h2,h3,h4){margin-top:2.4em;font-family:var(--ap-mincho);font-weight:600;line-height:1.6;letter-spacing:.04em;font-feature-settings:"palt";word-break:auto-phrase}
body.single-post .entry-content h2{padding-bottom:.5em;border-bottom:1px solid var(--ap-primary);font-size:clamp(20px,16.8px + .8vw,24px)}
body.single-post .entry-content h3{padding-left:.75em;border-left:3px solid var(--ap-primary);font-size:clamp(18px,16px + .4vw,20px)}
body.single-post .entry-content h4{font-size:17px}
body.single-post .entry-content>:first-child,body.single-post .entry-content :where(.is-layout-flow,.wp-block-group__inner-container,blockquote)>:first-child{margin-top:0}
body.single-post .entry-content :is(ul,ol):is(.wp-block-list,:not([class])){padding-left:1.5em;list-style:revert}
body.single-post .entry-content li{list-style:inherit}
body.single-post .entry-content li::marker{color:var(--ap-accent)}
body.single-post .entry-content blockquote{margin-inline:0;padding:1.25em 1.5em;border-left:3px solid var(--ap-primary);background:var(--ap-tint);font-size:1em;font-style:normal}
body.single-post .entry-content :is(blockquote cite,figure:not(.wp-block-gallery figure)>figcaption){display:block;margin-top:.75em;font-size:14px;line-height:1.7;font-style:normal;color:var(--ap-muted)}
body.single-post .entry-content .alignleft{float:left;margin:.4em 2em 1em 0}
body.single-post .entry-content .alignright{float:right;margin:.4em 0 1em 2em}
body.single-post .entry-content table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7}
body.single-post .entry-content :is(th,td){padding:.75em 1em;border:1px solid var(--ap-line);vertical-align:top;overflow-wrap:anywhere}
body.single-post .entry-content th{background:var(--ap-tint);font-weight:600}
@media (max-width:600px){body.single-post .entry-content :is(.alignleft,.alignright){float:none;margin:1.5em auto}}
body.single-post footer.entry-meta{margin-top:56px;padding-top:24px;border-top:1px solid var(--ap-line);font-size:14px}
body.single-post :is(.cat-links,.tags-links){display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body.single-post :is(.cat-links,.tags-links) a{padding:.2em .9em;border:1px solid var(--ap-primary);border-radius:999px}
body.single-post .post-navigation{display:grid;gap:12px;margin-top:32px}
body.single-post :is(.nav-previous,.nav-next){display:flex;align-items:center;gap:.75em;padding:16px 20px;border:1px solid var(--ap-line);font-size:15px}
body.single-post .nav-next{flex-direction:row-reverse;text-align:right}
@media (min-width:769px){body.single-post .post-navigation{grid-template-columns:1fr 1fr}body.single-post .nav-next{grid-column:2}}
body.single-post .comments-area{margin-top:64px;padding:40px 0 0;border-top:1px solid var(--ap-primary)}
body.single-post :is(.comments-title,.comment-reply-title){margin-bottom:24px;font:600 20px/1.6 var(--ap-mincho)}
body.single-post .comment-body{padding-block:24px;border-bottom:1px solid var(--ap-line)}
body:is(.single-post,.blog,.archive,.search) .inside-right-sidebar{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
body:is(.single-post,.blog,.archive,.search) #right-sidebar .widget{margin:0;padding:24px;border:1px solid var(--ap-line);border-top:2px solid var(--ap-primary);font-size:15px}
body:is(.single-post,.blog,.archive,.search) #right-sidebar :is(h2,h3,.wp-block-heading,.wp-block-search__label){display:block;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--ap-line);font:600 17px/1.5 var(--ap-mincho);letter-spacing:.06em;color:var(--ap-accent)}
body:is(.single-post,.blog,.archive,.search) #right-sidebar ul{margin:0;padding:0;list-style:none}
body:is(.single-post,.blog,.archive,.search) #right-sidebar li{margin:0;padding-block:10px;line-height:1.6}
body:is(.single-post,.blog,.archive,.search) #right-sidebar li+li{border-top:1px solid var(--ap-line)}
body.single-post :is(footer.entry-meta,#right-sidebar) a,body:is(.blog,.archive,.search) #right-sidebar a{color:var(--ap-accent);text-decoration:none}
body.single-post :is(footer.entry-meta,#right-sidebar) a:hover,body:is(.blog,.archive,.search) #right-sidebar a:hover{text-decoration:underline}
body.single-post :is(.wp-block-search__input,.comment-form input:not([type=submit],[type=checkbox]),.comment-form textarea),body:is(.blog,.archive,.search) #right-sidebar .wp-block-search__input{width:100%;min-height:44px;padding:.6em .8em;border:1px solid var(--ap-primary);border-radius:2px;background:#fff;color:inherit;font-size:16px}
body.single-post :is(.wp-block-search__button,.comment-form .submit),body:is(.blog,.archive,.search) #right-sidebar .wp-block-search__button{min-height:44px;padding:0 1.2em;border:1px solid var(--ap-accent);border-radius:2px;background:var(--ap-accent);color:#fff;font-weight:600;cursor:pointer}
body.single-post :is(.wp-block-search__button,.comment-form .submit):hover,body:is(.blog,.archive,.search) #right-sidebar .wp-block-search__button:hover{background:#fff;color:var(--ap-accent)}
body.single-post #content ::placeholder,body:is(.blog,.archive,.search) #right-sidebar ::placeholder{color:#666}
body.single-post #content :focus-visible,body:is(.blog,.archive,.search) #right-sidebar :focus-visible{outline:3px solid var(--ap-accent);outline-offset:3px}

/* Keep editorial images separated from adjacent text, including classic content. */
body.single-post .entry-content { font-size:16px; color:#333; }
body.single-post :is(#primary,#right-sidebar) { min-width:0; }
body.single-post .entry-content :is(.wp-block-image,.wp-block-gallery) { margin-block:32px; }
body.single-post .entry-content .wp-block-gallery .wp-block-image { margin-block:0; }
body.single-post .entry-content p > img:not(.alignleft):not(.alignright) { margin-block:24px; }
body.single-post .entry-content :is(.wp-block-table,pre) { max-width:100%; overflow-x:auto; }
body.single-post .entry-content pre { padding:20px; background:var(--ap-tint); line-height:1.7; }
body.single-post .entry-content :is(h5,h6) { margin-top:2em; font:600 16px/1.7 var(--ap-mincho); }
body.single-post .entry-content strong { font-weight:700; }
body.single-post .entry-content em { font-style:italic; }
body.single-post .wp-block-search__inside-wrapper,body:is(.blog,.archive,.search) #right-sidebar .wp-block-search__inside-wrapper { display:flex; gap:8px; }
body.single-post .wp-block-search__input,body:is(.blog,.archive,.search) #right-sidebar .wp-block-search__input { min-width:0; }
body.single-post .wp-block-search__button,body:is(.blog,.archive,.search) #right-sidebar .wp-block-search__button { flex-shrink:0; margin:0; }
body.single-post .aizu-post-index { margin-top:40px; }
body.single-post .aizu-post-index a { display:inline-flex; min-height:44px; align-items:center; padding:12px 24px; border:1px solid var(--ap-accent); color:var(--ap-accent); }
body.single-post .aizu-post-index a:hover { background:var(--ap-tint); }
@media (max-width:600px) {
 body.single-post .entry-content :is(.wp-block-image,.wp-block-gallery) { margin-block:24px; }
 body.single-post .entry-content .wp-block-gallery .wp-block-image { margin-block:0; }
 body.single-post .entry-header { margin-bottom:32px; }
}

@media (max-width:768px) { html:has(> body.single-post) { scroll-padding-top:110px; } }

@media (max-width:480px) { body.single-post .p-footer__nav { max-width:100%; } }

/* A saved title widget and the next list widget form one visual sidebar panel. */
body:is(.single-post,.blog,.archive,.search) #right-sidebar .widget:has(> .aizu-sidebar-heading:only-child) { border-bottom:0; padding-bottom:0; margin-bottom:-24px; }
body:is(.single-post,.blog,.archive,.search) #right-sidebar .widget:has(> .aizu-sidebar-heading:only-child) > .aizu-sidebar-heading { margin-bottom:0; }
body:is(.single-post,.blog,.archive,.search) #right-sidebar .widget:has(> .aizu-sidebar-heading:only-child) + .widget { border-top:0; padding-top:16px; }
@media (max-width:1023px) { body:is(.single-post,.blog,.archive,.search) .inside-right-sidebar { grid-template-columns:1fr; } }
