@charset "UTF-8";

/*---------------------

MISSION MAP

-----------------------*/
.mission-wrap{
}
.mission-pc{
	display: none;
}
.mission-sp{
	display: block;
}
.mission-sp h2{	
	background: url(../img/mission-note-bg.png) no-repeat left top;
}
.mission-sp h2 img{
	display: block;
	width: 34rem;
	margin: 0 auto;	
}
/* 背景色指定 SP -- */
.mission-sp-bgcol{
	background: #e2f3fc;
	padding: 0 0 5rem;
}
.mission-sp-bgcol > p{
	padding: 2rem 0;
	text-align: center;
	font-style: italic;
	font-size: 2.1rem;
	font-weight: bold;		
}
.mission-sp-bgcol figure{
	margin: 0 0 2rem;
}

/* スライダー内 SP
----------------------------*/
.sliderArea{
	padding: 3rem 0 0;
}
.mission-sp article{
	padding: 3rem 1.5rem 0;
	border: 2px solid var(--bl);
	background: #fff;
	position: relative;
}
.mission-sp article h3{
	width: 100%;
	position: absolute;
	top: -20px;
	left: 0;
}
.mission-sp article h3 img{
	display: block;
	width: 14.2rem;
	margin: 0 auto;
}
.mission-sp article h3 + p{
	height: 7rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
}
.mission-sp article h3 + p span{
	padding: 0 0.2rem;
	font-size: 1.8rem;
	color: var(--bl);
}


/* 各調整 SP ------------ */
.mission-sp article.mission-01 h3 + p{
	padding: 1rem 0 0;
}
.mission-sp article.mission-03 strong{
	font-size: 2.2rem;
	font-weight: 600;
}
.mission-sp article.mission-04 h3 + p {
	letter-spacing: 0.025em;
	font-size: 1.5rem;
}
.mission-sp article.mission-04 h3 + p span{
	display: block;
	font-style: italic;
}

/*----------------------------------------------------
MISSION MAP SP414- 
----------------------------------------------------*/
@media screen and (min-width:414px) {
	
	/* 各調整 SP414 ------------ */	
	.mission-sp article h3 + p{
		font-size: 1.8rem;
	}
	.mission-sp article h3 + p span{
		font-size: 2rem;
	}
	.mission-sp article.mission-04 h3 + p {
		letter-spacing: 0.05em;
		font-size: 1.6rem;
	}

}

/*----------------------------------------------------
MISSION MAP SP560- 
----------------------------------------------------*/
@media screen and (min-width:560px) {

	.mission-sp article{
		padding: 4rem 3rem 0;
	}
	.mission-sp article h3 img{
		width: 20rem;
	}
	.mission-sp article h3 + p{
		height: 9rem;
		font-size: 2.1rem;
	}
	.mission-sp article h3 + p span{
		font-size: 2.4rem;
	}

	/* 各調整 SP560 ---------- */
	.mission-sp article.mission-01 h3 + p{
		padding: 2rem 0 0;
	}
	.mission-sp article.mission-03 strong{
		font-size: 2.6rem;
	}
	.mission-sp article.mission-04 h3 + p {
		font-size: 2rem;
	}

}


/*----------------------------------------------------
MISSION MAP TB750- 
----------------------------------------------------*/
@media screen and (min-width:750px) {

	/* スライダー内 750
	----------------------------*/
	.mission-sp article{
		padding: 5rem 4rem 0;
	}
	.mission-sp article h3 img{
		width: 20rem;
	}
	.mission-sp article h3 + p{
		height: 10rem;
		font-size: 2.4rem;
	}
	.mission-sp article h3 + p span{
		font-size: 2.8rem;
	}

	/* 各調整 750 ----------*/
	.mission-sp article.mission-03 strong{
		font-size: 3rem;
	}

}

