@charset "utf-8";
/* ****************************************************
Title: layout.css
***************************************************** */
/***************
VELTRA-共通フォント設定
***************/
.fsLarge {
  font-size: 17px !important;
}
.ftSmall {
  font-size: 15px !important;
}
.ftCopy {
  font-size: 10px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
.ftBodyL {
  font-size: 17px !important;
  line-height: 1.9 !important;
}
.ftBodyM {
  font-size: 16px !important;
  line-height: 1.9 !important;
}
.ftBodyS {
  font-size: 15px !important;
  line-height: 1.75 !important;
}
.ftCapL {
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.ftCapM {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.ftCapS {
  font-size: 12px !important;
  line-height: 1.5 !important;
}
.ftLiTitL {
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
.ftLiTitM {
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
.ftLiTitS {
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
.ftLiDescM {
  font-size: 14px !important;
  line-height: 1.35 !important;
}
.ftLiDescS {
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.fontMontserrat {
  font-family: Montserrat-VF;
  line-height: 1.2em;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.fontMontserrat.none {
  text-transform: none;
}

/* pc時bodyM-sp時bodyS */
.ftBodyM-spS {
	font-size: 16px !important;
	line-height: 1.9 !important;
 }
 @media screen and (max-width:569px) {
	.ftBodyM-spS {
		font-size: 15px !important;
		line-height: 1.75 !important;
		letter-spacing: 0.01em !important;
	 }
}
/* pc時bodyL-sp時bodyM */
.ftBodyL-spM {
	font-size: 17px !important;
	line-height: 1.9 !important;
 }
 @media screen and (max-width:569px) {
	.ftBodyL-spM {
		font-size: 16px !important;
		line-height: 1.9 !important;
		letter-spacing: 0.01em !important;
	 }
}
 /******************************************************************
今回のコース固有のFMT
*******************************************************************/
/* 指定フォント */



/* 観光局・航空会社カラー */
:root {
	--Saudi-purple-p: #BE008D;
	--Saudi-purple-s: #78006E;
	--Saudi-orange-p: #FF8300;
	--Saudi-orange-s: #FF5600;
	--Saudi-red-p: #FF424C;
	--Saudi-red-p-a20: #FFDADB;
	--Saudi-red-p-a15: #FFE3E4;
	--Saudi-red-s: #BE0000;
}

/* --------------------------------------------------------------------
 body
-------------------------------------------------------------------- */
body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	letter-spacing: 0.01em;
	line-height: 1.90;
	font-weight: 500;
	text-align: center;
  text-size-adjust: 100%;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  max-height: 999999px;
  -webkit-font-smoothing: antialiased;
}
#top {
  overflow: hidden;
}
#wrap {
  margin: 0 auto;
  padding: 0;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
a {
  display: inline-block;
}
a:link {
	text-decoration: none;
}
.relative-wrap {
  position: relative;
}
p, span, dt, dd, th, td, li, h1, h2, h3, h4 {
  max-height: 999999px;
  background-image: url(../img/spacer.gif);
}
.r-50 {
  border-radius: 50%;
}
.r-9 {
  border-radius: 9px;
}
.r-18 {
  border-radius: 18px;
}
.r-24 {
	border-radius: 24px;
}
.r-36 {
	border-radius: 36px;
}
/*-----------------------*/
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
.pcBr {
  display: inline !important;
}
.pcTabletBr {
	display: inline !important;
}
.spBr {
  display: none !important;
}
.pcTable {
  display: table !important;
}
.spTable {
  display: none !important;
}
.tabletBr {
  display: none !important;
}
.spTabletBr {
	display: none !important;
}
/*-----------------------*/
.t-align-L {
	text-align: left;
}

/*タブレット*/
@media screen and (min-width:570px) and (max-width:959px) {
	.pcBr {
		display: none !important;
	}
	.pcTabletBr {
		display: inline !important;
	}
  .tabletBr {
    display: inline !important;
  }
  .spTabletBr {
	display: inline !important;
}
}
/*スマートフォン*/
@media screen and (max-width:569px) {
  /*デバイスwidth、～799px用のスタイルを記入*/
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .pcBr {
    display: none !important;
  }
  .spBr {
    display: inline !important;
  }
  .pcTabletBr {
	display: none !important;
}
  .pcTable {
    display: none !important;
  }
  .spTable {
    display: table !important;
  }
  .tabletBr {
    display: none !important;
  }
  .spTabletBr {
	display: inline!important;
}
}
/* --------------------------------------------------------------------
スクロール時フェードで出現
-------------------------------------------------------------------- */
.fadeIn {
	opacity: 0;
	animation-duration: 1.0s;
	animation-delay: 0s;
	-webkit-animation-delay: 0s;
	animation-name: fadeIn;
	animation-fill-mode: both;
}
@keyframes fadeIn {
	from {opacity: 0;}
	to {opacity: 1;}
}
.inviewfadeIn {
	opacity: 0;
	transition-duration: 1.0s;
}

/* lazyLoad画像のフェードイン処理 */
img.lazyload {
	opacity: 0;
}
img.lazyloaded {
	animation: fadeIn 1s forwards;
}


/*---------------------
コンテンツ枠組FMT
---------------------*/
.contIn1224 {
	box-sizing: border-box;
	max-width: 1296px;
	margin: 0 auto;
	position: relative;
	padding: 0 36px;
  }
.contIn1476 {
	box-sizing: border-box;
	max-width: 1536px;
	margin: 0 auto;
	position: relative;
	padding: 0 30px;
  }

@media screen and (max-width:959px) and (min-width:570px) {
	.contIn1224 {
		padding: 0 30px;
	  }
}
@media screen and (max-width:569px) {
	.contIn1224 {
		padding: 0 30px;
	}
}
/*---------------------
spacing
---------------------*/
.mgt-quart {margin-top: 9px!important;}
.mgt-half {margin-top: 18px!important;}
.mgt-single {margin-top: 36px!important;}
.mgt-double {margin-top: 72px!important;}
.mgt-triple {margin-top: 108px!important;}
.mgt-quad {margin-top: 144px!important;}

.mgt-single-half {margin-top: 36px!important;}

.pdt-144-72 { padding-top: 144px;}
.pdt-108-72-72 { padding-top: 108px;}
.pdt-108-72-36 {padding-top: 108px;}
.pdt-108 {padding-top: 108px;}
.pdt-72-36 {padding-top: 72px;}
.pdt-72 {padding-top: 72px;}

.pdb-144-72-72 { padding-bottom: 144px;}
.pdb-108-72-72 {padding-bottom: 108px;}
.pdb-108-72-36 {padding-bottom: 108px;}
.pdb-72-54 {padding-bottom: 72px;}
.pdb-72-36 {padding-bottom: 72px;}
.pdb-72 {padding-bottom: 72px;}
.pdb-36 {padding-bottom: 36px;}

@media screen and (max-width:959px) and (min-width:570px) {
	.pdt-108-72-72 {padding-top: 72px;}
	.pdt-108-72-36 {padding-top: 72px;}

	.pdb-144-72-72 {padding-bottom: 72px;}
	.pdb-108-72-72 {padding-bottom: 72px;}
	.pdb-108-72-36 {padding-bottom: 72px;}
}
@media screen and (max-width:569px) {
	.pdt-144-72 {padding-top: 72px;}
	.pdt-108-72-72 {padding-top: 72px;}
	.pdt-108-72-36 {padding-top: 36px;}
	.pdt-72-36 {padding-top: 36px;}

	.pdb-144-72-72 {padding-bottom: 72px;}
	.pdb-108-72-72 {padding-bottom: 72px;}
	.pdb-108-72-36 {padding-bottom: 36px;}
	.pdb-72-54 {padding-bottom: 54px;}
	.pdb-72-36 {padding-bottom: 36px;}

	.mgt-single-half {margin-top: 18px!important;}

}




/* --------------------------------------------------------------------
追従TOPに戻るボタン
-------------------------------------------------------------------- */
.pagetopButton {
  position: fixed;
  bottom: 22px;
  right: 22px;
  display: none;
}
.pagetopButton:hover {
	opacity: 0.7;
	transition: all 0.3s;
}
.pagetopButton img {
  width: 33px;
  height: auto;
}
/* --------------------------------------------------------------------
追従プレゼントボタン
-------------------------------------------------------------------- */

.presentBtnFixed_wrap {
	position: fixed;
	bottom: 10px;
	right: 70px;
	display: none;
  }
  .presentBtnFixed {
	width: 320px;
	height: 60px;
	line-height: 60px;
	border-radius: 100px;
	margin: auto;
	background-image: url(../img/present_btn02.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.05em;
	color: #FFF;
	text-decoration: none;
	transition: all 0.3s;
  }
  a.presentBtnFixed:link {
	color: #ffffff;
	text-decoration: none;
  }
  a.presentBtnFixed:visited {
	color: #ffffff;
	text-decoration: none;
  }
  a.presentBtnFixed:hover {
	color: #ffffff;
	text-decoration: none;
	opacity: 0.7;
  }
  a.presentBtnFixed:active {
	color: #ffffff;
	text-decoration: none;
  }
  .closeBtn {
	position: absolute;
	top: 0px;
	left: -17px;
	width: 24px;
	height: 24px;
	background-image: url(../img/closeBtn.png);
	background-size: cover;
	cursor: pointer;
	z-index: 999;
  }
  @media screen and (max-width:569px) {
	.presentBtnFixed_wrap {
	  bottom: 22px;
	}
	.presentBtnFixed {
	  width: 176px;
	  height: 33px;
	  line-height: 33px;
	  font-size: 14px;
	}
	.presentBtnFixed span {
	  display: none;
	}
  }

/* --------------------------------------------------------------------
ヘッダー
-------------------------------------------------------------------- */
.headerWrap01 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  transition: all 0.5s;
  pointer-events: none;
}
.headerLogo01 {
  padding: 27px 36px;
  text-align: left;
  opacity: 1;
  transition-duration: 0.3s;
  margin: auto;
  line-height: 1;
}
.headerLogo01 a {
	pointer-events: initial;
}
.headerLogo01 img {
  display: block;
  width: auto;
  height: 28px;
}
.headerWrap02 {
	position: fixed;
	width: 100%;
	height: auto;
	background-color: #FFF;
	z-index: 110;
	top: 0;
	left: 0;
	opacity: 0;
	transform: translateY(-90px);
	transition: all 0.5s;
	box-shadow: 0 2px 24px rgba(0, 0, 0, 0.05);
}

@media screen and (max-width:569px) {
	.headerLogo01 {
	  padding: 18px 18px;
	  text-align: left;
	}
	.headerLogo01 img {
	  height: 26px;
	}
}

/* ヘッダーの出し入れアニメーション */

.DownMove {
	transition: all 0.5s;
	opacity: 1;
	transform: translateY(0);
}
.visitAnc01 {
	transition: all 0.5s;
	opacity: 1;
	transform: translateY(0);
}

/* .anchorClicked {
	transition: all 0.5s;
	opacity: 1;
	transform: translateY(0);
} */

/* --------------------------------------------------------------------
sticky nav
-------------------------------------------------------------------- */
#nav {
	background-color: #FFF;
	padding: 0 18px;
	overflow-x: scroll;
	-ms-overflow-style: none;/*IE(Internet Explorer)・Microsoft Edgeへの対応*/
	scrollbar-width: none;/*Firefoxへの対応*/
	border-top: 1px solid #EEE;
}
#nav::-webkit-scrollbar { /*Google Chrome、Safariへの対応*/
	display: none;
}
#nav ul {
	display: flex;
	gap: 18px;
	width: max-content;
	margin: 0 auto;
	padding-right: 18px;
}
#nav ul li {
	color: var(--vt-black-dark);
	font-weight: 600;
	font-size: 13px;
	position: relative;
	padding: 9px 0;
}
#nav ul li.active {
	border-bottom: 2px solid var(--vt-black-dark);
	box-sizing: border-box;
}
#nav ul li a {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
@media screen and (max-width:959px) {

}
/*-----------------------
MV
-----------------------*/
.mainVisualWrap01 {
  position: relative;
  box-sizing: border-box;
  /* height: 100vh; */
  height: calc(100% + 28px);
  transition: all 2s;
  overflow: hidden;
}
.mainVisualCont01 {
  box-sizing: border-box;
  width: 100%;
  /* height: 100vh; */
  height: calc(100vh + 28px);
  padding: 82px 72px;
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  pointer-events: none;
}
.mainVisualFlex01 {
	display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
}
.mainTitWrap01 {
  color: #ffffff;
  pointer-events: auto;
  flex: 1;
}
.mainTitShadowWrap {
	text-shadow: 0 0 220px rgba(17, 17, 17, 1);
}
.mainTit01 {
  font-size: 32px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.25em;
  margin-bottom: 1%;
  position: relative;
  z-index: 1;
  text-align: left;
  width: fit-content;
  padding-right: 0.5em;
}
.mainTit01:after {
	content: "";
	width: 60%;
	height: 2px;
	background-color: #FFF;
	position: absolute;
	top: calc(50% - 1px);
	left: 100%;
}
.mainTit02 {
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 400;
  text-align: left;
  margin-bottom: 22px;
}
.mainTit02 img {
	max-width: 865px;
	width: 100%;
}
.mainTit03 {
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-weight: 700;
  margin-bottom: 36px;
  text-align: left;

}
.mainBox01 {
	text-shadow: 0 0 20px rgba(17, 17, 17, 1);
}
.mainBox01 .p01 {
  color: #ffffff;
  font-size: 12px;
  line-height: 1.35em;
  font-weight: normal;
  margin-bottom: 6px;
}
.mainUl01 {
  display: inline-flex;
  align-items: flex-start;
  margin: auto;
  gap: 40px;
  margin-top: 8px;
  margin-bottom: 36px;
}
.mainUl01 li {
  font-size: 18px;
  line-height: 1.6em;
  color: #ffffff;
  font-weight: bold;
}
.mainLogo01 img {
  width: auto;
  height: 82px;
  padding-left: 30px;
}

.mainSnsWrap01 {
	pointer-events: auto;
}
.mainSnsWrap01 .ul01 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  text-shadow: 0px 0px 220px rgba(17, 17, 17, 1);
}
.mainSnsWrap01 .li01 {
  color: #FFFFFF;
  font-size: 9px;
  line-height: 1.0em;
  font-weight: 500;
}
.mainSnsWrap01 .li02 {
  margin-left: 18px;
  line-height: 0px;
}
.mainSnsWrap01 .li02 img {
  width: 20px;
  height: auto;
}
.mainSnsWrap01 .li03 {
  margin-left: 23px;
  line-height: 0px;
}
.mainSnsWrap01 .li03 img {
  width: 11px;
  height: auto;
}
.mainSnsWrap01 .li04 {
  margin-left: 23px;
  line-height: 0px;
}
.mainSnsWrap01 .li04 img {
  width: 20px;
  height: auto;
}
.mainAncBtn01 {
  position: absolute;
  top: 24px;
  right: 28px;
  z-index: 105;
  pointer-events: auto;
}
.mainAncBtn01 img {
  width: 230px;
  height: auto;
}

