@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-PSP */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}

/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	width: 98%;
	max-width: 114rem;
	margin: 0 auto;
	padding: 0 2rem;
}
.contentBig {
	max-width: 150rem;
	padding: 0;
	width: 100%;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.content {
		padding: 0 1.5rem;
		width: auto !important;
	}
	.contentBig {
		padding: 0 2rem;
	}
}


/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 9.5rem;
	text-align: center;
	font-size: 2rem;
	color: #0975AA;
	letter-spacing: 0.04em;
	font-weight: 300;
}
.headLine01 .en {
	display: block;
	font-size: 8.6rem;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 3.8rem;
		font-size: 1.5rem;
	}
	.headLine01 .en {
		font-size: 4rem;
		margin-bottom: -0.3rem;
		letter-spacing: -0.02em;
	}
}

/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: min(5.5vw,5.4rem);
	font-size: 5.5rem;
	letter-spacing: 0.1em;
	color: #0975AA;
	line-height: 1.05;
	font-weight: 300;
	font-feature-settings: "palt";
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 1.6rem;
		font-size: 3rem;
		line-height: 1.06;
	}
	
}

/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 3rem;
	font-size: 3.6rem;
	letter-spacing: min(0.8vw,0.22em);
	color: #0975AA;
	font-weight: 600;
	position: relative;
	line-height: 1.22;
}
.headLine03 .subSpan:after {
	width: 1.4rem;  
	height: 1.4rem;
	background-color: #0975AA;
	position: absolute;  
	top: 1.8rem;
	left: 0;
	content: ""; 
	opacity: 0;
	transition: .4s;
}
.headLine03 .subSpan.isShow:after {
	opacity: 1;
}
.headLine03 .subSpan {
	padding-left: 3rem;
	display: inline-block;
	position: relative;
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 1rem;
		font-size: 2.4rem;
		line-height: 1.375;
		letter-spacing: 0.22em;
	}
	.headLine03 .subSpan {
		padding-left: 1.5rem;
	}
	.headLine03 .subSpan::after {
		width: 0.9rem;
		height: 0.9rem;
		top: 1.3rem;
	}

}

/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 1.5rem;
	font-size: 8.6rem;
	line-height: 1;
	font-weight: 300;
	color: #0975AA;
	text-align: center;
	letter-spacing: -0.02em;
	font-feature-settings: "palt";
}

@media all and (max-width: 896px) {
	.headLine04{
		margin: 0 -2rem 0.5rem;
		font-size: 4rem;
		transform-origin: center center;
	}
}

/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/
.headLine05 {
	margin-bottom: 4rem;
	text-align: center;
	font-size: 4rem;
	font-weight: 300;
	color: #0975AA;
	line-height: 1;
	position: relative;
	border-bottom: 1px solid #0975AA;
}
.headLine05:after {
	width: 7px;  
	height: 7px;
	background-color: #0975AA;
	position: absolute;  
	bottom: -4px;
	right: 0;  
	content: ""; 
}
.headLine05::before {
	width: 7px;  
	height: 7px;
	background-color: #0975AA;
	position: absolute;  
	bottom: -4px;
	left: 0;
	content: ""; 
}

@media all and (max-width: 896px) {
	.headLine05 {
		margin: 0 0.5rem 1.5rem;
		font-size: 2.3rem;
	}
	.headLine05::before {
		width: 5px;
		height: 5px;
		bottom: -3px;
	}
	.headLine05::after {
		width: 5px;
		height: 5px;
		bottom: -3px;
	}
}

/*------------------------------------------------------------
	headLine06
------------------------------------------------------------*/
.headLine06 {
	margin-bottom: 2rem;
	padding: 1.3rem 1.7rem 1.2rem;
	font-size: 3rem;
	color: #0975AA;
	/* letter-spacing: 0.08em; */
	line-height: 1.2;
	background-color: #EEF3F6;
	font-weight: 600;
	font-feature-settings: "palt";
	font-family: "Noto Serif JP", serif;
}
.headLine06.h4Ttl {
	line-height: 1.2;
	padding-top: 1.3rem;
	padding-bottom: 1.3rem;
}
.headLine06.sml {
	padding: 0.3rem 2.1rem 0.4rem;
	font-size: 2.6rem;
}
@media all and (max-width: 896px) {
	.headLine06 {
		margin-bottom: 1.1rem;
		padding: 0.8rem 1.0rem;
		font-size: 1.8rem;
		line-height: 1.28;
	}
	.headLine06.sml {
		padding: 0.6rem 1.1rem 0.5rem;
		font-size: 1.4rem;
		line-height: 1.3;
	}
}

/*------------------------------------------------------------
	headLine07
------------------------------------------------------------*/
.headLine07 {
	padding: 1rem;
	font-size: 3.2rem;
	color: #0975AA;
	text-align: center;
	font-weight: 300;
	margin-bottom: 6rem;
	border: 1px solid #0975AA;
	font-feature-settings: "palt";
}

@media all and (max-width: 896px) {
	.headLine07 {
		margin-bottom: 2rem;
		padding: 0.5rem;
		font-size: 1.8rem;
	}
}

/*------------------------------------------------------------
	headLine08
--------------	----------------------------------------------*/
.headLine08 {
	font-size: min(3.43vw,4.4rem);
	font-weight: 600;
	color: #0975B9;
	letter-spacing: 0.05em;
	line-height: 1.91;
	font-feature-settings: "palt";
	width: min(11.7vw,15rem);
	height: min(58.6vw,75rem);
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.headLine08 .txtSpan {
	display: inline-block;
	text-orientation: upright;
}
.headLine08 .subLine {
	letter-spacing: -5px;
	display: inline-block;
}

@media all and (max-width: 896px) {
	.headLine08 {
		font-size: 2.5rem;
		letter-spacing: 0.05em;
		line-height: 1.6;
		width: 9rem;
		height: 42rem;
		position: relative;
		z-index: 2;
	}
}

/*------------------------------------------------------------
	headLine09
------------------------------------------------------------*/
.headLine09 {
	margin-bottom: 4rem;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	font-size: 3rem;
	letter-spacing: 0.08em;
	color: #0975AA;
	background-color: #EEF3F6;
	font-feature-settings: "palt";
}
.headLine09 .lSpan {
	padding: 1rem 0.5rem 0.8rem;
	width: 19rem;
	color: #fff;
	font-size: 2.8rem;
	letter-spacing: 0.04em;
	text-align: center;
	background-color: #0975AA;
}
.headLine09 .lSpan span {
	display: block;
	transform: scaleX(1.3);
}
.headLine09 .rSpan {
	padding: 0.5rem 2rem;
	flex: 1;
	display: flex;
	align-items: center;
}

@media all and (max-width: 896px) {
	.headLine09 {
		margin-bottom: 1.5rem;
		font-size: 1.8rem;
		line-height: 1.2;
		letter-spacing: 0.06em;
	}
	.headLine09 .lSpan {
		padding: 1.2rem 0.5rem 1rem;
		width: 7.5rem;
		font-size: 1.5rem;
		line-height: 1.1;
	}
	.headLine09 .rSpan {
		padding: 0.5rem 1rem;
	}
	.headLine09 .rSpan02 {
		letter-spacing: 0;
	}
}

/*------------------------------------------------------------
	mainVisual
------------------------------------------------------------*/
#main .mainVisual {
	margin-bottom: min(6.25vw,8rem);
	position: relative;
}
#main .mainVisual .content {
	padding-top: 4.1rem;
	max-width: 116rem;
	display: flex;
	position: relative;
	justify-content: space-between;
}
#main .mainVisual .photoBox {
	aspect-ratio: 1600 / 876;
	width: 71.4%;
	order: 2;
	position: relative;
	margin-left: max(-64vw,-81.5rem);
}
#main .mainVisual .photoBox .txtSpan {
	width: min(18.9vw,24.2rem);
	position: absolute;
	top: max(-4.3vw,-5.5rem);
	right: max(-3.4vw,-4.4rem);
	z-index: 1;
}
#main .mainVisual .textBox {
	flex: 1;
	position: relative;
	z-index: 1;
	margin-left: max(-1vw,-1.3rem);
	padding-top: min(12.11vw,15.5rem);
}
#main .mainVisual .prev {
	position: absolute;
	top: calc(50% - min(5.3vw,6.7rem));
	left: 2rem;
	transform: translateY(-50%);
	z-index: 10;
}
#main .mainVisual .next {
	position: absolute;
	top: calc(50% - min(4.4vw,5.7rem));
	right: 2rem;
	transform: translateY(-50%);
	z-index: 10;
}
#main .mainVisual .iconBox {
	position: absolute;
	bottom: max(-0.5rem);
	right: 3.7rem;
	z-index: 10;
}
#main .mainVisual .iconBox li {
	margin-bottom: 1.5rem;
}
#main .mainVisual .iconBox a {
	width: 6px;
	display: block;
	height: 6px;
	background-color: #0975AA;
	border-radius: 100%;
}
#main .mainVisual .iconBox .on a {
	background-color: #FFB1BD;
}
#main .mainVisual .iconBox a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
	#main .mainVisual .next:hover,
	#main .mainVisual .prev:hover {
		opacity: 0.7;
	}
	#main .mainVisual {
		max-width: 150rem;
		margin: 0 auto min(4.7vw,6rem);
	}
	#main .sec02 .imgBox .textBox {
		margin-right: max(-3.125vw,-4rem);
	}
}