/*----------------------------------------------------
MISSION MAP 1000- 
----------------------------------------------------*/
@media screen and (min-width:1000px) {

	.mission-sp{
		display: none;
	}
	.mission-pc{
		display: block;		
	}
	.mission-pc h2{	
		display: flex;
		justify-content: center;
		background: url(../img/mission-note-bg.png) no-repeat left top;
	}
	.mission-pc h2 span{
		display: block;
	}
	.mission-pc h2 span:first-child{
		width: 42rem;
	}
	.mission-pc h2 span:last-child{
		font-style: italic;
		font-size: 3rem;
		font-weight: bold;
	}
	.mission-pc-map{
		padding: 20rem 0 15rem;
		background: #e2f3fc;
	}
	.mission-pc-content{
		max-width: 160rem;
		margin: 0 auto;
		position: relative;
	}
	.mission-pc-content p.mission-point1{
		width: 30%;/*24rem - 48rem*/
		position: absolute;
		top: -10%;
		right: 0%;
		z-index: 10;
	}	
	.mission-pc-content p.mission-point2{
		width: 30%;/*25rem-49rem*/
		position: absolute;
		top: -39%;
		left: 35%;
		z-index: 10;
	}	
	.mission-pc-content p.mission-point3{
		width: 33%;/*27rem-54rem*/
		position: absolute;
		top: -23%;
		left: -1rem;
		z-index: 10;
	}	
	.mission-pc-content p.mission-point4{
		width: 40%;/*32rem-64rem*/
		position: absolute;
		bottom: -16%;
		left: 1%;
		z-index: 10;
	}	
	.mission-pc-content p.mission-point5{
	width: 33%;/*26.5rem-53rem*/
		position: absolute;
		bottom: -27%;
		right: 9%;
		z-index: 10;
	}	

}

/*----------------------------------------------------
MISSION MAP 1200- 
----------------------------------------------------*/
@media screen and (min-width:1200px) {

	.mission-pc-map{
		padding: 28rem 0 22rem;
	}

}


/*----------------------------------------------------
MISSION MAP 1400- 
----------------------------------------------------*/
@media screen and (min-width:1400px) {

	.mission-pc h2 span:first-child{
		width: 52rem;
	}
	.mission-pc h2 span:last-child{
		font-size: 4.8rem;
	}
	.mission-pc-map{
		padding: 32rem 0 26rem;
	}

}

/*----------------------------------------------------
MISSION MAP 1600- 
----------------------------------------------------*/
@media screen and (min-width:1600px) {

	.mission-pc-map{
		padding: 35rem 0 26rem;
	}

}

/*---------------------------------------------

★ALL INCLUSIVE / SAFETY BRIEFING

----------------------------------------------*/
.inc-safety-wrap{
	padding: 5rem 0;
	color: #f5f5f5;
	background: var(--bk)url(../img/safety-bgph.png) no-repeat right bottom;
	background-size: 100rem;
}

@media screen and (min-width:1000px) {
	.inc-safety-wrap{
		padding: 10rem 0;
		background: var(--bk)url(../img/safety-bgph.png) no-repeat right bottom;
		background-size: 140rem;
	}
}
@media screen and (min-width:1400px) {
	.inc-safety-wrap{
		background: var(--bk)url(../img/safety-bgph.png) no-repeat right bottom;
		background-size: auto;
	}
}

/*----------------------------------------

ALL INCLUSIVE SP-TB 

------------------------------------------*/
.inclusive-wrap h2{
	width: 34rem;
	margin: 0 auto;
}
.inclusive-wrap h2 + p{
	text-align: center;
	padding: 3rem 0 1rem;
	font-size: 2.1rem;
	font-weight: bold;
	color: #fff;	
}
/* 内容 SP ----- */
.inclusive-pc{
	display: none;
}
.inclusive-sp{
	display: block;
	padding: 0 0 5rem;
}

/*----------------------------------------
ALL INCLUSIVE 1000- 
------------------------------------------*/
@media screen and (min-width:1000px) {

	.inclusive-wrap h2{
		width: 52rem;
	}
	.inclusive-wrap h2 + p{
		padding: 3rem 0 6rem;
		font-size: 3rem;
	}
	.inclusive-sp{
		display: none;
	}
	.inclusive-pc {
		display: block;
		max-width: 160rem;
		height: 380px;
		margin: 0 auto;
		position: relative;
	}
	.inclusive-pc div:first-child{
		width: 25%;
		position: absolute;
		top: 0;
		left: 3%;
	}
	.inclusive-pc div:nth-child(2){
		width: 25%;
		position: absolute;
		top: 0;
		left: 26%;
	}
	.inclusive-pc div:nth-child(3){
		width: 25%;
		position: absolute;
		top: 0;
		left: 49%;
	}
	.inclusive-pc div:last-child{
		width: 25%;
		position: absolute;
		top: 0;
		left: 72%;
	}

}

/*----------------------------------------------------
ALL INCLUSIVE 1200- 
----------------------------------------------------*/
@media screen and (min-width:1200px) {
	.inclusive-pc {
		height: 480px;
	}
}

/*----------------------------------------------------
ALL INCLUSIVE 1400- 
----------------------------------------------------*/
@media screen and (min-width:1400px) {
	.inclusive-pc {
		height: 680px;
	}
}