@media screen and (max-width:959px) and (min-width:570px) {
.mainVisualCont01 {
	padding: 82px 36px;
}
	.mainTit01 {
	  font-size: 23px;
	  margin-bottom: 2%;
	}
	.mainTit02 img {
	width: 80%;
}
	  .mainTit03 {
		font-size: 22px;
	}
	.mainAncBtn01 {
		top: 20px;
		right: 20px;
	  }
	  .mainVisualFlex01 {
		flex-direction: column;
	  }
	  .mainTitWrap01 {
		align-self: flex-start;
	  }
}
@media screen and (max-width:569px) {
	.mainVisualFlex01 {
		flex-direction: column;
	}
	.mainVisualWrap01 {
		min-height: inherit;
	}
	.mainVisualCont01 {
	  padding: 82px 30px 72px;
	  min-height: initial;
	}
	.mainTit01 {
		font-size: 18px;
	}
	.mainTit01:after {
		opacity: 0;
	}
	.mainTit03 {
		font-size: 14px;
	}
	.mainBox01 {
	  width: 100%;
	  position: initial;
	  margin-bottom: 0;

	}
	.mainBox01 .p01 {
	  font-size: 10px;
	  font-weight: 500;
	}
	.mainUl01 {
		gap: 32px;
		margin-bottom: 9px;
		margin-top: 9px;
	}
	.mainLogo01 img {
	  height: 45px;
	}
	.mainAncBtn01 {
	  top: 10px;
	  right: 10px;
	}
	.mainAncBtn01 img {
	  width: 152px;
	}
	.mainTit02 {
		margin-bottom: 12px;
	}
	.mainTit02 img {
		max-width: 375px;
	}
	.mainTit03 {
		margin-bottom: 0;
}
}
/*-----------------------
MVアニメーション
-----------------------*/
.headerLogo01 {
	will-change: opacity;
	opacity: 0;
  }
