/*各ページ共通*/
.pagewrapper {margin-top:10vh;}
/* bg_header.jpg : ページタイトルエリア背景画像 */
.titlearea {padding:6vw 10vw;position:relative;
	background:#1a1a2e url(../img/cmn/bg_header.jpg) no-repeat center center;background-size:cover;}
.titlearea:before {content:""; position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,1.0);opacity:0.2;z-index:1;}
.titlearea.on:before {opacity:0.6;transition:5s; }
.titlearea h1 {font-size:3.5rem;margin-bottom:1rem;color:#fff;position:relative;z-index:100;}
.titlearea h2 {font-size:2.0rem;margin-bottom:1rem;color:#fff;position:relative;z-index:100;}
.titlearea p {font-size:1.6rem;color:#fff;position:relative;z-index:100;}
.pankuzuarea {padding-bottom:1rem;position:relative;z-index:100;}
.pankuzu {color:#fff;}
.pankuzu span,.pankuzu a {color:#fff;}
/*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.5em;margin-bottom:0.5em;}
.ariclepage .contents01 h2.mb0 {margin-bottom:0em;}
.ariclepage .contents01 h3 {font-size:1.8rem;margin-bottom:1.5em;color:#1a3470;}
.ariclepage .contents01 p {}
.ariclepage .contents01 img {max-width:100%;width:68%;margin-bottom:1rem;}
.ariclepage .contents01 ul {margin:1rem 0 1.5rem 0;}
.ariclepage .contents01 ul li {font-size:1.3rem;line-height:1.9em;list-style-type:disc;list-style-position:inside;}

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

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

/*タイムライン（program）*/
.timeline {margin:2.5rem 0;}
.timeline .tl-item {display:flex;gap:1.5rem;padding:1.5rem 0;border-bottom:dashed #ccc 1px;}
.timeline .tl-item:last-child {border-bottom:none;}
.timeline .tl-time {flex:0 0 8rem;font-size:1.3rem;font-weight:bold;color:#e06000;}
.timeline .tl-body {flex:1;}
.timeline .tl-body h3 {font-size:1.6rem;color:#1a3470;margin-bottom:0.4em;}
.timeline .tl-body p {font-size:1.3rem;line-height:1.8em;}
/*SP*/
@media (max-width: 896px){
	.timeline .tl-item {flex-direction:column;gap:0.5rem;}
	.timeline .tl-time {flex:none;font-size:1.2rem;}
}

/*エリア一覧（schedule）*/
.arealist {display:flex;flex-wrap:wrap;gap:1.5rem;margin:2rem 0;}
.areacard {flex:1;min-width:230px;background:#fff;border:solid #eee 1px;border-radius:1rem;padding:2rem;box-shadow:0 2px 10px rgba(0,0,0,0.06);}
.areacard h3 {font-size:1.8rem;color:#1a3470;margin-bottom:0.5em;}
.areacard p {font-size:1.2rem;color:#555;line-height:1.8em;}
/*SP*/
@media (max-width: 896px){
	.arealist {flex-direction:column;}
	.areacard {min-width:0;}
}

/*料金ボックス（price他）*/
.pricebox {display:inline-block;background:#fff;border:solid #e06000 3px;border-radius:1.5rem;padding:3rem 5rem;box-shadow:0 4px 16px rgba(0,0,0,0.08);text-align:center;}
.pricebox .campaign-badge {margin-bottom:1.5rem;}
.pricebox .price-normal {font-size:1.4rem;color:#666;margin-bottom:0.3rem;}
.pricebox .price-now {font-size:2.0rem;color:#1a1a2e;font-weight:bold;margin-bottom:0.5rem;}
.pricebox .price-now b {font-size:4.5rem;color:#e06000;}
.pricebox .price-note {font-size:1.1rem;color:#888;margin-bottom:2rem;}
.pricebox .strike {text-decoration:line-through;opacity:0.7;font-weight:normal;color:#999;}
/*SP*/
@media (max-width: 896px){
	.pricebox {padding:2.5rem 2rem;width:100%;}
	.pricebox .price-now b {font-size:3.5rem;}
}

/*会社概要テーブル（company）*/
.companytable {width:100%;border-collapse:collapse;margin:2rem 0;}
.companytable th,.companytable td {text-align:left;padding:1.2rem 1rem;border-bottom:solid #eee 1px;font-size:1.3rem;vertical-align:top;}
.companytable th {width:14rem;color:#1a3470;font-weight:bold;background:#f7f8fb;}
/*SP*/
@media (max-width: 896px){
	.companytable th,.companytable td {display:block;width:100%;}
	.companytable th {border-bottom:none;padding-bottom:0.3rem;}
}

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

/*sitemap*/
.sitemap .contents01 {}
.sitemap .contents01 p {font-size:1.2rem;line-height:2.5em;}
.sitemap .contents01 p a {color:#000;text-decoration:underline;}

/*faqarea*/
.faqpage .contents01 {background:#eee;}
.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:#1a3470;}
.faq > summary::-webkit-details-marker {display: none;}
.faq > summary::after {content: "+";float: right;}
.faq[open] > summary::after {content: "−";}
.faq .answer {margin-top:1rem;}
.faq .answer p {font-size:1.2rem;font-weight:normal;color:#333;}

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

/*formarea*/
.formarea {width:50vw;}
.formarea form {}
.formarea form table {width:100%;border-collapse:collapse;margin-bottom:2rem;}
.formarea form input[type=text],.formarea form textarea {border:solid #000 1px;outline:none;padding:1rem;width:100%;font-family:inherit;}
.formarea form textarea {height:8rem;resize:vertical;}
.formarea form input[type=submit] {font-size:1.2rem;width:50%;padding:1rem 0rem;background:#1a3470;border:solid #1a3470 3px;color:#fff;font-weight:bold;border-radius:4px;cursor:pointer;}
.formarea form input[type=submit]:hover {background:#fff;color:#1a3470;}
.formarea form table td {padding:0.5rem 0;}
.formarea form table td:nth-child(1){width:18rem;font-size:1.2rem;font-weight:bold;}
.formarea form table td:nth-child(2){width:calc(100% - 18rem);}
.formarea form table td:nth-child(2) div {font-size:0.8rem;color:#666;margin-bottom:0.3rem;}
/*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%;}
	.formarea form table td:nth-child(2){width:100%;}
	.formarea form input[type=submit] {width:100%;}
}