/*---------------------------------------------

SAFETY BRIEFING SP-TB

----------------------------------------------*/
.safety-wrap section{
	max-width: 150rem;
	margin: 0 auto;
	border: none;
	position: static;
}
.safety-wrap h2{
	position: static;
}
.safety-wrap h2 img{
	display: block;
	width: 34rem;
	margin: 0 auto;
}
.safety-wrap h2 + p{
	text-align: center;
	padding: 2rem 0 4rem;
	font-size: 2.1rem;
	font-weight: bold;
	color: #fff;	
}

/* SP flex ------------ */
.safety-flex{
	padding: 0;
}

/* SP アコーディオンメニュー
---------------------------------- */
.safety-box {
	width: auto;
	margin: 0 1.5rem 1rem;
	padding: 0;
	letter-spacing: 0.025em;
	border: 1px solid rgba(238, 238, 238, 0.3);
	color: #f5f5f5;
	background: url(../img/safety-noteimg-sp.png) no-repeat left top;
	overflow: hidden;
}

/* 質問 SP ----------------- */
.safety-q {
	padding: 2rem 1.5rem;
	letter-spacing: 0.025em;
	border-top: none;
	border-bottom: none;
	cursor: pointer;
	font-style: italic;
	font-size: 1.8rem;
	font-weight: bold;
	position: relative;
}
.safety-q span{
	padding: 0 1rem 0 0;
	font-size: 2rem;
	font-weight: 600;
}