@media all and (max-width: 896px) {
	#main .mainVisual .content {
		padding: 3rem 3rem 0 0;
		display: block;
	}
	#main .mainVisual .photoBox {
		width: auto;
		margin: 0 0 -12.8rem 6rem;
	}
	#main .mainVisual .photoBox .txtSpan {
		width: 9.7rem;
		top: -3rem;
		right: -1.5rem;
	}
	#main .mainVisual .photoBox img {
		width: 100%;
	}
	#main .mainVisual .textBox {
		margin: 0 -3rem 0 0;
	}
	#main .mainVisual .textBox img {
		width: 100%;
	}
	#main .mainVisual .prev {
		top: 29vw;
		left: 0.5rem;
		width: 2.1rem;
	}
	#main .mainVisual .next {
		top: 29vw;
		right: 0.5rem;
		width: 2.1rem;
	}
	#main .mainVisual .iconBox {
		bottom: 3.1rem;
		right: 1.3rem;
	}
	#main .mainVisual .iconBox li {
		margin-bottom: 1rem;
	}
	#main .mainVisual .iconBox a {
		width: 5px;
		height: 5px;
	}
	#main .mainVisual {
		margin-bottom: 2.6rem;
	}
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .mainVisual {
		padding-top: 1.8rem;
	}
	#main .mainVisual .content {
		padding: 0 4.8rem;
	}
}

/*------------------------------------------------------------
	comGreyBox
------------------------------------------------------------*/
#main .comGreyBox {
	position: relative;
	z-index: 1;
	padding: min(4.3vw,5.5rem) 0 min(4.8vw,6.2rem);
	background-color: #F2F2F2;
}
#main .comGreyBox .content {
	max-width: 112rem;
}
#main .comGreyBox h2 {
	font-weight: 300;
	color: #0975AA;
	letter-spacing: 0.2em;
	margin-bottom: min(2.1vw,2.7rem);
	position: relative;
	padding-left: min(1.56vw,2rem);
	font-size: min(1.4vw,1.8rem);
}
#main .comGreyBox h2:after {
	width: min(0.78vw,1rem);  
	height: min(0.78vw,1rem);
	background-color: #FFB1BD;
	position: absolute;  
	top: min(0.5vw,0.9rem);
	left: 0;
	content: ""; 
}
#main .connectionList {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 3rem;
}
#main .connectionList li {
	width: calc((100% - 6.1rem) / 3);
}
#main .connectionList a {
	min-height: min(7.1vw,9rem);
	display: flex;
	align-items: stretch;
	font-weight: 400;
	justify-content: space-between;
	background: url(../img/common/icon04.webp) no-repeat right min(1.2vw,1.5rem) center #fff;
	background-size: min(2.7vw,3.4rem) auto;
	outline: 1px solid #0975AA;
	font-feature-settings: "palt";
	font-family: "Noto Serif JP", serif;
}
#main .connectionList a:hover {
	opacity: 0.7;
}
#main .connectionList .connectionPhoto {
	width: min(7vw,9rem);
}
#main .connectionList .connectionPhoto img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}
#main .connectionList .textBox {
	flex: 1;
	padding: 0.5rem min(4.3vw,5.5rem) 0.5rem min(1.2vw,1.5rem);
	display: flex;
	align-items: center;
}
#main .connectionList a:has(.connectionPhoto) .textBox {
	padding-top: 1rem;
}
#main .connectionList .textBox p {
	font-size: min(1.5vw,1.9rem);
	color: #0975AA;
	line-height: 1.09;
}
#main .connectionList .textBox p small {
	font-size: min(1.41vw,1.8rem);
	display: block;
	letter-spacing: -0.02em;
}
@media all and (min-width: 897px) {
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .comGreyBox .content {
		width: 89%;
	}
	#main .connectionList {
		gap: 1rem 2.1rem;
	}
	#main .connectionList li {
		width: calc((100% - 4.3rem) / 3);
	}
}

@media all and (max-width: 896px) {
	#main .comGreyBox .content {
		padding: 0.6rem 3rem 1rem;
	}
	#main .comGreyBox h2 {
		margin-bottom: 1.2rem;
		padding-left: 1.3rem;
		font-size: 1.4rem;
	}
	#main .comGreyBox h2::after {
		width: 0.7rem;
		height: 0.7rem;
		top: 0.7rem;
	}
	#main .connectionList {
		display: block;
	}
	#main .connectionList li {
		width: auto;
		margin-bottom: 1.5rem;
	}
	#main .connectionList li:last-child {
		margin-bottom: 0;
	}
	#main .connectionList .connectionPhoto {
		width: 7.5rem;
	}
	#main .connectionList .connectionPhoto img {
		aspect-ratio: 150 / 120;
	}
	#main .connectionList .textBox {
		padding: 1rem 4rem 1rem 1rem;
	}
	#main .connectionList .textBox p {
		font-size: 1.6rem;
	}
	#main .connectionList .textBox p small {
		font-size: 1.4rem;
	}
	#main .connectionList a {
		min-height: 6rem;
		background-size: 3rem auto;
		background-position: right 1.2rem center;
	}
}

/*------------------------------------------------------------
	galleryBox
------------------------------------------------------------*/
#main .galleryBox {
	padding: min(4.5vw,5.8rem) 0 0;
}
#main .galleryBox h2 {
	width: min(59vw,75.8rem);
	margin-bottom: min(3.75vw,4.8rem);
}
#main .galleryList{
	padding: 0 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 2rem min(4.14vw,5.3rem);
}
#main .galleryList li { 
	width: calc((100% - min(8.35vw,10.7rem)) / 3);
}
#main .galleryList a {
	display: block; 
}
#main .galleryList a:hover {
	opacity: 0.7;
}
#main .galleryList p {
	font-size: min(1.64vw,2.1rem);
	color: #FF7DAF;
	line-height: 1.36;
	margin-top: max(-2.3vw,-3rem);
	font-feature-settings: "palt";
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
#main .galleryList p .en {
	font-weight: 600;
	letter-spacing: 0.02em;
}
#main .galleryList p .en .subSpan {
	display: block;
	margin-left: min(5.86vw,7.5rem);
}
#main .galleryList p:has(.en) {
	margin-top: 0;
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .galleryBox .content {
		width: 91%;
	}
	#main .galleryBox h2 {
		margin-left: 0.5rem;
	}
}

@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .galleryBox {
		padding: 2.1rem 0 0;
	}
	#main .galleryBox h2 {
		margin: 0 0.4rem 2.2rem;
		width: 26.2rem;
	}
	#main .galleryList {
		padding: 0;
		gap: 1.3rem 1.6rem;
	}
	#main .galleryList li {
		width: calc((100% - 1.6rem) / 2);
	}
	#main .galleryList p {
		margin-top: -1.5rem;
		font-size: 1.1rem;
		margin-right: -1rem;
		line-height: 1.33;
	}
	#main .galleryList p .en .subSpan {
		margin-left: 4rem;
	}
}

/*------------------------------------------------------------
	mainImg
------------------------------------------------------------*/
#main .mainImg {
	margin-bottom: 9rem;
	height: 49rem;
	color: #fff;
	overflow: hidden;
	background: url(../img/field/main_img.webp) no-repeat center;
	background-size: cover;
	font-feature-settings: "palt";
}
#main .mainImg h2 {
	margin: -0.8rem max(-8.6vw,-10rem) min(6.8vw,8.7rem);
	font-size: min(2.8vw,3.6rem);
	--color: #fff;
	width: fit-content;
	text-align: right;
}
#main .mainImg h2 .txtSpan {
	text-align: left;
	display: block;
	font-size: min(8.8vw,11.3rem);
	line-height: 1;
	font-weight: 300;
	margin-bottom: 0.5rem;
}
#main .mainImg h2 img {
	width: 42.9rem;
}
#main .mainImg p {
	margin: 0 -3rem;
	line-height: 2;
	font-size: min(1.56vw,2rem);
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
#main .mainImg .en {
	font-family: "miller-headline", serif;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .mainImg {
		margin-bottom: 2.8rem;
		height: auto;
		min-height: 26rem;
	}
	#main .mainImg h2 {
		margin: -0.3rem -1.8rem 1.5rem;
		font-size: 1.5rem;
	}
	#main .mainImg h2 .txtSpan {
		font-size: 5.65rem;
		margin-bottom: 0;
	}
	#main .mainImg p {
		margin: 0 1rem;
		 font-size: 1.15rem;
		 line-height: 1.9;
		 /* letter-spacing: -0.05em; */
	}
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .mainImg {
		display: flex;
		align-items: center;
	}
	#main .mainImg .content {
		width: 89%;
	}
	#main .mainImg h2 {
		margin-left: max(-8.2vw,-10rem);
	}
}

