@charset "utf-8";
/* --------------------------------------------------
header
-------------------------------------------------- */
#gnav .gnav_list li.gnav_security a::before {
	background-color: #ffffff;
	height: 2px;
}
#gnav .gnav_list li.gnav_security a span::after {
	transform: scale(1, 1);
	height: 2px;
}
/* --------------------------------------------------
s_ttl
-------------------------------------------------- */
.s_ttl h2 {
	width: fit-content;
	max-width: unset;
}
/* --------------------------------------------------
contents
-------------------------------------------------- */
.main_in {
	padding-top: 50px;
}
@media screen and (min-width: 768px) {
	.main_in {
		padding-top: 100px;
	}
}
.tab-nav {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
	gap: 16px;
}
.tab-nav li {
	width: calc(50% - 5px);
	border: solid #08316D;
	border-width: 0 1px 1px 0;
	display: flex;
	align-content: center;
	align-items: stretch;
	flex-grow: 1;
}
.tab-nav li span {
	display: flex;
	justify-content: center;
	flex-grow: 1;
	align-items: center;
	transform: translate(-3px, -3px);
	padding: 15px;
	border: 1px solid #08316D;
	background: #FFF;
	color: #08316D;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: 500;
	cursor: pointer;
}
.tab-nav li.active span {
	background: #08316D;
	color: #E0CD7E;
}
@media screen and (min-width: 768px) {
	.tab-nav {
		max-width: 600px;
		margin: 0 auto 20px;
	}
	.tab-nav li {
		width: calc(50% - 8px);
	}
	.tab-nav li span {
		padding: 20px;
		font-size: 1.8rem;
		transition: .2s;
	}
	.tab-nav li:hover span {
		transform: translate(1px, 1px);
	}
}
/* cont-wrap */
.cont-wrap {
	display: none;
	padding: 60px 0;
	background: #f5f5f5;
}
@media screen and (min-width: 768px) {
	.cont-wrap {
		padding: 90px 0 120px;
	}
}
.cont-wrap.active {
	display: block;
}
.c-heading-l {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	color: #222;
	font-size: clamp(20px, 2vw, 26px);
	text-align: left;
	letter-spacing: 0.125em;
}
.c-heading .c-txt-en {
	display: block;
	margin-bottom: .5em;
	color: #08316d;
	font-size: clamp(16px, 2vw, 20px);
	text-align: center;
}
.cont-wrap .headTxt {
	font-size: clamp(15px, 2vw, 18px);
}
.cont-wrap .txt {
	margin: 1em 0;
	font-size: clamp(13px, 1.75vw, 16px);
	text-align: justify;
}
.cont-wrap .txt .txtNote {
	font-size: clamp(11px, 1.75vw, 13px);
}
.cont-wrap picture {
	display: block;
	margin: 0 auto;
	text-align: center;
}
/* ---------grid01-------- */
.grid01 {
	display: flex;
	flex-direction: column;
	margin-bottom: 3em;
}
.grid01 .child01 {
	order: 0;
}
.grid01 .child02 {
	order: 2;
}
.grid01 .child03 {
	order: 1;
	margin-bottom: 3em;
}
@media screen and (min-width: 768px) {
	.grid01 {
		display: grid;
		grid-template-columns: repeat(3, auto);
		grid-template-rows: repeat(2, auto);
		gap: 40px;
		margin-bottom: 80px;
	}
	.grid01 .child01 {
		grid-area: 1 / 1 / 2 / 2;
	}
	.grid01 .child02 {
		grid-area: 2 / 1 / 3 / 2;
		margin-top: 26px;
	}
	.grid01 .child03 {
		grid-area: 1 / 2 / 3 / 4;
		margin-bottom: 0;
	}
	.grid01 .child02 .txt {
		margin-bottom: 1.5em;
	}
}
/* ---------flex01-------- */
.flex01 {
	margin-bottom: 3em;
}
.flex01 .child01 {
	margin-bottom: 3em;
}
.flex01 .child01 .flexBox {
	display: flex;
	flex-direction: column;
}
.flex01 .child01 .flexBox p:first-child {
	order: 1;
}
.flex01 .child01 .flexBox p:last-child {
	order: 0;
	margin: 1em auto 0;
	width: 50%;
}
.flex01 .child02 p:last-child {
	max-width: 378px;
	margin: 0 auto;
}
@media screen and (min-width: 768px) {
	.flex01 {
		display: flex;
		justify-content: space-between;
	}
	.flex01 .child01 {}
	.flex01 .child01 .flexBox {
		flex-direction: unset;
	}
	.flex01 .child01 .flexBox p:first-child {
		order: 0;
	}
	.flex01 .child01 .flexBox p:last-child {
		order: 1;
		width: 100%;
		max-width: 270px;
		margin: 1em 0 1em 1em;
	}
	.flex01 .child02 {
		margin-left: 40px;
	}
}
/* ---------glid02-------- */
.grid02 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(4, 1fr);
	grid-template-columns: 1fr;
	grid-template-rows: repeat(7, auto);
	gap: 20px;
	gap: 30px;
}
.grid02 .child01 {
	grid-area: 2 / 1 / 3 / 2;
}
.grid02 .child02 {
	grid-area: 3 / 1 / 4 / 2;
}
.grid02 .child03 {
	grid-area: 4 / 1 / 5 / 2;
}
.grid02 .child04 {
	grid-area: 5 / 1 / 6 / 2;
}
.grid02 .child05 {
	grid-area: 1 / 1 / 2 / 2;
	width: 70%;
	margin: 0 auto;
}
.grid02 .child06 {
	grid-area: 6 / 1 / 7 / 2;
}
.grid02 .child07 {
	grid-area: 7 / 1 / 8 / 2;
}
.grid02 .flexBox p:last-child,
.grid02 .child06 p:last-child {
	width: fit-content;
	margin: 0 auto;
}
.grid02 .child06 p:last-child {
	width: 50%;
}
@media screen and (min-width: 480px) {
	.grid02 {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(4, auto);
	}
	.grid02 .child01 {
		grid-area: 2 / 1 / 3 / 2;
	}
	.grid02 .child02 {
		grid-area: 2 / 2 / 3 / 3;
	}
	.grid02 .child03 {
		grid-area: 3 / 1 / 4 / 2;
	}
	.grid02 .child04 {
		grid-area: 3 / 2 / 4 / 3;
	}
	.grid02 .child05 {
		grid-area: 1 / 1 / 2 / 3;
		width: 50%;
	}
	.grid02 .child06 {
		grid-area: 4 / 1 / 5 / 2;
	}
	.grid02 .child07 {
		grid-area: 4 / 2 / 5 / 3;
	}
	.grid02 .child06 p:last-child {
		width: 70%;
	}
}
@media screen and (min-width: 768px) {
	.grid02 {
		grid-template-columns: repeat(2, 1fr);
	}
	.grid02 .child01 {
		grid-area: 1 / 1 / 2 / 2;
	}
	.grid02 .child02 {
		grid-area: 2 / 1 / 3 / 2;
	}
	.grid02 .child03 {
		grid-area: 3 / 1 / 4 / 2;
	}
	.grid02 .child04 {
		grid-area: 3 / 2 / 4 / 3;
	}
	.grid02 .child05 {
		grid-area: 1 / 2 / 3 / 3;
		width: fit-content;
	}
	.grid02 .child06 {
		grid-area: 4 / 1 / 5 / 2;
	}
	.grid02 .child07 {
		grid-area: 4 / 2 / 5 / 3;
	}
	.grid02 .child06 p:last-child {
		width: 50%;
	}
}
@media screen and (min-width: 1024px) {
	.grid02 {
		grid-template-columns: 38.5% 35.5% 22%;
		grid-template-rows: auto;
		gap: 1.5em 2%;
	}
	.grid02 .child01 {
		grid-area: 1 / 1 / 2 / 2;
	}
	.grid02 .child02 {
		grid-area: 2 / 1 / 3 / 2;
	}
	.grid02 .child03 {
		grid-area: 3 / 1 / 4 / 2;
	}
	.grid02 .child04 {
		grid-area: 4 / 1 / 5 / 2;
	}
	.grid02 .child05 {
		grid-area: 1 / 2 / 5 / 3;
	}
	.grid02 .child06 {
		grid-area: 1 / 3 / 3 / 4;
	}
	.grid02 .child07 {
		grid-area: 3 / 3 / 5 / 4;
	}
	.grid02 .flexBox {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.grid02 .flexBox p.txt {
		width: calc(65% - 1.5em);
		margin-right: 1.5em;
	}
	.grid02 .flexBox p:not(.txt) {
		width: 35%;
		margin-top: 1em;
	}
	.grid02 .child01 .txt,
	.grid02 .child02 .txt,
	.grid02 .child03 .txt,
	.grid02 .child04 .txt {
		margin-bottom: 0;
	}
	.grid02 .child06 p:last-child {
		width: 37.5%;
	}
}