@charset "UTF-8";

* {
	box-sizing: border-box;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

a:hover {
	opacity: 0.7;
}



/* ========================================
  headr
======================================== */
.l-header {
	position: sticky;
	top: 0;
	z-index: 999999999;
	text-align: center;
	width: 100%;
	height: 56px;
	background-color: #fff;
	border-bottom: 2px solid #eee;
	padding: 10px 0;
}

.headerWrapper {
	margin: 0 auto;
	max-width: 1400px;
	padding: 0 20px;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;

}

.vtsLogo a {
	display: inline-block;
	width: 54px;
	height: auto;
}


.formLink {
	display: inline-block;
	text-align: center;
	background-color: #00357a;
	border-radius: 50px;
}

.formLink a {
	display: block;
	color: #fff;
	font-weight: bold;
	font-size: 1.4rem;
	padding: 4px 20px;
}

@media screen and (max-width: 768px) {

	.l-header {
		padding: 10px;
		width: 100%;
		height: 48px;
		align-items: center;
	}

	.l-header img {
		vertical-align: middle;
	}

	.headerWrapper {
		padding: 0;
	}

	.vtsLogo a {
		display: inline-block;
		width: 44px;
		height: auto;
		margin-right: 10px;
	}


	.formLink {
		display: inline-block;
		text-align: center;

	}

	.formLink a {
		display: block;
		color: #fff;
		font-weight: bold;
		font-size: 1.2rem;
		padding: 3px 16px;

	}


}


.mainVisual {
	position: relative;
	text-align: center;
	height: 604px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(../images/bg_mv_pc.webp?20241206) no-repeat center center / cover;
	/*padding: 80px 0 140px;
		margin: 0 0 50px;*/
	box-sizing: border-box;
}

.mainVisual img {
	max-width: 1000px;
}

.captionTop {
	width: 100%;
	position: absolute;
	color: #fff;
	font-size: 1.0rem;
	line-height: 1.2;
	display: flex;
	flex-flow: row;
	justify-content: space-between;
	top: 3px;
}


.captionBottom {
	width: 100%;
	position: absolute;
	color: #fff;
	font-size: 1.0rem;
	line-height: 1.2;
	display: flex;
	flex-flow: row;
	justify-content: space-between;
	bottom: 3px;
}

.captionTop p,
.captionBottom p {
	display: inline-block;
	margin: 0 3px;
}

.captionBottom p span {
	font-size: 0.8rem;

}



@media screen and (max-width: 768px) {

	.mainVisual {
		height: calc(100vh - 203px);
		background: url(../images/bg_mv_sp.webp?20241206) no-repeat center center /cover;
	}

	.mainVisual img {
		max-width: 100%;
	}


}


.leadArea {
	padding: 45px 10px 10px;
	background-color: #00357a;
	height: 110px;
}

.leadTxt01 {
	text-align: center;
	margin-bottom: 40px;
	padding: 0;
	box-sizing: border-box;
	font-size: 3.2rem;
	font-weight: bold;
	color: #333;

}

.leadTxt02 {
	text-align: center;
	margin: 0 auto 40px;
	padding: 30px 20px 30px 100px;
	box-sizing: border-box;
	font-size: 2.4rem;
	font-weight: bold;
	color: #009900;
	background-color: ;
	border-radius: 10px;
	max-width: 1166px;
	background: url(/content/sp/sake/images/icon_congrats.png)no-repeat 20px center, #fff;
	background-size: 80px 78px;
}

.leadTxt03 {
	margin-bottom: 20px;
}



/* contentWidth
---------------------------------------*/
.contentWidth {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: auto;
	max-width: 1166px;
	padding: 80px 0;
	text-align: center;
	overflow: hidden;


}

@media screen and (max-width: 768px) {
	.contentWidth {
		padding: 60px 10px 60px;

	}

}





@media screen and (max-width: 768px) {
	.leadArea {
		padding: 14px 10px;
		line-height: 1.6;
		height: 155px;
	}

	.leadTxt01 {
		font-size: 1.6rem;
		margin-bottom: 30px;
	}

	.leadTxt02 {
		text-align: center;
		font-size: 1.8rem;
		margin-bottom: 40px;
		padding: 20px 20px 20px 120px;
	}


}

/*====================================================
ナビゲーション
途中からハンバーガーメニューに変化するのためのCSS 
======================================================*/

/*========= ボタンのためのCSS ===============*/

/*ボタン全体の形状*/
.openbtn {
	/*はじめは非表示に*/
	display: none;
	/*ボタンの位置*/
	position: fixed;
	top: 80px;
	right: 16px;
	z-index: 999;
	/*ボタンの形状*/
	background: #405287;
	cursor: pointer;
	width: 60px;
	height: 60px;
	border-radius: 50px;
}

/*ボタンのアイコン設定*/
.openbtn span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 17px;
	height: 3px;
	border-radius: 2px;
	background-color: #fff;
	width: 45%;
}

.openbtn span:nth-of-type(1) {
	top: 20px;
}

.openbtn span:nth-of-type(2) {
	top: 30px;
}

.openbtn span:nth-of-type(3) {
	top: 40px;
}

/*activeクラスが付与された後のボタンのアイコン設定*/
.openbtn.active span:nth-of-type(1) {
	top: 22px;
	left: 18px;
	transform: translateY(6px) rotate(-45deg);
	width: 40%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
	top: 34px;
	left: 18px;
	transform: translateY(-6px) rotate(45deg);
	width: 40%;
}

/*fadeDownクラスが付与された後のボタンの出現アニメーション設定*/
.fadeDown {
	animation-name: fadeDownAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
	display: block;
}

@media screen and (max-width: 768px) {
	.openbtn {
		position: fixed;
		top: 60px;
		right: 16px;

	}
}


@keyframes fadeDownAnime {
	from {
		opacity: 0;
		transform: translateY(-100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/*========= ナビのためのCSS ===============*/

/*==ナビの形状*/
#menu {
	height: 54px;
	text-align: center;
	padding: 0;


}

/*.doneクラスがついたナビ*/
#menu.dnone {
	opacity: 1;
	/*透過0にして非表示に*/
	transition: all 0.4s;
}

/*メニューボタンをクリックした際に付与されるpanelactiveクラスがついたら*/
#menu.dnone.panelactive {
	opacity: 1;
	/*不透明にして出現*/
	transition: all 0.6s;
}


/*==ナビゲーションの形状*/
nav {
	padding: 0;
	box-sizing: border-box;
}

.navTtl {
	border-left: 6px solid #000060;
	text-align: left;
	margin: 0 0 10px 2px;
	padding: 0 0 0 10px;
	color: #000060;
	font-weight: bold;
	font-size: 2.0rem;
	line-height: 1.2;

}


.anchor {
	width: 1166px;
	height: auto;
	margin: 0 auto;
}

.anchor01 {
	margin: 0 auto;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;

}

.anchor01 li {
	width: calc(98% / 6);
	margin: 0;
	box-sizing: border-box;
	text-align: center;
	display: table;
}

.anchor01 li a {
	padding: 10px 0 10px 12px;
	display: table-cell;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	color: #333;
	line-height: 1.2;
	font-weight: bold;
	font-size: 1.6rem;
	background: #fff;




}

.anchor01 li:nth-child(2) a,
.anchor01 li:nth-child(5) a {
	background: linear-gradient(#b59840, #ffeaaa);
}


.anchor01 li a::before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0px 6px;
	border-color: #333 transparent transparent transparent;
	position: absolute;
	top: 0;
	left: 8px;
	bottom: 0;
	margin: auto;
}

