@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: 22px;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 33px */
	letter-spacing: 0.22px;
}
.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;
  letter-spacing: 0.01em;
}

/* 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;
	 }
}
 /******************************************************************
今回のコース固有のFMT
*******************************************************************/
@font-face {
	font-family: 'Montserrat-VF';
	src: url('https://www.veltra.com/jp/special/wp-content/themes/uncode-child/fonts/Montserrat-VF.woff2') format('woff2');
	font-weight: 100 900;
	font-display: swap;
	font-style: normal;
}

.fontMontserrat {
	font-family: Montserrat-VF;
	line-height: 1.2em;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

@font-face {
	font-family: 'TAPhilausophy';
	src: url("../fonts/TAPhilausophy-SemiBold.woff2") format('woff2');
	font-weight: 100 900;
	font-display: swap;
	font-style: normal;
}

.fontTAPhilausophy {
	font-family: TAPhilausophy;
	letter-spacing: 0.02em;
	line-height: 1.2em;
	font-weight: 500;
}

/* 指定フォント */
@font-face {
  font-family: 'Stag Sans';
  src: url("../fonts/StagSans-Light.woff2") format('woff2');
  font-display: swap;
  font-weight: 300;
}
@font-face {
  font-family: 'Stag Sans';
  src: url("../fonts/StagSans-Book.woff2") format('woff2');
  font-display: swap;
  font-weight: 400;
}
@font-face {
  font-family: 'Stag Sans';
  src: url("../fonts/StagSans-Medium.woff2") format('woff2');
  font-display: swap;
  font-weight: 500;
}
@font-face {
  font-family: 'Stag Sans';
  src: url("../fonts/StagSans-SemiBold.woff2") format('woff2');
  font-display: swap;
  font-weight: 600;
}
.fontStagSans {
  font-family: 'Stag Sans';
  letter-spacing: 0.02em;
  line-height: 1.2em;
  font-weight: 500;
  text-transform: uppercase;
}
.fontStagSans.none {
	text-transform: none;
}
/* 観光局・航空会社カラー */
:root {
	--QLD-teal: #E9964D;
	--QLD-teal-a30: rgba(0, 178, 169, 0.3);
	--QLD-charcoal-a90: #343434;
	--QLD-sand-a15:rgba(252, 244, 240, 1);
	--QLD-ocean: #365ABD;
	--QLD-ocean-a15: #FFF8F2;
	--QLD-dark-teal: #00817D;
	--virgin-purple: #512698;
}

/* --------------------------------------------------------------------
 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-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;
}
.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) {
  .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;
  }
  .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;
}

/* --------------------------------------------------------------------
追従TOPに戻るボタン
-------------------------------------------------------------------- */
.pagetopButton {
  position: fixed;
  bottom: 22px;
  right: 22px;
  display: none;
}

.pagetopButton .icon-up-o {
	background: var(--QLD-teal);
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    width: 40px;
    text-align: center;
}

/* --------------------------------------------------------------------
追従プレゼントボタン
-------------------------------------------------------------------- */

.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: 0px;
  left: 0px;
  z-index: 100;
  transition: all 0.5s;
}
.headerLogo01 {
  padding: 27px 36px;
  text-align: left;
  opacity: 1;
  transition-duration: 0.3s;
  margin: auto;
}
.headerLogo01.menuOn {
  opacity: 1;
}
.headerLogo01 img {
  display: block;
  width: auto;
  height: 28px;
}
.headerWrap02 {
  width: 100%;
  position: fixed;
  left: 0;
  background-color: #FFF;
  z-index: 110;
  top: -90px;
  transition: all 0.5s;
  display: block;
}
@media screen and (max-width:569px) {
	.headerLogo01 {
	  padding: 18px 18px;
	  text-align: left;
	}
	.headerLogo01 img {
	  height: 26px;
	}
}

/*-----------------------
MV
-----------------------*/
/*-----------------------*/

.mainvisualWrap01 {
	position: relative;
	box-sizing: border-box;
	/*height: 100vh;*/
	height: 800px;
}
.mainvisualCont01 {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 140px 36px 36px 36px;
	/*padding: 5% 36px 36px;*/
	position: absolute;
	left: 0px;
	top: 0px;
}