.headerLogo01.appear {
	animation: mvFadeIn 1.5s ease-in-out 0s forwards;
  }
.mainVisualWrap01 {
	will-change: opacity;
	opacity: 0;
  }
.mainVisualWrap01.appear {
	animation: mvFadeIn 1.5s ease-in-out 0s forwards;
  }
.mainTitWrap01 {
  opacity: 0;
  will-change: transform,opacity;
}
.mainTitWrap01.appear {
  animation: mvFadeUp 1s ease-in-out 1s forwards;
}
.mainSnsWrap01 {
  will-change: opacity;
  opacity: 0;
}
.mainSnsWrap01.appear {
  animation: mvFadeIn 1s ease-in-out 1.5s forwards;
}
.mainAncBtn01 {
  will-change: transform,opacity;
  opacity: 0;
}
.mainAncBtn01.appear {
  animation: mvFadeUp 1s ease-in-out 1.5s forwards;
}
.mainAncBtn01.appear a:hover{
	opacity: 0.7;
	transition: opacity 0.3s;
}
@keyframes mvFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mvFadeUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}



/*-----------------------
slick
-----------------------*/
.slick-list picture:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 118px;
	bottom: 0;
	left: 0;
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.2));
	border-bottom-left-radius: 18px;
	border-bottom-right-radius: 18px;
  }
  .slick-dots {
	position: absolute;
	bottom: 45px;
	display: block;
	width: 100%;
	padding: 0;
	list-style: none;
  }
  .slick-dots li.slick-active button {
	background-color: #ffffff;
	opacity: 1;
  }
  .slick-dots li button {
	background-color: #eeeeee;
	opacity: 0.7;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	outline: none;
	width: 10px;
	height: 10px;
	border-radius: 100%;
	font-size: 0px;
	line-height: 0px;
	text-indent: -9999px;
  }
  .slick-slider {
	margin-bottom: 0;
	line-height: 0;
  }
  @media screen and (max-width:569px) {
	.slick-dots {
	  position: absolute;
	  bottom: 36px;
	  display: block;
	  width: 100%;
	  padding: 0;
	  list-style: none;
	}
	.slick-dots li.slick-active button {
	  background-color: #ffffff;
	}
	.slick-dots li button {
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  appearance: none;
	  padding: 0;
	  outline: none;
	  width: 10px;
	  height: 10px;
	  border-radius: 100%;
	  font-size: 0px;
	  line-height: 0px;
	  text-indent: -9999px;
	}
  }



/*-----------------------
MV-slick
-----------------------*/
.mainImg {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
  /* height: 100vh; */
  height: calc(100vh + 28px);
}
.mainImg01 {
	background-image: url("../img/mainVisual01.jpg");
	background-position: center 20%;
}
.mainImg02 {
	background-image: url("../img/mainVisual02.jpg");
	background-position: center bottom;
}
.mainImg03 {
	background-image: url("../img/mainVisual03.jpg");
	background-position: center top;
}
.mainImg04 {
	background-image: url("../img/mainVisual04.jpg");
	background-position: center bottom;
}
.mainImg05 {
	background-image: url("../img/mainVisual05.jpg");
	background-position: 70% 30%;
}
.slick01Main .slick-dots {
	z-index: 10;
	text-align: left;
    padding: 0 72px;
	bottom: 72px;
}
.contSlickWrap01 .contSlickText01 a {
	color: #FFF;
	text-decoration: underline;
}
@media screen and (max-width:959px) and (min-width:570px) {
.slick01Main .slick-dots {
    padding: 0 36px;
}
	.mainImg01 {
			background-position: 30% 20%;
	  }
}
@media screen and (max-width:569px) {
	.slick01Main .slick-dots {
		bottom: 54px;
		padding: 0 30px;
		text-align: center;
	}
	.mainImg01 {
		background-image: url("../img/mainVisual01_sp.jpg");
	  }
	  .mainImg02 {
		background-image: url("../img/mainVisual02_sp.jpg");
	  }
	  .mainImg03 {
		background-image: url("../img/mainVisual03_sp.jpg");
	  }
	  .mainImg04 {
		background-image: url("../img/mainVisual04_sp.jpg");
	  }
	  .mainImg05 {
		background-image: url("../img/mainVisual05_sp.jpg");
		background-position: center center;
	  }
}

/*-----------------------
contents-slick
-----------------------*/
.halfPicBox .slick-dots li {
	display: inline-block;
	margin-bottom: 0;
  }
  .contSlickWrap01 .contSlickText01 {
	font-size: 10px;
	line-height: 1.2em;
	text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
	color: #ffffff;
	position: absolute;
	right: 30px;
	bottom: 45px;
  }
  @media screen and (max-width:569px) {
  .contSlickWrap01 .contSlickText01 {
    right: 10px;
	bottom: 35px;
  }
  }



  /*---------------------
intro
---------------------*/
#intro {
	position: relative;
}
#intro::before {
	content: "";
    background-image: url(../img/intro_edge_top.png);
    width: 100%;
    height: 28px;
    background-repeat: repeat-x;
    background-position: bottom left;
    position: absolute;
    bottom: 100%;
    left: 0;
    background-size: auto;
}
#intro::after {
	content: "";
	background-image: url(../img/intro_edge_bottom.png);
	width: 100%;
	height: 40px;
	background-repeat: repeat-x;
	background-position: left top;
	position: absolute;
	top: 100%;
	left: 0;
	background-size: auto;
}

#intro>div {
	background-color: var(--Saudi-purple-s);
	color: #ffffff;
	text-align: center;
	background-image: url(../img/intro_bg.png);
	background-repeat: repeat;
}
#intro .contH201 {
  font-size: 28px;
  line-height: 1.75;
  font-weight: 700;
}
#intro .contH202 {
	font-size: 24px;
	line-height: 1.5;
	font-weight: 700;
}
#intro .contMapImg01 {
	max-width: 750px;
	margin: 0 auto;
}
#intro .contMapImg01 .relative-wrap {
	height: 0;
	padding-top: 138%;
}
#intro .contMapImg01 img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#intro a {
	color: #FFF;
	font-weight: 700;
	text-decoration: underline;
}

@media screen and (max-width:569px) {
	#intro::after {
	height: 20px;
	background-size: cover;
}
	#intro>div {
		text-align: left;
	}
	#intro .contH201 {
		font-size: 20px;
		line-height: 1.5;
	}
	#intro .contH202 {
		font-size: 18px;
	}

	/* アンカーリンクずれ対策　SP時画像高さ算出（横幅:padding-top） */
	#intro .contMapImg01 .relative-wrap {
		padding-top: 160.6%;
	}


}

