@charset "UTF-8";

.primary-wrap { padding-bottom: 0; }


/*========================================================
 LPヘッダー
 ========================================================*/

 /* --------------------------------------------
 ヘッダー廻り
-----------------------------------------------*/

.lp-title.img-lptit { margin: 0; }

/* LPタイトル、テキスト */

.lp-title.img-lptit { margin-left: -15%; }

.headtxt-area {
	color: #fff;
	font-size: 0.875em;
	padding: 1em 3%;
	background: rgba(22, 50, 120, 1);
	position: relative;
	z-index: 5;
	margin-top: -20%;
	margin-right: calc( 50% - 50vw );
	margin-left: calc( 50% - 50vw );
}

.headtxt-ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.headtxt-ul > li {
	color: var(--wp--preset--color--text-black);
	font-size: 1.25em;
	font-weight: 700;
	background: #fff;
	padding: 0.3em 1em;
	border-radius: 8px;
}

.headtxt-ul > li::before {
	content: '●';
	color: #bf3679;
	display: inline-block;
	margin-right: 0.2em;
}

.headtxt-ul > li:not(:first-child) { margin-top: 0.5em; }

.headtxt-area dt { color: #ff0; }

@media screen and ( min-width: 760px ) {

	.lphead-contents { position: static; overflow: visible; }

	.lphead-titarea { position: relative; }

	.headtxt-area {
		position: absolute;
		right: 0;
		bottom: 16px;
		left: 25%;
		margin: 0;
	}
}

@media screen and ( min-width: 960px ) {

	.lp-title.img-lptit { margin-left: -5%; }

	.headtxt-area {
		right: 4%;
		bottom: 32px;
		left: 36%;

		padding: 2em 3% 1em;
	}

	.headtxt-ul > li {
		font-size: 1.5em;
	}
}

/* タイトル下日程
--------------------------------------*/

.lphead-date {
	margin-top: 0;
	margin-right: calc( 50% - 50vw );
	margin-left: calc( 50% - 50vw );
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.lp-date-ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.lp-date-ul li:not(:first-child) { border-top: none; }

.lp-date-ul li {
	color: #000;
	font-size: 0.9375rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	padding: 0.5em 0.5em;
	margin: 0;
	width: 50%;
	position: relative;
}

.lp-date-ul li:not(:last-child),
.lp-date-ul li:not(:nth-last-child(2)):not(:nth-child(odd)) { border-bottom: 1px solid #fff; }

.lp-date-ul > li br { display: inline; }

.lp-date-ul li:nth-child(odd) { border-right: 1px solid #fff }

.lp-date-ul .weekday {
	display: inline-block;
	margin: 0 -0.3em;
}

.lp-date-ul .date-reserve {
	color: #fff;
	font-size: 0.75em;
	padding: 0.2em 0.4em;
	background: #f00;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
}

.full-seat.date-reserve {
	color: #f00;
	background: #fff;
	border: 1px solid;
}

.full-seat.date-reserve::before { content: '★'; }

.canceled-seat.date-reserve {
	background: #666;
}


@media screen and ( min-width: 760px ) {

	.setimg-tit .lphead-date {
		margin-right: calc( 50% - 50vw );
		margin-left: calc( 50% - 50vw );
		position: static;
		width: auto;
	}

	.lphead-date {
		padding: 16px 5%;
		border: none;
		background: rgba(34, 107, 180, 0.9);
	}

	.lp-date-ul {
		max-width: 1080px;
		margin: 0 auto;
		gap: 1.5em 2%;
	}

	.lp-date-ul li {
		width: 32%;
		border-radius: 0;
	}

	.lp-date-ul li:not(:last-child),
	.lp-date-ul li:not(:nth-last-child(2)):not(:nth-child(odd)),
	.lp-date-ul li:nth-child(odd) { border: none; }
}

@media screen and ( min-width: 960px ) {

	.lp-date-ul li {
		font-size: 1.25rem;
		width: 23.5%;
	}

	.lp-date-ul .date-reserve { font-size: 0.625em; }
}


/** ----------------------------------------------------------
 * コンテンツ共通
---------------------------------------------------------- **/

.lpsec-contents.contents > h2.has-background { line-height: 1.4; }

@media screen and ( min-width: 1144px ) {

	.lpsec-contents.contents > h2.has-background {
		font-size: 2em;
	}
}

/*========================================================
 セクション帯内
 ========================================================*/

/**
	セミナープログラムのご紹介
----------------------------------------------------- **/

.checklist-css > li::after {
	border-color: var(--wp--preset--color--theme-magenta);
}


/* プログラムフロー */

.program-flow.flow > * {
	position: relative;
	margin: 0;
	max-width: none;
}

.program-flow.flow > *:not(:first-child) {
	margin-top: 64px;
}

.program-flow.flow > *:not(:first-child)::before {
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	border-top-color: var(--key-main-color);
}


/**
	セミナー開催概要
----------------------------------------------------- **/

.added-section { margin-top: 40px; }

.semi-outlinesec > h3 {
	color: var(--wp--preset--color--theme-navy);
	background: var(--wp--preset--color--theme-light-navy);
	padding: 0.2em 0.5em;
}

.semi-outlinesec > .onde-title {
	color: #fff;
	background: #0552c0;
}

.semi-outlinetb th,
.semi-outlinetb td { border-color: #ccc; }

.semi-outlinetb th {
	background: var(--wp--preset--color--theme-light-navy);
}

.contents .semi-outlinetb p { margin: 0; }

.semiSche {
	display: inline-block;
}

.place-box { margin-bottom: 1em; }

.acf-map {
	width: 100%;
	height: 240px;
	border: 1px solid #eee;
	margin: 8px 0px;
}

@media screen and ( min-width: 641px ) {

	.semi-outlinetb .place-box {
		display: -ms-flexbox;
		display: flex;
		width: 100%;
	}

	.semi-outlinetb .place-box img {
		max-width: none;
		width: auto;
		height: 240px;
		object-fit: cover;
	}

	.semi-outlinetb .place-box .semiplace-ph {
		max-width: 40%;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		margin: 0 2em 0 0;
	}

	.semi-outlinetb .place-box .acf-map {
		margin: 0;
	}
}

/* 申込みフォーム
----------------------------- */

.lpsec-contents .form-box {
	padding: 0;
	background: none;
}

.lpsec-contents .btn-line {
	text-align: center;
	position: relative;
}

/* FAX申込み
----------------------------- */

.semifax-section > h2 { font-size: 1.375em; }

.semi-faxbox {
	background: #fff;
	padding: 8px;
}

.semi-faxwrap > *:not(:first-child) { margin-top: 0.5rem; }

.fax-iconwrap > a,
.fax-iconwrap > a span { display: block; }

.fax-iconwrap > a {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

.fax-iconwrap a .faxTxt {
	text-indent: -1.3em;
	padding-left: 1.5em;
}

.fax-icon {
	width: 3em;
	text-align: center;
}

.fa-file-pdf {
	color: var(--wp--preset--color--theme-brown);
	height: 2.5em;
}

.fax-numbox {
	text-align: center;
	text-indent: 0;
	line-height: 1.3;
	margin: 0;
	background: #fff;
	padding: 8px 8px;
}

p.fax-number {
	font-size:1.5rem;
	font-weight: bold;
	line-height: 1.2;
	margin: 0;
}

.fax-number .sp-block {
	font-size: 0.875rem;
	font-weight: normal;
}

@media screen and ( min-width: 641px ) {

	.semifax-section > h2 { font-size: 1.5em; }

	.semi-faxbox { padding: 16px; }

	.semi-faxwrap {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.semi-faxwrap > *:not(:first-child) { margin-top: 0; }

	.fax-numbox {
		-ms-flex: 1;
		flex: 1;
		margin: 0 0 0 1.5em;
	}
}