.mainvisualWrap01 .slickImg {
	height: 800px;
}
.slickCont01 {
	position: relative;
}
.slickImg {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 100vh;
}
.slickImg.img01 {
	background-image: url("../img/mainvisual01.jpg");
}
.slickImg.img02 {
	background-image: url("../img/mainvisual02.jpg");
}
.slickImg.img03 {
	background-image: url("../img/mainvisual03.jpg");
}

.noto-serif {
	font-family: 'Noto Serif JP', serif;
}

.mainTitWrap01 {
	/*margin-top: 53px;*/
	margin-top: 4.5%;
}
.maintit24 {
	color: #FCF2DE;
	text-align: center;
	text-shadow: 0px 0px 30px #000;
	font-size: 56px;
	font-style: normal;
	font-weight: 700;
	line-height: 115%; /* 27.6px */
	letter-spacing: 0.48px;
}
.maintit50 {
	color: #FCF2DE;
	text-align: center;
	text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.25);
	font-size: 56px;
	font-style: normal;
	font-weight: 700;
	line-height: 131%; /* 75px */
}
.maintit00a {
	line-height: 0;
}
.maintit00a img {
	width: 1000px;
}
.maintit01 {
	font-size: 240px;
	line-height: 0;
	font-weight: 700;
	color: #FCF2DE;
	margin-top: 0;
    margin-bottom: 0;
}
.maintit01 img {
	width: 1067px;
	height: auto;
}
.mainTit02 {
	text-align: center;
	margin-top: -50px;
}
.mainTit02 img {
	width: auto;
	height: 138px;
}
.mainBox01 {
	margin-top: 25px;
}
.mainBox01 .p01 {
	color: #ffffff;
	font-size: 10px;
	line-height: 1.35em;
	font-weight: 500;
	margin-bottom: 12px;
}
.mainUl01 {
	display: inline-flex;
	align-items: center;
	margin: auto;
}
.mainUl01 li {
	border-left: 1px solid #ffffff;
	padding: 0px 15px 0px 15px;
}
.mainUl01 li:first-child {
	border-left: none;
}
.mainLogo01 img {
	width: auto;
	height: 26px;
}
.mainLogo02 img {
	width: auto;
	height: 48px;
}
.mainSnsWrap01 {
	display: none;
	width: 100%;
	position: absolute;
	left: 0px;
	bottom: 73px;
}
.mainSnsWrap01 .ul01 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
}
.mainSnsWrap01 .li01 {
	color: #FCF2DE;
	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;
}


.mainBox02 {
	display: flex;
	align-items: flex-end;
	position: absolute;
	left: 36px;
	bottom: 0;
}
.mainBox02 .img01 {
	margin-bottom: -52px;
}
.mainBox02 .img01 img {
	width: auto;
	height: 255px;
}
.mainBox02 .text01 {
	color: #FCF2DE;
	font-size: 12px;
	line-height: 1.0em;
	font-weight: 500;
	margin-bottom: 35px;
	padding: 0px 0px 5px 0;
	text-shadow: 1px 1px 6px rgba(0, 0, 0, 1);
}
.mainAncBtn01 {
	position: absolute;
	top: 20px;
	right: 36px;
}
.mainAncBtn01 img {
	width: 196px;
	height: auto;
}