/*----------------------
points
----------------------*/
#points>div {
	background-color: var(--Saudi-red-p-a20);
	background-image: url(../img/points_bg.png);
	background-position: center 20px;
	background-repeat: repeat-x;
}
.pointsHeader01 {
	font-size: 35px;
	line-height: 1.35;
	font-weight: 600;
	color: var(--vt-black-dark);
}
.pointsHeader01 .subText {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
}
.pointsHeader01 .subText.fontMontserrat.none {
	letter-spacing: 0.01em;
}
.pointsFlexbox01 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 36px;
	overflow: visible;
}
.pointsItem {
	width: calc(50% - 18px);
	display: flex;
	gap: 18px;
	text-align: left;
	align-items: flex-start;
}
.pointsItem .relative-wrap {
	height: 120px;
	width: 180px;
}
.pointsItem .relative-wrap img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.pointsItemText {
	flex: 1;
}
.pointsItem h4 {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--vt-black-dark);
}
.pointsItem div p {
	color: var(--vt-black);
	margin-top: 9px;
}
#points .slick_wrapper .inner {
		box-sizing: border-box;
		max-width: 1296px;
		margin: 0 auto;
		position: relative;
		padding: 0 36px;
}
#points .slick_arrow_prev,
#points .slick_arrow_next {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 80px;
	z-index: 1;
	transition: opacity 0.3s;
	filter: drop-shadow(0 0 18px rgba(0,0,0,0.05));
}
#points .slick_arrow_prev.slick-disabled,
#points .slick_arrow_next.slick-disabled {
	opacity: 0.5;
	transition: opacity 0.3s;
}
#points .slick_arrow_prev {
	left: 20px;
}
#points .slick_arrow_next {
	right: 20px;
}
@media screen and (max-width:959px) and (min-width:570px) {
	.pointsItem {
		width: 100%;
	}
}
@media screen and (max-width:569px) {
	#points .slick_wrapper .inner {
		padding: 0;
		margin: 0 auto;
		width:100%;
	}
	.pointsFlexbox01 {
		padding-bottom: 24px;
		display: block;
	}
	.point_slick .slick-dots {
		bottom: 0;
	}
	.pointsItem {
		padding: 0 9px;
	}
	.pointsItem .relative-wrap {
		width: 100%;
		max-width: 300px;
		height: 200px;
		margin: 0 auto;
	}
	.pointsItem .relative-wrap img {
		width: 100%;
	}
	.pointsItem h4 {
		margin-top: 18px;
		font-size: 18px;
	}
	.pointsItem div p {
		margin-top: 18px;
	}
	#points .slick_wrapper {
		overflow: hidden;
	  }



	  #points .slick_wrapper .lineup {
		position: relative;
	  }

	  #points .slick-list {
		overflow: visible;
	  }
	.pointsHeader01 {
		font-size: 20px;
		line-height: 1.5;
	}
	.pointsHeader01 .mainText {
		font-size: 24px;
	}
	.pointsHeader01 .subText {
		font-size: 17px;
	}

	#points>div {
		background-size: 25%;
		background-position: center 0;
}
}
/*----------------------
コンテンツヘッダー
----------------------*/
.contHeader01 {
	width: 100%;
	max-width: 504px;
	margin: 0 auto;
}
.contHeader01 p{
	font-size: 12px;
	font-weight: bold;
	color: var(--Saudi-purple-p);
	line-height: 1;
	letter-spacing: 0.3em;
}
.contHeader01 .relative-wrap{
	display: block;
	height: 0;
    padding-top: 11.3%;
	margin: 0 auto;
}
.contHeader01 .relative-wrap img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
/*----------------------
Highlights
----------------------*/
#highlights .contHeader01 .relative-wrap {
	width: 400px;
}
.highlightsFlex01 {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
  }
.highlightsFlex01 li{
	width: calc(100% / 3 - 12px);
	position: relative;
}
.highlightsFlex01 a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}
.highlightsFlex01 a:hover+.relative-wrap {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	transition-duration: 0.3s;
  }
/* アンカーリンクずれ対策　SP時画像高さ算出（横幅:padding-top） */
.highlightsFlex01 .relative-wrap {
	display: block;
	height: 0;
	padding-top: 70.7%;
	position: relative;
	overflow: hidden;
	border-radius: 24px;
}
.highlightsFlex01 .relative-wrap img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}
#highlights .layer-gradation {
	position: absolute;
	top: 60%;
	bottom: 0;
	right: 0;
	left: 0;
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.4));
}
.highlightsItemTitWrap {
	color: #FFF;
	position: absolute;
	z-index: 1;
	bottom: 0;
    left: 0;
    text-align: left;
    padding-bottom: 36px;
    padding-left: 36px;
	}
.highlightsItemTit01 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.02em;
}
.highlightsItemTit02 {
	font-size: 9px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.09em;
}

@media screen and (max-width:959px) and (min-width:570px) {

	.highlightsItemTitWrap {
		padding-bottom: 18px;
		padding-left: 18px;
	}
	.highlightsFlex01 .relative-wrap {
		border-radius: 18px;
	}
}
@media screen and (max-width:569px) {

	  .highlightsFlex01 {
		flex-direction: column;
		max-width: 315px;
		margin: 0 auto;
	  }
	  .highlightsFlex01 li{
		width: 100%;
	}
	  .highlightsFlex01 .relative-wrap {
		padding-top: 28.5%;
		border-radius: 9px;
	}
	.highlightsItemTitWrap {
		padding-bottom: 25px;
		padding-left: 18px;
	}
	#highlights .layer-gradation {
		top: 0;
		right: 40%;
		background: linear-gradient(to left, transparent, rgba(0, 0, 0, 0.4));
	}
	#highlights .contHeader01 .relative-wrap {
		width: 100%;
		max-width: 315px;
	}
	#highlights .contHeader01 p {
		font-size: 11px;
	}
}


/*----------------------
コンテンツ - パララックス
----------------------*/
.parallax-window {
	height: 100vh;
	position: relative;
  }
.paraImg {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 100vh;
	/* position: relative; */
  }
  .parallax-slider .slick-dots {
	display: none!important;
  }
  .paraImg01.lazyloaded {
	background-image: url("../img/cont01_main01.jpg");
  }
  .paraImg02.lazyloaded {
	background-image: url("../img/cont01_main02.jpg");
  }
  .paraImg03.lazyloaded {
	background-image: url("../img/cont02_main01.jpg");
	background-position: center top;
  }
  .paraImg04.lazyloaded {
	background-image: url("../img/cont02_main02.jpg");
  }
  .paraImg05.lazyloaded {
	background-image: url("../img/cont03_main01.jpg");
  }
  .paraImg06.lazyloaded {
	background-image: url("../img/cont03_main02.jpg");
  }
  .paraImg07.lazyloaded {
	background-image: url("../img/cont04_main01.jpg");
  }
  .paraImg08.lazyloaded {
	background-image: url("../img/cont04_main02.jpg");
  }
  .paraImg09.lazyloaded {
	background-image: url("../img/cont05_main01.jpg");
  }
  .paraImg10.lazyloaded {
	background-image: url("../img/cont05_main02.jpg");
  }
  .paraImg11.lazyloaded {
	background-image: url("../img/cont06_main01.jpg");
  }
  .paraImg .contSlickText01 {
	font-size: 10px;
	line-height: 1.2em;
	text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
	color: #ffffff;
	position: absolute;
	right: 100px;
	bottom: 30px;
  }
  /* コピーライト */
.contCopyWrap01 {
	color: #ffffff;
	font-size: 10px;
	line-height: 1.75em;
	font-weight: 500;
	letter-spacing: 0;
	position: absolute;
	right: 15px;
	bottom: 10px;
	text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);

  }
