/*各ページ共通*/
.pagewrapper {margin-top:10vh;}
/* cmn-2.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;}
.ariclepage .contents01 p {}
.ariclepage .contents01 img {max-width:100%;width:68%;margin-bottom:1rem;}

/*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;}
}

/*schedule*/
.schedule-legend {display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;padding:1.5rem 2rem;background:#f5f5f5;border-radius:0.8rem;}
.legend-badge {font-size:1.1rem;font-weight:bold;padding:0.4em 1.2em;border-radius:2em;color:#fff;white-space:nowrap;}
.legend-badge.legend-experience {background:#1a3470;}
.legend-badge.legend-strategy {background:#e06000;}
.legend-text {font-size:1.2rem;color:#555;padding-right:1.5rem;}

.schedule-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:3rem;}

.schedule-card {border-radius:1rem;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.1);display:flex;flex-direction:column;background:#fff;}

/* カードヘッダー：種別ごとに色分け */
.schedule-card.type-experience .card-header {background:#1a3470;}
.schedule-card.type-strategy  .card-header {background:#e06000;}
.card-header {padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;}
.card-header .type-label {color:#fff;font-size:1.2rem;font-weight:bold;}
.card-header .status-label {font-size:1.0rem;font-weight:bold;padding:0.3em 0.9em;border-radius:2em;}

/* ステータスごとのラベル色 */
.status-open  .card-header .status-label {background:#fff;color:#1a8a3a;}
.status-full  .card-header .status-label {background:rgba(255,255,255,0.35);color:#fff;}
.status-closed .card-header .status-label {background:rgba(255,255,255,0.25);color:#fff;}

/* 満席・終了はカード全体をグレーアウト */
.status-full  .card-body,
.status-closed .card-body {opacity:0.45;}

.card-body {padding:1.5rem;display:flex;align-items:center;gap:1.5rem;flex:1;}
.card-date {text-align:center;min-width:5rem;}
.card-date .month {display:block;font-size:1.2rem;color:#666;}
.card-date .day   {display:block;font-size:4rem;font-weight:bold;line-height:1;color:#1a1a2e;}
.card-date .weekday {display:block;font-size:1.2rem;color:#666;}
.card-info {border-left:2px solid #eee;padding-left:1.5rem;}
.card-info .time   {font-size:1.3rem;font-weight:bold;color:#333;margin-bottom:0.4em;}
.card-info .format {font-size:1.1rem;color:#666;}

.card-footer {padding:1rem 1.5rem;}
.card-btn {display:block;text-align:center;padding:0.8em 0;border-radius:2em;font-size:1.1rem;font-weight:bold;text-decoration:none;transition:0.2s;}
.type-experience .card-btn {background:#1a3470;color:#fff;border:2px solid #1a3470;}
.type-experience .card-btn:hover {background:#fff;color:#1a3470;}
.type-strategy  .card-btn {background:#e06000;color:#fff;border:2px solid #e06000;}
.type-strategy  .card-btn:hover {background:#fff;color:#e06000;}
.card-btn.disabled {background:#ccc;color:#888;border:2px solid #ccc;cursor:default;}

.schedule-note {font-size:1.2rem;color:#666;text-align:center;margin-bottom:2rem;}

/*SP*/
@media (max-width: 896px){
	.schedule-grid {grid-template-columns:repeat(2,1fr);gap:1rem;}
	.card-date .day {font-size:3rem;}
	.legend-text {font-size:1.0rem;}
}
@media (max-width: 480px){
	.schedule-grid {grid-template-columns:1fr;}
}

/*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;}
/*SP*/
@media (max-width: 896px){
	.privacy .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%;}
}