/*---------------------*/
/*-----------------------
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: 32px;
	border-bottom-right-radius: 32px;
  }
  .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: 1;
  }
  @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;
}
.mainImg01 {
	background-image: url("../img/mainVisual01.jpg");
	background-position: center 70%;
}
.mainImg02 {
	background-image: url("../img/mainVisual02.jpg");
	background-position: left bottom;
}
.mainImg03 {
	background-image: url("../img/mainVisual03.jpg");
	background-position: center bottom;
}
.slick01Main .slick-dots {
	z-index: 10;
}

@media screen and (max-width:959px) and (min-width:570px) {
	.mainvisualCont01 {
		padding-top: 65px;
	}
	.mainTitWrap01 {
		margin-top: 5%;
	}
	.maintit01 {
		/*font-size: 174px;*/
		font-size: 80px;
		margin-top: 0;
    	margin-bottom: 0;
	}
	.mainTit02 {
		margin-top: -25px;
	}
	.mainTit02 img {
		/*height: 94px;*/
		height: 70px;
	}
	.maintit24 {
		font-size: 16px;
	}
	.maintit50 {
		font-size: 24px;
	}
	.mainAncBtn01 {
		top: 49px;
	}
	.mainAncBtn01 img {
		width: 120px;
	}
	.mainLogo01 img {
		height: 18px;
		vertical-align: baseline;
	}
	.mainLogo02 img {
		height: 34px;
	}
	.mainBox02 {
		bottom: 10px;
	}
	.mainBox02 .img01 img {
		display: none;
		height: 140px;
	}
	.mainBox02 .text01 {
		font-size: 10px;
		line-height: 0;
		padding: 0;
	}
	
	

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

	.mainvisualWrap01 {
		position: relative;
		box-sizing: border-box;
		height: 100vh;
	}
	.mainvisualCont01 {
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		padding: 82px 20px 36px;
		position: absolute;
		left: 0px;
		top: 0px;
	}
	.slickCont01 {
		position: relative;
	}
	.mainvisualWrap01 .slickImg {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		height: 100vh;
	}
	.slickImg.img01 {
		background-image: url("../img/mainvisual01_sp.jpg");
	}
	.slickImg.img02 {
		background-image: url("../img/mainvisual02_sp.jpg");
	}
	.slickImg.img03 {
		background-image: url("../img/mainvisual03_sp.jpg");
	}
	.slickImg.img04 {
		background-image: url("../img/mainvisual04_sp.jpg");
	}
	.mainTitWrap01 {
		/*margin-top: 53px;*/
		margin-top: 80%;
	}
	.maintit24 {
		color: #FCF2DE;
		text-align: center;
		text-shadow: 0px 0px 9.761px #000;
		font-size: 19.5px;
		font-style: normal;
		font-weight: 700;
		line-height: 115%; /* 13.8px */
		letter-spacing: 0.24px;
	}
	.maintit50 {
		color: #FCF2DE;
		text-align: center;
		text-shadow: 0px 0px 9.761px rgba(0, 0, 0, 0.25);
		font-size: 19.5px;
		font-style: normal;
		font-weight: 700;
		letter-spacing: 1px;
		line-height: 131%; /* 27px */
	}
	.maintit01 {
		font-size: 92px;
		line-height: 0;
		font-weight: 700;
		color: #FCF2DE;
		margin-top: 10px;
		margin-bottom: 12px;
	}
	.mainTit02 {
		text-align: center;
		margin-top: -20px;
		margin-left: -8px;
	}
	.mainTit02 img {
		width: auto;
		height: 52px;
		max-width: none;
	}
	.mainBox01 {
		margin-top: 0px;
		width: 100%;
		position: absolute;
		left: 0px;
		bottom: 86px;
	}
	.mainBox01 .p01 {
		color: #ffffff;
		font-size: 10px;
		line-height: 1.35em;
		font-weight: 500;
		margin-bottom: 12px;
	}
	.mainUl01 {
		display: inline-flex;
		align-items: center;
	}
	.mainUl01 li {
		border-left: 1px solid #ffffff;
		padding: 0px 15px 0px 15px;
	}
	.mainUl01 li:first-child {
		border-left: none;
	}
	.mainLogo01 img {
		width: auto;
		height: 26px;
	}
	.mainLogo02 img {
		width: auto;
		height: 48px;
	}
	.mainSnsWrap01 {
		display: block;
		width: 100%;
		position: absolute;
		left: 0px;
		bottom: 40px;
	}
	.mainSnsWrap01 .ul01 {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.mainSnsWrap01 .li01 {
		color: #FCF2DE;
		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;
	}

	.mainBox02 {
		display: flex;
		align-items: flex-end;
		position: absolute;
		left: 14px;
		bottom: 10px;
	}
	.mainBox02 .img01 {
		display: none;
	}
	
	.mainBox02 .img01 img {
		width: auto;
		height: 110px;
	}
	.mainBox02 .text01 {
		color: #FCF2DE;
		font-size: 10px;
		line-height: 1.0em;
		font-weight: 500;
		margin-bottom: 0;
		padding: 0px;
		text-shadow: 1px 1px 6px rgba(0, 0, 0, 1);
	}
	.mainAncBtn01 {
		position: absolute;
		top: 8%;
		right: 24px;
	}
	.mainAncBtn01 img {
		width: 124px;
		height: auto;
	}

	/*---------------------*/
}