.paraHeaderWrap02 {
	text-align: left;
	position: absolute;
	left: 120px;
	bottom: 136px;
	filter: drop-shadow(0 0 18px rgba(0,0,0,0.3));
}

.paraHeader01 {
	/* color: #FFFFFF;
	font-size: 80px;
	line-height: 1;
	margin-top: auto;
	margin-bottom: 24px;
	letter-spacing: 0.02em; */
}
.paraheader01 img {
	height: 83px;
	width: auto;
}
.paraHeaderText01 {
	color: #FFFFFF;
	font-size: 18px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-top: 18px;
}
  @media screen and (max-width:959px) and (min-width:570px) {

	.paraImg05 {
		background-position: 20% center;
	}
	.paraHeaderWrap02 {
		left: 36px;
		bottom: 108px;
	  }
	  .paraImg .contSlickText01 {
		right: 36px;
	  }
	}
@media screen and (max-width:569px) {

	.paraImg01.lazyloaded {
		background-image: url("../img/cont01_main01_sp.jpg");
	  }
	  .paraImg02.lazyloaded {
		background-image: url("../img/cont01_main02_sp.jpg");
	  }
	  .paraImg03.lazyloaded {
		background-image: url("../img/cont02_main01_sp.jpg");
	  }
	  .paraImg04.lazyloaded {
		background-image: url("../img/cont02_main02_sp.jpg");
	  }
	  .paraImg05.lazyloaded {
		background-image: url("../img/cont03_main01_sp.jpg");
	  }
	  .paraImg06.lazyloaded {
		background-image: url("../img/cont03_main02_sp.jpg");
	  }
	  .paraImg07.lazyloaded {
		background-image: url("../img/cont04_main01_sp.jpg");
	  }
	  .paraImg08.lazyloaded {
		background-image: url("../img/cont04_main02_sp.jpg");
	  }
	  .paraImg09.lazyloaded {
		background-image: url("../img/cont05_main01_sp.jpg");
	  }
	  .paraImg10.lazyloaded {
		background-image: url("../img/cont05_main02_sp.jpg");
	  }
	  .paraImg11.lazyloaded {
		background-image: url("../img/cont06_main01_sp.jpg");
	  }

	.paraImg .contSlickText01 {
		right: 10px;
		bottom: 20px;
	}
	.contCopyWrap01 {
		right: 10px;
		bottom: 5px;
	}
	.paraHeaderWrap02 {
		left: 30px;
		bottom: 60px;
	  }
	  .paraHeader01 {
		/* font-size: 34px; */
		margin-bottom: 18px;
	  }
	  .paraHeader01 img {
		height: 43px;
		max-width: 100%;
		width: auto;
	  }

	.paraHeaderText01 {
		font-size: 16px;
	  }
}




/*----------------------
コンテンツ - 見出し
----------------------*/
.contH401 {
	color: var(--vt-black-dark);
}
.contH401 .s01 {
	display: block;
	font-size: 24px;
	line-height: 1.35;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-bottom: 18px;
}
.contH401 .s02 {
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
	font-size: 20px;
	display: block;
}
.contH401 .s02-en {
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: 0.05em;
	display: block;
	font-weight: 500;
}
.contH401 .s03 {
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
	font-size: 20px;
	display: block;
}
.contH401 .s03-en {
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: 0.05em;
	display: block;
	font-weight: 500;
}
.contH402 {
	color: var(--QLD-charcoal-a90);
	font-size: 48px;
	font-weight: 500;
	line-height: 1.1;
	text-align: center;
	letter-spacing: 0;
}
.contH402sub {
	color: var(--QLD-charcoal-a90);
	font-size: 20px;
	font-weight: bold;
	line-height: 1.35;
	letter-spacing: 0.01em;
}
.subContH401{
	color: var(--vt-black-dark);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
	font-size: 20px;
	display: block;
}
@media screen and (max-width:569px) {
	.contH401 .s01 {
		font-size: 24px;
	}
	.contH401 .s02 {
		text-align: left;
	}
	.contH401 .s02-en {
		text-align: left;
		font-weight: 600;
	}
	.contH401 .s03 {
		font-size: 17px;
	}
	.contH402 {
		font-size: 32px;
	}
	.contH402sub {
		font-size: 16px;
	}
	.subContH401{
		text-align: center;
	}
}



/*----------------------
コンテンツ - 中身
----------------------*/
.contIntroTextBox {
	display: flex;
	justify-content: space-between;
	text-align: left;
}
.widePicBox .textBox {
	max-width: 800px;
	margin: 36px auto 0;
}
.contText01 {
	color: var(--vt-black);
	text-align: left;
}
.contIntroTextBox .contText01 {
	width: 62%;
}
.halfPicBox li {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.halfPicBox li .flexBox01 {
	width: 50%;
	position: relative;
}
.halfPicBox li .flexBox02 {
	width: 44.2%;
}
.contMap02Wrap {
	max-width: 900px;
    margin: 0 auto;
}
.contMap02Wrap .relative-wrap {
	display: block;
	height: 0;
	padding-top: 66.7%;
}
.contMap02Wrap img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.widePicBox .relative-wrap {
	display: block;
	height: 0;
	padding-top: 50%;
}
.widePicBox .relative-wrap img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.halfPicBox .relative-wrap {
	display: block;
	height: 0;
	padding-top: 85.6%;
}
.halfPicBox img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media screen and (max-width:569px) {
	.contIntroTextBox {
		display: block;
	}
	.contIntroTextBox .contText01 {
		width: 100%;
	}
	.widePicBox .textBox {
		margin: 18px auto 0;
	}
	.halfPicBox li {
		flex-direction: column;
		gap: 18px;
	}
	.halfPicBox li .flexBox01 {
		width: 100%;
	}
	.halfPicBox li .flexBox02 {
		width: 100%;
	  }

	  /* アンカーリンクずれ対策　SP時画像高さ算出（横幅:padding-top） */
	  .contMap02Wrap .relative-wrap {
		  padding-top: 144.6%;
	  }
	  .widePicBox .relative-wrap {
		  padding-top: 125.2%;
	  }
	  .halfPicBox .relative-wrap {
		  padding-top: 100%;
	  }


}
/*-----------------------
コンテンツ - サブ（色背景・丸画像）
-----------------------*/
.subContent {
	background-color: var(--Saudi-red-p-a15);
}
.subContFlex {
	max-width: 800px;
	margin: auto;
}
.subContFlex li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 36px;
}
.subContFlex .ulBox01 {
	width: fit-content;
	text-align: center;
}
.subContFlex .ulBox01 img {
	width: 222px;
	height: auto;
}
.subContFlex .ulBox02 {
	flex: 1;
	text-align: left;
}
.subContentCopy {
	font-size: 10px;
	line-height: 1.5;
	font-weight: 500;
	margin-top: 18px;
	text-transform: none;
	letter-spacing: 0.01em;
	color: var(--vt-black);
  }

.subContent a {
	color: var(--vt-black);
	font-weight: 700;
	text-decoration: underline;
}
@media screen and (max-width:569px) {
	.subContFlex li {
		flex-direction: column;
		gap: 18px;
	}
	.subContFlex .ulBox01 {
		width: auto;
		margin: auto;
	}
	.subContFlex .ulBox02 {
		width: auto;
	}
	.subContFlex .ulBox02 .contH401 {
		text-align: center;
	}
}

/*-----------------------
コンテンツ - リンク集カルーセル
-----------------------*/
.links_slick {
	margin: 0 -18px;
}
.links_slickItem {
	position: relative;
	padding: 0 18px;
}
.links_slickItemInner {
	position: relative;
}

.links_slickItem a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}
.links_slickItem a:hover+.relative-wrap {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	transition-duration: 0.3s;
  }
