@charset "UTF-8";

.pageArea {
	margin: 90px auto 100px;
	max-width: 1140px;
	padding: 0 20px;
	font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt";
}
@media screen and (max-width: 750px){
	.pageArea {
		margin: 18vw 5.3vw 15vw;
		padding: 0;
	}
}

.lead {
	margin-bottom: 36px;
	text-align: center;
}
@media screen and (max-width: 750px){
	.lead {
		margin-bottom: 9.4vw;
	}
}

.number {
	text-align: center;
}

.applyBtn {
	margin: 100px 0;
	text-align: center;
}
.number + .applyBtn {
	margin-top: 40px;
}
.applyBtn a {
	position: relative;
	margin: 5px 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 700px;
	height: 100px;
	border-radius: 50px;
	background: linear-gradient(to right, #e60012 0%, #ff007e 100%);
	box-shadow: 7px 7px rgba(230,0,18,0.2);
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	font-style: italic;
}
.applyBtn a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 40px;
	width: 14px;
	height: 14px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform-origin: right top;
	transform: rotate(45deg);
}
.applyBtn a.disabled {
	background: #999;
	box-shadow: none;
	cursor: default;
}
.applyBtn a.disabled:hover {
	opacity: 1;
}
@media screen and (max-width: 750px){
	.applyBtn {
		margin: 12vw 0 16vw;
	}
	.number + .applyBtn {
		margin-top: 12vw;
	}
	.applyBtn a {
		height: 18vw;
		box-shadow: 1.2vw 1.2vw rgba(230,0,18,0.2);
		padding-right: 2vw;
		font-size: 5.2vw;
	}
	.applyBtn a::after {
		right: 7vw;
		width: 2.6vw;
		height: 2.6vw;
	}
}