@media screen and (max-width:376px) {
	.mainTitWrap01 {
		/*margin-top: 53px;*/
		margin-top: 65%;
	}
}



/*-----------------------
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: 30px;
  }
  @media screen and (max-width:569px) {
  .contSlickWrap01 .contSlickText01 {
    right: 10px;
    bottom: 20px;
  }
  }


/*---------------------
コンテンツ枠組FMT
---------------------*/
.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;}

/* 全体幅指定 */
.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;
  }
.box-triple-triple {
	padding: 108px 0;
}
.box-triple-0 {
	padding: 108px 0 0;
}

.box-double-double {
	padding: 72px 0;
}
.box-double-0 {
	padding: 72px 0 0;
}
.box-double-triple {
	padding: 72px 0 108px;
}
.box-single-0 {
	padding: 36px 0 0;
}
.box-double-single {
	padding: 72px 0 36px;
}
@media screen and (max-width:959px) and (min-width:570px) {
	.contIn1224 {
		padding: 0 30px;
	  }
	.box-triple-triple {
		padding: 72px 0;
	}
	.box-triple-0 {
		padding: 72px 0 0;
	}
	.box-double-triple {
		padding: 72px 0;
	}
}
@media screen and (max-width:569px) {
	.contIn1224 {
		padding: 0 30px;
	  }
	.box-triple-triple {
		padding: 72px 0;
	}
	.box-triple-0 {
		padding: 36px 0 0;
	}
	.box-double-double {
		padding: 36px 0;
	}	
	.box-double-0 {
		padding: 36px 0 0;
	}
	.box-double-triple {
		padding: 36px 0 72px;
	}
	.box-single-0 {
		padding: 18px 0 0;
	}
}




  /*---------------------
intro
---------------------*/
#intro .box-triple-triple {
	background-color: var(--QLD-teal);
	color: #ffffff;
	text-align: center;
}
#intro .contH201 {
  font-size: 28px;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
}
#intro .contH202 {
	font-size: 24px;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
}
#intro .contRectangle {
	border-radius: 12px;
	border: 1px solid #FFF;
	display: inline-block;
	list-style: disc;
	padding: 18px 18px 18px 36px;
}
#intro .contMapImg01 {
	max-width: 900px;
	margin: 0 auto;
}
#intro .contMapImg01 .relative-wrap {
	height: 0;
	padding-top: 70.8%;
}
#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 .box-triple-triple {
		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: 246.86%;
	}


}



/*----------------------
Highlights
----------------------*/
#highlights .box-triple-triple {
	background-color: var(--QLD-sand-a15);
}
.contH3Wrap01 {
  margin-bottom: 72px;
  color: var(--QLD-charcoal-a90);
  font-weight: 600;
}
.contH302 {
  font-size: 56px;
  line-height: 1.1;
  font-weight: 200;
  margin-top: auto;
  letter-spacing: 0;
}
.contH30201 {
	font-size: 15.5px;
	line-height: 1.95;
	letter-spacing: 0.5em;
	font-weight: 600;
	text-transform: uppercase;
  }