/*------------------------------------------------------------
	comLinkUl
------------------------------------------------------------*/
.comLinkUl {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem min(4.4vw,4.7rem);
}
.comLinkUl li {
	width: calc((100% - min(4.4vw,4.7rem)) / 2);
}
.comLinkUl a {
	padding: 1rem 2rem;
	display: flex;
	align-items: center;
	min-height: min(9vw,9rem);
	font-size: min(2.3vw,2.4rem);
	color: #0975AA;
	letter-spacing: 0.02em;
	font-weight: 600;
	background: #DAEAF2 url(../img/common/icon02.webp) no-repeat right 2rem center;
	background-size: 3.7rem auto;
	font-family: "Noto Serif JP", serif;
}
.comLinkUl a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.comLinkUl {
		gap: 1.3rem 2rem;
	}
	.comLinkUl li {
		width: calc((100% - 2rem) / 2);
	}
	.comLinkUl a {
		padding: 0.5rem 3rem 0.5rem 1rem;
		min-height: 5rem;
		font-size: 1.3rem;
		line-height: 1.31;
		background-position: right 1rem center;
		background-size: 2rem auto;
	}
}

/*------------------------------------------------------------
	comBorderBox
------------------------------------------------------------*/
#main .comBorderBox {
	margin-bottom: 4rem;
	padding: 3.3rem 3.5rem 3rem;
	border: 1px solid #0975AA;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .comBorderBox {
		margin-bottom: 1.9rem;
		padding: 1rem 1.5rem 1.2rem;
	}
}

/*------------------------------------------------------------
	comTextList
------------------------------------------------------------*/
#main .comTextList li {
	font-size: 1.6rem;
	line-height: 1.875;
	display: flex;
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
#main .comTextList li .ico {
	flex-shrink: 0;
	color: #0975AA;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .comTextList li{
		font-size: 1.2rem;
		line-height: 1.67;
	}
}

/*------------------------------------------------------------
	mainImg02
------------------------------------------------------------*/
.mainImg02 {
	margin-bottom: 5.5rem;
	display: flex;
	align-items: center;
	min-height: 40rem;
	padding: 1rem 0;
	background: url(../img/field1/main_img.webp) no-repeat center;
	background-size: cover;
}
.mainImg02 .subBox {
	width: 100%;
}
.mainImg02 h2 {
	margin-bottom: 4.5rem;
	padding-top: 2.5rem;
	font-size: 9rem;
	letter-spacing: -0.05em;
	color: #fff;
	font-weight: 300;
	line-height: 1.02;
	text-align: center;
	font-feature-settings: "palt";
}
.mainImg02 .list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	justify-content: center;
}
.mainImg02 .list li {
	font-size: 2.4rem;
	font-weight: 400;
	color: #4D4D4D;
	letter-spacing: 0.025em;
	min-height: 5rem;
	background-color: #fff;
	border: 1px solid #808080;
	width: 20rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	font-family: "Noto Serif JP", serif;
}
.mainImg02 .list li:after {
	height: 6px;
	background-color: #F5AA5F;
	position: absolute;  
	bottom: 0;
	right: 1rem;
	left: 1rem;  
	content: ""; 
}
.mainImg02 .list .liStyle:after {
	background-color: #90BEE9;
}
.mainImg02 .list .liStyle02:after {
	background-color: #A5DC8C;
}
.mainImg02 .list .liStyle03:after {
	background-color: #FFB1BD;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.mainImg02 {
		margin-bottom: 2rem;
		padding-bottom: 1rem;
		min-height: 21rem;
		background-image: url(../img/field1/main_img_sp.webp);
	}
	.mainImg02 h2 {
		margin-bottom: 1.4rem;
		font-size: 5.7rem;
		padding-top: 0;
	}
	.mainImg02 .list {
		gap: 1rem 1rem;
	}
	.mainImg02 .list li {
		width: 11rem;
		min-height: 2.75rem;
		font-size: 1.32rem;
	}
	.mainImg02 .list li::after {
		height: 3px;
	}
}

/*------------------------------------------------------------
	comTtlBox
------------------------------------------------------------*/
#main .comTtlBox {
	margin-bottom: 4.3rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#main .comTtlBox dl {
	margin-right: 3rem;
	width: fit-content;
	border: 1px solid #0975AA;
	display: flex;
	justify-content: space-between;
}
#main .comTtlBox dt {
	width: 12rem;
	text-align: center;
	font-size: 2.4rem;
	padding: 0.4rem 0.2rem;
	color: #0975AA;
}
#main .comTtlBox dd {
	padding-top: 0.3rem;
	flex: 1;
	font-size: 2.5rem;
	min-width: 4rem;
	text-align: center;
	color: #fff;
	background-color: #FFB1BD;
}
#main .comTtlBox h3 {
	font-size: min(5.4vw,6rem);
	flex: 1;
	color: #0975AA;
	font-weight: 300;
	line-height: 1.07;
	letter-spacing: -0.02em;
	font-feature-settings: "palt";
}
#main .comTable + .tableSmall {
	margin-top: -6.5rem;
}
#main .tableSmall {
	margin-bottom: 8rem;
	font-size: 1.6rem;
	line-height: 1.75;
	font-feature-settings: normal;
	font-feature-settings: "palt";
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .comTtlBox {
		display: block;
		margin-bottom: 2rem;
	}
	#main .comTtlBox dl {
		margin: 0 0 1rem;
	}
	#main .comTtlBox dt {
		padding-top: 0;
		padding-bottom: 0;
		width: 9rem;
		font-size: 1.95rem;
	}
	#main .comTtlBox dd{
		padding-top: 0;
		min-width: 2.9rem;
		font-size: 1.9rem;
	}
	#main .comTtlBox h3 {
		font-size: 3.2rem;
	}
	#main .tableSmall {
		margin-bottom: 2.4rem;
		font-size: 1rem;
		line-height: 1.6;
	}
	#main .comTable + .tableSmall {
		margin-top: -2.2rem;
	}
}


/*------------------------------------------------------------
	comTabUlBox
------------------------------------------------------------*/
#main .comTabUlBox {
	padding: 0;
	margin: 0 auto 8rem;
	max-width: 116rem;
	border-bottom: 1px solid #0975AA;
}
#main .tabUl {
	display: flex;
	justify-content: center;
}
#main .tabUl li {
	width: min(50vw,46rem);
}
#main .tabUl .on a {
	color: #fff;
	background-color: #0975AA;
}
#main .tabUl a {
	min-height: 5.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 2.6rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: #0975AA;
	background-color: #DAEAF2;
	position: relative;
	font-family: "Noto Serif JP", serif;
}
#main .tabUl a:hover {
	opacity: 0.7;
}
#main .tabUl .on a::after {
	content: ' ';
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 16px solid #0975AA;
	position: absolute;
	bottom: -16px;
	left: 50%;
	transform: translateX(-50%);
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .comTabUlBox {
		padding: 0;
		margin-bottom: 3.5rem;
		border: none;
	}
	#main .tabUl li {
		width: 50%;
	}
	#main .tabUl a {
		padding-top: 0.3rem;
		min-height: 3.5rem;
		font-size: 1.3rem;
	}
	#main .tabUl .on a::after {
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		border-top: 8px solid #0975AA;
		bottom: -8px;
	}
}