/* アンカーリンクずれ対策　SP時画像高さ算出（横幅:padding-top） */
.links_slickItem .relative-wrap {
	display: block;
	height: 0;
	padding-top: 147.1%;
	position: relative;
	overflow: hidden;
	border-radius: 18px;
}
.links_slickItem .relative-wrap img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}
.links_slickItem .layer-gradation {
	position: absolute;
	top: 60%;
	bottom: 0;
	right: 0;
	left: 0;
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.2));
}
.links_slickItem .layer-gradation.gradDark {
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.4));

}
.linksItemTitWrap {
	color: #FFF;
	position: absolute;
	z-index: 1;
	bottom: 0;
    left: 0;
    text-align: left;
    padding-bottom: 36px;
    padding-left: 36px;
	}
.linksItemTit01 {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.02em;
}
.linksItemTit02 {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.02em;
}
.links_slick {
	overflow: inherit;
}
.links_slick .slick_arrow_prev,
.links_slick .slick_arrow_next {
	width: 60px;
	height: 60px;
	position: absolute;
	top: calc(50% - 30px);
	z-index: 1;
	transition: opacity 0.3s;
	filter: drop-shadow(0 0 18px rgba(0,0,0,0.05));
	cursor: pointer;
}
.links_slick .slick_arrow_prev.slick-disabled,
.links_slick .slick_arrow_next.slick-disabled {
	opacity: 0.5;
	transition: opacity 0.3s;
	cursor: default;
}
.links_slick .slick_arrow_prev {
	left: -10px;
}
.links_slick .slick_arrow_next {
	right: -10px;
}
@media screen and (max-width:959px) and (min-width:570px) {
	.links_slick {
		margin: 0 -9px;
	}
	.links_slickItem {
		padding: 0 9px;
	}
	.linksItemTitWrap {
		padding-bottom: 18px;
		padding-left: 18px;
	}
	.linksItemTit01 {
		font-size: 16px;
	}
	.linksItemTit02 {
		font-size: 12px;
	}
.links_slick .slick_arrow_prev,
.links_slick .slick_arrow_next {
	width: 40px;
	height: 40px;
	top: calc(50% - 20px);
}
}
@media screen and (max-width:569px) {
	.linksWrap .contIn1224 {
		padding: 0;
	  }
	.links_slick {
		margin: 0;
		padding-bottom: 30px;
	}
	.links_slickItem {
		width: 100%;
		padding: 0 9px;
    	margin: 0 21px 0;
	}
	.links_slick .slick-list {
		padding: 0 calc(100vw - 218px) 0 0!important;
	}
	  .links_slickItem .relative-wrap {
		padding-top: 146.8%;
	}
	.linksItemTitWrap {
		padding-bottom: 27px;
		padding-left: 18px;
	}
	.links_slick .slick-dots {
		bottom: 0;
	}
	.links_slick .slick-dots li button {
		background-color: rgba(0, 0, 0, 0.25);
	}
	.links_slick .slick-dots li.slick-active button {
		background-color: rgba(0, 0, 0, 0.7);
	}
	.linksItemTit01 {
		font-size: 18px;
	}
	.linksItemTit02 {
		font-size: 13px;
	}
}



/*-----------------------
コンテンツ - 色背景
-----------------------*/
.colorBox {
	background-color: var(--Saudi-red-p-a20);
}
.whiteBox {
	background-color: #FFF;
}

/*-----------------------
ボタンFMT
-----------------------*/

.contBtn01 {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--Saudi-purple-p);
	box-sizing: border-box;
	padding: 10px 40px;
	width: fit-content;
	min-width: 300px;
	height: 60px;
	border-radius: 100px;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.35;
	font-weight: bold;
	margin: auto;
  }
  .contBtn01:hover {
	opacity: 0.7;
	transition: all 0.3s;
}
.contBtn01.btnColor02 {
	background-color: var(--Saudi-orange-s);
}
  a.contBtn01:link,
  a.contBtn01:visited,
  a.contBtn01:hover,
  a.contBtn01:active {
	color: #ffffff;
	text-decoration: none;
  }
.contBtn02 {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--Saudi-purple-p);
	box-sizing: border-box;
	padding: 0 40px;
	width: fit-content;
	height: 50px;
	border-radius: 100px;
	color: #ffffff;
	font-size: 15.5px;
	line-height: 1.3;
	font-weight: bold;
  }
  .contBtn02:hover {
	opacity: 0.7;
	transition: all 0.3s;
}
  a.contBtn02:link,
  a.contBtn02:visited,
  a.contBtn02:hover,
  a.contBtn02:active {
	color: #ffffff;
	text-decoration: none;
  }
.contBtn03 {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--Saudi-red-s);
	box-sizing: border-box;
	padding: 0 21px;
	width: fit-content;
	height: 40px;
	border-radius: 100px;
	color: #ffffff;
	font-size: 13px;
	line-height: 1.3;
	font-weight: bold;
  }
  .contBtn03:hover {
	opacity: 0.7;
	transition: all 0.3s;
}
  a.contBtn03:link,
  a.contBtn03:visited,
  a.contBtn03:hover,
  a.contBtn03:active {
	color: #ffffff;
	text-decoration: none;
  }
  @media screen and (max-width:569px) {
  .contBtn01 {
    width: 100%;
  }
}



/*-----------------------
３つ並びのFlexBox
-----------------------*/
.thirdPicBox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: auto;
}
.thirdPicBox li {
  width: 31.4%;
}

@media screen and (max-width:569px) {
	.thirdPicBox {
	  flex-direction: column;
	  gap: 72px;
	}
	#anc02 .thirdPicBox {
		margin-top: 36px;
	}
	#anc03 .thirdPicBox {
		gap: 36px;
	}
		.thirdPicBox li {
	  width: 100%;
	}
	.contBtn02Wrap .contBtn02 {
		margin: 18px auto 0;
	}
}



/*-----------------------
YOKKA
-----------------------*/
#yokka {
	background-color: var(--vt-cream);
}
#yokka .pointsHeader01 img {
	width: 180px;
	height: 42.2px;
}
#yokka .yokkaIntroText {
	max-width: 600px;
	margin: 0 auto;
	color: var(--vt-black-dark);
	text-align: left;
}
/*-----------------------
YOKKA - カルーセル
-----------------------*/
.yokka_slickItem {
	position: relative;
	padding: 0 72px;
}
.yokka_slickItemInner {
	position: relative;
}
.yokka_slickItem a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}

/* アンカーリンクずれ対策　SP時画像高さ算出（横幅:padding-top） */
.yokka_slickItem .relative-wrap {
	display: block;
	height: 0;
	padding-top: 93.3%;
	position: relative;
	overflow: hidden;
	border-radius: 36px;
}
.yokka_slickItem .relative-wrap img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}
.yokka_slickItem .layer-gradation {
	position: absolute;
	top: 60%;
	bottom: 0;
	right: 0;
	left: 0;
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.2));
}
.yokkaItemTitWrap {
    text-align: left;
	}
.yokkaItemTit01 {
	color: var(--vt-black-dark);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.01em;
	margin-top: 36px;
}
.yokkaItemText {
	color: var(--vt-black);
	margin-top: 9px;
}
.yokka_slick {
	overflow: inherit;
}
.yokka-slick .slick-slide:not(.slick-active) {
	opacity: 0.7;
}
.yokka_slick .slick_arrow_prev,
.yokka_slick .slick_arrow_next {
	width: 60px;
	height: 60px;
	position: absolute;
	top: 580px;
	z-index: 1;
	transition: opacity 0.3s;
	filter: drop-shadow(0 0 18px rgba(0,0,0,0.05));
	cursor: pointer;
}
.yokka_slick .slick_arrow_prev.slick-disabled,
.yokka_slick .slick_arrow_next.slick-disabled {
	opacity: 0.5;
	transition: opacity 0.3s;
	cursor: default;
}
.yokka_slick .slick_arrow_prev {
	left: calc(50vw - 410px);
}
.yokka_slick .slick_arrow_next {
	right: calc(50vw - 410px);
}
.yokka_slick a {
	pointer-events: none;
}
.yokka_slick a~.relative-wrap {
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	transition: all 0.5s;
}
.yokka_slick .slick-active a {
	pointer-events: auto;
}
.yokka_slick .slick-active a~.relative-wrap {
	transition: all 0.5s;
	opacity: 1;
}