.ancBoxFlex01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 940px;
  margin: auto;
}
.ancBoxFlex01 li {
  width: 30%;
  text-align: center;
  padding-bottom: 18px;
  position: relative;
}
.ancBoxFlex01 li::after {
  content: '';
  width: 9px;
  height: 9px;
  border: 0px;
  border-top: solid 2px var(--QLD-charcoal-a90);
  border-right: solid 2px var(--QLD-charcoal-a90);
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  bottom: 0px;
  left: 50%;
  margin-left: -2px;
}
.ancBoxFlex01 li img {
  width: 222px;
  height: auto;
}
.ancBoxFlex01 li a {
  display: block;
  position: relative;
}
.ancBoxFlex01 li a:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  transition-duration: 0.3s;
}
.ancTit01 {
  color: var(--QLD-charcoal-a90);
  text-align: center;
  margin: auto;
  position: relative;
  left: 0;
  bottom: 0;
}
.ancTit01 dt {
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.ancTit01 dd {
  font-size: 12px;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (max-width:959px) and (min-width:570px) {
	  .ancBoxFlex01 {
    width: 100%;
  }
}
@media screen and (max-width:569px) {
	.contH3Wrap01 {
		margin-bottom: 36px;
	  }
	  .contH302 {
		font-size: 40px;
		line-height: 1.35;
	  }
	  .contH30201 {
		font-size: 11px;
		line-height: 1.6;
	  }
	  .ancBoxFlex01 {
		display: block;
		width: auto;
	  }
	  .ancBoxFlex01 li {
		width: auto;
		margin-bottom: 0;
		margin-top: 0;
		padding-bottom: 0;
	  }

	/* アンカーリンクずれ対策　SP時画像高さ算出（横幅:padding-top） */
	.sp .ancBoxFlex01 a {
		display: block;
		height: 0;
		padding-top: 28.5%;
		position: relative;
	}
	.sp .ancBoxFlex01 a img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	  .ancBoxFlex01 li a {
		display: block;
		position: relative;
	  }
	  .ancBoxFlex01 li a:hover {
		filter: alpha(opacity=70);
		-moz-opacity: 0.7;
		opacity: 0.7;
		transition-duration: 0.3s;
	  }
	  .ancBoxFlex01 li img {
		width: 100%;
		height: auto;
	  }
	  .ancBoxFlex01 li::after {
		display: none;
	  }
}


/*----------------------
コンテンツ - パララックス
----------------------*/
.parallax-window {
	height: 100vh;
	position: relative;
  }
  /*
.paraImg {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 100vh;
	position: relative;
  }
	*/
.paraImg {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 100vh;
}
  .parallax-slider .slick-dots {
	display: none!important;
  }
  .paraImg01 {
	background-image: url("../img/wine_01.png");
  }
  .paraImg02 {
	background-image: url("../img/wine_02.png");
  }
  .paraImg03 {
	background-image: url("../img/wine_03.png");
  }
  .paraImg04-01 {
	background-image: url("../img/nature_01.png");
  }
  .paraImg04-02 {
	background-image: url("../img/nature_02.png");
  }
  .paraImg04-03 {
	background-image: url("../img/nature_03.png");
  }
  .paraImg05-01 {
	background-image: url("../img/foodie_01.png");
  }
  .paraImg05-02 {
	background-image: url("../img/foodie_02.png");
  }
  @media screen and (max-width:569px) { 
	.paraImg01.lazyloaded {
		background-image: url("../img/wine_01_sp.png");
	}
	.paraImg02.lazyloaded {
		background-image: url("../img/wine_02_sp.png");
	}
	.paraImg03.lazyloaded {
		background-image: url("../img/wine_03_sp.png");
	}
	.paraImg04-01.lazyloaded {
		background-image: url("../img/nature_01_sp.png");
	}
	.paraImg04-02.lazyloaded {
		background-image: url("../img/nature_02_sp.png");
	}
	.paraImg04-03.lazyloaded {
		background-image: url("../img/nature_03_sp.png");
	}
	.paraImg05-01.lazyloaded {
		background-image: url("../img/foodie_01_sp.png");
	}
	.paraImg05-02.lazyloaded {
		background-image: url("../img/foodie_02_sp.png");
	}
  }

  .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);

  }
.contH3Wrap02 {
	text-align: left;
	position: absolute;
	left: 120px;
	bottom: 136px;
	text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.3);
}

.contH301 {
	color: #FFFFFF;
	margin-top: auto;
	margin-bottom: 18px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 56px;
	font-style: normal;
	font-weight: 600;
	line-height: 115%;
}
.contH3Text01 {
	color: #FFFFFF;
	font-family:  "Noto Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 24px */
	letter-spacing: 0.16px;
}
.contH3Text01 .s01 {
	font-size: 24px;
  }
@media screen and (max-width:1080px) and (min-width:570px) {
	.paraImg05.lazyloaded {
		background-image: url("../img/cont03_main01_tb.jpg");
	}
}
@media screen and (max-width:959px) and (min-width:570px) {
	.contH3Wrap02 {
		left: 36px;
		bottom: 108px;
	  }
	  .paraImg .contSlickText01 {
		right: 36px;
	  }
	}