/*------------------------------------------------------------
	comTable
------------------------------------------------------------*/
#main .comTable {
	margin-bottom: 7.5rem;
	width: 100%;
	border-collapse: collapse;
	font-feature-settings: "palt";
}
#main .comTable th {
	padding: 1.3rem 0.5rem;
	width: 18%;
	text-align: center;
	vertical-align: middle;
	font-size: 1.8rem;
	color: #0975AA;
	font-weight: 600;
	background-color: #E4EBF0;
	border-bottom: 1px dotted #808080;
}
#main .comTable td {
	padding: 1.3rem 0 1.3rem min(2.3vw,3rem);
	text-align: left;
	vertical-align: middle;
	font-size: 1.6rem;
	line-height: 1.75;
	border-bottom: 1px dotted #808080;
}
#main .comTable td .txtSpan {
	display: block;
	margin-bottom: 2.8rem;
}
#main .comTable td .blueSpan {
	color: #0975aa;
	font-weight: 600;
}
#main .comTable td .txtSpan:last-child {
	margin-bottom: 0;
}
#main .comTable tr:last-child td,
#main .comTable tr:last-child th {
	border: none;
}
#main .comTable td .dotList li {
    padding-left: 1.25em;
    text-indent: -1.25em;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .comTable th {
		line-height: 1.08;
		width: 20%;
		padding: 0.7rem 0.1rem;
		font-size: 1.2rem;
	}
	#main .comTable td {
		padding: 0.7rem 0 0.7rem 1rem;
		font-size: 1.1rem;
		line-height: 1.54;
	}
	#main .comTable td .txtSpan {
		margin-bottom: 1.6rem;
	}
	#main .comTable {
		margin-bottom: 3rem;
	}
	#main .comTable td .txtSpan02 {
		display: flex;
		text-indent: 0;
		padding-left: 0;
		margin-left: -1em;
	}
	#main .comTable td .txtSpan02 span {
		flex-shrink: 0;
	}
}


/*------------------------------------------------------------
	comStep
------------------------------------------------------------*/
.headLine05 + .comStep {
	margin-top: 7rem;
}
#main .comStep {
	margin-bottom: 6.5rem;
	padding: 4rem;
	min-height: 13rem;
	position: relative;
	background-color: #F0F6F6;
}
#main .comStep:last-child {
	margin-bottom: 0;
}
#main .comStep h4 {
	font-size: 2.6rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: #0975AA;
	position: absolute;
	top: -2.2rem;
	left: 0;
	width: 100%;
	text-align: center;
}
#main .comStepUl li {
	margin-bottom: 4.5rem;
	padding: 1.7rem 10rem 1.7rem 2.7rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 10.5rem;
	justify-content: space-between;
	background-color: #fff;
	position: relative;
}
#main .comStepUl li:after {
	width: 7.2rem;  
	height: 2.3rem;
	background: url(../img/common/arrow.webp) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	bottom: -3.3rem;
	left: 50%;
	transform: translateX(-50%);
	content: ""; 
}
#main .comStepUl li:last-child::after {
	display: none;
}
#main .comStepUl li:last-child {
	margin-bottom: 0;
}
#main .comStepUl li .lBox {
	width: 17.4rem;
	padding-right: 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#main .comStepUl li .lBox .txtSpan {
	font-size: 1.6rem;
	color: #0975AA;
	flex: 1;
	font-weight: 600;
	font-family: "miller-headline", serif;
}
#main .comStepUl li .lBox .img {
	width: 9rem;
	text-align: center;
	margin-left: 1rem;
}
#main .comStepUl li .rBox {
	flex: 1;
	padding-left: 0.9rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#main .comStepUl li .rBox p {
	font-size: 1.6rem;
	flex: 1;
	line-height: 1.75;
	font-feature-settings: normal;
}
#main .comStepUl li .rBox p .roboto {
	font-size: 2rem;
	font-weight: 400;
}
#main .comStepUl li .rBox p strong {
	font-weight: 700;
}
#main .comStepUl li .rBox .ttlSpan {
	font-weight: 600;
	width: 21rem;
	padding-right: 1rem;
	color: #0975AA;
	letter-spacing: 0.06em;
}
#main .comStep .centerTxt {
	text-align: center;
	font-size: 1.6rem;
	padding-top: 1rem;
	font-feature-settings: normal;
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .comStepUl li {
		min-height: 10rem;
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
		padding-right: 3rem;
	}
}

@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.headLine05 + .comStep {
		margin-top: 3.2rem !important; 
	}
	#main .comStep {
		min-height: 5rem;
		padding: 1.5rem 1.5rem 1.7rem;
		margin: 0 -1.5rem 3.7rem;
	}
	#main .comStep h4 {
		font-size: 1.7rem;
		top: -1.6rem;
	}
	#main .comStepUl li {
		margin-bottom: 3.1rem;
		padding: 1.2rem 1.3rem;
		min-height: inherit;
	}
	#main .comStepUl li .lBox {
		width: 10.7rem;
	}
	#main .comStepUl li .lBox .img {
		width: 5.1rem;
		margin-left: 0rem;
	}
	#main .comStepUl li .lBox .txtSpan {
		font-size: 1.2rem;
	}
	#main .comStepUl li .rBox {
		display: block;
		padding-left: 0.0rem;
	}
	#main .comStepUl li .rBox .ttlSpan {
		font-size: 1.5rem;
		margin-bottom: 0.3rem;
		display: block;
		width: auto;
		padding: 0;
	}
	#main .comStepUl li .rBox p {
		font-size: 1.1rem;
		line-height: 1.545;
	}
	#main .comStepUl li::after {
		width: 5.0rem;
		bottom: -3.1rem;
	}
	#main .comStep .centerTxt {
		font-size: 1.1rem;
		padding-top: 0.3rem;
	}
	#main .comStepUl li .rBox p .roboto {
		font-size: 1.2rem;
	}
}


/*------------------------------------------------------------
	comGraduates
------------------------------------------------------------*/
#main .comGraduates .graduatesTtl {
	text-align: center;
	font-size: 2rem;
	color: #0975AA;
	letter-spacing: 0.2em;
	font-weight: 600;
	padding-top: 1rem;
	margin-bottom: 2.5rem;
}
#main .comLinkList {
	margin-bottom: 4rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem 4rem;
}
#main .comLinkList:last-child {
	margin-bottom: 0;
}
#main .comLinkList li {
	width: 30rem;
}
#main .comLinkList a {
	padding: 0.5rem 1.5rem;
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.22;
	color: #fff;
	min-height: 7.5rem;
	background : url(../img/common/icon03.webp) no-repeat right 1.3rem center,linear-gradient(90deg, rgba(60, 160, 220, 1) 0%, rgba(9, 117, 170, 1) 100%);
	background-size: 3rem auto,auto;
}
#main .comLinkList a:hover {
	opacity: 0.7;
}
#main .comLinkList .liStyle a {
	border: 3px solid #379CD7;
	color: #3CA0DC;
	background: url(../img/common/icon04.webp) no-repeat right 1.3rem center;
	background-size: 3rem auto;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .comStep + .comGraduates {
		margin-top: -1.8rem;
	}
	#main .comGraduates .graduatesTtl {
		padding-top: 0;
		margin-bottom: 0.7rem;
		font-size: 1.3rem;
	}
	#main .comLinkList {
		gap: 1rem 1.6rem;
	}
	#main .comLinkList li {
		width: calc((100% - 1.6rem) / 2);
	}
	#main .comLinkList a {
		min-height: 5rem;
		font-size: 1rem;
		line-height: 1.22;
		padding: 0.5rem 0.8rem;
		background: url(../img/common/icon03.webp) no-repeat right 0.8rem center,linear-gradient(90deg, rgba(60, 160, 220, 1) 0%, rgba(9, 117, 170, 1) 100%);
		background-size: 1.8rem auto,auto;
	}
	#main .comLinkList .liStyle a {
		border-width: 2px;
		background-position: right 0.5rem center;
		background-size: 1.8rem auto;
	}
}


/*------------------------------------------------------------
	comFaqSec
------------------------------------------------------------*/
#main .comFaqSec .headLine05 {
	margin-bottom: 6rem;
}
#main .comFaqUl {
	max-width: 96rem;
	margin: 0 auto;
}
#main .comFaqUl > li {
	padding: 4.1rem 0 4.2rem;
	border-bottom: 1px solid #E6E6E6;
	position: relative;
}
#main .comFaqUl dt::before,
#main .comFaqUl dt::after {
	content: "";
	width: 30px;
	height: 1px;
	background-color: #0975AA;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	transition: 0.3s;
}
#main .comFaqUl dt::after {
	transform: rotate(90deg);
}
#main .comFaqUl dt.on::after {
	transform: rotate(180deg);
}
#main .comFaqUl dt {
	cursor: pointer;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.33;
	color: #0975AA;
	position: relative;
	padding: 0.6rem 5rem 1rem 8rem;
	background: url(../img/common/qa_txt.webp) no-repeat left center;
	background-size: 4.6rem auto;
	font-family: "Noto Serif JP", serif;
}
#main .comFaqUl dd {
	display: none;
	margin: 1.2rem 5rem 0 8rem;
	line-height: 2;
	font-size: min(1.78vw,1.8rem);
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-feature-settings: normal;
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
}
#main .comFaqUl dd .blueLink {
	color: #0975aa;
	font-weight: 600;
	text-decoration: underline;
}
#main .comFaqUl > li.on {
	border-color: #0975AA;
}
#main .comFaqUl dd .sub p:not(:last-child) {
    margin-bottom: 1em;
}

