@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 {
	text-align: center;
	width: 100%;
	height: 56px;
	background-color: #00357a;
	padding: 4px 0;
}

.headerWrapper {
	margin: 0 auto;
	max-width: 1400px;
	padding: 5px 20px;
	text-align: center;

}

.missionLogo a {
	display: inline-block;
	width: 150px;
	height: auto;
	margin: 0 auto;
}



@media screen and (max-width: 768px) {

	.l-header {
		padding: 4px;
		width: 100%;
		height: 48px;
		align-items: center;
	}

	.l-header img {
		vertical-align: middle;
	}

	.headerWrapper {
		padding: 0;
	}

	.missionLogo a {
		display: inline-block;
		width: 124px;
		height: auto;
	}


}



.leadArea {
	padding: 1px;
	background-color: #00357a;
	height: 1px;
}

.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: 640px;
	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: 30px 0 40px;
	text-align: center;
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	.contentWidth {
		padding: 20px 10px 30px;
		width: 100%;

	}

}





@media screen and (max-width: 768px) {
	.leadArea {
		padding: 1;
		line-height: 1.6;
		height: 1px;
	}

	.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: 10px;
	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: 10px;
		right: 16px;

	}
}


@keyframes fadeDownAnime {
	from {
		opacity: 0;
		transform: translateY(-100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/*========= ナビのためのCSS ===============*/

/*==ナビの形状*/
#menu {
	height: 1px;
	text-align: center;
	padding: 0;
	display: none;
}

/*.doneクラスがついたナビ*/
#menu.dnone {
	opacity: 1;
	/*透過0にして非表示に*/
	transition: all 0.4s;
	display: block;
}

/*メニューボタンをクリックした際に付与される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: 1px;


	}

	.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;
}*/




/*tour  */

.tour {
	color: #333;
	background-color: #f6f8ef;
}



.tourHeader {
	text-align: left;
	max-width: 640px;
	margin: 0 auto;
}

.pair {
	padding: 4px 10px 2px;
	margin-bottom: 10px;
	display: inline-block;
	color: #fff;
	background-color: #cc0000;
	border-radius: 10px;
	font-size: 1.6rem;
	font-weight: bold;
}

.tour h1 {
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
}

.tour h1+p {
	text-align: center;
	font-size: 1.2rem;
	margin-bottom: 10px;
	text-align: center;
}

.tour figure {
	max-width: 640px;
	margin: 0 auto 80px;
	padding: 10px 10px 0px;
	background-color: #fff;

}

.tour figcaption {
	text-align: right;
	font-size: 1.2rem;
}

.flexWrapper {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

.flexInner {
	width: 48%;
	position: relative;
}


.tourDetail {
	width: 48%;
	line-height: 1.2;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: left;
	padding: 0 0 0 26px;
}

.tourDetail li {
	position: relative;
	margin-bottom: 10px;

}

.tourDetail li span {
	display: inline;
	font-size: 1.2rem;
	font-weight: normal;
}

.tourDetail li span.smallTxt {
	display: inline;
	font-size: 2.0rem;
	font-weight: bold;
}



li.departure::before {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url(/content/mission-program/images/icon_air.png) no-repeat;
	background-size: contain;
	top: 0;
	left: -22px;
}


li.stay::before {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url(/content/mission-program/images/icon_calender.png) no-repeat;
	background-size: contain;
	top: 0;
	left: -22px;
}

li.hotel::before {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url(/content/mission-program/images/icon_hotel.png) no-repeat;
	background-size: contain;
	top: 0;
	left: -22px;
}

li.meals::before {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url(/content/mission-program/images/icon_meals.png) no-repeat;
	background-size: contain;
	top: 0;
	left: -22px;
}

li.conductor::before {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url(/content/mission-program/images/icon_flag.png) no-repeat;
	background-size: contain;
	top: 0;
	left: -22px;
}

li.minPax::before {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url(/content/mission-program/images/icon_person.png) no-repeat;
	background-size: contain;
	top: 0;
	left: -22px;
}


/* li.fee::before {
	position: absolute;
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url(/content/mission-program/images/icon_yen.png) no-repeat;
	background-size: contain;
	bottom: 34px;
	left: -22px;
} */

li.fee {
	margin-top: 10px;
	line-height: 1.2;
}

.tourDetail li.fee span.red {
	color: #cc0000;
	font-size: 3.6rem;
	font-weight: bold;
}


.pairCpWrapper {
	background-color: #fff;
	padding: 30px;
	text-align: left;
	font-size: 1.2rem;
	position: relative;
	top: 16px;
}

.pairFee {
	position: relative;
	padding: 0 0 20px 130px;
}

.pairFee::before {
	position: absolute;
	display: block;
	content: "";
	width: 80px;
	height: 80px;
	background: url(/content/mission-program/images/icon_pair02.png) no-repeat center center;
	background-size: contain;
	top: 0;
	left: 20px;
}


.pairCpWrapper h2 {
	position: absolute;
	padding: 4px 10px;
	display: inline-block;
	color: #fff;
	font-weight: bold;
	background-color: #cc0000;
	border-radius: 10px;
	top: -16px;
	left: 20px;
}

.pairCpWrapper .fee {
	font-weight: bold;
	font-size: 2.6rem;
	display: inline-block;
}

.pairCpWrapper span.smallTxt {
	font-size: 2.0rem;
}

.pairCpWrapper span.red {
	color: #cc0000;
	font-size: 2.6rem;
}

.pairCpWrapper .notice {
	display: inline-block;
	font-size: 1.2rem;
}


.pairCpWrapper ul {
	margin-top: 6px;
	font-size: 1.2rem;
}

.pairCpWrapper li {
	text-indent: -1em;
	margin-left: 1em;
}


.pairCpWrapper a {
	text-decoration: underline;
}

.deadline {
	color: #cc0000;
	font-weight: bold;
	font-size: 2.0rem;
	margin-bottom: 10px;
}

.applyBtn a {
	line-height: 1.2;
	display: inline-block;
	color: #fff;
	font-weight: bold;
	font-size: 2.4rem;
	padding: 20px 80px;
	border-radius: 50px;
	background: #00357a;
}

.appeal {
	background-color: #f6f8ef;
}


.appeal h2 {
	display: inline-block;
	color: #333;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 30px;
}

.pointDetail {
	display: flex;
	flex-flow: row;
	justify-content: space-between;
	margin-bottom: 80px;
}

.pointDetail li {
	width: calc(98%/3);
	background-color: #fff;
}

.point h3 {
	height: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #ffefac;
	padding: 5px 0;
	font-weight: bold;
	font-size: 1.8rem;
	margin-bottom: 10px;
}

.point p {
	padding: 10px 20px 20px;
	text-align: left;
	font-size: 1.4rem;
}

.schedule {
	margin-bottom: 80px;
}

.schedule figure {
	width: 100%;
	margin: 0 auto;
}


.checkDetail {
	display: flex;
	flex-flow: row;
	justify-content: space-between;
	margin-bottom: 30px;
}

.checkDetail li {
	width: 48%;
	margin-bottom: 40px;


}

.checkDetail li a {
	display: block;

}

.check {
	margin-bottom: 40px;
}


.checkDetail h4 {
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 10px;
}

.flyer,
.youtube {
	padding: 10px;
	background-color: #fff;

}

.flyer img,
.youtube img {
	height: 347px;
}



.youtube 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%);
}