@media screen and (max-width:959px) and (min-width:570px) {

	.yokka_slickItem {
		padding: 0 36px;
	}
	.yokka_slick .slick_arrow_prev,
.yokka_slick .slick_arrow_next {
	top: 170px;
}
	.yokka_slick .slick_arrow_prev {
		left: calc(50vw - 270px);
	}
	.yokka_slick .slick_arrow_next {
		right: calc(50vw - 270px);
	}
	.yokkaItemTit01 {
		font-size: 20px;
	}
}
@media screen and (max-width:569px) {

	.yokka_slick {
		margin: 0;
	}
	.yokka_slickItem {
		margin: 0 auto;
		width: 100%;
		padding: 0 9px;
	}
	  .yokka_slickItem .relative-wrap {
		padding-top: 100%;
		border-radius: 18px;
	}
	.yokka_slick .slick_arrow_prev,
	.yokka_slick .slick_arrow_next {
		top: 120px;
	}
	.yokka_slick .slick_arrow_prev {
		left: calc(50vw - 180px);
	}
	.yokka_slick .slick_arrow_next {
		right: calc(50vw - 180px);
	}
	.yokkaItemTit01 {
		font-size: 18px;
		margin-top: 18px;
	}
}


/*-----------------------
プレゼントキャンペーン
-----------------------*/
#presentCP {
	background-color: var(--Saudi-red-s);
	background-image: url(../img/present_bg.png);
	background-repeat: repeat;
	color: #FFF;
}

.campaignH3Wrap01 {
  text-align: center;
}
.campaignH3Wrap01 .p01 {
  display: inline-block;
  position: relative;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
}
.campaignH3Wrap01 .h301 {
  display: block;
  font-size: 40px;
  line-height: 1.35;
  font-weight: 700;
}
.campaignText01 {
  font-size: 20px;
  line-height: 1.9;
  font-weight: 500;
}
.campaignImg01 {
  text-align: center;
}
.campaignImg01 img {
	width: 322px;
	height: 116px;
}
    .campaignText02 {
    font-size: 16px;
    line-height: 1.75em;
    font-weight: 500;
  }
.campaignText02 .p01 {
  font-size: 28px;
  line-height: 1.5;
  font-weight: bold;
}
.campaignText02 .p02 {
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
}
.campaignText03 img {
	width: 170px;
	height: 48px;
	display: block;
	margin: 0 auto;
}
.campaignText04 {
	border-top: 0.75px solid #FFF;
	border-bottom: 0.75px solid #FFF;
	padding: 18px 0;
	max-width: 720px;
	margin: 0 auto;
}
.campaignText04 ul li + li{
	margin-top: 9px;
}
 @media screen and (max-width:959px) and (min-width:570px) {

 }
 @media screen and (max-width:569px) {

.campaignH3Wrap01 {
    margin-bottom: 26px;
  }
  .campaignH3Wrap01 .h301 {
    font-size: 28px;
  }
  .campaignText01 {
	font-size: 17px;

  }
  .campaignH3Wrap01 .p01 {
	font-size: 11px;
  }
  .campaignImg01 {
    text-align: center;
  }
  .campaignImg01 img {
    max-width: 256px;
    height: auto;
  }
  
  
  
  .campaignText02 .p01 {
	  font-size: 24px;
	}
	.campaignText02 .p02 {
		font-size: 16px;
	}
	.campaignText03 img {
	  width: 128px;
	  height: 36px;
  }
.campaignText04 ul li + li{
	margin-top: 18px;
}

 }



/*------------
要項アコーディオン
-------------*/

.campaignAccBtn {
  display: flex;
  align-items: center;
  text-align: left;
  background-color: transparent;
  border: 1px solid #ffffff;
  border-radius: 100px;
  box-sizing: border-box;
  padding: 4px 18px;
  width: 158px;
  height: 40px;
  margin: 0 auto;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
  position: relative;
  cursor: pointer;
}
.campaignAccBtn::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -6px;
}
.campaignAccBtn.open::after {
  -ms-transform: rotate(315deg);
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
  margin-top: -3px;
}


.campaignAccBody {
  display: none;
}
.campaignAccBody li {
  text-indent: -1em;
  padding-left: 1em;
}

.campaignAccBodyInner {
  background-color: #ffffff;
  padding: 72px;
  text-align: left;
  color: #333333;
  border-radius: 24px;
}
.contH404 {
  font-size: 24px;
  line-height: 1.4em;
  font-weight: 500;
  margin-bottom: 10px;
  margin-top: auto;
}
.campaignAccTextBox {
  padding: 20px 0;
  border-top: 1px solid #CCCCCC;
}
.campaignAccTextBox a {
	color: var(--vt-black);
	font-weight: 700;
	text-decoration: underline;
}
.campaignAccTextBox:first-of-type {
  border-top: none;
}
.campaignAccTextBox dl {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
  margin: auto;
}
.campaignAccTextBox dt {
	color: var(--vt-black-dark);
}
.campaignAccTextBox dd {
	color: var(--vt-black);
}
 @media screen and (max-width:569px) {

  .campaignAccBodyInner {
    padding: 36px 18px;
  }
  .contH404 {
    font-size: 20px;
  }
  .campaignAccTextBox dl {
    line-height: 2.0;
  }
 }



/*------------
国の情報
-------------*/
.factsHeader {
	color: var(--vt-black-dark);
  }