.menuAppear {
	display: none;

}



@media screen and (max-width: 768px) {
	#menu {
		height: 115px;

	}

	.anchor {
		width: 100%;
		height: auto;

	}

	.anchor01 {
		flex-flow: wrap;
		justify-content: space-between;
		margin: 0;
	}

	.anchor01 li {
		width: calc(98% / 2);
		box-sizing: border-box;
		margin: 0 0 6px;
	}

	.anchor01 li:nth-child(5),
	.anchor01 li:nth-child(6) {
		margin: 0;

	}


	.anchor01 li a {
		padding: 12px 0 12px 12px;
		font-size: 1.2rem;
		color: #333;
	}

	.anchor01 li a::before {
		left: 4px;
	}

}



/*.dnoneクラスがついたテキストナビゲーションの形状（バーガーオープン）*/
#menu.dnone .anchor {
	/*固定位置にして最背面に*/
	position: fixed;
	top: 0;
	right: -120%;
	z-index: -1;
	/*高さと幅*/
	width: 500px;
	height: 100vh;
	/*はじめは透過0に*/
	opacity: 1;
	transition: all 0.6s;
	padding: 80px 30px 30px;
	text-align: center;
	background: #dddee5;

}

#menu.dnone .anchor01 {
	flex-flow: column;
	border: none;

}

#menu.dnone .anchor01 li {
	height: auto;
	width: 100%;
	margin-bottom: 12px;
}


#menu.dnone .anchor01 li a {
	color: #333;
	line-height: 1.4;
	background: #dddee5;
	height: auto;
	padding: 0;
	border: none;
	text-decoration: none;
	display: inline-block;
	text-transform: none;
	letter-spacing: 0.1em;
	font-weight: bold;
	transition: all 0.3s;
}


@media screen and (max-width: 768px) {
	#menu.dnone .anchor {
		width: 100%;

	}
}




/*メニューボタンをクリックした際に付与される
panelactiveクラスがついたナビゲーションの形状（バーガーオープン）*/
#menu.dnone.panelactive .anchor {
	opacity: 1;
	/*不透明に*/
	z-index: 3;
	/*最前面に*/
	right: 0;


}

#menu.dnone.panelactive .anchor ul {
	display: block;
	/*flexの横並びをblockにして縦並びに*/

}

#menu.dnone.panelactive .anchor li {
	background-color: transparent;
	border: none;
	width: 100%;
	display: inline-block;
	height: auto;
	margin-bottom: 12px;
}


/*リストの形状*/

#menu.dnone.panelactive .anchor li a {
	color: #333;
	line-height: 1.4;
	background: #dddee5;
	height: auto;
	padding: 0;
	border: none;
	text-decoration: none;
	display: inline-block;
	text-transform: none;
	letter-spacing: 0.1em;
	font-weight: bold;
	transition: all 0.3s;
}


/*バーガーオープン時
menuNoneクラスがついた<br>を非表示*/
.dnone .menuNone {
	display: none;
}

.dnone .menuAppear {
	display: inline;
}

/*バーガーオープン時
リンクボタンの三角形を非表示*/
.dnone .anchor01 li a::before {
	display: none;

}


/*　バーガーオープン時の区切り線

.dnone .anchor01{
border-bottom: 2px dotted #000060;
margin-bottom: 25px;
padding-bottom: 25px;
}*/




/* about  */

.about {
	padding: 0 0 100px;
	margin: -1px auto;
	background: url(/content/mission-program/images/bg_wave01.webp) no-repeat center bottom, #00357a;
	background-size: contain;
}

.aboutBg {
	padding: 30px 0;
	margin: 0 auto;
	background: url(/content/mission-program/images/bg_earth.webp) no-repeat center top;
	background-size: contain;
}

.about h2 {
	display: inline-block;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 5.2rem;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;

}

.about h2+p {
	text-align: center;
	color: #fff;
	font-size: 2.6rem;
	margin-bottom: 30px;
}


.about h3 {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 1.4;
	color: #fff;
	text-align: left;
	/* 文字のフチ*/
	text-shadow: #00357a 2px 0px, #00357a -2px 0px, #00357a 0px -2px, #00357a 0px 2px, #00357a 2px 2px, #00357a -2px 2px, #00357a 2px -2px, #00357a -2px -2px, #00357a 1px 2px, #00357a -1px 2px, #00357a 1px -2px, #00357a -1px -2px, #00357a 2px 1px, #00357a -2px 1px, #00357a 2px -1px, #00357a -2px -1px;
}

.about ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	position: relative;
	padding: 0 0 50px;
}

.about li {
	width: calc(96%/4);
	text-align: center;
	overflow: hidden;
}

.about li:nth-child(1) {
	padding: 0;
	position: relative;
	top: 40px;
	left: 0;
	overflow: hidden;
}

.about li:nth-child(2) {
	padding: 0;
	position: relative;
	top: 0;
	overflow: hidden;
}

.about li:nth-child(3) {
	padding: 0;
	position: relative;
	overflow: hidden;
	top: 60px;
}

.about li:nth-child(4) {
	padding: 0;
	position: relative;
	overflow: hidden;
	top: 30px;
	color: #fff;
	font-size: 1.0rem;
	text-align: right;
}

.about ul img {
	max-width: 100%;
	border-radius: 10px;
}

.aboutDetail {
	display: inline-block;
	margin: 0 auto 20px;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
}

.about ul img {
	max-height: 100%;
}


@media screen and (max-width: 768px) {

	.about {
		padding: 0 0 10px;
		margin: -1px auto;
		background: url(/content/mission-program/images/bg_wave01.webp) no-repeat center bottom, #00357a;
		background-size: contain;
	}

	.aboutBg {
		padding: 30px 0;
		margin: 0 auto;
		background: url(/content/mission-program/images/bg_earth.webp) no-repeat center top;
		background-size: contain;
	}

	.about h2 {
		font-size: 3.6rem;
		line-height: 1.2;
	}


	.about h2+p {
		text-align: center;
		color: #fff;
		font-size: 1.6rem;
		margin-bottom: 10px;
	}


	.about h3 {
		margin-bottom: 10px;
		font-weight: bold;
		font-size: 2.4rem;
		line-height: 1.4;
		color: #fff;
		text-align: left;
		/* 文字のフチ*/
		text-shadow: #00357a 2px 0px, #00357a -2px 0px, #00357a 0px -2px, #00357a 0px 2px, #00357a 2px 2px, #00357a -2px 2px, #00357a 2px -2px, #00357a -2px -2px, #00357a 1px 2px, #00357a -1px 2px, #00357a 1px -2px, #00357a -1px -2px, #00357a 2px 1px, #00357a -2px 1px, #00357a 2px -1px, #00357a -2px -1px;
	}

	.about ul {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		position: relative;
		padding: 0 0 50px;
	}

	.about li {
		width: calc(100%/2);
		text-align: center;
		overflow: hidden;
	}

	.about li:nth-child(1) {
		padding: 0;
		position: relative;
		top: 40px;
		left: 0;
		overflow: hidden;
	}

	.about li:nth-child(2) {
		padding: 0;
		position: relative;
		top: 0;
		right: -20px;
		overflow: hidden;
	}

	.about li:nth-child(3) {
		padding: 0;
		position: relative;
		overflow: hidden;
		top: 60px;
		left: 30px;
	}

	.about li:nth-child(4) {
		padding: 0;
		position: relative;
		overflow: hidden;
		top: 30px;
		right: -50px;
		color: #fff;
		font-size: 1.0rem;
		text-align: left;
	}

	.about ul img {
		max-width: 100%;
		border-radius: 10px;
	}

	.aboutDetail {
		margin-bottom: 20px;
		text-align: left;
		color: #fff;
		font-size: 1.4rem;
	}

	.about ul img {
		max-height: 100%;
	}
}