@media screen and (max-width: 768px) {
	.tour {
		color: #333;
		background-color: #f6f8ef;
	}



	.tourHeader {
		text-align: left;
	}

	.pair {
		padding: 3px 10px 2px;
		margin-bottom: 10px;
		display: inline-block;
		color: #fff;
		background-color: #cc0000;
		border-radius: 10px;
		font-size: 1.2rem;
		font-weight: bold;
	}

	.tour h1 {
		font-size: 2.2rem;
		font-weight: bold;
		text-align: center;
	}

	.tour h1+p {
		text-align: center;
		font-size: 1.2rem;
		margin-bottom: 10px;
		text-align: center;
	}

	.tour figure {
		max-width: 640px;
		margin: 0 auto 40px;
		padding: 10px 10px 0px;
		background-color: #fff;

	}

	.tour figcaption {
		text-align: right;
		font-size: 1.2rem;
	}

	.flexWrapper {
		display: flex;
		flex-flow: column;

	}

	.flexInner {
		width: 100%;
	}


	.tourDetail {
		width: 100%;
		line-height: 1.4;
		font-size: 1.4rem;
		text-align: left;
		padding: 0 0 40px 20px;
	}

	.tourDetail li {
		position: relative;
		margin-bottom: 6px;
	}

	.tourDetail li span {
		display: inline;
		font-size: 1.0rem;
	}

	.tourDetail li span.smallTxt {
		display: inline;
		font-size: 1.4rem;
		font-weight: bold;
	}


	li.departure::before {
		position: absolute;
		content: "";
		display: block;
		width: 18px;
		height: 18px;
		background: url(/content/mission-program/images/icon_air.png) no-repeat;
		background-size: contain;
		top: 0;
		left: -22px;
	}


	li.stay::before {
		position: absolute;
		content: "";
		display: block;
		width: 18px;
		height: 18px;
		background: url(/content/mission-program/images/icon_calender.png) no-repeat;
		background-size: contain;
		top: 0;
		left: -22px;
	}

	li.hotel::before {
		position: absolute;
		content: "";
		display: block;
		width: 18px;
		height: 18px;
		background: url(/content/mission-program/images/icon_hotel.png) no-repeat;
		background-size: contain;
		top: 0;
		left: -22px;
	}

	li.meals::before {
		position: absolute;
		content: "";
		display: block;
		width: 18px;
		height: 18px;
		background: url(/content/mission-program/images/icon_meals.png) no-repeat;
		background-size: contain;
		top: 0;
		left: -22px;
	}

	li.conductor::before {
		position: absolute;
		content: "";
		display: block;
		width: 18px;
		height: 18px;
		background: url(/content/mission-program/images/icon_flag.png) no-repeat;
		background-size: contain;
		top: 0;
		left: -22px;
	}

	li.minPax::before {
		position: absolute;
		content: "";
		display: block;
		width: 18px;
		height: 18px;
		background: url(/content/mission-program/images/icon_person.png) no-repeat;
		background-size: contain;
		top: 0;
		left: -22px;
	}


	/* li.fee::before {
		position: absolute;
		content: "";
		display: block;
		width: 18px;
		height: 18px;
		background: url(/content/mission-program/images/icon_yen.png) no-repeat;
		background-size: contain;
		bottom: 30px;
		left: -22px;
	} */

	li.fee {
		margin-top: 10px;
		line-height: 1.4;
	}

	.tourDetail li.fee span.red {
		color: #cc0000;
		font-size: 2.6rem;
		font-weight: bold;
	}

	.pairCpWrapper {
		background-color: #fff;
		padding: 10px;
		text-align: left;
		font-size: 1.2rem;
		position: relative;
		top: 0;
	}

	.pairFee {
		position: relative;
		padding: 10px 0 10px 90px;
	}

	.pairFee::before {
		position: absolute;
		display: block;
		content: "";
		width: 60px;
		height: 60px;
		background: url(/content/mission-program/images/icon_pair02.png) no-repeat center center;
		background-size: contain;
		top: 20px;
		left: 10px;
	}


	.pairCpWrapper h2 {
		position: absolute;
		padding: 4px 10px;
		display: inline-block;
		color: #fff;
		font-weight: bold;
		background-color: #cc0000;
		border-radius: 10px;
		top: -20px;
		left: 20px;
	}

	.pairCpWrapper .fee {
		font-weight: bold;
		font-size: 2.0rem;
		line-height: 1.4;
		display: inline-block;
	}

	.pairCpWrapper span.smallTxt {
		font-size: 1.2rem;
	}

	.pairCpWrapper span.red {
		color: #cc0000;
		font-size: 2.0rem;
	}

	.pairCpWrapper .notice {
		display: inline-block;
		font-size: 1.0rem;
	}


	.pairCpWrapper ul {
		margin-top: 6px;
		font-size: 1.0rem;
		text-align: left;
	}

	.pairCpWrapper li {
		text-indent: -1em;
		margin-left: 1em;
	}

	.pairCpWrapper a {
		text-decoration: underline;
	}

	.deadline {
		color: #cc0000;
		font-weight: bold;
		font-size: 1.6rem;
		margin-bottom: 10px;
	}

	.applyBtn a {
		line-height: 1.2;
		display: inline-block;
		color: #fff;
		font-weight: bold;
		font-size: 1.6rem;
		padding: 20px 40px;
		border-radius: 50px;
		background: #00357a;
	}


	.appeal {
		background-color: #f6f8ef;
	}

	.appeal h2 {
		display: inline-block;
		color: #333;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 30px;
	}


	.pointDetail {
		display: flex;
		flex-flow: column;
		margin-bottom: 0;
	}

	.pointDetail li {
		width: 100%;
		margin-bottom: 20px;
	}

	.pointDetail li:last-child {
		margin-bottom: 0;

	}


	.point h3 {
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #ffefac;
		padding: 5px 0;
		font-weight: bold;
		font-size: 1.4rem;
		margin-bottom: 10px;
	}

	.point {
		margin-bottom: 60px;
	}

	.point p {
		text-align: left;
		padding: 0 10px 20px;
		font-size: 1.4rem;
	}

	.schedule {
		margin-bottom: 60px;
	}

	.scroll {
		position: relative;
		font-size: 1.2rem;
		display: inline-block;
	}

	.scroll::before {
		position: absolute;
		content: "▼";
		width: 1em;
		height: 1em;
		display: block;
		margin: auto;
		top: 0;
		bottom: 0;
		left: -1.2em;
		transform: rotate(90deg);
	}

	.scroll::after {
		position: absolute;
		content: "▼";
		width: 1em;
		height: 1em;
		display: block;
		margin: auto;
		top: 0;
		bottom: 0;
		right: -1.2em;
		transform: rotate(-90deg);
	}

	.schedule figure {
		margin: 0 auto;
		overflow: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		/* iOSで滑らかなスクロール */
		max-height: 500px;
		width: 100%;
		z-index: -1;

	}

	.schedule figure img {
		max-width: 700px;

	}


	.check {
		margin-bottom: 30px;
	}

	.checkDetail {
		display: flex;
		flex-flow: column;
	}

	.checkDetail li {
		width: 100%;
		padding: 0 0 40px;
	}

	.checkDetail li:last-child {
		padding: 0;
	}


	.checkDetail {
		padding: 0;
	}

	.checkDetail li a {
		display: block;
	}

	.checkDetail h4 {
		font-size: 1.6rem;
		font-weight: bold;
		margin-bottom: 10px;
	}

	.flyer,
	.youtube {
		padding: 10px;
		background-color: #fff;

	}

	.flyer img {
		max-height: 300px;
	}

	.youtube img {
		width: 100%;
		height: auto;
	}



	.youtube 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%);
	}


}