@media all and (min-width: 897px) {
	#main .comFaqUl dd .blueLink:hover {
		text-decoration: none;
	}
}


@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .comFaqUl dd {
		line-height: 1.75;
	}
}

@media all and (max-width: 896px) {
	#main .comFaqSec {
		padding-top: 1rem;
	}
	#main .comFaqSec .headLine05 {
		margin-bottom: 1rem;
	}
	#main .comFaqUl > li {
		padding: 2.8rem 0 1.8rem 0;
		min-height: 8rem;
		/* display: flex;
		align-items: center; */
	}
	#main .comFaqUl dl {
		width: 100%;
	}
	#main .comFaqUl dt {
		font-size: 1.5rem;
		letter-spacing: 0.04em;
		line-height: 1.33;
		padding: 0.2rem 3rem 0.2rem 3.2rem;
		background-size: 1.8rem auto;
		background-position: left center;
	}
	#main .comFaqUl dd {
		font-size: 1.1rem;
		margin: 0.7rem 4rem 0 3.2rem;
		line-height: 1.545;
		font-feature-settings: "palt";
	}
	#main .comFaqUl dt::before, #main .comFaqUl dt::after {
		width: 2rem;
		right: 0;
	}
	
}



/*------------------------------------------------------------
	internshipList
------------------------------------------------------------*/
#main .internshipList{
	margin-bottom: 4.6rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem 4rem;
}
#main .internshipList li {
	width: 30rem;
	text-align: center;
}
#main .internshipList li .ttl {
	margin-bottom: 1.4rem;
	font-size: 2rem;
	color: #0975AA;
	letter-spacing: 0.08em;
	line-height: 1.1;
}
#main .internshipList .link a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 7.5rem;
	font-size: 2rem;
	flex-direction: column;
	color: #fff;
	line-height: 1.1;
	background-color: #0975AA;
	font-weight: 600;
}
#main .internshipList .link a:hover {
	opacity: 0.7;
}
#main .internshipList .link02 a {
	color: #0975AA;
	background-color: #FFB1BD;
}
#main .internshipList .link a span {
	display: block;
	font-size: 2.25rem;
	flex-basis: 100%;
	font-weight: 400;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .internshipList {
		margin-bottom: 2.5rem;
		gap: 1rem 1.5rem;
	}
	#main .internshipList li{
		width: calc((100% - 1.5rem) / 2);
	}
	#main .internshipList li .ttl {
		font-size: 1.25rem;
		line-height: 1.2;
		margin: 0 -1rem 1rem;
	}
	#main .internshipList .link a{
		min-height: 5rem;
		font-size: 1.3rem;
	}
	#main .internshipList .link a span {
		font-size: 1.4rem;
	}
}


/*------------------------------------------------------------
	comContactBox
------------------------------------------------------------*/
#main .comContactBox {
	padding: 3.5rem 2rem 5rem;
	max-width: 96rem;
	text-align: center;
	margin: 10rem auto 0;
	border: 1px solid #0975AA;
}
#main .comContactBox p {
	line-height: 2;
	margin-bottom: 2.7rem;
	font-feature-settings: normal;
}
#main .comContactBox .contactTtl {
	margin-bottom: 0;
	font-size: 2.8rem;
	font-weight: 600;
	color: #0975AA;
}
#main .emailLink a {
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 50rem;
	min-height: 8rem;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: #fff;
	background-color: #50C8FF;
}
#main .emailLink a span {
	padding: 0.2rem 0 0.2rem 6rem;
	display: inline-block;
	background: url(../img/common/email.webp) no-repeat left center;
	background-size: 4.2rem auto;
}
#main .emailLink a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .comContactBox {
		padding: 2rem 2rem 2.5rem;
		margin: 2.7rem 1rem 0;
	}
	#main .comContactBox p {
		margin-bottom: 1.7rem;
		line-height: 1.545;
		font-size: 1.1rem;
	}
	#main .comContactBox .contactTtl {
		font-size: 1.6rem;
		margin-bottom: 0.5rem;
	}
	#main .emailLink a {
		width: auto;
		max-width: 28rem;
		font-size: 1.16rem;
		min-height: 5rem;
	}
	#main .emailLink a span {
		padding-left: 3.5rem;
		background-size: 2.5rem auto;
	}
}

/*------------------------------------------------------------
    comPdf
------------------------------------------------------------*/
#main .comPdf {
    font-weight: 700;
    color: #0975AA;
}
#main .comPdf::before {
    margin-right: 0.3rem;
    padding: 0 0.5rem;
    display: inline-block;
    text-align: center;
    color: #FF3C50;
    font-size: 1.3rem;
    vertical-align: 0.1rem;
    line-height: 1;
    white-space: nowrap;
    border: 1px solid #FF3C50;
    content: 'PDF';
}
@media all and (min-width: 897px) {
	#main .comPdf:hover {
		text-decoration: underline;
	}
}

@media all and (max-width: 896px) {
	#main .comPdf::before {
		font-size: 0.8rem;
		padding-left: 0.2rem;
		padding-right: 0.2rem;
		vertical-align: 0.15em;
	}
}



/*------------------------------------------------------------
	compBox
------------------------------------------------------------*/
#main .compBox p {
	font-size: 2.8rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	color: #FF7DAF;
	line-height: 2.46;
	width: fit-content;
	margin: 0 auto;
	/* padding-left: min(11vw,14rem); */
	box-sizing: content-box;
	font-feature-settings: "palt";
	font-family: "Noto Serif JP", serif;
}
#main .compBox p .subLine {
	letter-spacing: 0;
}
@media all and (min-width: 897px) {
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .compBox p {
		padding-left: 0 !important;
	}
}

@media all and (max-width: 896px) {
	#main .compBox p {
		font-size: 1.6rem;
		line-height: 2.25;
		padding-left: 0.5rem;
		margin: 0 -2rem 0 0;
		letter-spacing: 0.2em;
	}
}


/*------------------------------------------------------------
	comTopics
------------------------------------------------------------*/
#main .comTopics {
	margin: 0 auto 8rem;
	width: 79rem;
	padding: 3.9rem 3.9rem;
	position: relative;
	border: 0.1rem solid #999;
	font-feature-settings: "palt";
}
#main .comTopics .titleImg {
	width: 18.5rem;
	position: absolute;
	left: -0.5rem;
	top: -1rem;
	z-index: 1;
}
#main .comTopics p {
	margin-bottom: 2.2rem;
	line-height: 2;
	letter-spacing: 0.05em;
}
#main .comTopics .ttl {
	margin-bottom: 0.1rem;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0;
}
#main .comTopics table {
	width: 100%;
	border-collapse: collapse;
}
#main .comTopics th,
#main .comTopics td {
	padding: 2.3rem 0 1.9rem;
	height: 10rem;
	box-sizing: border-box;
	vertical-align: middle;
	text-align: left;
	border-bottom: 0.1rem dashed #808080;
}
#main .comTopics th {
	width: 10rem;
	text-align: center;
	font-weight: 700;
	line-height: 1.45;
	color: #333;
	background: #F2F2F2;
}
#main .comTopics td {
	padding: 0.8rem 0 0.7rem 2rem;
	font-size: 1.6rem;
	line-height: 1.75;
}
#main .comTopics tr:last-child th,
#main .comTopics tr:last-child td {
	border-bottom: none;
}
#main .comTopics td sup {
	font-size: 60%;
	vertical-align: 0.5em;
}
@media all and (max-width: 896px) {
	#main .comTopics {
		margin: 0 1.5rem 2.9rem;
		width: auto;
		padding: 2.4rem 1.4rem 1.5rem;
	}
	#main .comTopics .titleImg {
		width: 9.2rem;
		left: -0.3rem;
		top: -0.6rem;
	}
	#main .comTopics p {
		margin-bottom: 1.2rem;
		font-size: 1.2rem;
		line-height: 1.75;
	}
	#main .comTopics .ttl {
		margin-bottom: 0.4rem;
		font-size: 1.7rem;
		line-height: 1.15;
	}
	#main .comTopics th,
	#main .comTopics td {
		padding: 1.3rem 0.5rem 1.2rem;
		height: auto;
	}
	#main .comTopics th {
		width: 19%;
	}
	#main .comTopics td {
		padding: 0.4rem 0 0.4rem 1rem;
		font-size: 1.1rem;
		line-height: 1.6;
		letter-spacing: 0.02em;
	}
	#main .comTopics td sup {
		font-size: inherit;
		vertical-align: 0;
	}
}