/* skills */

.skills {
	padding: 0;
	margin: 0 auto;
	background-color: #fff;
}

.skills h3 {
	display: inline-block;
	color: #00357a;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 30px;
}



.skills .skillDetail {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin: 0 auto 10px;

}

.skillDetail>li {
	position: relative;
	width: 40%;
	padding: 20px 10px;
	text-align: left;
	justify-content: space-between;
	background-color: #00357a;
	border-radius: 10px;
}


.skillDetail>li:nth-child(2) {
	width: 58%;
	background: linear-gradient(#b59840, #ffeaaa);
}

.skillDetail>li:nth-child(2)::before {
	position: absolute;
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	background: url(/content/mission-program/images/icon_plus.png) no-repeat;
	background-size: contain;
	top: calc(50% - 30px);
	left: -40px;
}


.skillDetail>li p {
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	margin-bottom: 10px;
}

.skillIcon {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

.skillIcon li {
	margin: 10px 26px;
	text-align: center;
}

.skillIcon02 {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
}

.skillIcon02 li {
	margin-top: 10px;
	width: calc(100%/3);
	text-align: center;
}

.skillIcon02 li:first-child {
	text-align: right;
}

.skillIcon02 li:last-child {
	text-align: left;
}



.skillIcon img,
.skillIcon02 img {
	width: 120px;
}

.skillTxt {
	font-size: 1.6rem;
}

.bigTxt {
	font-size: 5.0rem;
	color: #333;
	line-height: 0;
	vertical-align: -4px;
	letter-spacing: 0.6px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}




@media screen and (max-width: 768px) {

	.skills {
		margin: 0 auto;
		background-color: #fff;
	}

	.skills h3 {
		display: inline-block;
		color: #00357a;
		font-size: 2.2rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 30px;
	}



	.skills .skillDetail {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		margin-bottom: 10px;
	}

	.skillDetail>li {
		position: relative;
		width: 38%;
		padding: 20px 10px;
		text-align: left;
		justify-content: space-between;
		background-color: #00357a;
		border-radius: 10px;
	}

	.skillDetail>li:nth-child(2) {
		width: 59%;
		background: linear-gradient(#b59840, #ffeaaa);
	}

	.skillDetail>li:nth-child(2)::before {
		position: absolute;
		content: "";
		display: block;
		width: 50px;
		height: 50px;
		background: url(/content/mission-program/images/icon_plus.png) no-repeat;
		background-size: contain;
		top: calc(50% - 25px);
		left: -30px;
	}


	.skillDetail>li p {
		color: #fff;
		font-size: 1.6rem;
		font-weight: bold;
		text-align: center;
		line-height: 1.4;
		margin-bottom: 10px;
	}

	.skillIcon {
		display: flex;
		flex-flow: column;
		justify-content: center;
	}

	.skillIcon li {
		margin: 0;
		text-align: center;
	}

	.skillIcon li:nth-child(2) {
		margin: 10px 0 0;
		text-align: center;
	}

	.skillIcon02 {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-around;
	}

	.skillIcon02 li {
		margin-top: 0;
		width: 50%;
		text-align: center;
	}


	.skillIcon02 li:first-child {
		text-align: center;
	}

	.skillIcon02 li:last-child {
		text-align: center;
	}


	.skillIcon02 li:first-child {
		width: 100%;
		text-align: center;
		margin-top: 0;
	}

	.skillIcon img,
	.skillIcon02 img {
		width: 90px;
	}

	.skillTxt {
		font-size: 1.4rem;
		text-align: left;
	}

	.bigTxt {
		font-size: 4.0rem;
		color: #333;
		line-height: 0.6;
		vertical-align: -5px;
		letter-spacing: -4px;
		margin-left: -5px;
		font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	}


}


/* contents */


.contents {
	margin: 0 auto;
	background-color: #00357a;
}


.contents h3 {
	display: inline-block;
	color: #fff;
	font-size: 5.2rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 10px;
}



.contents h3+p {
	text-align: center;
	color: #fff;
	font-size: 2.0rem;
	margin-bottom: 30px;
}

.contents ul {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin: 0 auto 60px;
	padding: 30px 60px 80px;
	border-radius: 10px;
	max-width: 1166px;
	background: url(/content/mission-program/images/bg_line01.png)no-repeat left -30px top 100px,
		url(/content/mission-program/images/bg_line02.png)no-repeat right -60px bottom 20px, #fff;
	background-size: 200px;
}

.contents ul li {
	width: calc(100% /2);

}

.contents ul li:nth-child(even) {
	position: relative;
	top: 80px;
}


.number {
	color: #00357a;
	text-align: left;
	font-size: 3.0rem;
	font-weight: bold;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	padding-bottom: 6px;
	padding-left: 26px;
}

.contents li:nth-child(even) .number {
	text-align: right;
	padding-right: 26px;

}

.number span {
	color: #333;
	font-size: 1.4rem;
}

.contents li .missionWrapper {
	display: flex;
	flex-flow: row;
	font-size: 1.4rem;
	margin-bottom: 20px;
}

.contents li:nth-child(even) .missionWrapper {
	display: flex;
	flex-flow: row-reverse;
	margin-bottom: 20px;
}

.contents li .missionWrapper h4 {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	text-align: left;
	line-height: 1.2;
	font-size: 2.6rem;
	color: #00357a;
	font-weight: bold;
	width: 20%;
	display: flex;
	align-items: center;
}

.missionCenter {
	width: 70%;
	text-align: left;
}

.missionRight {
	width: 10%;
	position: relative;
}

.contents li:nth-child(1) .missionRight::before {
	position: relative;
	display: block;
	content: "";
	width: 50px;
	height: 50px;
	background: url(/content/mission-program/images/icon_darts.png)no-repeat;
	background-size: contain;
	top: -25px;
	left: -25px;
}

.contents li:nth-child(2) .missionRight::before {
	position: relative;
	display: block;
	content: "";
	width: 70px;
	height: 90px;
	background: url(/content/mission-program/images/icon_m-glass.png)no-repeat;
	background-size: contain;
	top: -46px;
	right: -50px;
}

.contents li:nth-child(3) .missionRight::before {
	position: relative;
	display: block;
	content: "";
	width: 50px;
	height: 50px;
	background: url(/content/mission-program/images/icon_talk.png)no-repeat;
	background-size: contain;
	top: -25px;
	left: -25px;
}



.contents li .missionWrapper img {
	border-radius: 10px;
	width: 100%;

}

.missionNotice {
	text-align: right;
	font-size: 1.0rem;
	margin-bottom: 10px;
}

@media screen and (max-width: 768px) {

	.contents {
		margin: 0 auto;
		background-color: #00357a;
	}


	.contents h3 {
		display: inline-block;
		color: #fff;
		font-size: 3.6rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 10px;
	}



	.contents h3+p {
		text-align: center;
		color: #fff;
		font-size: 1.6rem;
		margin-bottom: 30px;
	}

	.contents ul {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		margin: 0 auto 30px;
		padding: 10px;
		border-radius: 10px;
		max-width: 1166px;
		background: url(/content/mission-program/images/bg_line01.png)no-repeat left -30px top 520px,
			url(/content/mission-program/images/bg_line02.png)no-repeat right -60px bottom 120px, #fff;
		background-size: 200px;
	}

	.contents ul li {
		width: 100%;

	}

	.contents ul li:nth-child(even) {
		position: relative;
		top: 0;
	}


	.number {
		color: #00357a;
		text-align: left;
		font-size: 3.0rem;
		font-weight: bold;
		font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
		padding-bottom: 6px;
		padding-left: 0;
	}

	.contents li:nth-child(even) .number {
		text-align: right;
		padding-right: 6px;
	}

	.number span {
		color: #333;
		font-size: 1.4rem;
	}

	.contents li .missionWrapper {
		display: flex;
		flex-flow: row;
		font-size: 1.4rem;
		margin-bottom: 20px;
	}

	.contents li:nth-child(even) .missionWrapper {
		display: flex;
		flex-flow: row-reverse;
		margin-bottom: 20px;
	}

	.contents li .missionWrapper h4 {
		writing-mode: vertical-rl;
		text-orientation: mixed;
		text-align: left;
		line-height: 1.2;
		font-size: 2.0rem;
		color: #00357a;
		font-weight: bold;
		width: 16%;
		display: flex;
		align-items: center;
	}

	.missionCenter {
		width: 78%;
		text-align: left;
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.missionRight {
		width: 6%;
		position: relative;
	}

	.contents li:nth-child(1) .missionRight::before {
		position: relative;
		display: block;
		content: "";
		width: 50px;
		height: 50px;
		background: url(/content/mission-program/images/icon_darts.png)no-repeat;
		background-size: contain;
		top: -25px;
		left: -25px;
	}

	.contents li:nth-child(2) .missionRight::before {
		position: relative;
		display: block;
		content: "";
		width: 70px;
		height: 90px;
		background: url(/content/mission-program/images/icon_m-glass.png)no-repeat;
		background-size: contain;
		top: -46px;
		right: 0;
	}

	.contents li:nth-child(3) .missionRight::before {
		position: relative;
		display: block;
		content: "";
		width: 50px;
		height: 50px;
		background: url(/content/mission-program/images/icon_talk.png)no-repeat;
		background-size: contain;
		top: -25px;
		left: -25px;
	}



	.contents li .missionWrapper img {
		border-radius: 10px;

	}

	.missionNotice {
		text-align: right;
		font-size: 1.0rem;
		margin-bottom: 10px;
	}
}

.point {
	padding: 30px;
	background-color: #f6f8ef;
	border-radius: 10px;
	text-align: left;
	color: #00357a;
}

.point dt {
	font-weight: bold;
	font-size: 2.2rem;

}

.point dt span {
	background: linear-gradient(#b59840, #ffeaaa);
	border-radius: 50px;
	color: #fff;
	display: inline-block;
	padding: 2px 10px 0;
	margin-bottom: 10px;
}

.point dd {
	border-bottom: 2px dotted #999;
	padding: 0 0 10px;
	margin-bottom: 20px;
	font-size: 1.6rem;
}

.point dd:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {

	.point {
		padding: 10px 10px 20px;
		background-color: #f6f8ef;
		border-radius: 10px;
		text-align: left;
		color: #00357a;
	}

	.point dt {
		font-weight: bold;
		font-size: 2.0rem;

	}

	.point dt span {
		font-size: 1.4rem;
		background: linear-gradient(#b59840, #ffeaaa);
		border-radius: 50px;
		color: #fff;
		display: inline-block;
		padding: 2px 10px 0;
		margin-bottom: 4px;
	}

	.point dd {
		border-bottom: 2px dotted #999;
		padding: 0 0 10px;
		margin-bottom: 10px;
		font-size: 1.4rem;
	}

	.point dd:last-child {
		border-bottom: none;
		margin-bottom: 0;
	}
}



/* difference */

.difference {
	padding: 0 0 0;
	margin: 0 auto;
	background-color: #fff;

}

.difference h3 {
	display: inline-block;
	color: #00357a;
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 30px;
}


table {
	margin: 0 auto;
	border-collapse: collapse;
	border: 2px solid #00357a;
	font-family: sans-serif;
	font-size: 1.8rem;
	letter-spacing: 1px;
	line-height: 1.2;
}


thead {
	background-color: #00357a;
	color: #fff;
}

tbody {
	color: #00357a;
}

th {
	border: 1px solid #999;
	padding: 8px;
	width: calc(100%/3);
	font-size: 1.8rem;
}

td {
	border: 1px solid #999;
	padding: 8px;
	width: calc(100%/3);
	color: #00357a;
	font-size: 2.8rem;
}

.slash {
	background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #fff 50%, #fff calc(50% + 0.5px), transparent calc(50% + 1px))
}


@media screen and (max-width: 768px) {
	.difference {
		padding: 0;
		margin: 0 auto;

		background-color: #fff;

	}

	.difference h3 {
		display: inline-block;
		color: #00357a;
		font-size: 2.0rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 20px;
	}


	table {
		margin: 0 auto;
		border-collapse: collapse;
		border: 2px solid #00357a;
		font-family: sans-serif;
		font-size: 2.0rem;
		letter-spacing: 1px;
		line-height: 1.2;
	}


	thead {
		background-color: #00357a;
		color: #fff;
	}

	tbody {
		color: #00357a;
	}

	th {
		border: 1px solid #999;
		padding: 8px 2px;
		font-size: 1.4rem;
		width: 30%;

	}

	td {
		border: 1px solid #999;
		padding: 8px 2px;
		width: 30%;
		color: #00357a;
		font-size: 2.4rem;
	}

	thead th:first-child {
		width: 40%;
	}


	tbody th {
		width: 40%;
	}



	.slash {
		background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #fff 50%, #fff calc(50% + 0.5px), transparent calc(50% + 1px))
	}

}



/* program*/

.program {
	margin: -2px auto 0;
	padding: 170px 0 0;
	background: url(/content/mission-program/images/bg_wave02_pc.webp) no-repeat top center, #00357a;
	background-size: contain;
}

.program .contentWidth {
	padding: 0;


}

.program h2 {
	display: inline-block;
	color: #fff;
	font-size: 5.2rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 10px;
}



.program h2+p {
	text-align: center;
	color: #fff;
	font-size: 2.6rem;
	margin-bottom: 6px;
}

.program h2+p+p {
	display: inline-block;
	text-align: left;
	color: #fff;
	font-size: 1.4rem;
	margin-bottom: 30px;

}

@media screen and (max-width: 768px) {

	.program {
		margin: -2px auto 0;
		padding: 100px 0 0;
		background: url(/content/mission-program/images/bg_wave02_pc.webp) no-repeat top center, #00357a;
		background-size: contain;
	}

	.program .contentWidth {
		padding: 0 10px 0;
	}

	.program h2 {
		display: inline-block;
		color: #fff;
		font-size: 3.6rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 10px;
	}



	.program h2+p {
		text-align: center;
		color: #fff;
		font-size: 1.6rem;
		margin-bottom: 6px;
	}

	.program h2+p+p {
		display: inline-block;
		text-align: left;
		color: #fff;
		font-size: 1.2rem;
		margin-bottom: 30px;

	}

}



/*swiper*/



.swiper {
	width: 100%;
	height: auto;
	padding: 0;
	position: relative;
	color: #00357a;
	font-weight: bold;

}


.swiper-slide {
	text-align: center;
	font-size: 1.6rem;
	background: #fff;
	/*display: flex;
justify-content: center;
align-items: center;
*/
	padding: 3px;
	margin-bottom: 50px;
	height: auto;
	border-radius: 400px;
}

.swiper-slide a {
	color: #00357a;
}

.swiper-button-prev {
	align-items: center;
	color: #fff;
	background-color: #00357a;
	padding: 16px 8px 16px 2px;
	width: 30px;
	height: 54px;
	border-radius: 0 50px 50px 0;
	opacity: 0.8;
}

.swiper-button-next {
	align-items: center;
	color: #fff;
	background-color: #00357a;
	padding: 16px 2px 16px 8px;
	width: 30px;
	height: 54px;
	border-radius: 50px 0 0 50px;
	opacity: 0.8;
}


.swiper-horizontal {

	.swiper-button-next,
	.swiper-button-prev,
	~.swiper-button-next,
	~.swiper-button-prev {
		margin-left: 0;
		margin-top: calc(0px - var(--swiper-navigation-size)/2);
		top: var(--swiper-navigation-top-offset, 45%)
	}

	&.swiper-rtl .swiper-button-next,
	&.swiper-rtl~.swiper-button-next,
	&~.swiper-button-prev,
	.swiper-button-prev {
		left: 0;
		right: auto
	}

	&.swiper-rtl .swiper-button-prev,
	&.swiper-rtl~.swiper-button-prev,
	&~.swiper-button-next,
	.swiper-button-next {
		left: auto;
		right: 0
	}

	&.swiper-rtl .swiper-button-next,
	&.swiper-rtl~.swiper-button-next,
	&~.swiper-button-prev,
	.swiper-button-prev {

		.swiper-navigation-icon,
		::slotted(.swiper-navigation-icon) {
			transform: rotate(180deg)
		}
	}

	&.swiper-rtl .swiper-button-prev,
	&.swiper-rtl~.swiper-button-prev {

		.swiper-navigation-icon,
		::slotted(.swiper-navigation-icon) {
			transform: rotate(0deg)
		}
	}
}

.swiper-pagination-bullet-active {
	background-color: #405287;
}


.destination {
	position: relative;
	border-radius: 400px;
	border: 3px solid #00357a;
	height: 100%;

}

.desNumber {
	padding: 10px 0 0;
	margin: 0 auto 16px;
	text-align: center;
	font-size: 2.0rem;
	border-bottom: 2px solid #00357a;
	width: 70%;

}


.destination h4 {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.2;
}

.destination h4+p {
	font-size: 1.6rem;
	margin-bottom: 10px;
}

.images {
	margin-bottom: 10px;
}


.for {
	position: relative;
	font-size: 1.6rem;
	display: inline-block;
}

.for::before {
	position: relative;
	content: "＼";
	width: 1em;
	height: 1em;
	left: -0.2em;
	color: #b59840;
	font-weight: bold;
}

.for::after {
	position: relative;
	content: "／";
	width: 1em;
	height: 1em;
	right: 0;
	font-weight: bold;
	color: #b59840;
}

.forList {
	text-align: left;
	font-size: 1.2rem;
	width: 230px;
	margin: 0 auto 80px;
}

.forList li {
	text-indent: -1em;
	margin-left: 1em;
}

.tourBtn {
	width: 140px;
	position: absolute;
	display: inline-block;
	border: 1px solid #333;
	border-radius: 50px;
	font-size: 1.2rem;
	margin-bottom: 30px;
	left: calc(50% - 70px);
	bottom: 10px;
}

.tourBtn span {
	position: relative;
	display: block;
	border-radius: 50px;
	padding: 2px 40px 2px 10px;
	color: #333;
}

.tourBtn span::after {
	position: absolute;
	display: block;
	content: "";
	width: 20px;
	height: 20px;
	background: url(/content/mission-program/images/icon_arrow.png)no-repeat;
	background-size: contain;
	top: calc(50% - 10px);
	right: 10px;
}


@media screen and (max-width: 768px) {



	.swiper {
		width: 100%;
		height: auto;
		padding: 0;
		position: relative;
		color: #00357a;
		font-weight: bold;
	}

	.swiper-slide {
		text-align: center;
		font-size: 1.6rem;
		background: #fff;
		/*display: flex;
justify-content: center;
align-items: center;
*/
		padding: 3px;
		margin-bottom: 50px;
		height: auto;
		border-radius: 400px;
	}

	.swiper-slide a {
		color: #00357a;
	}


	.swiper-button-prev {
		align-items: center;
		color: #fff;
		background-color: #00357a;
		padding: 16px 8px 16px 2px;
		width: 30px;
		height: 60px;
		border-radius: 0 50px 50px 0;
		opacity: 0.8;
	}

	.swiper-button-next {
		align-items: center;
		color: #fff;
		background-color: #00357a;
		padding: 16px 2px 16px 8px;
		width: 30px;
		height: 60px;
		border-radius: 50px 0 0 50px;
		opacity: 0.8;
	}


	.swiper-horizontal {

		.swiper-button-next,
		.swiper-button-prev,
		~.swiper-button-next,
		~.swiper-button-prev {
			margin-left: 0;
			margin-top: calc(0px - var(--swiper-navigation-size)/2);
			top: var(--swiper-navigation-top-offset, 45%)
		}

		&.swiper-rtl .swiper-button-next,
		&.swiper-rtl~.swiper-button-next,
		&~.swiper-button-prev,
		.swiper-button-prev {
			left: 0;
			right: auto
		}

		&.swiper-rtl .swiper-button-prev,
		&.swiper-rtl~.swiper-button-prev,
		&~.swiper-button-next,
		.swiper-button-next {
			left: auto;
			right: 0
		}

		&.swiper-rtl .swiper-button-next,
		&.swiper-rtl~.swiper-button-next,
		&~.swiper-button-prev,
		.swiper-button-prev {

			.swiper-navigation-icon,
			::slotted(.swiper-navigation-icon) {
				transform: rotate(180deg)
			}
		}

		&.swiper-rtl .swiper-button-prev,
		&.swiper-rtl~.swiper-button-prev {

			.swiper-navigation-icon,
			::slotted(.swiper-navigation-icon) {
				transform: rotate(0deg)
			}
		}
	}

	.swiper-pagination-bullet-active {
		background-color: #405287;
	}


	.destination {
		position: relative;
		border-radius: 400px;
		border: 3px solid #00357a;
		height: 100%;

	}

	.desNumber {
		padding: 10px 0 0;
		margin: 0 auto 16px;
		text-align: center;
		font-size: 2.0rem;
		border-bottom: 2px solid #00357a;
		width: 70%;

	}


	.destination h4 {
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 1.2;
	}

	.destination h4+p {
		font-size: 1.6rem;
		margin-bottom: 10px;
	}

	.images {
		margin-bottom: 10px;
	}


	.for {
		position: relative;
		font-size: 1.6rem;
		display: inline-block;
	}

	.for::before {
		position: relative;
		content: "＼";
		width: 1em;
		height: 1em;
		left: -0.2em;
		color: #b59840;
		font-weight: bold;
	}

	.for::after {
		position: relative;
		content: "／";
		width: 1em;
		height: 1em;
		right: 0;
		font-weight: bold;
		color: #b59840;
	}

	.forList {
		text-align: left;
		font-size: 1.2rem;
		width: 230px;
		margin: 0 auto 80px;
	}

	.forList li {
		text-indent: -1em;
		margin-left: 1em;
	}

	.tourBtn {
		width: 140px;
		position: absolute;
		display: inline-block;
		border: 1px solid #333;
		border-radius: 50px;
		font-size: 1.2rem;
		margin-bottom: 30px;
		left: calc(50% - 70px);
		bottom: 10px;
	}
}

.tourBtn span {
	position: relative;
	display: block;
	border-radius: 50px;
	padding: 2px 40px 2px 10px;
	color: #333;
}

.tourBtn span::after {
	position: absolute;
	display: block;
	content: "";
	width: 20px;
	height: 20px;
	background: url(/content/mission-program/images/icon_arrow.png)no-repeat;
	background-size: contain;
	top: calc(50% - 10px);
	right: 10px;
}




/* movie*/

.movie {
	margin: 0 auto;
	background-color: #00357a;
	padding-bottom: 40px;
}


.movie h2 {
	display: inline-block;
	color: #fff;
	font-size: 5.2rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 10px;
}



.movie h2+p {
	text-align: center;
	color: #fff;
	font-size: 2.6rem;
	margin-bottom: 20px;
}

.movie h2+p+p {
	display: inline-block;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	margin-bottom: 0;
}



.youtube {
	position: relative;
	padding: 0 10px;
	margin: 0 auto;
	max-width: 1166px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;


}

.youtube::before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background-image: linear-gradient(90deg, #5679b6 70%, transparent 70%);
	top: -30px;
	left: -80px;
}


.youtube li {
	width: calc(96%/4);
	position: relative;

}

.youtube div {
	background-color: #fff;
}

.youtube li a {
	position: relative;
	display: inline-block;

}


.youtube li a::after {
	display: block;
	content: "";
	width: 94px;
	height: 94px;
	background: url("../images/playback.png") no-repeat center center;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.youtube p {
	font-size: 1.6rem;
	line-height: 1.4;
	text-align: center;
	color: #fff;
	margin: 10px 0 20px;
}





@media screen and (max-width: 768px) {

	.movie {
		margin: -2px auto 0;
		background-color: #00357a;
	}

	.movie h2 {
		display: inline-block;
		color: #fff;
		font-size: 3.6rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 10px;
	}



	.movie h2+p {
		text-align: center;
		color: #fff;
		font-size: 1.6rem;
		margin-bottom: 20px;
	}

	.movie h2+p+p {
		display: inline-block;
		text-align: left;
		color: #fff;
		font-size: 1.4rem;

	}




	.youtube {
		position: relative;
		padding: 0 10px;
		margin-bottom: 20px;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		top: 30px;
	}

	.youtube::before {
		position: absolute;
		display: block;
		content: "";
		width: 100%;
		height: 350px;
		background-image: linear-gradient(90deg, #5679b6 80%, transparent 80%);
		top: -30px;
		left: 0;
	}


	.youtube li {
		width: calc(96%/2);
		position: relative;

	}

	.youtube div {
		background-color: #fff;
	}

	.youtube li a {
		position: relative;
		display: inline-block;

	}


	.youtube li a::after {
		display: block;
		content: "";
		width: 54px;
		height: 54px;
		background: url("../images/playback.png") no-repeat center center;
		background-size: contain;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
	}

	.youtube p {
		font-size: 1.4rem;
		line-height: 1.4;
		text-align: center;
		color: #fff;
		margin: 10px 0 20px;
	}
}

.pairCp {
	background-color: #f6f8ef;

}

.pairCp h2 {
	position: relative;
	margin-top: 70px;
	margin-bottom: 30px;
	line-height: 1.2;
	font-size: 5.2rem;
	font-weight: bold;
	color: #333;
}

.pairCp h2::before {
	position: absolute;
	display: block;
	content: "";
	width: 60px;
	height: 60px;
	background: url(../images/icon_pair01.png) no-repeat center center;
	background-size: contain;
	top: -70px;
	left: calc(50% - 30px);
}

.pairCp h2 span {
	display: block;
	font-size: 4.0rem;
}

.pairCp h2+p {
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
	margin-bottom: 6px;
}

.pairCp .images {
	width: 613px;
	margin: 0 auto;

}

.priceNotice {
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom: 40px;
	font-size: 1.4rem;
	text-align: left;
	display: inline-block;
}

.conditionsWrapper {
	position: relative;
	border: 1px solid #00357a;
	border-radius: 10px;
	background: #fff;
	padding: 0 30px 16px;
	margin: 0 auto 40px;
	font-weight: bold;
	max-width: 800px;
}

.conditionsWrapper h3 {
	position: relative;
	display: inline-block;
	padding: 4px 20px 2px;
	font-weight: bold;
	font-size: 2.4rem;
	color: #00357a;
	border: 1px solid #00357a;
	border-radius: 50px;
	background: #fff;
	top: -18px;

}


.conditionsWrapper p {
	font-size: 1.6rem;
	text-align: left;
	margin-bottom: 14px;
}


.conditionsList {
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom: 10px;
	font-size: 1.8rem;
	text-align: left;
}

.conditionsList li {
	line-height: 1.4;
	margin-bottom: 14px;
}


.conditionsNotice {
	text-indent: -1em;
	margin-left: 1em;
	font-size: 1.2rem;
	text-align: left;
}


h4.pairCpFlow {
	display: inline-block;
	color: #00357a;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 16px;
}

.pairCpFlowList {
	margin: 0 auto 20px;
	max-width: 800px;
}

.pairCpFlowList li {
	position: relative;
	border: 1px solid #00357a;
	background: #fff;
	margin-bottom: 10px;
	padding: 10px 10px 10px 60px;
	text-align: left;
}

.pairCpFlowList li:nth-child(1):before {
	position: absolute;
	display: block;
	content: "";
	width: 40px;
	height: 46px;
	background: url(../images/one.png) no-repeat center center;
	background-size: contain;
	top: calc(50% - 23px);
	left: -5px;
}

.pairCpFlowList li:nth-child(2):before {
	position: absolute;
	display: block;
	content: "";
	width: 40px;
	height: 46px;
	background: url(../images/two.png) no-repeat center center;
	background-size: contain;
	top: calc(50% - 23px);
	left: -5px;
}

.pairCpFlowList li:nth-child(3):before {
	position: absolute;
	display: block;
	content: "";
	width: 40px;
	height: 46px;
	background: url(../images/three.png) no-repeat center center;
	background-size: contain;
	top: calc(50% - 23px);
	left: -5px;
}

.pairCpFlowList li:nth-child(4):before {
	position: absolute;
	display: block;
	content: "";
	width: 40px;
	height: 46px;
	background: url(../images/four.png) no-repeat center center;
	background-size: contain;
	top: calc(50% - 23px);
	left: -5px;
}

.pairCpFlowList li p {
	color: #00357a;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px dotted #b59840;
	padding-bottom: 6px;
	margin-bottom: 6px;
}

.pairCpFlowList li p+p {
	color: #333;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.4;
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.pairCpFlowNotice {
	font-size: 1.6rem;
	font-weight: bold;
}




@media screen and (max-width: 768px) {
	.pairCp {
		background-color: #f6f8ef;

	}

	.pairCp h2 {
		position: relative;
		margin-top: 70px;
		margin-bottom: 20px;
		line-height: 1.2;
		font-size: 3.6rem;
		font-weight: bold;
		color: #333;
	}

	.pairCp h2::before {
		position: absolute;
		display: block;
		content: "";
		width: 60px;
		height: 60px;
		background: url(../images/icon_pair01.png) no-repeat center center;
		background-size: contain;
		top: -70px;
		left: calc(50% - 30px);
	}

	.pairCp h2 span {
		display: block;
		font-size: 2.6rem;
	}

	.pairCp h2+p {
		text-align: center;
		font-size: 1.6rem;
		font-weight: bold;
		margin-bottom: 6px;
	}

	.pairCp .images {
		width: 300px;
		margin: 0 auto;

	}

	.priceNotice {
		text-indent: -1em;
		margin-left: 1em;
		margin-bottom: 30px;
		font-size: 1.2rem;
		text-align: left;
		display: inline-block;
		width: 92%;
	}

	.conditionsWrapper {
		position: relative;
		border: 1px solid #00357a;
		border-radius: 10px;
		background: #fff;
		padding: 0 10px 16px;
		margin-bottom: 20px;
		font-weight: bold;
		width: 92%;
	}

	.conditionsWrapper h3 {
		position: relative;
		display: inline-block;
		padding: 2px 20px;
		font-weight: bold;
		font-size: 1.8rem;
		color: #00357a;
		border: 1px solid #00357a;
		border-radius: 50px;
		background: #fff;
		top: -13px;

	}


	.conditionsWrapper p {
		font-size: 1.2rem;
		text-align: left;
		margin-bottom: 14px;
	}


	.conditionsList {
		text-indent: -1em;
		margin-left: 1em;
		margin-bottom: 6px;
		font-size: 1.6rem;
		text-align: left;
	}

	.conditionsList li {
		line-height: 1.4;
		margin-bottom: 14px;
	}

	.conditionsNotice {
		text-indent: -1em;
		margin-left: 1em;
		font-size: 1.2rem;
		text-align: left;
	}


	h4.pairCpFlow {
		display: inline-block;
		color: #00357a;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 16px;
	}

	.pairCpFlowList {
		width: 92%;
		margin: 0 auto;
	}

	.pairCpFlowList li {
		position: relative;
		border: 1px solid #00357a;
		background: #fff;
		margin-bottom: 10px;
		padding: 10px 10px 10px 40px;
		text-align: left;
	}

	.pairCpFlowList li:nth-child(1):before {
		position: absolute;
		display: block;
		content: "";
		width: 40px;
		height: 46px;
		background: url(../images/one.png) no-repeat center center;
		background-size: contain;
		top: calc(50% - 23px);
		left: -5px;
	}

	.pairCpFlowList li:nth-child(2):before {
		position: absolute;
		display: block;
		content: "";
		width: 40px;
		height: 46px;
		background: url(../images/two.png) no-repeat center center;
		background-size: contain;
		top: calc(50% - 23px);
		left: -5px;
	}

	.pairCpFlowList li:nth-child(3):before {
		position: absolute;
		display: block;
		content: "";
		width: 40px;
		height: 46px;
		background: url(../images/three.png) no-repeat center center;
		background-size: contain;
		top: calc(50% - 23px);
		left: -5px;
	}

	.pairCpFlowList li:nth-child(4):before {
		position: absolute;
		display: block;
		content: "";
		width: 40px;
		height: 46px;
		background: url(../images/four.png) no-repeat center center;
		background-size: contain;
		top: calc(50% - 23px);
		left: -5px;
	}

	.pairCpFlowList li p {
		color: #00357a;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px dotted #b59840;
		padding-bottom: 6px;
		margin-bottom: 6px;
	}

	.pairCpFlowList li p+p {
		color: #333;
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 1.4;
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.pairCpFlowNotice {
		font-size: 1.4rem;
		font-weight: bold;
	}


}

.apply {
	margin: 0 auto;
	padding: 80px 10px 0;
	background-color: #fff;
}

.apply .contentWidth {
	padding: 50px 20px 0;
	border-radius: 30px;
	background-color: #00357a;
	color: #fff;

}


.apply h3 {
	display: inline-block;
	font-size: 5.2rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 10px;
}

.apply h3+p {
	text-align: center;
	color: #fff;
	font-size: 1.4rem;
	margin-bottom: 20px;
}

.applyDestination {
	margin: 0 auto 20px;
	display: flex;
	flex-flow: row wrap;
}

.applyDestination li {
	width: 44%;
	margin: 0 auto 30px;
	border-bottom: 2px dotted #b59840;

}

.applyDestination li:nth-child(3),
.applyDestination li:last-child {
	margin: 0 auto;
	border-bottom: none;
}

.applyDestination figure {
	max-width: 640px;
	margin-bottom: 10px;
}

.applyDestination figcaption {
	text-align: right;
	font-size: 1.0rem;
}


.applyDestination h4 {
	font-family: 1.4rem;
	font-weight: bold;
	margin-bottom: 10px;
}

.applyDetail {
	display: flex;
	flex-flow: row wrap;
	font-size: 1.8rem;
	font-weight: bold;
	align-items: center;
	margin-bottom: 10px;
}

.applyDetail dt {
	width: 22%;
	height: 24px;
	background: #fff;
	color: #00357a;
	font-weight: bold;
	margin-bottom: 6px;
	font-size: 1.4rem;
}

.applyDetail dd {
	width: 78%;
	text-align: left;
	padding-left: 10px;
	margin-bottom: 6px;
}

.applyDetail dd span {
	display: block;
	font-size: 1.2rem;
}

.applyBtn {
	margin-bottom: 30px;
}


.applyBtn a {
	line-height: 1.2;
	display: inline-block;
	color: #00357a;
	font-weight: bold;
	font-size: 1.6rem;
	padding: 10px 40px;
	border-radius: 50px;
	background: linear-gradient(#b59840, #ffeaaa);
}

.applyBtn a span {
	font-size: 1.2rem;
	color: #fff;
	display: block;
	margin-bottom: 6px;
}


@media screen and (max-width: 768px) {
	.apply {
		margin: 0 auto;
		padding: 40px 10px 0;
		background-color: #fff;
	}

	.apply .contentWidth {
		padding: 40px 20px 0;
		border-radius: 30px;
		background-color: #00357a;
		color: #fff;

	}


	.apply h3 {
		display: inline-block;
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 10px;
	}

	.apply h3+p {
		text-align: center;
		color: #fff;
		font-size: 1.0rem;
		margin-bottom: 20px;
	}

	.applyDestination {
		margin: 0 auto 20px;
		display: flex;
		flex-flow: column;
	}

	.applyDestination li,
	.applyDestination li:nth-child(3) {
		width: 100%;
		margin: 0 auto 30px;
		border-bottom: 2px dotted #b59840;
	}


	.applyDestination li:last-child {
		margin: 0 auto;
		border-bottom: none;
	}

	.applyDestination figure {
		max-width: 640px;
		margin-bottom: 10px;
	}

	.applyDestination figcaption {
		text-align: right;
		font-size: 1.0rem;
	}


	.applyDestination h4 {
		font-family: 1.4rem;
		font-weight: bold;
		margin-bottom: 10px;
	}

	.applyDetail {
		display: flex;
		flex-flow: row wrap;
		font-size: 1.4rem;
		font-weight: bold;
		align-items: center;
		margin-bottom: 10px;
	}

	.applyDetail dt {
		width: 22%;
		height: 24px;
		background: #fff;
		color: #00357a;
		font-weight: bold;
		margin-bottom: 6px;
	}

	.applyDetail dd {
		width: 78%;
		text-align: left;
		padding-left: 10px;
		margin-bottom: 6px;
	}

	.applyDetail dd span {
		display: block;
		font-size: 1.0rem;
	}

	.applyBtn {
		margin-bottom: 30px;
	}


	.applyBtn a {
		line-height: 1.4;
		display: inline-block;
		color: #00357a;
		font-weight: bold;
		font-size: 1.6rem;
		padding: 10px 40px;
		border-radius: 50px;
		background: linear-gradient(#b59840, #ffeaaa);
	}

	.applyBtn a span {
		font-size: 1.2rem;
		color: #fff;
		display: block;
		margin-bottom: 2px;
	}



}

/* FAQ */

.faq {
	margin: 0 auto;
	background-color: #ffff;
}

.faq .contentWidth {
	padding-bottom: 10px;
}



.faq h2 {
	display: inline-block;
	color: #00357a;
	font-size: 5.2rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 10px;
}



.faq h2+p {
	text-align: center;
	color: #00357a;
	font-size: 2.6rem;
	margin-bottom: 6px;
}





.faqAccordion {
	text-align: left;
	font-size: 1.8rem;
	max-width: 950px;
	margin: 60px auto 0;
	background: #fff;
}

.faqAccordion>li {
	border: 1px solid #00357a;
	border-radius: 20px;
	margin-bottom: 10px;
}

.faqAccordion>li:last-child {
	margin-bottom: 0;
}

.answer {
	display: none;
	font-size: 1.4rem;
}

.qestion {
	transition: background .3s ease;
	cursor: pointer;
	position: relative;
	color: #00357a;
	font-weight: bold;
	font-size: 1.6rem;
}

.qestion::before {
	position: absolute;
	content: '';
	width: 12px;
	height: 2px;
	margin: auto;
	top: 1px;
	right: 29px;
	bottom: 0;
	background: #00357a;
	z-index: 2;
}

.qestion::after {
	position: absolute;
	content: '';
	width: 12px;
	height: 2px;
	margin: auto;
	top: 1px;
	right: 29px;
	bottom: 0;
	background: #00357a;
	transform: rotate(-90deg);
	transition: transform 0.3s;
	z-index: 2;
}

.qestion.active::after {
	transform: rotate(0deg);
	z-index: 2;
}

.qestion span::after {
	position: absolute;
	content: '';
	width: 30px;
	height: 30px;
	margin: auto;
	top: 1px;
	right: 20px;
	bottom: 0;
	z-index: 1;
}

.qestion.active span::after {
	position: absolute;
	content: '';
	width: 30px;
	height: 30px;
	margin: auto;
	top: 1px;
	right: 20px;
	bottom: 0;
	z-index: 1;
}

.qestion span {
	padding: 20px 45px 20px 100px;
	position: relative;
	display: block;
}

.answer span {
	padding: 0 45px 20px 100px;
	position: relative;
	display: block;
}


.answer span div {
	padding: 20px 0 0;
	border-top: 2px dotted #00357a;
}

.qestion span::before {
	position: absolute;
	content: "";
	width: 60px;
	height: 60px;
	top: calc(50% - 30px);
	left: 20px;
	background: url(../images/faq_q.png) no-repeat;
	background-size: contain;
}

.answer span::before {
	position: absolute;
	content: "";
	width: 60px;
	height: 60px;
	top: calc(50% - 30px);
	left: 20px;
	/* background: url(../images/faq_a.png) no-repeat; */
	background-size: contain;
}

.qestion span a,
.answer span a {
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	.faqAccordion {
		text-align: left;
		font-size: 1.6rem;
		margin: 30px auto 0;
	}

	.faq .contentWidth {
		padding-bottom: 30px;
	}



	.faq h2 {
		display: inline-block;
		color: #00357a;
		font-size: 3.6rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 10px;
	}



	.faq h2+p {
		text-align: center;
		color: #00357a;
		font-size: 1.4rem;
		margin-bottom: 6px;
	}

	.faqAccordion>li {
		border: 1px solid #00357a;
		border-radius: 16px;
		margin-bottom: 10px;
	}



	.qestion::before {
		position: absolute;
		content: '';
		width: 12px;
		height: 2px;
		margin: auto;
		top: 1px;
		right: 10px;
		bottom: 0;
		background: #00357a;
		z-index: 2;
	}

	.qestion::after {
		position: absolute;
		content: '';
		width: 12px;
		height: 2px;
		margin: auto;
		top: 1px;
		right: 10px;
		bottom: 0;
		background: #00357a;
		transform: rotate(-90deg);
		transition: transform 0.3s;
		z-index: 2;
	}

	.qestion span::after {
		position: absolute;
		content: '';
		width: 30px;
		height: 30px;
		margin: auto;
		top: 1px;
		right: 0;
		bottom: 0;
		z-index: 1;
	}

	.qestion.active span::after {
		position: absolute;
		content: '';
		width: 30px;
		height: 30px;
		margin: auto;
		top: 1px;
		right: 0;
		bottom: 0;
		z-index: 1;
	}

	.qestion span {
		padding: 10px 40px;
		position: relative;
		display: block;
	}

	.answer span {
		padding: 0 32px 16px 40px;
		position: relative;
		display: block;
	}


	.answer span div {
		padding: 10px 0 0;
		border-top: 2px dotted #00357a;
	}


	.qestion span::before {
		position: absolute;
		content: "";
		width: 40px;
		height: 40px;
		top: calc(50% - 20px);
		left: 0;
		background: url(../images/faq_q.png) no-repeat;
		background-size: contain;
	}

	.answer span::before {
		position: absolute;
		content: "";
		width: 40px;
		height: 40px;
		top: calc(50% - 20px);
		left: 0;
		/* background: url(../images/faq_a.png) no-repeat; */
		background-size: contain;
	}
}

.footer {
	margin: -2px auto 0;
	padding: 0;
	background: url(/content/mission-program/images/bg_wave03.webp) no-repeat top center, #00357a;
	background-size: contain;
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #fff;
	font-size: 1.4rem;
}

.footer .contentWidth {
	padding: 240px 0 40px;
}



.footer figure {
	margin: 50px auto 20px;
	width: 400px;
}

.footer dt {
	margin: 20px 0 0;
	font-size: 1.4rem;
}

.footer dd {
	font-weight: bold;
	font-size: 1.8rem;
}

.footer dd p {
	font-weight: bold;
	font-size: 1.4rem;
}

.footer .tel img {
	width: 25px;
	margin-right: 6px;
	vertical-align: -3px;
}

.footer .mail img {
	width: 300px;
}

.company {
	background-color: #fff;
	color: #333;
	text-align: center;
	padding: 10px 0;
}

.company img {
	height: 50px;
}

.company div {
	width: 540px;
	margin: 0 auto;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}

@media screen and (max-width: 1400px) {
	.footer .contentWidth {
		padding: 160px 0 40px;

	}
}


@media screen and (max-width: 768px) {
	.footer {
		margin: -2px auto 0;
		padding: 0;
		background: url(/content/mission-program/images/bg_wave03.webp) no-repeat top center, #00357a;
		background-size: contain;
		-webkit-box-shadow: none;
		box-shadow: none;
		color: #fff;
		font-size: 1.2rem;
	}

	.footer .contentWidth {
		padding: 60px 0 40px;

	}

	.footer figure {
		margin: 50px auto 20px;
		width: 300px;
	}

	.footer dl {}

	.footer dt {
		margin: 20px 0 0;
		font-size: 1.2rem;
	}

	.footer dd {
		font-weight: bold;
		font-size: 1.8rem;
	}

	.footer dd p {
		font-weight: bold;
		font-size: 1.2rem;
	}

	.footer .tel img {
		width: 25px;
		margin-right: 6px;
		vertical-align: -3px;
	}

	.footer .mail img {
		width: 300px;
	}

	.company {
		background-color: #fff;
		color: #333;
		text-align: center;
		padding: 10px 0;
	}

	.company img {
		height: 30px;
	}

	.company div {
		width: 320px;
		margin: 0 auto;
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
	}


}


/*トップに戻るフローティング*/

.js-backToTop {
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	right: 16px;
	bottom: 20px;
	width: 58px;
	height: 58px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #00357a;
	background: #fff;
	border: 2px solid #405287;
	border-radius: 50%;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}

.js-backToTop img {
	width: 15px;
	height: 8px;
}

/* クラス付与時の指定 */
.is-active {
	opacity: 1;
	visibility: visible;
}

.js-backToTop.is-bottom {
	bottom: 50px;
}