@media screen and (max-width:569px) {
	.paraImg01.lazyloaded {
		background-image: url("../img/wine_01_sp.png");
		background-position: right center;
	}
	.paraImg02.lazyloaded {
		background-image: url("../img/wine_02_sp.png");
	}
	
	.paraImg03.lazyloaded {
		background-image: url("../img/wine_03_sp.png");
	}
	
	.paraImg04.lazyloaded {
		background-image: url("../img/cont02_main02_sp.jpg");
	}
	
	.paraImg05.lazyloaded {
		background-image: url("https://www.veltra.com/jp/special/wp-content/uploads/2024/04/Australia_Cairns-II_JetStar_JQ5-s.jpg");
		background-position: 10% center;
	}
	
	.paraImg .contSlickText01 {
		right: 10px;
		bottom: 20px;
	}
	.contCopyWrap01 {
		right: 10px;
		bottom: 5px;
	}
	.contH3Wrap02 {
		left: 30px;
		bottom: 60px;
	  }
	  .contH301 {
		font-size: 34px;
		margin-bottom: 18px;
	  }

	.contH3Text01 {
		font-size: 20px;
	  }
	  .contH3Text01 .s01 {
		font-size: 15px;
	  }
}




/*----------------------
コンテンツ - 見出し
----------------------*/
.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: 29px;
	display: block;
}
.contH401 .s02-en {
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: 0.05em;
	display: block;
	font-weight: 600;
}
.contH401 .s03 {
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
	font-size: 29px;
	display: block;
}
.contH401 .s03-en {
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: 0.05em;
	display: block;
	font-weight: 600;
}
.contH402 {
	color: var(--QLD-charcoal-a90);
	font-size: 48px;
	font-weight: 700;
	line-height: 135%; /* 64.8px */
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.48px;
}
.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 {
		font-size: 20px;
		text-align: left;
	}
	.contH401 .s02-en {
		text-align: left;
	}
	.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: 79.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%;
		  /*padding-top: 100.2%;*/
	  }
	  .halfPicBox .relative-wrap {
		  padding-top: 100%;
	  }


}
/*-----------------------
コンテンツ - サブ（色背景・丸画像）
-----------------------*/
.subContent {
	background-color: var(--QLD-sand-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;
	}
}



/*-----------------------
コンテンツ - 色背景
-----------------------*/
.colorBox {
	background-color: var(--QLD-ocean-a15);
}

/*-----------------------
width100マップ
-----------------------*/
.wideMapBg {
	background:	linear-gradient(90deg, rgba(248,246,240,1) 0%, rgba(248,246,240,1) 50%, rgba(107,209,203,1) 50%, rgba(107,209,203,1) 100%);
	overflow: hidden;
}
.wideMapImg {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
.wideMapImg .relative-wrap {
	height: 0;
	padding-top: 66.7%;
}
.wideMapImg img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media screen and (max-width:569px) {
	.wideMapBg {
		background:	none;
	}
	.wideMapImg .relative-wrap {
		padding-top: 141.3%;
	}

}



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

.contBtn01 {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color:rgba(52, 52, 52, 1);
	box-sizing: border-box;
	padding: 15px 31px;
	width: fit-content;
	/*min-width: 300px;
	height: 60px;*/
	border-radius: 8px;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.35;
	font-weight: bold;
	margin: auto;
  }
  .contBtn01:hover {
	opacity: 0.7;
	transition: all 0.3s;
}
.contBtn01.margin-0 {
	margin: 0;
}
.contBtn01.btnColor02 {
	/*background-color: var(--virgin-purple);*/
	background-color: #295999;
}
  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(--QLD-ocean);
	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(--QLD-dark-teal);
	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;
	}
}



/*-----------------------
プレゼントキャンペーン
-----------------------*/
#presentCP {
	background:	var(--QLD-teal);
	color: #FFF;
}

.campaignH3Wrap01 {
  text-align: center;
}
.campaignH3Wrap01 .p01 {
  display: inline-block;
  position: relative;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
  text-transform: uppercase;
}
.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;
  margin: 0 auto;
}
.campaignImg01 img {
	max-width: 306px;
	height: auto;
}

.campaignText02 .p01 {
  font-size: 28px;
  line-height: 1.5;
  font-weight: bold;
}

.campaignText02 .p03 {
	font-size: 32px;
	line-height: 1.5;
	font-weight: bold;
  }
.campaignText02 .p02 {
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
}

.campaignText03 {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	font-size: 13px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 19.5px */
	letter-spacing: 0.13px;
	padding: 18px 0;
}

