/*各ページ共通*/
.pagewrapper {margin-top:10vh;}
/* bg_header.jpg : ページタイトルエリア背景 */
.titlearea {padding:7vw 10vw 5vw;background:var(--ink) 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,18,14,0.7);}
.titlearea > * {position:relative;z-index:2;}
.titlearea .en {display:block;font-family:"Shippori Mincho",serif;font-size:0.9rem;letter-spacing:0.35em;color:var(--gold-soft);margin-bottom:1.2rem;}
.titlearea h1 {font-size:3rem;margin-bottom:1.2rem;color:#fff;line-height:1.5;}
.titlearea h2 {font-size:1.6rem;margin-bottom:1.2rem;color:var(--gold-soft);font-weight:500;}
.titlearea p {font-size:1.15rem;color:rgba(250,247,240,0.85);line-height:2.0;max-width:48rem;}
.pankuzuarea {padding-bottom:1.4rem;}
.pankuzu {color:rgba(250,247,240,0.7);font-size:0.85rem;}
.pankuzu span,.pankuzu a {color:rgba(250,247,240,0.7);}
.pankuzu a:hover {color:var(--gold-soft);}
/*SP*/
@media (max-width:896px){
	.titlearea {padding:11vh 7vw 7vh;}
	.titlearea h1 {font-size:1.9rem;}
	.titlearea h2 {font-size:1.3rem;}
	.titlearea p {font-size:1.05rem;}
}

/*記事本文*/
.ariclepage .contents01 {background:var(--paper);}
.ariclepage .contents01 .content {width:54rem;}
.ariclepage .contents01 .lead {font-family:"Shippori Mincho",serif;font-size:1.35rem;line-height:2.0;color:var(--ink-soft);margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:solid var(--line) 1px;}
.ariclepage .contents01 h2 {font-size:2rem;margin-top:2.4em;margin-bottom:0.8em;padding-left:1rem;border-left:solid var(--gold) 4px;line-height:1.5;}
.ariclepage .contents01 h2.mb0 {margin-bottom:0.2em;}
.ariclepage .contents01 h3 {font-size:1.4rem;margin-top:1.8em;margin-bottom:0.8em;color:var(--gold-deep);}
.ariclepage .contents01 p {font-size:1.12rem;line-height:2.15;margin-bottom:1.4rem;color:var(--text);}
.ariclepage .contents01 img {max-width:100%;width:100%;margin:1.5rem 0 2rem;display:block;}
.ariclepage .contents01 ul.dots {margin:1rem 0 2rem;padding-left:0;}
.ariclepage .contents01 ul.dots li {font-size:1.1rem;line-height:1.9;padding-left:1.6em;position:relative;margin-bottom:0.6rem;}
.ariclepage .contents01 ul.dots li:before {content:"";position:absolute;left:0.2em;top:0.85em;width:0.5em;height:0.5em;background:var(--gold);border-radius:50%;}
.ariclepage .contents01 .note {background:#fff;border:solid var(--line) 1px;border-left:solid var(--gold) 4px;padding:2rem 2.4rem;margin:2rem 0;}
.ariclepage .contents01 .note p {margin-bottom:0;font-size:1.05rem;color:var(--text-soft);}
.ariclepage .contents01 .btn {margin-top:1rem;}
/*要点カプセル（記事冒頭の直接回答ブロック）*/
.ariclepage .contents01 .answercapsule {background:#fff;border:solid var(--line) 1px;border-top:solid var(--gold) 3px;padding:2rem 2.4rem;margin:0 0 2.5rem;}
.ariclepage .contents01 .answercapsule .cap {font-family:"Shippori Mincho",serif;font-size:0.95rem;letter-spacing:0.15em;color:var(--gold-deep);margin-bottom:0.8rem;display:block;}
.ariclepage .contents01 .answercapsule p {margin-bottom:0;font-size:1.08rem;line-height:2.0;}
/*記事内の表*/
.ariclepage .contents01 table.ctable {width:100%;border-collapse:collapse;margin:1.5rem 0 2.5rem;background:#fff;font-size:1.02rem;}
.ariclepage .contents01 table.ctable th,
.ariclepage .contents01 table.ctable td {border:solid var(--line) 1px;padding:1rem 1.2rem;line-height:1.8;text-align:left;vertical-align:top;}
.ariclepage .contents01 table.ctable th {background:var(--paper);color:var(--gold-deep);font-weight:normal;width:12em;}
/*番号付きリスト（手順）*/
.ariclepage .contents01 ol.steps {margin:1rem 0 2rem;padding-left:1.4em;}
.ariclepage .contents01 ol.steps li {font-size:1.1rem;line-height:1.9;margin-bottom:0.8rem;padding-left:0.3em;}
/*SP*/
@media (max-width:896px){
	.ariclepage .contents01 .content {width:100%;}
	.ariclepage .contents01 h2 {font-size:1.55rem;}
	.ariclepage .contents01 h3 {font-size:1.25rem;}
	.ariclepage .contents01 .lead {font-size:1.2rem;}
	.ariclepage .contents01 .answercapsule {padding:1.5rem 1.4rem;}
	.ariclepage .contents01 table.ctable {font-size:0.95rem;}
	.ariclepage .contents01 table.ctable th,
	.ariclepage .contents01 table.ctable td {padding:0.7rem 0.8rem;}
	.ariclepage .contents01 table.ctable th {width:8em;}
}

/*料金表*/
.pricebox {background:#fff;border:solid var(--gold) 1px;padding:3rem;text-align:center;margin:2.5rem 0;}
.pricebox .label {font-family:"Shippori Mincho",serif;font-size:1.2rem;color:var(--gold-deep);letter-spacing:0.15em;margin-bottom:1rem;}
.pricebox .price {font-family:"Shippori Mincho",serif;font-size:3.2rem;color:var(--ink);line-height:1.2;}
.pricebox .price small {font-size:1.2rem;}
.pricebox .sub {font-size:1rem;color:var(--text-soft);margin-top:1rem;}
@media (max-width:896px){ .pricebox {padding:2rem 1.4rem;} .pricebox .price {font-size:2.4rem;} }

/*ステップ*/
.steplist {counter-reset:step;margin:2rem 0;}
.steplist .step {display:flex;gap:1.5rem;padding:1.8rem 0;border-bottom:solid var(--line) 1px;align-items:flex-start;}
.steplist .step:before {counter-increment:step;content:counter(step);flex:0 0 auto;width:2.8rem;height:2.8rem;background:var(--gold);color:#fff;font-family:"Shippori Mincho",serif;font-size:1.3rem;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.steplist .step .txt h3 {margin:0 0 0.4rem;font-size:1.3rem;}
.steplist .step .txt p {margin:0;font-size:1.05rem;color:var(--text-soft);}

/*privacy*/
.privacy .contents01 h2 {font-size:1.4rem;font-weight:600;margin-top:2em;margin-bottom:0.6em;border-left:solid var(--gold) 4px;padding-left:1rem;}
.privacy .contents01 p {font-size:1.05rem;}
.privacy .contents01 li {list-style-type:decimal;list-style-position:inside;font-size:1.05rem;line-height:1.9;}
.privacy .contents01 li ul {padding:8px 0px 8px 1.5em;}
/*SP*/
@media (max-width:896px){ .privacy .contents01 h2 {font-size:1.2rem;} }

/*sitemap*/
.sitemap .contents01 p {font-size:1.1rem;line-height:2.6em;}
.sitemap .contents01 p a {color:var(--ink);text-decoration:none;border-bottom:solid var(--line) 1px;}
.sitemap .contents01 p a:hover {color:var(--gold-deep);border-color:var(--gold);}

/*faqページ*/
.faqpage .contents01 {background:var(--paper-2);}
.faqpage .contents01 .content {width:60rem;}
.faqpage .cathead {font-family:"Shippori Mincho",serif;font-size:1.5rem;color:var(--ink);margin:2.5rem 0 1.2rem;padding-bottom:0.6rem;border-bottom:solid var(--gold) 2px;}
.faq {background:#fff;border:solid var(--line) 1px;padding:1.8rem 3rem;margin-bottom:0.8rem;}
.faq > summary {cursor:pointer;list-style:none;font-size:1.15rem;font-weight:600;color:var(--ink);font-family:"Shippori Mincho",serif;position:relative;padding-right:2rem;}
.faq > summary::-webkit-details-marker {display:none;}
.faq > summary::after {content:"＋";position:absolute;right:0;color:var(--gold-deep);font-weight:400;}
.faq[open] > summary::after {content:"－";}
.faq .answer {margin-top:1.2rem;}
.faq .answer p {font-size:1.05rem;font-weight:normal;color:var(--text-soft);line-height:1.95;}
/*SP*/
@media (max-width:896px){
	.faqpage .contents01 .content {width:100%;}
	.faqarea .faq {padding:1.3rem 1.4rem;}
	.faqarea .faq summary {font-size:1.05rem;}
}

/*formarea*/
.formarea {width:48rem;max-width:100%;margin-top:2rem;}
.formarea .formembed {width:100%;height:4300px;border:solid var(--line) 1px;}
.formarea .formnote {background:#fff;border:solid var(--line) 1px;border-left:solid var(--gold) 4px;padding:1.4rem 1.8rem;margin-bottom:2rem;font-size:1rem;color:var(--text-soft);}
/* 仮フォーム（Google Form未設定時のプレースホルダ） */
.formplaceholder {width:100%;min-height:48vh;border:dashed var(--gold) 2px;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:3rem;color:var(--text-soft);font-size:1.05rem;line-height:2;}
/*SP*/
@media (max-width:896px){ .formarea {width:100%;}.formarea .formembed {height:5000px;} }

/*会社概要テーブル*/
.infotable {width:100%;border-collapse:collapse;margin:2rem 0;}
.infotable th,.infotable td {text-align:left;padding:1.1rem 1.2rem;border-bottom:solid var(--line) 1px;font-size:1.05rem;vertical-align:top;}
.infotable th {width:12rem;font-weight:600;color:var(--ink);background:var(--paper-2);font-family:"Shippori Mincho",serif;}
@media (max-width:896px){
	.infotable th,.infotable td {display:block;width:100%;}
	.infotable th {border-bottom:none;padding-bottom:0.3rem;}
}

/*コラム一覧*/
.column .contents02 {background:var(--paper);}
.column .contents02 .content {width:60rem;max-width:100%;}
.columnlist {display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin:1rem 0 1rem;}
.columnlist .ccard {display:flex;flex-direction:column;background:#fff;border:solid var(--line) 1px;overflow:hidden;transition:box-shadow 0.3s,transform 0.3s;}
.columnlist .ccard:hover {box-shadow:0 8px 24px rgba(31,28,23,0.12);transform:translateY(-3px);}
.columnlist .ccard .cthumb {aspect-ratio:16/9;overflow:hidden;background:var(--paper-2);}
.columnlist .ccard .cthumb img {width:100%;height:100%;object-fit:cover;display:block;margin:0;}
.columnlist .ccard .cbody {padding:1.4rem 1.6rem 1.6rem;display:flex;flex-direction:column;flex:1;}
.columnlist .ccard .cdate {font-size:0.85rem;letter-spacing:0.08em;color:var(--text-soft);margin-bottom:0.5rem;}
.columnlist .ccard .ctitle {font-size:1.25rem;line-height:1.6;margin:0 0 0.7rem;color:var(--ink);}
.columnlist .ccard .cexcerpt {font-size:1rem;line-height:1.85;color:var(--text-soft);margin:0 0 1rem;flex:1;}
.columnlist .ccard .cmore {align-self:flex-start;font-family:"Shippori Mincho",serif;font-size:0.95rem;color:var(--gold-deep);border-bottom:solid var(--gold) 1px;padding-bottom:0.15rem;}
.columnlist .cempty {grid-column:1 / -1;text-align:center;padding:4rem 2rem;border:dashed var(--gold) 2px;background:#fff;color:var(--text-soft);font-size:1.05rem;line-height:2;}
.column .contents02 .mt2 {margin-top:2.5rem;text-align:center;}
/*SP*/
@media (max-width:896px){
	.columnlist {grid-template-columns:1fr;gap:1.5rem;}
	.columnlist .ccard .ctitle {font-size:1.15rem;}
}