/*------------------------------------------------------------
	comTable02
------------------------------------------------------------*/
#main .comTable02 {
	margin-bottom: 2.4rem;
	font-feature-settings: "palt";
}
#main .comTable02 table {
	width: 100%;
	border-collapse: collapse;
}
#main .comTable02 th,
#main .comTable02 td {
	padding: 0.9rem 1.5rem 0.8rem;
	height: 6.4rem;
	vertical-align: middle;
	text-align: justify;
	font-weight: 400;
	box-sizing: border-box;
	border-top: 0.1rem dashed #808080;
}
#main .comTable02 tr:first-child th,
#main .comTable02 tr:first-child td {
	border-top: none;
}
#main .comTable02 th {
	padding: 0.5rem;
	width: 5.45%;
	color: #0975AA;
	font-weight: 700;
	text-align: center;
	background: #E4EBF0;
}
#main .comTable02 th .vrl {
	display: inline-block;
	writing-mode: vertical-rl;
	white-space: nowrap;
	text-orientation: upright;
}
#main .comTable02 td:not(:last-child) {
	border-right: 0.1rem solid #ccc;
}
#main .comTable02 td:last-child {
	padding-right: 0;
	padding-left: 2rem;
}
#main .comTable02 td {
	font-size: 1.6rem;
	line-height: 1.75;
}
#main .comTable02 thead th {
	padding: 1.2rem 1rem 1rem;
	width: auto;
	height: 8rem;
	letter-spacing: 0.02em;
	background: #EEF3F6;
}
#main .comTable02 thead th:not(:last-child) {
	border-right: 0.1rem solid #ccc;
}
#main .comTable02 thead th,
#main .comTable02 thead td {
	border-bottom: 0.1rem dashed #808080;
}
#main .comTable02 .wid02 {
	width: 33.2%;
}
#main .comTable02 .wid03 {
	width: 42.7%;
}
#main .comTable02 .tdCenter {
	padding-left: 0;
	padding-right: 0;
	text-align: center;
	font-weight: 700;
	line-height: 1.2;
}
#main .comTable02 td .dotList li {
	padding-left: 1.25em;
	text-indent: -1.25em;
}
#main .comTable02 .blueLink {
	margin-left: 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	padding: 0.4rem 4rem 0.4rem 1rem;
	background: #0975AA url(../img/common/icon10.webp) no-repeat right 1rem center;
	background-size: 2.5rem auto;
}
#main .comTable02 .blueLink:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#main .comTable02 {
		margin: 0 -1.5rem 1.2rem 0;
		overflow-x: auto;
	}
	#main .comTable02 table {
		margin-right: 1.5rem;
		min-width: 47.5rem;
	}
	#main .comTable02 th,
	#main .comTable02 td {
		padding: 0.7rem 1rem;
		height: auto;
	}
	#main .comTable02 th {
		padding: 0.3rem;
		width: 6.4%;
		min-width: 3rem;
	}
	#main .comTable02 td:last-child {
		padding-right: 0;
		padding-left: 1rem;
	}
	#main .comTable02 td {
		font-size: 1.1rem;
		line-height: 1.545;
	}
	#main .comTable02 thead th {
		padding: 0.5rem;
		width: auto;
		height: 3rem;
	}
	#main .comTable02 .wid02 {
		width: 33.3%;
	}
	#main .comTable02 .wid03 {
		width: 37%;
	}
	#main .comTable02 .tdCenter {
		padding: 1rem 0;
	}
	#main .comTable02 .blueLink {
		display: flex;
		max-width: 11rem;
		margin: 0.2rem auto 0;
		font-size: 1.1rem;
		padding: 0.2rem 2.2rem 0.2rem 0.5rem;
		background-size: 1.5rem auto;
		background-position: right 0.5rem bottom 0.6rem;
	}
}


/*------------------------------------------------------------
	comTxtBox
------------------------------------------------------------*/
#main .comTxtBox .comTextList {
	margin-bottom: 7rem;
}
#main .comTxtBox .comTextList li {
	gap: 0.2rem;
	font-size: 2.2rem;
	line-height: 1.818;
	font-family: "Noto Sans JP", sans-serif;
}
#main .comTxtBox p {
	font-size: 2.2rem;
	line-height: 1.818;
}
#main .comTxtBox .comPdf::before {
	margin-right: 0.8rem;
	vertical-align: 0.2rem;
	font-size: 1.56rem;
}
@media all and (max-width: 896px) {
	#main .comTxtBox .comTextList {
		margin-bottom: 1.8rem;
	}
	#main .comTxtBox .comTextList li {
		font-size: 1.4rem;
		line-height: 1.714;
	}
	#main .comTxtBox p {
		font-size: 1.4rem;
		line-height: 1.714;
	}
	#main .comTxtBox .comPdf::before {
		margin-right: 0.7em;
		padding: 1px 0.3rem 0;
		height: 1.4rem;
		box-sizing: border-box;
		vertical-align: 0;
		font-size: 1.1rem;
	}
}

/*------------------------------------------------------------
	tabUl02
------------------------------------------------------------*/
#main .tabUl02 {
	margin-bottom: min(17.6vw,22.5rem);
	display: flex;
}
#main .tabUl02 li {
	width: 50%;
}
#main .tabUl02 a {
	color: #fff;
	font-size: min(2.5vw,3.2rem);
	letter-spacing: 0.05em;
	min-height: min(9.4vw,12rem);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: url(../img/common/icon03.webp) no-repeat right min(3.75vw,4.8rem) center #000;
	background-size: min(3.125vw,4rem) auto;
}
#main .tabUl02 a:hover {
	opacity: 0.7;
}
#main .tabUl02 a .line {
	opacity: 0;
	position: absolute;
	background-color: #fff;
	bottom: -2px;
	width: min(1.4vw,1.8rem);
	height: 4px;
	z-index: 1;
	left: calc(50% + min(0.7vw,0.9rem));
	transform: translateX(-50%);
}
#main .tabUl02 .txtSpan {
	transform: scaleX(1.2);
	display: inline-block;
}
#main .tabUl02 a:after {
	opacity: 0;
	left: min(2.3vw,3rem);
	right: min(2.3vw,3rem);
	height: 2px;
	background-color: #000000;
	position: absolute;  
	bottom: 0;
	content: ""; 
}
#main .tabUl02 .on a:after {
	opacity: 1;
}
#main .tabUl02 a::before {
	opacity: 0;
	width: min(15px);  
	height: min(42px);
	background: url(../img/challenge/arrow.webp) no-repeat;
	background-size: 100% 100%;
	position: absolute;  
	bottom: max(-42px);
	z-index: 2;
	left: calc(50% + min(2.6rem));
	transform: translateX(-50%);
	content: ""; 
}
#main .tabUl02 .on a::before {
	opacity: 1;
}
#main .tabUl02 .on a {
	color: #000000;
	background-color: #fff;
}
#main .tabUl02 .on .line {
	opacity: 1;
}
@media all and (min-width: 897px) {
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .tabUl02 a::before {
		height: min(27px);
		bottom: -27px;
		width: 10px;
		left: calc(50% + min(1.9rem));
	}
}

@media all and (max-width: 896px) {
	#main .tabUl02 a::after {
		height: 1px;
		left: 1rem;
		right: 1rem; 
	}
	#main .tabUl02 a .line {
		width: 1rem;
		left: calc(50% + 0.4rem);
	}
	#main .tabUl02 {
		margin-bottom: 10.9rem;
	}
	#main .tabUl02 a::before {
		width: 1.0rem;
		height: 2.5rem;
		bottom: -2.5rem;
		left: calc(50% + 1.4rem);
	}
}

/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink a {
	padding: 1rem 5.5rem 1rem 2.2rem;
	display: flex;
	align-items: center;
	min-height: 10.6rem;
	font-size: min(2.1vw,2.4rem);
	color: #0975AA;
	line-height: 1.33;
	font-feature-settings: "palt";
	border: 1px solid #0975AA;
	background: url(../img/common/icon02.webp) no-repeat right 1.3rem center;
	background-size: 3.5rem auto;
}
.comLink a:hover {
	opacity: 0.7;
}
.comLink.blue a{
	min-height: 7rem;
	font-size: 2.2rem;
	border-color: transparent;
	color: #0975AA;
	background-color: #E6F1F6;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.comLink a {
		padding: 1rem 5rem 1rem 1.4rem;
		min-height: 6rem;
		font-size: 1.6rem;
		line-height: 1.19;
		letter-spacing: 0;
		font-feature-settings: normal;
		background-size: 3rem auto;
	}
	.comLink.blue a {
		min-height: 4.2rem;
		font-size: 1.4rem;
		padding-left: 1rem;
		padding-right: 3rem;
		background-position: right 1rem center;
		background-size: 2.0rem auto;
	}
}