.campaignText03 .p01 {
	font-size: 17px;
	font-style: normal;
	font-weight: bold;
	line-height: 190%; /* 32.3px */
	letter-spacing: 0.17px;
}

.campaignText03 .my-9 {
	margin: 9px 0;
}

 @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: 16px;
  }

  .campaignImg01 {
    text-align: center;
    margin: 18px auto;
  }
  .campaignImg01 img {
    max-width: 305px;
    height: auto;
  }

    .campaignText02 {
    font-size: 12px;
    line-height: 1.75em;
    font-weight: 500;
    color: #ffffff;
    text-align: center;
    margin: auto;
  }

  .campaignText02 .p01 {
    font-size: 24px;
  }
  .campaignText02 .p02 {
	font-size: 16px;
}
 }



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

.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: 13px;
  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: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 30px;
  }
  .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-en {
	display: block;
	font-size: 12px;
	line-height: 1.3;
	font-weight: 500;
  }
  .factsWrap {
	display: flex;
	text-align: left;
	align-items: flex-start;
	justify-content: center;
  }
  .factsInnerWrap-container {
	width: 65%;
  }
  .factsInnerWrap {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid rgba(0, 0, 0, 0.13);
	padding: 36px 0;
  }
  .factsInnerWrap.last {
	border: none;
	padding-bottom: 72px;
  }
  .factsInnerWrap dt {
	color: var(--vt-black-dark);
	font-weight: 700;
	width: 100%;
	margin-top: 18px;
  }
  .factsInnerWrap dd {
	color: var(--vt-black);
	width: 100%;
  }
  .factsInnerWrap dt.short {
	width: fit-content;
    padding-right: 1em;
  }
  .factsInnerWrap dd.short {
	width: calc(100% - 5em);
	margin-top: 18px;
  }
  @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%;
  }

  .factsInnerWrap-container {
	width: 100%;
  }

}
/*------------
パートナー
-------------*/


#partner {
	padding: 0 36px;
  }
  .partnerBox {
	border-top: 1px solid #DDDDDD;
	border-bottom: 1px solid #DDDDDD;
	display: flex;
	align-items: center;
	justify-content: space-between;
	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: 140px;
	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) {}
/*-----*/

/* 202502 Update */
.icon-link-external {
	width: 20px;
	height: 20px;
	background: url(../img/icon-link-external.svg);
	background-size: cover;
	filter: invert(100%);
}

.wine-journey-bg {
	background: #fff8f2;
}

.d-flex {
	display: flex;
}

.align-items-center {
    align-items: center;
}

.justify-content-between {
	justify-content: space-between;
}

.flex-shrink-0 {
	flex-shrink: 0;
}

.special-box .contText01 {
	gap: 18px;
}

.special-box .icon-right-o {
	background: #333;
	border-radius: 100%;
	display: flex;
	justify-content: center;
    align-items: center;
	height: 40px;
	width: 40px;
	text-align: center;
}

.special-box-title {
	color: #333;
	display: block;
	/* JA/Title/S */
	font-family: "Noto Sans JP";
	font-size: 36px;
	font-style: normal;
	font-weight: 700;
	line-height: 135%; /* 48.6px */
	letter-spacing: 0.36px;
	text-align: left;
}

.special-box-content-title {
	color: #333;
	text-shadow: 0px 0px 40px #FFF;

	/* JA/Headline/5-Bold */
	font-family: "Noto Sans JP";
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 27px */
	letter-spacing: 0.18px;
}

.special-box-content {
	font-size: 15px;
}

@media screen and (max-width: 569px) {
	.special-box-title {
		font-size: 24px;
		margin-bottom: 16px;
	}
}

@media screen and (max-width:959px) {
	.special-box {
		align-items: start;
	}
	.special-box,
	.special-box .contText01 {
		flex-direction: column;
	}
	.special-box .contText01 {
		width: 100%;
	}
	.special-box-img {
		max-width: 100%;
    	width: auto;
	}
	.special-box-title br {
		display: none;
	}
}

.margin-left-18 {
	margin-left: 18px;;
}

.contBtn-rounded-radius {
	display: flex
;
    align-items: center;
    justify-content: center;
    background-color: var(--QLD-teal);
    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;
}

.btn-apply {
	background: #FD7700;
	font-size: 17px;
}