.footer {
	margin: -2px auto 0;
	padding: 0;
	background: #00357a;
	color: #fff;
	font-size: 1.4rem;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.footer figure {
	margin: 20px 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: 768px) {
	.footer {
		margin: -2px auto 0;
		padding: 0;
		color: #fff;
		font-size: 1.2rem;
	}

	.footer figure {
		margin: 0 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;
	}


}



.others {
	background: #00357a;
}

.others .contentWidth {
	max-width: 1166px;
	padding: 80px 0 0;
}

.others h3 {
	display: inline-block;
	color: #fff;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 2px solid #b59840;
	padding-bottom: 6px;
	margin-bottom: 10px;
}

.others h3+p {
	text-align: center;
	color: #fff;
	font-size: 2.6rem;
	margin-bottom: 30px;
}


@media screen and (max-width: 768px) {
	.others {
		background: #00357a;
	}

	.others .contentWidth {
		max-width: 1166px;
		padding: 60px 0 20px;
	}

	.others h3 {
		display: inline-block;
		color: #fff;
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 1.2;
		border-bottom: 2px solid #b59840;
		padding-bottom: 6px;
		margin-bottom: 10px;
	}

	.others h3+p {
		text-align: center;
		color: #fff;
		font-size: 1.6rem;
		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 a {
	position: relative;
	display: block;
	border-radius: 50px;
	padding: 2px 40px 2px 10px;
	color: #333;
}

.tourBtn a::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;
}


/*トップに戻るフローティング*/

.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;
}