/*------------------------------------------------------------
	comLink02
------------------------------------------------------------*/
.comLink02 {
	max-width: 22rem;
}
.comLink02 a {
	padding: 0.2rem 1.5rem;
	display: flex;
	align-items: center;
	min-height: 3.5rem;
	color: #fff;
	font-weight: 600;
	line-height: 1.33;
	font-feature-settings: "palt";
	background: linear-gradient(90deg, rgba(60, 160, 220, 1) 0%, rgba(9, 117, 170, 1) 100%);
}
.comLink02 a:hover {
	opacity: 0.7;
}
.comLink02 a span {
	padding-right: 4.5rem;
	background: url(../img/common/icon10.webp) no-repeat right center/3.6rem auto;
	display: block;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.comLink02 {
		width: 15rem;
	}
	.comLink02 a {
		padding: 0.2rem 0.8rem;
		min-height: 3rem;
		font-size: 1.3rem;
		letter-spacing: 0;
	}
	.comLink02 a span {
		padding-right: 3rem;
		background-size: 2.3rem auto;
	}
}

/*------------------------------------------------------------
	headLine10
------------------------------------------------------------*/
.headLine10 {
	margin: 0 0 0;
	color: #0975AA;
	font-weight: 300;
	line-height: 1;
	font-feature-settings: "palt";
}
.headLine10 .subSpan {
	margin: 0 0 0.2rem -0;
	font-size: min(6.25vw,8rem);
	display: block;
	transform: scaleX(1.1);
	transform-origin: left top;
}
.headLine10 .txtSpan {
	font-size: min(1.96vw,2.5rem);
	letter-spacing: 0.04em;
	display: inline;
	color: #fff;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	background-color: #0975AA;
	line-height: 1.78;
	padding: 0.2rem 1rem 0.5rem;
	box-sizing: border-box;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.headLine10 .subSpan {
		margin-left: 0;
		margin-bottom: -0.3rem;
		font-size: 4.4rem;
		line-height: 1;
	}
	.headLine10 .txtSpan {
		padding: 0.1rem 0.5rem 0.2rem;
		font-size: 1.7rem;
		line-height: 1.59;
	}
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	.headLine10 .subSpan {
		margin-left: 0;
	}
}

/*------------------------------------------------------------
	comGrowthUl
------------------------------------------------------------*/
#main .comGrowthUl {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem 2.5rem;
}
#main .comGrowthUl li {
	padding: 3rem 3rem 2rem;
	width: calc((100% - 5.1rem) / 3);
	border: 1px solid #0975AA;
	background-color: #fff;
}
#main .comGrowthUl li p {
	line-height: 2;
	font-feature-settings: "palt";
}
#main .comGrowthUl li .ttl {
	margin-bottom: 1rem;
	text-align: center;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.23;
	color: #0975AA;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .comGrowthUl li .img {
	width: 11rem;
	margin: 0 auto 1.5rem;
	min-height: 9rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .comGrowthUl li .link {
	margin-top: 1rem;
}
#main .comGrowthUl li .link a {
	display: flex;
	align-items: center;
	min-height: 5rem;
	font-size: 2rem;
	letter-spacing: 0.03em;
	color: #0975AA;
	font-feature-settings: "palt";
	background: #DAEAF2 url(../img/common/icon02.webp) no-repeat right 1.5rem center;
	padding: 0 1.6rem;
	background-size: 3.5rem auto;
}
#main .comGrowthUl li .link a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .comGrowthUl {
		display: block;
	}
	#main .comGrowthUl li {
		padding: 1.7rem 2rem 1.5rem;
		margin-bottom: 1.4rem;
		width: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#main .comGrowthUl li:last-child {
		margin-bottom: 0;
	}
	#main .comGrowthUl li .img {
		margin: 0 1.8rem 0 0;
		width: 6.6rem;
	}
	#main .comGrowthUl li .textBox {
		flex: 1;
	}
	#main .comGrowthUl li p {
		line-height: 1.75;
	}
	#main .comGrowthUl li .ttl {
		margin-right: -1rem;
		margin-bottom: 0.7rem;
		font-size: 1.8rem;
		line-height: 1.28;
		display: block;
		height: auto !important;
		text-align: left;
	}
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .comGrowthUl {
		margin: 0 2.3rem;
	}
	#main .comGrowthUl li {
		width: calc((100% - 2.5rem) / 2);
	}
}

/*------------------------------------------------------------
	growthBox
------------------------------------------------------------*/

#main .growthBox {
	width: min(22.82vw,29.2rem);
	position: absolute;
	top: min(4.9vw,6.2rem);
	right: max(-2.5vw,-3.2rem);
	padding: min(1.1vw,1.3rem) min(2.4vw,3rem) 0;
	border: 1px solid #fff;
}
#main .growthBox:after {
	width: 100%;  
	height: 100%;
	background-color: rgba(9, 117, 170, 0.8);
	mix-blend-mode: multiply;
	position: absolute;  
	top: 0;
	left: 0;
	content: "";
}
#main .growthBox .sub {
	position: relative;
	z-index: 1;
}
#main .growthBox .ttl {
	margin: 0;
	font-size: min(1.4vw,1.8rem);
	text-align: center;
	letter-spacing: 0;
	color: #fff;
	padding-bottom: min(0.71vw,0.9rem);
	border-bottom: 1px solid #fff;
}
#main .growthBox .linkUl li {
	border-bottom: 1px solid #fff;
}
#main .growthBox .linkUl a {
	min-height: min(6.25vw,8rem);
	padding: min(1.2vw,1.5rem) 0;
	display: flex;
	align-items: center;
	font-size: min(1.5vw,2rem);
	line-height: 1.2;
	color: #fff;
	padding-left: min(2.4vw,3rem);
	background: url(../img/common/icon09.webp) no-repeat left center;
	background-size: min(1.41vw,1.8rem) auto;
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
#main .growthBox .linkUl li:last-child {
	border: none;
}
#main .growthBox .linkUl a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	
	#main .growthBox {
		padding: 1.5rem 2rem 0;
		position: static;
		margin: 0 2.6rem 1.7rem;
		width: auto;
		background-color: #0975AA;
	}
	#main .growthBox::after { 
		display: none;
	}
	#main .mainImg h2 {
		margin-bottom: 4rem;
	}
	#main .growthBox .ttl {
		padding-bottom: 1rem;
		font-size: 1.3rem;
	}
	#main .growthBox .linkUl a {
		padding: 1.5rem 0 1.6rem;
		min-height: inherit;
		font-size: 1.5rem;
		padding-left: 2rem;
		background-size: 1.3rem auto;
	}
}

/*------------------------------------------------------------
	comTextBox
------------------------------------------------------------*/

#main .comTextBox {
	padding: min(3.125vw,4rem) min(7.8vw,10rem) 0 min(5.1vw,6.5rem);
	margin: 0 0 min(3.5vw,4.4rem) min(2.8vw,3.5rem);
	border-left: 1px solid #0975AA;
}
#main .comTextBox p {
	font-size: 2.2rem;
	letter-spacing: 0.04em;
	line-height: 1.82;
	font-feature-settings: "palt";
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .comTextBox {
		margin-bottom: 2.5rem;
		padding: 1.2rem 0 1.7rem 1.5rem;
		margin-left: 0.7rem;
	}
	#main .comTextBox p {
		font-size: 1.4rem;
		line-height: 1.714;
	}
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .comTextBox {
		margin-bottom: min(7vw,4.4rem);
	}
}

/*------------------------------------------------------------
	headLine11
------------------------------------------------------------*/
.headLine11 {
	margin-bottom: min(2.3vw,3rem);
	font-size: min(2.3vw,3rem);
	color: #fff;
}
.headLine11 .subSpan {
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	background-color: #fff;
	line-height: 1.6;
	padding: 0.2rem 1rem 0.3rem;
	box-sizing: border-box;
	background-color: #0975AA;
	font-weight: 300;
	letter-spacing: 0.16em;
	font-feature-settings: "palt";
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.headLine11 {
		font-size: 1.75rem;
	}
	
}

/*------------------------------------------------------------
	dateUl
------------------------------------------------------------*/
#main .dateUl{
	margin-bottom: 10rem;
	padding-top: 0.9rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 3.8rem;
}
#main .dateUl li {
	padding: 3.3rem 2rem 1.9rem; 
	text-align: center;
	border: 1px solid #0975AA;
	width: calc((100% - 7.7rem) / 3);
}
#main .dateUl li p {
	color: #0975AA;
	font-feature-settings: "palt";
}
#main .dateUl li .ttl {
	margin-bottom: 1rem;
	font-size: 2.6rem;
	font-weight: 600;
}
#main .dateUl li .txt {
	margin-bottom: 0.3rem;
	font-size: 3.2rem;
	font-weight: 600;
}
#main .dateUl li .txt .num {
	font-size: 7.4rem;
	line-height: 1;
	display: inline-block;
	transform: scaleX(0.9);
	transform-origin: center;
	font-family: Arial, Helvetica, sans-serif;
}
#main .dateUl li .img {
	margin-bottom: 1.5rem;
	text-align: center;
	max-height: 12rem;
	display: flex;
	justify-content: center;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .dateUl{
		display: block;
		margin: -0.5rem 0.4rem 7.2rem;
		padding-top: 0;
	}
	#main .dateUl li{
		width: auto;
		margin-bottom: 2rem;
	}
	#main .dateUl li:last-child {
		margin-bottom: 0;
	}
	#main .dateUl li p {
		font-size: 1.75rem;
	}
}