.infoTable .row {
	display: flex;
}
.infoTable .row + .row {
	margin-top: 20px;
}
.infoTable .title {
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(to right, #ebf7fd 0%, #eeeef6 100%);
	width: 27.5%;
	color: #222389;
	font-size: 20px;
	font-weight: bold;
}
.infoTable .body {
	padding: 10px 30px;
}
.toggleArea .infoTable {
	margin: 15px 0 25px;
}
.toggleArea .infoTable .title {
	background: linear-gradient(to right, #ddf3fd 0%, #e0eaf6 100%);
	width: 18%;
	font-size: 16px;
}
.toggleArea .infoTable .body {
	padding: 6px 0 6px 40px;
}
@media screen and (max-width: 750px){
	.infoTable .row {
		flex-direction: column;
	}
	.infoTable .row + .row {
		margin-top: 5vw;
	}
	.infoTable .title {
		width: 100%;
		height: 11.5vw;
		font-size: 4.3vw;
	}
	.infoTable .body {
		padding: 4vw 0;
	}
	.toggleArea .infoTable {
		margin: 5vw 0;
	}
	.toggleArea .infoTable .title {
		width: 100%;
		font-size: 4.3vw;
	}
	.toggleArea .infoTable .body {
		padding: 3vw 0;
	}
}

.itemList {
	display: flex;
	gap: 30px;
}
.itemList li {
	text-align: center;
}
.itemList .name {
	margin: 8px 0 3px;
	font-size: 16px;
	font-weight: bold;
}
.itemList p {
	font-size: 12px;
	line-height: 1.7;
}
.itemList p span {
	display: inline-block;
	margin-right: 10px;
	border: 1px solid #222;
	padding: 0 2px;
	line-height: 1.4;
}
@media screen and (max-width: 750px){
	.itemList {
		flex-direction: column;
		gap: 5vw;
	}
	.itemList li {
		width: 90%;
		margin: 0 auto;
	}
}

.period {
	padding: 2px 10px;
	color: #029ee1;
	font-size: 21px;
	font-weight: bold;
}
.period strong {
	font-size: 30px;
}
@media screen and (max-width: 750px){
	.period {
		padding: 0;
		text-align: center;
		font-size: 3.73vw;
	}
	.period strong {
		font-size: 5.33vw;
	}
}

.toggleArea {
	position: relative;
	background-color: #f0faff;
}
.toggleArea::before,
.toggleArea::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(to right, #029ee1 0%, #222389 100%);
}
.toggleArea::before {
	top: 0;
}
.toggleArea::after {
	bottom: -3px;
}
.toggleTitle {
	position: relative;
	padding: 28px 0 25px;
	text-align: center;
	color: #222389;
	font-size: 30px;
	font-weight: bold;
}
.toggleTitle::before,
.toggleTitle::after {
	content: '';
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 24px;
	height: 2px;
	background-color: #029ee1;
	margin: auto 0;
}
.toggleTitle::after {
	transform: rotate(90deg);
}
.is-open .toggleTitle::after {
	display: none;
}
.toggleBody {
	display: none;
	padding: 0 50px 50px;
	font-size: 16px;
}
.toggleBody h3 {
	margin: 15px 0 10px;
	color: #029ee1;
	font-size: 20px;
	font-weight: bold;
}
.toggleBody h3:first-child {
	margin-top: 0;
}
.toggleBody h4 {
	margin: 10px 0;
	color: #222389;
	font-weight: bold;
}
.toggleBody .list li {
	position: relative;
	padding-left: 10px;
}
.toggleBody .list li::before {
	content: '';
	position: absolute;
	top: 10px;
	left: 1px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #029ee1;
}
.toggleBody .list li + li {
	margin-top: 4px;
}
.toggleBody .peirod dt {
	float: left;
	margin-right: 1em;
	color: #222389;
	font-weight: bold;
}
.toggleBody .peirod dd {
	margin-bottom: 4px;
	overflow: hidden;
}
.toggleBody .note {
	margin-top: 4px;
	font-size: 12px;
}
.toggleBody .note li {
	padding-left: 1.4em;
	text-indent: -1.4em;
}
.toggleBody .step > li {
	position: relative;
	padding-left: 70px;
}
.toggleBody .step > li > span {
	position: absolute;
	top: 0;
	left: 0;
	color: #029ee1;
	font-weight: bold;
}
.toggleBody .qa > li {
	padding-left: 35px;
}
.toggleBody .qa > li + li {
	margin-top: 20px;
}
.toggleBody .question {
	margin: 0 0 10px;
	text-indent: -35px;
	color: #029ee1;
	font-size: 20px;
	font-weight: bold;
}
.toggleBody .contactArea {
	max-width: 600px;
	margin: 0 auto;
}
.toggleBody .contact {
	text-align: center;
	border-bottom: 1px solid #e5e5e5;
	padding-bottom: 20px;
	margin-bottom: 25px;
	color: #029ee1;
	font-size: 20px;
	font-weight: bold;
}
.toggleBody .contact a {
	font-size: 42px;
}
.toggleBody .contactInfo {
	margin-top: 8px;
}
.toggleBody .contactInfo dt {
	float: left;
	color: #029ee1;
	font-weight: bold;
}
.toggleBody .contactInfo dd {
	margin-bottom: 5px;
	overflow: hidden;
}
@media screen and (max-width: 750px){
	.toggleTitle {
		padding: 7vw 0 6.7vw;
		font-size: 5.3vw;
	}
	.toggleTitle::before,
	.toggleTitle::after {
		right: 5.3vw;
		width: 4.27vw;
		height: 0.5vw;
	}
	.toggleBody {
		padding: 0 5.3vw 5.3vw;
		font-size: 3.73vw;
	}
	.toggleBody h3 {
		margin: 5.3vw 0 3.3vw;
		font-size: 4.27vw;
	}
	.toggleBody h4 {
		margin: 2vw 0;
	}
	.toggleBody .list li {
		padding-left: 2.5vw;
	}
	.toggleBody .list li::before {
		top: 2.2vw;
		left: 0;
		width: 1vw;
		height: 1vw;
	}
	.toggleBody .list li + li {
		margin-top: 0.5vw;
	}
	.toggleBody .peirod dd {
		margin-bottom: 0.5vw;
	}
	.toggleBody .note {
		margin-top: 0.5vw;
		font-size: 2.67vw;
	}
	.toggleBody .step > li {
		padding-left: 15vw;
	}
	.toggleBody .qa > li {
		padding-left: 7vw;
	}
	.toggleBody .qa > li + li {
		margin-top: 4vw;
	}
	.toggleBody .question {
		margin: 0 0 2vw;
		text-indent: -7vw;
		font-size: 4.27vw;
	}
	.toggleBody .contact {
		padding-bottom: 3.3vw;
		margin-bottom: 4vw;
		font-size: 4.27vw;
	}
	.toggleBody .contact a {
		font-size: 7.47vw;
	}
	.toggleBody .contactInfo {
		margin-top: 3vw;
	}
	.toggleBody .contactInfo dd {
		margin-bottom: 2vw;
	}
}

.m_modal.apply .p_window {
	max-width: 520px;
	padding: 45px 50px 60px;
}
.m_modal.apply h2 {
	margin-bottom: 22px;
	text-align: center;
	color: #029ee1;
	font-size: 20px;
	font-weight: bold;
}
@media screen and (max-width: 750px){
	.m_modal.apply .p_window {
		padding: 9.3vw 5.3vw 8vw;
	}
	.m_modal.apply h2 {
		margin-bottom: 6.7vw;
		font-size: 4.27vw;
	}
}

.applyList {
	border-top: 1px solid #e5e5e5;
}
.applyList li {
	border-bottom: 1px solid #e5e5e5;
}
.applyList a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 20px 0;
	font-size: 16px;
	font-weight: bold;
}
.applyList a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	width: 11px;
	height: 11px;
	border-top: 2px solid #e60012;
	border-right: 2px solid #e60012;
	transform-origin: right top;
	transform: rotate(45deg);
}
.applyList img {
	width: 140px;
	flex-shrink: 0;
}
@media screen and (max-width: 750px){
	.applyList a {
		gap: 3.5vw;
		padding: 4vw 0;
		font-size: 3.73vw;
	}
	.applyList a::after {
		right: 1.6vw;
		width: 2.6vw;
		height: 2.6vw;
	}
	.applyList img {
		width: 27.6vw;
	}
}
