/*各ページ共通*/
.pagewrapper {margin-top:10vh;}
/* bg_header.jpg : ページタイトルエリア背景画像 */
.titlearea {padding:6vw 10vw;background:#14243f url(../img/cmn/bg_header.jpg) no-repeat center center;background-size:cover;position:relative;}
.titlearea::before {content:"";position:absolute;inset:0;background:rgba(20,36,63,0.55);}
.titlearea > * {position:relative;z-index:2;}
.titlearea h1 {font-size:3.4rem;margin-bottom:1rem;color:#fff;line-height:1.35em;}
.titlearea h2 {font-size:1.9rem;margin-bottom:1rem;color:#d99a2b;}
.titlearea p {font-size:1.5rem;color:#e8edf5;line-height:1.8em;}
.pankuzuarea {padding-bottom:1rem;}
.pankuzu {color:#cdd6e4;font-size:1.05rem;}
.pankuzu span,.pankuzu a {color:#cdd6e4;}
/*SP*/
@media (max-width: 896px){
	.titlearea h1 {font-size:1.8rem;}
	.titlearea h2 {font-size:1.4rem;}
	.titlearea p {font-size:1.2rem;}
}

.ariclepage {}
.ariclepage .contents01 {}
.ariclepage .contents01 h2 {margin-top:1.6em;margin-bottom:0.5em;color:#14243f;border-left:solid #d99a2b 0.5rem;padding-left:1rem;line-height:1.4em;}
.ariclepage .contents01 h2.mb0 {margin-bottom:0em;}
.ariclepage .contents01 h3 {font-size:1.8rem;margin-bottom:1em;margin-top:1.2em;color:#2f6fb0;}
.ariclepage .contents01 p {}
.ariclepage .contents01 img {max-width:100%;width:68%;margin-bottom:1rem;border-radius:0.6rem;}
.ariclepage .contents01 ul.dotlist {margin:1rem 0 1.5rem 0;}
.ariclepage .contents01 ul.dotlist li {font-size:1.3rem;line-height:1.8em;padding-left:1.6em;position:relative;margin-bottom:0.6em;}
.ariclepage .contents01 ul.dotlist li::before {content:"●";color:#d99a2b;position:absolute;left:0;font-size:0.9em;top:0.15em;}

/* リード文 */
.leadtext {font-size:1.45rem !important;background:#f6f4ee;border:solid #e6ddc8 1px;border-radius:0.8rem;padding:2rem 2.2rem;}

/* 注目ボックス */
.callout {background:#eef3f9;border-left:solid #2f6fb0 0.5rem;border-radius:0.4rem;padding:1.8rem 2.2rem;margin:1.8rem 0;}
.callout p {font-size:1.25rem !important;line-height:1.85em;}
.callout.gold {background:#faf3e2;border-left-color:#d99a2b;}

/* 比較表 */
.comparetable {width:100%;border-collapse:collapse;margin:2rem 0;font-size:1.2rem;}
.comparetable th,.comparetable td {border:solid #d8dee8 1px;padding:1.1rem 1.2rem;text-align:left;vertical-align:top;line-height:1.7em;}
.comparetable thead th {background:#14243f;color:#fff;text-align:center;font-size:1.25rem;}
.comparetable tbody th {background:#f3f5f9;color:#14243f;width:24%;}
.comparetable td.good {background:#faf3e2;}
.comparetable td.good strong {color:#c47e15;}
@media (max-width: 896px){
	.comparetable {font-size:1.05rem;}
	.comparetable th,.comparetable td {padding:0.7rem;}
}

/* STEPフロー */
.flowstep {margin:2.5rem 0;}
.flowstep .step {display:flex;align-items:flex-start;gap:1.5rem;background:#fff;border:solid #e1e6ee 1px;border-radius:0.8rem;padding:2rem 2.2rem;margin-bottom:1.2rem;box-shadow:0 3px 10px rgba(20,36,63,0.05);}
.flowstep .step .num {flex:0 0 auto;width:4rem;height:4rem;border-radius:50%;background:#2f6fb0;color:#fff;font-size:1.6rem;font-weight:bold;display:flex;align-items:center;justify-content:center;}
.flowstep .step .txt h3 {font-size:1.6rem;color:#14243f;margin-bottom:0.4em;margin-top:0.2em;}
.flowstep .step .txt p {font-size:1.2rem !important;line-height:1.8em;margin-top:0 !important;}
.flowstep .step:nth-child(1) .num {background:#14243f;}
.flowstep .step:nth-child(odd) .num {background:#2f6fb0;}
.flowstep .step:nth-child(even) .num {background:#d99a2b;}
@media (max-width: 896px){
	.flowstep .step {padding:1.5rem;gap:1rem;}
	.flowstep .step .num {width:3rem;height:3rem;font-size:1.2rem;}
}

/* 料金カード */
.pricebox {background:#14243f;color:#fff;border-radius:1rem;padding:3rem;text-align:center;margin:2.5rem 0;}
.pricebox h3 {color:#d99a2b;font-size:1.9rem;margin-bottom:1rem;}
.pricebox p {color:#e8edf5;font-size:1.3rem !important;line-height:1.9em;}
.pricebox .btn {margin-top:1.5rem;background:#e8842b;border-color:#e8842b;color:#fff;}
.pricebox .btn:hover {background:#fff;color:#e8842b;border-color:#fff;}

/* 会社概要テーブル */
.infotable {width:100%;border-collapse:collapse;margin:2rem 0;font-size:1.25rem;}
.infotable th,.infotable td {border-bottom:solid #e1e6ee 1px;padding:1.2rem 1rem;text-align:left;line-height:1.7em;}
.infotable th {width:30%;color:#14243f;background:#f6f8fb;}
@media (max-width: 896px){
	.infotable th,.infotable td {display:block;width:100%;}
	.infotable th {border-bottom:none;padding-bottom:0.2rem;}
}

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

/*SP*/
@media (max-width: 896px){
	.ariclepage .contents01 img {width:100%;}
	.ariclepage .contents01 h3 {font-size:1.4rem;}
}

/*privacy*/
.privacy .contents01 {}
.privacy .contents01 h2 {font-size:1.4rem;font-weight:normal;margin-top:2em;margin-bottom:10px;border-left:solid #d99a2b 0.4rem;padding-left:0.8rem;}
.privacy .contents01 li {list-style-type:decimal;list-style-position:inside;font-size:1.25rem;line-height:1.9em;}
.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 {}
.sitemap .contents01 p {font-size:1.25rem;line-height:2.5em;}
.sitemap .contents01 p a {color:#14243f;text-decoration:underline;}
.sitemap .contents01 p a:hover {color:#2f6fb0;}

/*faqarea*/
.faqpage .contents01 {background:#eef1f6;}
.faq {background:#fff;border-radius:1rem;padding:2rem 5rem;margin-bottom:0.5rem;}
.faq > summary {cursor: pointer;list-style: none;font-size:1.4rem;font-weight:bold;color:#2f6fb0;}
.faq > summary::-webkit-details-marker {display: none;}
.faq > summary::after {content: "+";float: right;color:#d99a2b;}
.faq[open] > summary::after {content: "−";}
.faq .answer {margin-top:1rem;}
.faq .answer p {font-size:1.2rem;font-weight:normal;color:#3a4658;line-height:1.9em;}
.faqpage .cathead {font-size:1.8rem;color:#14243f;margin:2.5rem 0 1rem;font-weight:bold;}

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

/* コラム一覧 */
.columnlist {display:flex;flex-wrap:wrap;gap:2rem;margin-top:1rem;}
.columnlist .card {width:calc(50% - 1rem);background:#fff;border:solid #e1e6ee 1px;border-radius:0.8rem;overflow:hidden;box-shadow:0 3px 12px rgba(20,36,63,0.06);}
.columnlist .card a {display:block;color:#14243f;}
.columnlist .card .thumb {height:14vw;background-size:cover;background-position:center;}
.columnlist .card .cardbody {padding:1.6rem 1.8rem;}
.columnlist .card .cat {display:inline-block;font-size:1rem;color:#fff;background:#2f6fb0;padding:0.2em 1em;border-radius:1em;margin-bottom:0.8rem;}
.columnlist .card h3 {font-size:1.5rem;line-height:1.5em;margin-bottom:0.6rem;}
.columnlist .card p {font-size:1.15rem;color:#4a5568;line-height:1.8em;}
@media (max-width: 896px){
	.columnlist .card {width:100%;}
	.columnlist .card .thumb {height:45vw;}
}

/*formarea / contact*/
.contactgrid {display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:2rem;}
.contactgrid .formwrap {flex:1 1 55%;min-width:300px;}
.contactgrid .formwrap iframe {width:100%;min-height:90vh;border:solid #e1e6ee 1px;border-radius:0.6rem;background:#fff;}
.contactsub {flex:1 1 35%;min-width:260px;display:block;}
.contactsub .inner {width:100% !important;float:none !important;margin-bottom:1.2rem;}
.contactsub .box {background:#f6f8fb;border:solid #e1e6ee 1px;border-radius:0.8rem;padding:2rem;height:auto;}
.contactsub .box h3 {font-size:1.5rem;color:#14243f;margin-bottom:0.8rem;}
.contactsub .box p {font-size:1.2rem !important;line-height:1.8em;color:#3a4658;}
.contactsub .box img.qr {width:200px;max-width:60%;margin:1rem 0;border-radius:0.4rem;}
.contactsub .box a.lineadd {display:inline-block;background:#06c755;color:#fff;font-weight:bold;padding:0.8em 2em;border-radius:2em;font-size:1.2rem;}
.contactsub .box a.lineadd:hover {opacity:0.85;text-decoration:none;color:#fff;}
@media (max-width: 896px){
	.contactgrid .formwrap iframe {min-height:120vh;}
}