/*------------------------------------------------------------
	headLine12
------------------------------------------------------------*/
.headLine12 {
	margin-bottom: 4rem;
	font-size: 3rem;
	font-weight: 300;
	letter-spacing: 0.08em;
	font-feature-settings: "palt";
	line-height: 1;
	padding-left: 2rem;
	border-left: 10px solid #0975AA;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.headLine12{
		margin-bottom: 1.7rem;
		padding-left: 1rem;
		font-size: 1.8rem;
		line-height: 1.28;
		border-width: 6px;
	}
}

/*------------------------------------------------------------
	dateList
------------------------------------------------------------*/
#main .dateList {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem 3.9rem;
}
#main .dateList li {
	width: calc((100% - 7.9rem) / 3);
}
#main .dateList li .sub {
	border: 1px solid #0975AA;
}
#main .dateList li .sub img {
	width: 100%;
}
#main .dateList .liStyle {
	width: calc(100% - 3.9rem - calc((100% - 7.9rem) / 3));
}
#main .dateList li .txtSpan {
	text-align: right;
	margin-top: 0.8rem;
	font-size: 1.4rem;
	color: #0975AA;
	display: block;
	font-feature-settings: "palt";
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	#main .dateList {
		margin: 0 0.5rem;
		display: block;
	}
	#main .dateList li {
		margin-bottom: 2rem;
		width: auto !important;
	}
	#main .dateList li:last-child {
		margin-bottom: 0;
	}
	#main .dateList li img {
		width: 100%;
	}
	#main .dateList li .txtSpan {
		font-size: 1.35rem;
	}
}

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .dateList {
		margin: 0 2.5rem;
	}
	#main .dateList li {
		width: calc((100% - 3.9rem) / 2);
	}
	#main .dateList .liStyle {
		width: 100%;
	}
	#main .dateList li .txtSpan {
		font-size: 1.1rem;
		margin-top: 0.3rem !important;
	}

}

/*------------------------------------------------------------
	common//
------------------------------------------------------------*/

#main .comLinkP {
	margin-top: 4.5rem;
	text-align: right;
}
#main .comLinkP a {
	color: #0975AA;
	text-align: left;
	padding: 0 4rem 0.9rem 0;
	display: inline-block;
	font-weight: 600;
	line-height: 1.33;
	background: url(../img/common/icon11.webp) no-repeat right bottom;
	background-size: auto 1.1rem;
}
#main .comLinkP a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
}

/*------------------------------------------------------------
	common//
------------------------------------------------------------*/
@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
}


/*------------------------------------------------------------
	animate
------------------------------------------------------------*/
/* fadeA */
.fadeA {
	position: relative;
	overflow: hidden;
}
.fadeA::after {
	content: "";
    display: block;
    width: 300%;
    height: 100%;
    position: absolute;
    top: 0;
    left: -200%;
    background: -webkit-linear-gradient(315deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 25%, #fff 50%, #fff 75%, #fff 100%);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 25%, #fff 50%, #fff 75%, #fff 100%);
    -webkit-transition: translate 3s ease;
    transition: translate 3s ease;
}
.isShow.fadeA::after {
	translate: 100% 0;
}
/* fadeB */
.fadeB {
	opacity: 0;
	transition: opacity .4s;
}
.isShow.fadeB {
	opacity: 1;
}
/* fadeD */
.fadeD {
	opacity: 0;
	transform: translateY(4rem);
	transition: .4s;
}
.isShow.fadeD {
	opacity: 1;
	transform: translateY(0);
}
.fadeD2 {
	opacity: 0;
	transition: translate 1.0s ease,opacity .8s ease;
	translate: 0 20px;
}
.isShow.fadeD2 {
	opacity: 1;
	translate: 0;
}
/* fadeE */
.fadeE {
	overflow: hidden;
	opacity: 0;
	transition: 1s ease-out;
}
.fadeE > img {
	width: 100%;
	display: block;
	transform: scale(1.5);
	transition: 20s ease-out;
}
.isShow.fadeE {
	opacity: 1;
}
.isShow.fadeE > img {
	transform: scale(1);
}
.fadeE2 {
	overflow: hidden;
	opacity: 0;
	transition: 0.5s ease-out;
}
.fadeE2 > img {
	width: 100%;
	display: block;
	transform: scale(1.2);
	transition: 0.8s ease-out;
}
.isShow.fadeE2 {
	opacity: 1;
}
.isShow.fadeE2 > img {
	transform: scale(1);
}
/* fadeF */
.fadeF {
	color: transparent;
	--color: #0975AA;
	background-clip: text;
	background-image: linear-gradient(90deg, var(--color) 50%, rgba(0,0,0,0) 60%);
	background-size: 250% 100%;
	background-position: 100% 0;
	transition: .8s ease-out;
}
.fadeF.isShow {
	background-position: 0 0;
}
/* fadeF2 */
.fadeF2 {
	color: #0975AA;
	filter: blur(5px);
	opacity: 0;
	transition: filter 1.2s ease,opacity .8s ease;
}
.fadeF2.isShow {
	filter: blur(0);
	opacity: 1;
}
/* fadeG */
.fadeG > .line {
	transform: translateY(100%);
	clip-path: inset(0 0 100% 0);
	transition: .5s;
	display: block;
}
.fadeG.isShow > .line {
	transform: translateY(0);
	clip-path: inset(0 0 0 0);
}

/* fadeH */
.fadeH {
	filter: blur(5px);
	opacity: 0;
	translate: -10% 0;
	transition: translate 1.6s ease,filter 1.6s ease-out,opacity .8s ease;
}
.fadeH.isShow {
	filter: blur(0);
	opacity: 1;
	translate: 0;
}

/* fade_a */
.fade_a {
	filter: blur(5px);
	opacity: 0;
	translate: 0 10%;
	transition: translate 0.8s ease,filter 0.8s ease-out,opacity .8s ease;
}
.fade_a.isShow {
	filter: blur(0);
	opacity: 1;
	translate: 0;
}

@media all and (max-width: 896px) {
	.fadeF2 {
		background-position: 0 104%;
	}
}

/* fadeA */
.fade_f {
	position: relative;
	overflow: hidden;
}
.fade_f::after {
	content: "";
    display: block;
    width: 300%;
    height: 100%;
    position: absolute;
    top: 0;
    left: -200%;
    background: -webkit-linear-gradient(315deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 25%, #fff 50%, #fff 75%, #fff 100%);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 25%, #fff 50%, #fff 75%, #fff 100%);
    -webkit-transition: translate 3s ease;
    transition: translate 3s ease;
}
.isShow.fade_f::after {
	translate: 100% 0;
}

.dely01 {
	transition-delay: 0.5s;
}
.dely02 {
	transition-delay: 1s;
}
.dely02 img {
	transition-delay: 1s;
}

.mfp-container {
	padding: 2rem 2rem;
	overflow-y: auto;
	position: fixed;
}
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.6;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
.mfp-close {
	opacity: 1;
	right: 0;
	top: -1rem !important;
	text-indent: -9999px;
	background: url(../img/challenge/close.webp) no-repeat right center !important;
	background-size: 10rem auto !important;
	font-size: 0;
}
.mfp-image-holder .mfp-content {
	max-width: 74rem;
}


@media all and (min-width: 897px) {
	.mfp-close:hover {
		opacity: 0.7;
	}
}

@media all and (max-width: 896px) {
	.mfp-container {
		padding-left: 6.3rem;
		padding-right: 6.3rem;
	}
	.mfp-close {
		top: -0.5rem !important;
		right: 0 !important;
		background-size: 8.15rem auto !important;
	}
	.comScrollPhoto  {
		padding-bottom: 2rem;
	}
	.comScrollPhotoSpan {
		display: block;
	}
	.comScrollPhoto .tabBox ::-webkit-scrollbar {
		display: none;
	}
	.comScrollPhoto .tabBox .simplebar-scrollbar::before {
		opacity: 1;
		background-color: #999;
	}
	.simplebar-scrollbar::before {
		background: #999;
		opacity: 1 !important;
	}
	.comScrollPhoto .simplebar-track.simplebar-vertical {
		top: 10px;
		bottom: 10px;
		right: 10px;
		width: 10px;
		box-sizing: border-box;
		background-color: #fff;
	}
	.comScrollPhoto .simplebar-scrollbar {
		border-radius: 50px;
	}
}