.factsHeader .s01 {
	display: block;
	font-size: 24px;
	line-height: 1.35;
	font-weight: 700;
}
.factsHeader .s02 {
	display: block;
	font-size: 12px;
	line-height: 1.3;
	font-weight: 500;
}
.factsWrap {
	display: flex;
	/* gap: 72px; */
	gap: 0;
	text-align: left;
	/* align-items: flex-start; */
	align-items: center;
	flex-direction: column;
}
.factsInnerWrap {
	/* width: 50%; */
	width: 100%;
	max-width: 800px;
	display: flex;
	flex-wrap: wrap;
}
.factsInnerWrap dt {
	  color: var(--vt-black-dark);
	  font-weight: 700;
	  width: 100%;
}
.factsInnerWrap:nth-child(2) dt {
	border-top: 1px solid #DDDDDD;
	padding-top: 36px;
	margin-top: 36px;
}
.factsInnerWrap dd {
	color: var(--vt-black);
	width: 100%;
}
.factsInnerWrap dt.short {
	width: fit-content;
	padding-right: 1em;
}
.factsInnerWrap dd.short {
	width: calc(100% - 6em);
}
.factsAccBtn {
	cursor: pointer;
}
.factsAccBtnTit {
	position: relative;
	width: fit-content;
}
.factsAccBtnTit:after {
	content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-image: url(../img/icon_acc_open.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transform: translateY(-50%);
    top: 50%;
    left: calc(100% + 9px);
}
.factsAccBtn.open .factsAccBtnTit:after {
    background-image: url(../img/icon_acc_close.svg);
}
.factsAccBody {
	display: none;
}
#facts dd a {
	color: var(--vt-black);
	font-weight: 600;
	text-decoration: underline;
}
  @media screen and (max-width:959px) and (min-width:570px) {
  }

  @media screen and (max-width:569px) {

  .factsHeader .s01 {
    display: block;
    font-size: 24px;
    line-height: 1.35em;
    font-weight: 700;
  }
  .factsHeader .s02 {
    display: block;
    font-size: 12px;
    line-height: 1.3em;
    font-weight: 500;
    margin-top: 12px;
  }
  .factsWrap {
	flex-direction: column;
	gap: 0;
  }
  .factsInnerWrap {
	width: 100%;
  }

}
/*------------
国情報下ギャラリー
-------------*/
.galleryFlex {
	display: flex;
	gap: 18px;
	width: 100%;
	flex: 1;
}
.galleryFlex01 {
	width: 100%;
	height: 787px;
}
.galleryFlex02 {
	flex-direction: column;
}
.galleryFlex04 {
	flex-direction: column;
}
.galleryFlex05 {
	flex: 2;
}
.galleryFlex06 {
	flex-direction: column;
}
.galleryItem {
	border-radius: 18px;
	flex: 1;
	width: 100%;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.galleryItem a {
	color: #FFF;
	text-decoration: underline;
}
.galleryItem01.lazyloaded {
	background-image: url(../img/tips03_img01.jpg);
	flex: 2;
}
.galleryItem02.lazyloaded {background-image: url(../img/tips03_img02.jpg);}
.galleryItem03.lazyloaded {background-image: url(../img/tips03_img03.jpg);}
.galleryItem04.lazyloaded {background-image: url(../img/tips03_img04.jpg);}
.galleryItem05.lazyloaded {background-image: url(../img/tips03_img05.jpg);}
.galleryItem06.lazyloaded {
	background-image: url(../img/tips03_img06.jpg);
	background-position: right;
}
.galleryItem07.lazyloaded {background-image: url(../img/tips03_img07.jpg);}

.galleryItem .layer-gradation {
	position: absolute;
	top: 60%;
	bottom: 0;
	right: 0;
	left: 0;
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.2));
}
@media screen and (max-width:1260px) and (min-width:960px) {
	.galleryFlex01 {
		height: 63vw;
	}
}
@media screen and (max-width:959px) and (min-width:570px) {
	.galleryFlex {
		gap: 9px;
	}
	.galleryFlex01 {
		height: 63vw;
	}
	.galleryItem {
		border-radius: 9px;
	}
}
@media screen and (max-width:569px) {
	.galleryItem01.lazyloaded {background-image: url(../img/tips03_img01_sp.jpg);}
	.galleryItem02.lazyloaded {background-image: url(../img/tips03_img02_sp.jpg);}
	.galleryItem03.lazyloaded {background-image: url(../img/tips03_img03_sp.jpg);}
	.galleryItem04.lazyloaded {background-image: url(../img/tips03_img04_sp.jpg);}
	.galleryItem05.lazyloaded {background-image: url(../img/tips03_img05_sp.jpg);}
	.galleryItem06.lazyloaded {background-image: url(../img/tips03_img06_sp.jpg);}
	.galleryItem07.lazyloaded {background-image: url(../img/tips03_img07_sp.jpg);}

	.galleryFlex01 {
		flex-direction: column;
		height: 220vw;
	}
	.galleryFlex {
		gap: 9px;
	}
	.galleryItem {
		border-radius: 9px;
	}
	.galleryItem .contCopyWrap01 {
		bottom: 9px;
	}
	.galleryItem01.lazyloaded {
		flex: 4;
	}
	.galleryFlex03 {
		flex: 3;
	}
	.galleryFlex06 {
		flex: 3;
	}
	.galleryItem06.lazyloaded {
		flex: 2;
	}
	.galleryFlex02 {
		flex: 3;
	}
	.galleryFlex04 {
		flex: 4;
	}
}
/*------------
パートナー
-------------*/


#partner {
	padding: 0 36px;
  }
  .partnerBox {
	/* border-top: 1px solid #DDDDDD; */
	border-bottom: 1px solid #DDDDDD;
	display: flex;
	align-items: center;
	/* justify-content: space-between; */
	justify-content: center;
	height: auto;
	padding: 36px 0;
  }
  .partnerBoxFlexItem {
	display: flex;
	align-items: center;
	gap: 24px;
  }
  .partnerBoxFlexItem .box01 {
	text-align: left;
	margin-right: 36px;
  }
  .partnerBoxFlexItem .box01 .p01 {
	display: block;
	color: #333333;
	font-size: 10px;
	line-height: 1.5em;
  }
  .partnerBoxFlexItem .box01 .p02 {
	display: block;
	color: #333333;
	font-size: 14px;
	line-height: 1.5em;
	font-weight: bold;
  }
  .partnerLogoBox a:hover {
	opacity: 0.7;
	transition: all 0.3s;
  }
  #partner01 .partnerLogoBox img {
	width: 130px;
	height: auto;
  }
  #partner02 .partnerLogoBox img {
	width: 131px;
	height: auto;
  }
  .partnerLogoName {
	font-size: 14px;
	line-height: 1.5;
	text-transform: none;
	letter-spacing: 0;
	color: var(--vt-black-dark);
	font-weight: bold;
  }
  .partnerSnsBox {
	display: flex;
	align-items: center;
	margin: auto;
	gap: 18px;
	vertical-align: middle;
  }
  .partnerSnsBox li a:hover {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	transition-duration: 0.3s;
  }
  .partnerSnsBox li img {
	width: 22px;
	height: auto;
	vertical-align: text-bottom
	}
  .partnerSnsBox i {
	color: var(--vt-black-dark);
  }
  @media screen and (max-width:1150px) and (min-width:570px) {
	.partnerBox {
		flex-direction: column;
		padding: 72px 0;
		gap: 36px;
	}
	.partnerBoxFlexItem {
		justify-content: center;
	  }
  }
  @media screen and (max-width:569px) {
	  .partnerBox {
		flex-direction: column;
		padding: 72px 0;
		gap: 36px;
	  }
	  .partnerBoxFlexItem {
		flex-direction: column;
		gap: 18px;
	  }
	    .partnerSnsBox {
			margin-top: -9px;
  }
  }

/*------------
footer
-------------*/
.footerWrap {
	display: flex;
}
.footerVeltraBox {
	 width: calc(100% / 3);
}
.footerMenuBox {
	 width: calc(100% / 3 * 2);
	 display: flex;
	 gap: 30px;
}
.footerMenuCategory {
	width: calc(100% / 3);
}
footer ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}
.footer-social-icons {
	padding-top: 30px;
	margin-left: -5px;
}
@media screen and (max-width:959px) and (min-width:570px) {

  }
  @media screen and (max-width:569px) {
	.footerWrap {
		flex-direction: column;
		gap: 36px;
	}
	.footerVeltraBox {
		width: 100%;
   }
	.footerMenuBox {
		width: 100%;
		flex-direction: column;
		gap: 18px;
   }
   .footerMenuCategory {
	width: 100%;
}
.footer-social-icons {
	padding-top: 18px;
}
  }

/*------------
クーポン枠
-------------*/
.couponBoxInner {
	max-width: 900px;
	background-color: var(--QLD-teal-a30);
	padding: 54px;
	border-radius: 36px;
	display: flex;
	gap: 36px;
	margin: 0 auto;
}

.couponBody {
	text-align: left;
	flex: 1;
}
.couponHeader {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: var(--vt-black-dark);
}
.couponText {
	 color: var(--vt-black);
}
.couponImg {
	width: 100%;
	max-width: 276px;
    width: 100%;
}
.couponImg .relative-wrap {
	display: block;
	height: 0;
	padding-top: 58%;
}
.couponImg img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media screen and (max-width:569px) {
	.couponBoxInner {
		padding: 36px 24px;
		border-radius: 18px;
		flex-direction: column;
		gap: 18px;
	}
	.couponHeader {
		font-size: 17px;
	}
	.contBtn03Wrap .contBtn03 {
		margin: 18px auto 0;
	}
}
/*-------------------*/
/*タブレット*/
@media screen and (min-width:570px) and (max-width:959px) {}
/*スマートフォン*/
@media screen and (max-width:569px) {}
/*-----*/