/* +（開く） SP-------------------- */
.safety-q::before, 
.safety-q::after {
  content: "";
  display: block;
  background: var(--prd);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.safety-q::before {
  width: 15px;
  height: 3px;
  right: 1.5rem;
}
.safety-q::after {
  width: 3px;
  height: 15px;
  right: 2.1rem;
  opacity: 1;
  transition: .3s;
}
.safety-q.active::after {
  opacity: 0;
}

/* A SP-------------------- */
.safety-a {
  display: none;
  padding: 0 1rem 2rem;
  font-size: 1.6rem;
}
.safety-a > div {
  padding: 1rem 0 0;
  border-top: 1px solid rgba(238, 238, 238, 0.3);
}
.safety-a div dl{
	display: flex;
	align-items: center;
	margin: 0 0 1rem;
	padding: 1.5rem 0;
	background: #000;
}
.safety-a div dl:last-child{
	margin: 0;
}
.safety-a div dl dt{
	width: 7rem;
	padding: 1rem 1.5rem 1rem 1rem;
}
.safety-a div dl dd{
	width: calc(100% - 7rem);
	padding: 0 1.5rem;
	border-left: 1px solid rgba(238, 238, 238, 0.3);
	font-size: 1.4rem;
	font-weight: 400;
}
.safety-a div dl dd h4{
	padding: 0 0 0.5rem;
	font-size: 1.6rem;
	font-weight: 500;
}
.safety-a div dl dd span{
	display: block;
	font-size: 1.2rem;
}

/* iconの大きさ調整 03服装・手荷物について ----  */
.safety-a div.safety03-icon dl dt{
	width: 8rem;
	padding: 1rem 2rem;
}
.safety-a div.safety03-icon dl dd{
	width: calc(100% - 8rem);
}

.safety-a .safety-mov{
	width: 100%;
	aspect-ratio: 16/9;
	padding: 1rem;
	background: #000;
	box-sizing:border-box;
}
.safety-a .safety-mov iframe{
	width:100%;
	height:100%;
	display:block;
	border:0;
}


/*----------------------------------------------------
 safety SP414- 
----------------------------------------------------*/
@media screen and (min-width:414px) {

	/* 質問 SP ----------------- */
	.safety-q {
		padding: 2rem;
	}
	.safety-a div dl dt{
		width: 8rem;
	}
	.safety-a div dl dd{
	  width: calc(100% - 8rem);
	}

}

/*----------------------------------------------------
 safety TB750- 
----------------------------------------------------*/
@media screen and (min-width:750px) {

	/* TB flex ------------ */
	.safety-flex{
		padding: 0 5rem;
	}

}

/*----------------------------------------------------
 safety PC1000- 
----------------------------------------------------*/
@media screen and (min-width:1000px) {

	/* 1000 flex ------------ */
	.safety-flex{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 0 1.5rem;
	}
	.safety-box {
		width: 47%;
		margin: 0 0 5rem;
		padding: 3rem 0 0;
		border: none;
		background: url(../img/safety-noteimg-pc.png) no-repeat 0 2%;
		background-size: 10rem;
		overflow: visible;
	}

	/* 質問 1000 ----------------- */
	.safety-q {
		padding: 1rem 0;
		letter-spacing: 0.05em;
		border-top: 1px solid rgba(238, 238, 238, 0.3);
		border-bottom: 1px solid rgba(238, 238, 238, 0.3);  
		cursor: default;
		position: relative;
	}
	.safety-q span{
		padding: 0 4rem 0 2rem;
		font-size: 2.4rem;
	}


	/* + 日を非表示 1000　--------- */
	.safety-q::before{display: none;}

	/* アイコンに変更 1000　--------- */
	.safety-q.sf-icon-01::after {content: url('../img/safety01-noteicon.svg');}
	.safety-q.sf-icon-02::after {content: url('../img/safety02-noteicon.svg');}
	.safety-q.sf-icon-03::after {content: url('../img/safety03-noteicon.svg');}


	.safety-q.sf-icon-01::after,
	.safety-q.sf-icon-02::after,
	.safety-q.sf-icon-03::after,
	.safety-q.sf-icon-04::after {
		display: block;
		background: transparent;
		position: absolute;
		top: 0%;
		transform: translateY(0%);
	}
	.safety-q.sf-icon-01::after,
	.safety-q.sf-icon-02::after,
	.safety-q.sf-icon-03::after,
	.safety-q.sf-icon-04::after {
		height: auto;		
		right: 4%;
		transition: .0s;
	}
	.safety-q.sf-icon-01::after{
		width: 3rem;
		top: 24%;
	}
	.safety-q.sf-icon-02::after{
		width: 6rem;
		top: 30%;
	}
	.safety-q.sf-icon-03::after{
		width: 3rem;
		top: 31%;
	}
	.safety-q.sf-icon-04::after {
		content: "";
		width: 6rem;
		height: 4rem;
		background-image: url(../img/safety04-noteicon.png);
		background-repeat: no-repeat;
		background-size: contain;
		vertical-align: middle;
		top: 25%;
		right: 4%;
	}


}

/*----------------------------------------------------
 safety PC1400- 
----------------------------------------------------*/
@media screen and (min-width:1400px) {

	.safety-wrap{
		padding: 0 1.5rem;
	}
	.safety-wrap section{
		padding: 7rem 4rem; /*7rem 8rem*/
		border: 1px solid rgba(238, 238, 238, 0.3);
		border-radius: 3rem;
		position: relative;
	}
	.safety-wrap h2{
		width: 100%;
		position: absolute;
		top: -4%;
		left: 0;
	}
	.safety-wrap h2 img{
		width: 52rem;
	}
	.safety-wrap h2 + p{
		padding: 2rem 0 6rem;
		font-size: 3rem;
	}

	/* 1400 flex ------------ */
	.safety-box {
		background: url(../img/safety-noteimg-pc.png) no-repeat -2% 2%;
		background-size: auto;
	}


	/* 質問 1400 ----------------- */
	.safety-q {
		padding: 1.5rem 0;
		font-size: 2.4rem;
	}
	.safety-q span{
		padding: 0 5rem 0 4rem;
		font-size: 3.6rem;
	}

	/* + 日を非表示 1400　--------- */
	.safety-q.sf-icon-01::after{
		width: 4rem;
		top: 24%;
	}
	.safety-q.sf-icon-02::after{
		width: 8rem;
		top: 25%;
	}
	.safety-q.sf-icon-03::after{
		width: 4rem;
		top: 31%;
	}
	.safety-q.sf-icon-04::after {
		width: 8rem;
		height: 6rem;
	}


	/* A 1000-------------------- */
	.safety-a {
		display: block;
		padding: 2rem 0 0;
		font-size: 1.6rem;
		cursor: default;
		position: relative;
	}
	.safety-a div {
		padding: 1rem 0 0;
		border-top: none;
	}
	.safety-a div dl{
		margin: 0 0 0.5rem;
	}
	.safety-a div dl dt{
		width: 14rem;
		padding: 1rem 4.6rem;
	}
	.safety-a div dl dd{
		width: calc(100% - 14rem);
		padding: 0 4rem;
		font-size: 1.6rem;
	}
	.safety-a div dl dd h4{
		padding: 0 0 1rem;
		font-size: 1.8rem;
	}
	.safety-a div dl dd span{
		font-size: 1.4rem;
	}

	/* iconの大きさ調整 03服装・手荷物について ----  */
	.safety-a div.safety03-icon dl dt{
		width: 14rem;
		padding: 1rem 5rem;
	}
	.safety-a div.safety03-icon dl dd{
		width: calc(100% - 14rem);
	}

}


/*----------------------------------------------------
 safety PC1400- 
----------------------------------------------------*/
@media screen and (min-width:1600px) {
	
	.safety-wrap{
		padding: 0;
	}
	.safety-wrap section{
		padding: 7rem;
	}
	.safety-q {
		font-size: 2.8rem;
	}

}