/*各ページ共通*/
.pagewrapper {margin-top:10vh;}
/* bg_header.jpg : ページタイトルエリア背景画像 */
.titlearea {padding:6vw 10vw;background:#26333d url(../img/cmn/bg_header.jpg) no-repeat center center;background-size:cover;position:relative;}
.titlearea::before {content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(38,51,61,0.62);}
.titlearea > * {position:relative;z-index:2;}
.titlearea h1 {font-size:3.4rem;margin-bottom:1rem;color:#fff;line-height:1.4em;}
.titlearea h2 {font-size:1.9rem;margin-bottom:1rem;color:#fff;font-weight:normal;}
.titlearea p {font-size:1.5rem;color:#fff;line-height:1.8em;}
.pankuzuarea {padding-bottom:1rem;}
.pankuzu {color:#fff;font-size:1.0rem;}
.pankuzu span,.pankuzu a {color:#fff;}
/*SP*/
@media (max-width: 896px){
	.titlearea h1 {font-size:1.8rem;}
	.titlearea h2 {font-size:1.3rem;}
	.titlearea p {font-size:1.15rem;}
}

.ariclepage {}
.ariclepage .contents01 {}
.ariclepage .contents01 h2 {margin-top:1.6em;margin-bottom:0.6em;color:#26333d;line-height:1.45em;border-bottom:solid #d7e3ea 2px;padding-bottom:0.4em;}
.ariclepage .contents01 h2.mb0 {margin-bottom:0em;border-bottom:none;padding-bottom:0;}
.ariclepage .contents01 h3 {font-size:1.7rem;margin-top:1.5em;margin-bottom:0.8em;color:#3a7ca5;}
.ariclepage .contents01 p {margin-bottom:1.2rem;}
.ariclepage .contents01 img {max-width:100%;width:68%;margin:1rem 0;border-radius:6px;}

/*要点カプセル（AIO）*/
.capsule {background:#eef4f7;border-left:solid #3a7ca5 6px;padding:2rem 2.5rem;margin:0 0 2.5rem;border-radius:0 8px 8px 0;}
.capsule p {font-size:1.3rem;line-height:1.9em;color:#2a2f36;margin-bottom:0;}
.capsule .label {display:inline-block;font-size:0.95rem;font-weight:bold;color:#3a7ca5;margin-bottom:0.6rem;letter-spacing:0.05em;}

/*著者バイライン（E-E-A-T）*/
.byline {display:flex;align-items:center;gap:1rem;background:#f6f8fa;border:solid #e3e9ee 1px;border-radius:8px;padding:1.2rem 1.6rem;margin:0 0 2rem;}
.byline .avatar {width:3.6rem;height:3.6rem;border-radius:50%;background:#3a7ca5;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:bold;flex-shrink:0;}
.byline .meta {font-size:1.05rem;line-height:1.5em;color:#444;}
.byline .meta strong {font-size:1.2rem;color:#26333d;}

/*引用（名義人コメント）*/
.quote {background:#fff;border:solid #e07a4f 2px;border-radius:8px;padding:1.8rem 2rem;margin:1.8rem 0;position:relative;}
.quote p {font-size:1.25rem;line-height:1.85em;color:#2a2f36;margin-bottom:0.6rem;font-style:normal;}
.quote .cite {font-size:1.0rem;color:#e07a4f;font-weight:bold;}

/*比較・データ表*/
.tablewrap {overflow-x:auto;margin:1.8rem 0;}
.contents01 table.cmp {width:100%;border-collapse:collapse;font-size:1.15rem;min-width:640px;}
.contents01 table.cmp th,.contents01 table.cmp td {border:solid #d7e3ea 1px;padding:1rem 1.2rem;text-align:left;line-height:1.7em;vertical-align:top;}
.contents01 table.cmp th {background:#3a7ca5;color:#fff;font-weight:bold;}
.contents01 table.cmp td:first-child {background:#eef4f7;font-weight:bold;color:#26333d;width:24%;}
.contents01 table.cmp tr:nth-child(even) td {background:#fafcfd;}
.contents01 table.cmp tr:nth-child(even) td:first-child {background:#e6eef3;}

/*チェックリスト・番号リスト*/
.checklist {list-style:none;margin:1.5rem 0;padding:0;}
.checklist li {font-size:1.25rem;line-height:1.7em;padding:0.8rem 0 0.8rem 3rem;position:relative;border-bottom:dashed #d7e3ea 1px;}
.checklist li::before {content:"✓";position:absolute;left:0.6rem;top:0.8rem;color:#3a7ca5;font-weight:bold;font-size:1.4rem;}
ol.steps {margin:1.5rem 0 1.5rem 0;padding-left:0;counter-reset:step;list-style:none;}
ol.steps li {font-size:1.25rem;line-height:1.8em;position:relative;padding:0.5rem 0 1.4rem 4rem;counter-increment:step;}
ol.steps li::before {content:counter(step);position:absolute;left:0;top:0.3rem;width:2.6rem;height:2.6rem;background:#3a7ca5;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:1.3rem;}
ol.steps li strong {color:#26333d;}

/*出典注記*/
.source {font-size:0.95rem;color:#777;line-height:1.7em;margin:0.5rem 0 1.5rem;padding-left:1em;border-left:solid #d7e3ea 3px;}

/*関連リンクカード*/
.relatedcards {display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0;}
.relatedcards a {flex:1 1 45%;background:#f6f8fa;border:solid #e3e9ee 1px;border-radius:8px;padding:1.4rem 1.6rem;font-size:1.15rem;font-weight:bold;color:#26333d;transition:0.3s;text-decoration:none;line-height:1.5em;}
.relatedcards a:hover {background:#3a7ca5;color:#fff;text-decoration:none;}
.relatedcards a span {display:block;font-size:0.9rem;font-weight:normal;color:#3a7ca5;margin-bottom:0.3rem;}
.relatedcards a:hover span {color:#dbe9f1;}

/*ページ内CTA*/
.inlinecta {text-align:center;background:#eef4f7;border-radius:12px;padding:2.5rem;margin:2.5rem 0;}
.inlinecta p {font-size:1.3rem;margin-bottom:1.5rem;color:#26333d;}
.inlinecta a.btn {font-size:1.2rem;background:#e07a4f;border-color:#e07a4f;color:#fff;}
.inlinecta a.btn:hover {background:#fff;color:#e07a4f;border-color:#e07a4f;}

/*SP*/
@media (max-width: 896px){
	.ariclepage .contents01 img {width:100%;}
	.ariclepage .contents01 h3 {font-size:1.4rem;}
	.checklist li,ol.steps li {font-size:1.15rem;}
	.relatedcards a {flex:1 1 100%;}
	.capsule p {font-size:1.15rem;}
}

/*faqwrap*/
.faqwrap {padding-top:7vw;}
.faqwrap h1 {font-size:3.4rem;}

/*privacy*/
.privacy .contents01 {}
.privacy .contents01 h2 {font-size:1.4rem;font-weight:bold;margin-top:2em;margin-bottom:10px;border-bottom:none;padding-bottom:0;color:#26333d;}
.privacy .contents01 li {list-style-type:decimal;list-style-position:inside;}
.privacy .contents01 li ul {padding:10px 0px 10px 1.5em;}
/*SP*/
@media (max-width: 896px){
	.privacy .contents01 h2 {font-size:1.2rem;}
}

/*sitemap*/
.sitemap .contents01 p {font-size:1.2rem;line-height:2.5em;}
.sitemap .contents01 p a {color:#26333d;text-decoration:underline;}
.sitemap .contents01 h2 {border-bottom:none;}

/*faqarea*/
.faqpage .contents01 {background:#eef4f7;}
.faqpage .contents01 h2 {border-bottom:none;}
.faq {background:#fff;border-radius:1rem;padding:2rem 3rem;margin-bottom:0.5rem;box-shadow:0 2px 8px rgba(38,51,61,0.06);}
.faq > summary {cursor: pointer;list-style: none;font-size:1.35rem;font-weight:bold;color:#3a7ca5;line-height:1.5em;}
.faq > summary::-webkit-details-marker {display: none;}
.faq > summary::after {content: "+";float: right;padding-left:1rem;}
.faq[open] > summary::after {content: "−";}
.faq .answer {margin-top:1rem;}
.faq .answer p {font-size:1.2rem;font-weight:normal;color:#333;line-height:1.9em;}

/*SP*/
@media (max-width: 896px){
	.faqarea .faq {padding:15px;}
	.faqarea .faq summary {font-size:1.15rem;}
}

/*formarea*/
.formarea {width:60vw;max-width:100%;}
.formarea form table {width:100%;border-collapse:collapse;margin-bottom:2rem;}
.formarea form input[type=text],.formarea form input[type=email],.formarea form textarea,.formarea form select {border:solid #b9c7d1 1px;outline:none;padding:1rem;width:100%;font-family:inherit;font-size:1.1rem;border-radius:4px;background:#fff;}
.formarea form textarea {height:10rem;resize:vertical;}
.formarea form input:focus,.formarea form textarea:focus,.formarea form select:focus {border-color:#3a7ca5;}
.formarea form input[type=submit] {font-size:1.2rem;width:60%;padding:1.1rem 0rem;background:#e07a4f;border:solid #e07a4f 3px;color:#fff;font-weight:bold;border-radius:4px;cursor:pointer;transition:0.3s;}
.formarea form input[type=submit]:hover {background:#fff;color:#e07a4f;}
.formarea form table td {padding:0.6rem 0;}
.formarea form table td:nth-child(1){width:16rem;font-size:1.15rem;font-weight:bold;vertical-align:top;padding-top:1.4rem;}
.formarea form table td:nth-child(2){width:calc(100% - 16rem);}
.formarea form table td:nth-child(2) div {font-size:0.85rem;color:#666;margin-bottom:0.3rem;}
.formarea .req {color:#e07a4f;font-size:0.9rem;margin-left:0.4rem;}
/*SP*/
@media (max-width: 896px){
	.formarea {width:100%;}
	.formarea form table td {display:block;width:100%;}
	.formarea form table td:nth-child(1){width:100%;padding-top:0.6rem;}
	.formarea form table td:nth-child(2){width:100%;}
	.formarea form input[type=submit] {width:100%;}
}

/*コラム記事一覧カード*/
.articlelist {display:flex;flex-direction:column;gap:1.4rem;margin:2rem 0;}
.articlelist .articlecard {display:flex;gap:1.4rem;background:#f6f8fa;border:solid #e3e9ee 1px;border-radius:8px;padding:1.4rem;color:#26333d;text-decoration:none;transition:0.3s;align-items:flex-start;}
.articlelist .articlecard:hover {background:#eef4f8;text-decoration:none;}
.articlelist .articlecard img {width:200px;height:130px;object-fit:cover;border-radius:6px;flex-shrink:0;}
.articlelist .articlemeta time {font-size:0.85rem;color:#666;}
.articlelist .articlemeta h3 {font-size:1.15rem;font-weight:bold;line-height:1.5em;margin:0.3rem 0 0.5rem;}
.articlelist .articlemeta p {font-size:0.95rem;line-height:1.6em;margin:0 0 0.5rem;}
.articlelist .articlemeta .more {font-size:0.9rem;font-weight:bold;color:#3a7ca5;}
@media (max-width: 896px){
	.articlelist .articlecard {flex-direction:column;}
	.articlelist .articlecard img {width:100%;height:160px;}
}
