@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 保険記事のワンポイント。h2/dl とクラス付きpの両形式に対応。 */
.post_content .hoken-explainer {
 margin: 2.4em 0;
 padding: 24px;
 border: 1px solid #a9c4c8;
 border-left: 6px solid #246471;
 border-radius: 8px;
 background: #fff;
 color: #182d35;
 box-shadow: none;
}
.post_content .hoken-explainer > .hoken-explainer__eyebrow {
 display: inline-block;
 margin: 0 0 12px;
 padding: 4px 12px;
 border-radius: 4px;
 background: #246471;
 color: #fff;
 font-size: 14px;
 font-weight: 700;
 line-height: 1.6;
 letter-spacing: .04em;
}
.post_content .hoken-explainer > h2,
.post_content .hoken-explainer > .hoken-explainer__title {
 /* SWELL's content heading margins use !important. */
 margin: 0 0 20px !important;
 padding: 0;
 border: 0;
 border-radius: 0;
 background: none;
 box-shadow: none;
 color: #183b45;
 font-size: 22px;
 font-weight: 700;
 line-height: 1.5;
}
.post_content .hoken-explainer > h2::before,
.post_content .hoken-explainer > h2::after,
.post_content .hoken-explainer > .hoken-explainer__title::before,
.post_content .hoken-explainer > .hoken-explainer__title::after {
 content: none;
}
.post_content .hoken-explainer .hoken-explainer__comparison {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 gap: 0;
 margin: 0;
 padding: 0;
 border-top: 1px solid #c5d6d9;
}
.post_content .hoken-explainer__comparison > div {
 display: grid;
 grid-template-columns: minmax(120px, 25%) minmax(0, 1fr);
 gap: 16px;
 margin: 0;
 padding: 16px 0;
 border: 0;
 border-bottom: 1px solid #c5d6d9;
 border-radius: 0;
 background: transparent;
}
.post_content .hoken-explainer__comparison > div > dt,
.post_content .hoken-explainer__comparison > div > .hoken-explainer__term {
 margin: 0;
 padding: 0;
 color: #184f5b;
 font-size: 17px;
 font-weight: 700;
 line-height: 1.8;
}
.post_content .hoken-explainer__comparison > div > dd,
.post_content .hoken-explainer__comparison > div > p:not(.hoken-explainer__term) {
 min-width: 0;
 margin: 0;
 padding: 0;
 color: #182d35;
 font-size: 16px;
 line-height: 1.8;
}
.post_content .hoken-explainer > .hoken-explainer__conclusion {
 margin: 20px 0 0;
 padding: 14px 16px;
 border-radius: 4px;
 background: #eaf2f3;
 color: #183b45;
 font-size: 16px;
 font-weight: 700;
 line-height: 1.8;
}
@media (max-width: 599px) {
 .post_content .hoken-explainer { padding: 18px 16px; }
 .post_content .hoken-explainer > h2,
 .post_content .hoken-explainer > .hoken-explainer__title { font-size: 20px; }
 .post_content .hoken-explainer__comparison > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
 .post_content .hoken-explainer > .hoken-explainer__conclusion { padding: 12px; }
}

/* Article heading hierarchy: quiet navy rules echo the front page.
 * Leave explicitly styled blocks, FAQ questions and article cards to their owners.
 * !important is limited to margins because SWELL sets heading margins that way.
 */
.post_content :is(h2, h3, h4, h5, h6):where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *)) {
 position: relative;
 padding: 0;
 border: 0;
 border-radius: 0;
 background: transparent;
 box-shadow: none;
 color: #0c224c;
 font-weight: 700;
 line-height: 1.65;
 letter-spacing: .025em;
 overflow-wrap: anywhere;
 line-break: strict;
 text-wrap: balance;
}
.post_content :is(h2, h3, h4, h5, h6):where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *))::before,
.post_content :is(h2, h3, h4, h5, h6):where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *))::after {
 content: none;
}
.post_content h2:where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *)) {
 margin: 3em 0 1.2em !important;
 padding: 0 0 .65em;
 border-bottom: 1px solid #b8c9df;
 font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
 font-size: 22px;
}
.post_content h3:where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *)) {
 margin: 2.2em 0 1em !important;
 padding: .1em 0 .1em .8em;
 border-left: 2px solid #7897bf;
 font-size: 19px;
}
.post_content h4:where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *)) {
 margin: 1.8em 0 .8em !important;
 font-size: 17px;
}
.post_content h5:where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *)) {
 margin: 1.6em 0 .75em !important;
 color: #285997;
 font-size: 16px;
}
.post_content h6:where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *)) {
 margin: 1.4em 0 .75em !important;
 color: #46566f;
 font-size: 16px;
 font-weight: 600;
}
@media (max-width: 599px) {
 .post_content :is(h2, h3, h4, h5, h6):where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *)) { letter-spacing: 0; }
 .post_content h2:where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *)) { font-size: 20px; margin-top: 2.6em !important; }
 .post_content h3:where(:not([class^="swell-block-"]):not([class*="is-style-"]):not(.faq_q):not(.p-postList__title):not(.hoken-explainer *):not(.hr-main *)) { font-size: 18px; }
}
