/* デフォルト
---------------------------------------------------- */

@font-face {
	font-family: 'MyFont_A1gothic';
	src: local('AP-OTF-A1GOTHICSTDN-REGULAR.OTF'), url("../../../common/font/AP-OTF-A1GOTHICSTDN-REGULAR.OTF");
	font-display: swap;
	font-weight: 400;
}

@font-face {
	font-family: 'MyFont_A1gothic';
	src: local('AP-OTF-A1GOTHICSTDN-MEDIUM.OTF'), url("../../../common/font/AP-OTF-A1GOTHICSTDN-MEDIUM.OTF");
	font-display: swap;
	font-weight: 500;
}

@font-face {
	font-family: 'MyFont_Brandon';
	src: local('AP-OTF-A1GOTHICSTDN-REGULAR.OTF'), url("../../../common/font/brandon-grotesque-regular-italic.otf");
	font-display: swap;
	font-weight: 400;
}

@font-face {
	font-family: 'MyFont_Brandon';
	src: local('AP-OTF-A1GOTHICSTDN-REGULAR.OTF'), url("../../../common/font/brandon-grotesque-bold-italic.otf");
	font-display: swap;
	font-weight: 700;
}

:root {
	--main-color: #00ac9f;
	--relaxation-color: #1abcf2;
	--french-color: #eda89a;
	--nature-color: #94c700;
	--present-color: #ff811e;
	--aircalin-color: #004288;
	--black-color: #333333;
	--title-f-size: 40px;
	--sbtitle-f-size: 25px;
	--txt-f-size: 16px;
	--remark-f-size: 12px;
	--big-f-size: 1.5em;
	--btn-f-size: 18px;
}


/* 画面100%表示用↓ここから */
.mainContentMT {
	width: 100%;
}

/*　パンくずの表示くずれ防止　*/
.rootMT ul {
	overflow: hidden;
	width: 940px !important;
	margin: 0 auto;
}

/* 画面100%表示用↓ここまで */

tr,
th,
td,
div,
span,
a,
p {
	color: inherit;
}

/* newcaledonia
---------------------------------------------------- */
#newcaledonia {
	width: 100%;
	margin: 0 auto;
	position: relative;
	font-family: "MyFont_A1gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
	overflow: hidden;
	color: var(--black-color);
}

#newcaledonia * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}

#newcaledonia img {
	width: 100%;
	max-width: 100%;
	vertical-align: bottom;
	font-size: 0;
}

#newcaledonia .pc {
	display: block !important;
}

#newcaledonia .sp {
	display: none !important;
}


#newcaledonia ol,
#newcaledonia ul {
	list-style-type: none;
}

#newcaledonia a {
	outline: none;
	font-size: inherit;
	position: relative;
}

#newcaledonia a[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 2em;
	height: 1em;
	background: url(../img/blank_icn.svg) no-repeat 0 0;
	background-position: center;
	background-size: 1em 1em;
}

#newcaledonia section {
	padding: 0 0 10% !important;
}

/* font
---------------------------------------------------- */

#newcaledonia .title {
	font-size: var(--title-f-size);
	font-weight: 700;
	line-height: 1.2;
}

#newcaledonia .subtitle {
	font-size: var(--sbtitle-f-size);
	font-weight: 500;
	line-height: 1.2;
}

#newcaledonia .text {
	font-size: var(--txt-f-size);
	font-weight: 400;
	line-height: 2;
}

#newcaledonia .remark {
	font-size: var(--remark-f-size);
	font-weight: 400;
	line-height: 1.5;
}

#newcaledonia .big {
	font-size: var(--big-f-size);
}

#newcaledonia .line {
	text-decoration: underline;
}

#newcaledonia .dot {
	position: relative;
}

#newcaledonia .dot::before {
	content: "";
	position: absolute;
	width: 0.15em;
	height: 0.15em;
	border-radius: 50%;
	display: block;
	top: -0.3em;
	left: 0;
	right: 0;
	margin: auto;
}

#newcaledonia .english {
	font-family: "MyFont_Brandon", "Helvetica Neue", "Helvetica", "MyFont_A1gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
}

#newcaledonia .copyright {
	color: #888;
	margin-top: 0.5em;
}

#newcaledonia .txt_center {
	text-align: center;
}

#newcaledonia .txt_left {
	text-align: left;
}

#newcaledonia .txt_right {
	text-align: right;
}


/* #splash
---------------------------------------------------- */

#splash {
	/*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background: #fff;
	text-align: center;
	top: 0;
	left: 0;
}

/* Loading画像中央配置　*/
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 45%;
	max-width: 350px;
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
	width: 100%;
}


/* flex-box
---------------------------------------------------- */
#newcaledonia .flex {
	display: flex;
}


/* .melanesia_line
---------------------------------------------------- */
#newcaledonia .melanesia_line {
	width: 100%;
	height: 1.2em;
	margin: 2em 0;
	background-size: contain !important;
}

#newcaledonia .white_line {
	width: 100%;
	height: 20px;
	margin: -10px 0 0;
	background: url(../img/head_line.svg) repeat-x;
	background-size: contain;
	position: relative;
	z-index: 3;
}

/* #head
---------------------------------------------------- */

#newcaledonia #head {
	position: relative;
}

#newcaledonia .head {
	position: relative;
	z-index: 4;
}

#newcaledonia .title_svg {
	position: absolute;
	z-index: 2;
	top: 20%;
	left: 0;
	right: 0;
	margin: auto;
	width: 90%;
	max-width: 450px;
}

#head .head_slider {
	position: relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 100vh;
	/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	min-height: 1080px;
}

#head .head_slider .slider-item:nth-child(1) {
	background: url(../img/head01_pc.jpg);
}

#head .head_slider .slider-item:nth-child(2) {
	background: url(../img/head02_pc.jpg);
}

#head .head_slider .slider-item:nth-child(3) {
	background: url(../img/head03_pc.jpg);
}

#head .head_slider .slider-item:nth-child(4) {
	background: url(../img/head04_pc.jpg);
}

#head .head_slider .slider-item:nth-child(5) {
	background: url(../img/head05_pc.jpg);
}

#head .head_slider .slider-item:nth-child(6) {
	background: url(../img/head06_pc.jpg);
}


#head .head_slider .slider-item {
	width: 100%;
	/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
	height: 100vh;
	min-height: 1080px;
	/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	background-repeat: no-repeat !important;
	/*背景画像をリピートしない*/
	background-position: center !important;
	/*背景画像の位置を中央に*/
	background-size: cover !important;
	/*背景画像が.slider-item全体を覆い表示*/
}

/*ドットナビゲーションの設定*/

#head .head_slider .slick-dots {
	position: relative;
	z-index: 9999;
	text-align: center;
	margin: -5% 0 0 0;
	/*ドットの位置*/
}

#head .head_slider .slick-dots li {
	display: inline-block;
	margin: 0 5px;
}

#head .head_slider .slick-dots button {
	color: transparent;
	outline: none;
	width: 8px;
	/*ドットボタンのサイズ*/
	height: 8px;
	/*ドットボタンのサイズ*/
	display: block;
	border-radius: 50%;
	background: #fff;
	/*ドットボタンの色*/
	opacity: 0.5;
	cursor: pointer;
}

#head .head_slider .slick-dots .slick-active button {
	opacity: 1;
}

#head .head_subtitle {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}

#head .head_subtitle p {
	color: #fff;
	padding: 0;
	position: absolute;
	top: 400px;
	left: 2em;
	transform: rotate(90deg);
	z-index: 3;
	height: max-content;
	transform-origin: left;
	font-weight: 400;
}

#head .head_logo {
	position: absolute;
	top: 0;
	left: 0;
	width: 30%;
	max-width: 300px;
	z-index: 3;
}

#head .head_slider .slider-item .remark {
	position: absolute;
	bottom: 2em;
	right: 1em;
	z-index: 4;
	color: #fff;
	margin: 0;
}


/* introduction
---------------------------------------------------- */

#introduction .introduction {
	width: 83%;
	max-width: 1400px;
	margin: 0 auto;
	justify-content: space-between;
	align-items: flex-end;
	padding-left: 8em;
}

#introduction .introduction .box {
	width: 70%;
	padding: 0 0 10% 10%;
}

#introduction .introduction .box .melanesia_line {
	background: url(../img/green_line.svg) repeat-x;
}

#introduction .introduction .introduction_ph {
	position: relative;
	max-width: 600px;
}

#introduction .introduction .welcome {
	text-align: left;
	position: absolute;
	top: 0;
	left: -1em;
	transform: rotate(90deg);
	height: max-content;
	transform-origin: top left;
	font-weight: 700;
}

#introduction .title p,
#introduction .subtitle p {
	color: var(--main-color);
}

#introduction .map_all {
	width: 70%;
	max-width: 1200px;
	margin: 5% auto 0;
	justify-content: space-between;
	align-items: center;
}

#introduction .map {
	max-width: 740px;
	width: 70%;
}

#introduction .map img {
	width: 100%;
}

.introduction_sp {
	display: none;
}


/* .section_title
---------------------------------------------------- */

#newcaledonia .section_title {
	margin: 0 auto 5%;
	position: relative;
	padding: 0.5em 0;
}

#newcaledonia .section_title p,
#newcaledonia .section_title p span {
	color: #fff;
}

#newcaledonia .section_title .title p,
#newcaledonia .section_title .title p span {
	font-weight: 500;
}

#newcaledonia .section_title .subtitle p,
#newcaledonia .section_title .subtitle p span {
	font-weight: 700;
}

#newcaledonia .section_title::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/hibiscus.svg) repeat;
	background-size: 40%;
	opacity: .1;
}

#newcaledonia .section_title .melanesia_line {
	background: url(../img/theme_line.svg) repeat-x;
	margin: 0;
}

#newcaledonia .section_title div:nth-child(1) {
	margin-bottom: 5%;
}

#newcaledonia .section_title div:nth-child(4) {
	margin-top: 5%;
}

#newcaledonia .section_title .subtitle {
	margin-bottom: 0.5em;
}


/* .btn
---------------------------------------------------- */

#newcaledonia .btn a {
	color: #fff;
	padding: 1em 0;
	text-decoration: none;
	border-radius: 5em;
	display: block;
	width: 90%;
	max-width: 400px;
	transition: all ease-in .3s;
	text-align: center;
	font-size: var(--btn-f-size);
	font-weight: 500;
}

#newcaledonia .btn a:hover {
	transform: scale(1.1);
}

/* #theme
---------------------------------------------------- */

#theme .section_title {
	background: var(--main-color);
	background: linear-gradient(90deg, var(--relaxation-color), var(--main-color));
}

#theme .section_title .subtitle {
	margin: 0;
}


#theme img {
	width: 100%;
}

#theme .theme_top {
	justify-content: flex-end;
}

#theme .theme_top .theme_top_ph {
	width: 90%;
	max-width: 1400px;
}

#theme .theme_top .title {
	position: relative;
	margin-right: 1em;
}

#theme .theme_top .title p {
	font-size: 1em;
}

#theme .theme_top .title span {
	transform: rotate(90deg);
	height: max-content;
	transform-origin: bottom left;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.5em;
	line-height: 1;
}

#theme .theme_sub {
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 10px 0 5%;
}

#theme .theme_sub .theme_sub_ph:nth-child(1) {
	width: 40%;
	padding-right: 30px;
}

#theme .theme_sub .theme_sub_ph:nth-child(2) {
	width: 25%;
	padding-right: 30px;
}

#theme .theme_sub .box:nth-child(3) {
	width: 30%;
	padding: 3% 0 0 3%;
}

#theme .theme_contents {
	margin: 0 0 10%;
	justify-content: flex-start;
}

#theme .theme_contents:nth-child(even) {
	flex-direction: row-reverse;
}


#theme .theme_contents .box {
	width: 45%;
	padding: 5%;
	max-width: 740px;
}

#theme .theme_contents .theme_contents_ph {
	width: 35%;
}

#theme .theme_contents:nth-child(odd) .box {
	margin: 2.5% 0 0 5%;
}

#theme .theme_contents:nth-child(odd) .theme_contents_ph {
	margin: 0 0 5% -2.5%;
}

#theme .theme_contents:nth-child(even) .box {
	margin: 2.5% 5% 0 0;
}

#theme .theme_contents:nth-child(even) .theme_contents_ph {
	margin: 0 -2.5% 5% 0;
}

#theme .btn a {
	background: var(--main-color);
	background: linear-gradient(180deg, var(--relaxation-color), var(--main-color));
	margin: 0 auto 0.5em;
}

/* #relaxation
---------------------------------------------------- */
#relaxation .title p,
#relaxation .subtitle p,
#relaxation .title span,
#relaxation .subtitle span {
	color: var(--relaxation-color);
}

#relaxation .melanesia_line {
	background: url(../img/relaxation_line.svg) repeat-x;
}

#relaxation .theme_contents .box {
	background-color: #e8f5f9;
}


/* #french
---------------------------------------------------- */
#french .title p,
#french .subtitle p,
#french .title span,
#french .subtitle span {
	color: var(--french-color);
}

#french .melanesia_line {
	background: url(../img/french_line.svg) repeat-x;
}

#french .theme_contents .box {
	background-color: #fbeeeb;
}

#french .theme_top .title span {
	min-width: 9.2em;
}

/* #nature
---------------------------------------------------- */
#nature .title p,
#nature .subtitle p,
#nature .title span,
#nature .subtitle span {
	color: var(--nature-color);
}

#nature .melanesia_line {
	background: url(../img/nature_line.svg) repeat-x;
}

#nature .theme_contents .box {
	background-color: #eaf4cc;
}

#nature .theme_top .title span {
	min-width: 9em;
}

/* tab
---------------------------------------------------- */

/* tab全体 */
#newcaledonia #tab {
	margin: 0 auto;
}

/*tabの形状*/
#newcaledonia .tab {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 10%;
	justify-content: center;
}

/*tabの形状*/
#newcaledonia .tab li span {
	display: block;
	background: #ddd;
	margin: 1em;
	padding: 1em 3em;
	cursor: pointer;
	border-radius: 5em;
	background-color: #f0f0f0;
	min-width: 300px;
	transition: all ease-in .3s;
	font-weight: 700;
	text-align: center;
	font-size: var(--btn-f-size);
}

#newcaledonia .tab li:nth-child(1) span {
	color: var(--relaxation-color);
}

#newcaledonia .tab li:nth-child(2) span {
	color: var(--french-color);
}

#newcaledonia .tab li:nth-child(3) span {
	color: var(--nature-color);
}

/*liにactiveクラスがついた時の形状*/
#newcaledonia .tab li.active span,
#newcaledonia .tab li span:hover {
	color: #fff;
}

#newcaledonia .tab li:nth-child(1).active span,
#newcaledonia .tab li:nth-child(1) span:hover {
	background-color: var(--relaxation-color);
}

#newcaledonia .tab li:nth-child(2).active span,
#newcaledonia .tab li:nth-child(2) span:hover {
	background-color: var(--french-color);
}

#newcaledonia .tab li:nth-child(3).active span,
#newcaledonia .tab li:nth-child(3) span:hover {
	background-color: var(--nature-color);
}

/* エリア全体背景 */
#newcaledonia .area_all {
	margin: 0 auto;
}

/*エリアの表示非表示と形状*/
#newcaledonia .area {
	/*はじめは非表示*/
	display: none;
	/*透過0*/
	opacity: 0;
}

/*areaにis-activeというクラスがついた時の形状*/
#newcaledonia .area.is-active {
	/*表示*/
	display: block;
	/*ふわっと表示させるためのアニメーション*/
	animation-name: displayAnime;
	animation-duration: 4s;
	animation-fill-mode: forwards;
}

@keyframes displayAnime {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}


/* #present
---------------------------------------------------- */


#present {
	background-color: #fdf1cc;
	position: relative;
}

#present::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/hibiscus.svg) repeat;
	background-size: 350px;
	opacity: .3;
}

#present .section_title {
	background: var(--present-color);
	background: linear-gradient(90deg, #f4b900, var(--present-color));
}

#present .section_title.txt_center::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: #000;
  opacity: .5;
}

#present .present_contents {
	position: relative;
	z-index: 4;
	width: 90%;
	max-width: 1260px;
	margin: 0 auto;
}

#present .present_icn {
	width: 30%;
	max-width: 100px;
	margin: 5% auto 1em;
}

#present .melanesia_line {
	background: url(../img/present_line.svg) repeat-x;
}

#present .cpn_period {
	margin: 1em auto 5%;
}

#present .cpn_period span {
	font-weight: 700;
}

#present .present_all {
	justify-content: space-between;
	margin: 5% auto;
}

#present .present {
	width: 30%;
	max-width: 400px;
	padding: 1.5em;
	background-color: #fff;
}

#present .present_ph {
	position: relative;
}

#present .present_ph::before {
	content: "";
	display: block;
	position: absolute;
	top: -0.5em;
	left: -0.5em;
	width: 5em;
	height: 5em;
	background-size: contain !important;
	background-position: center !important;
}

#present .present:nth-child(1) .present_ph::before {
	background: url(../img/prize_a.svg) no-repeat;
}

#present .present:nth-child(2) .present_ph::before {
	background: url(../img/prize_b.svg) no-repeat;
}

#present .present:nth-child(3) .present_ph::before {
	background: url(../img/prize_c.svg) no-repeat;
}


#present .btn a {
	margin: 5% auto 0.5em;
	background-color: var(--present-color);
	background-image: url(../img/present_btn.svg);
	background-repeat: repeat;
	background-size: 20%;
	background-position: center;
	animation: none;
	pointer-events: none;
	overflow: hidden;
}

#present .btn a::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: #000;
  opacity: .3;
}


@keyframes poyopoyo2 {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

#present .btn a:hover {
transform: inherit;
}

#present .subtitle {
	line-height: 1.8;
}

#present .present .subtitle {
	margin-top: 1em;
	line-height: 1.2;
}

#present span {
	color: var(--present-color);
}

#present .dot::before {
	background-color: var(--present-color);
}



/* #modaal
---------------------------------------------------- */


/* モーダルを開くボタン */
#modaal a.inline {
	text-align: center;
	display: block;
	margin: 0 auto;
}

.modaal-wrapper .modaal-close {
	background: var(--present-color);
	z-index: 9999;
}

/* 閉じるボタン　hover */
.modaal-close:focus,
.modaal-close:hover {
	transform: scale(1.1);
}

.modaal-close:focus::before,
.modaal-close:focus::after,
.modaal-close:hover::before,
.modaal-close:hover::after {
	background: #fff;
}

.modaal-content-container p,
.modaal-content-container a {
	font-size: var(--txt-f-size);
	font-weight: 400;
	line-height: 2;
	font-family: "MyFont_A1gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	color: var(--black-color);
}

.modaal-content-container a[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 2em;
	height: 1em;
	background: url(../img/blank_bk_icn.svg) no-repeat 0 0;
}

.modaal-inner-wrapper {
	padding: 3em;
	display: block;
}

.modaal-content-container {
	padding: 0;
}

.modaal-container {
	padding: 0;
	box-shadow: none;
}

.modaal-content-container {
	padding: 3em;
}

.modaal-wrapper {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	z-index: 9999;
	overflow-x: hidden;
	opacity: 1;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.modaal-outer-wrapper {
	display: block;
}

/* #aircalin
---------------------------------------------------- */

#aircalin .section_title {
	background: var(--aircalin-color);
	background: linear-gradient(90deg, #006eb4, var(--aircalin-color));
	margin: 0 auto;
}

#aircalin .aircalin .subtitle p {
	color: var(--aircalin-color);
}

#aircalin .melanesia_line {
	background: url(../img/aircalin_line.svg) repeat-x;
}

#aircalin .aircalin {
	max-width: 940px;
	margin: -25% auto 5%;
	justify-content: space-between;
	position: relative;
	align-items: center;
}

#aircalin .aircalin .box {
	width: 45%;
}

#aircalin .aircalin .aircalin_logo {
	width: 30%;
}

#aircalin .aircalin_slide {
	padding: 5% 0;
	background-color: #e9eef4;
}

#aircalin .aircalin_slide .flex {
	max-width: 940px;
	margin: 0 auto;
	align-items: center;
	justify-content: space-between;
}

#aircalin .aircalin_slide .flex .box {
	width: 50%;
	padding-left: 5%;
}

#aircalin .aircalin_slide .flex .aircalin_ph {
	width: 50%;
}

#aircalin .aircalin_slide .flex .box .text:nth-child(1) p {
	color: var(--aircalin-color);
	font-size: 1.1em;
	margin-bottom: 1em;
	font-weight: 500;
}

/* Arrows */
#aircalin .aircalin_slide .slick-prev,
#aircalin .aircalin_slide .slick-next {
	line-height: 0;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	width: 3.5em;
	height: 3.5em;
	padding: 0;
	cursor: pointer;
	outline: none;
	z-index: 9999;
	background: url(../img/aircalin_arrow.svg)no-repeat;
	background-size: contain;
	background-position: center;
}

#aircalin .aircalin_slide .slick-prev {
	left: 5%;
}

#aircalin .aircalin_slide .slick-next {
	right: 5%;
	transform: rotate(180deg);
}

#aircalin .aircalin_slide .slick-dots {
	position: relative;
	z-index: 3;
	text-align: center;
	margin: 2.5% auto 0;
	/*ドットの位置*/
}

#aircalin .aircalin_slide .slick-dots li {
	display: inline-block;
	margin: 0 5px;
}

#aircalin .aircalin_slide .slick-dots button {
	color: transparent;
	outline: none;
	width: 8px;
	/*ドットボタンのサイズ*/
	height: 8px;
	/*ドットボタンのサイズ*/
	display: block;
	border-radius: 50%;
	background: var(--aircalin-color);
	/*ドットボタンの色*/
	opacity: 0.5;
	cursor: pointer;
}

#aircalin .aircalin_slide .slick-dots .slick-active button {
	opacity: 1;
}

#aircalin .btn a {
	margin: 5% auto 0.5em;
	background-color: var(--aircalin-color);
	background-image: url(../img/aircalin_btn.svg);
	background-repeat: repeat;
	background-size: 20%;
	background-position: center;
}

/* #covid
---------------------------------------------------- */

#covid a[target="_blank"]::after {
	background: url(../img/blank_bk_icn.svg) no-repeat 0 0;
}

#covid {
	margin: 10% auto 0;
}

#covid .box {
	width: 90%;
	max-width: 940px;
	margin: 0 auto -30%;
	position: relative;
	z-index: 5;
}

#covid .subtitle {
	color: var(--main-color);
}

#covid .melanesia_line {
	background: url(../img/green_line.svg) repeat-x;
}

#covid .newcaledonia_logo {
	text-align: right;
}

#covid .newcaledonia_logo img {
	width: 20%;
	max-width: 250px;
	margin: 1.5%;
}

#newcaledonia #covid,
#newcaledonia #contents {
	padding: 0 !important;
}


#covid .foot_ph_all {
	position: relative;
}

#covid .foot_ph_all .copyright {
	position: absolute;
	bottom: -2em;
	left: 0.5em;
	z-index: 5;
}

#covid .bon_voyage {
	position: absolute;
	bottom: 80px;
	right: 80px;
	width: 30%;
	max-width: 350px;
}

/* #page-top
---------------------------------------------------- */

#page-top {
	width: 20%;
	min-width: 200px;
	max-width: 300px;
}

/*リンクの形状*/
#page-top a {
	display: block;
	transition: all 0.3s;
}

#page-top a:hover {
	transform: scale(1.1);
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 5;
	/*はじめは非表示*/
	opacity: 0;
	transform: translateY(120%);
}

/*　上に上がる動き　*/

#page-top.UpMove {
	animation: UpAnime 1s forwards;
}

@keyframes UpAnime {
	from {
		opacity: 0;
		transform: translateY(120%);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*　下に下がる動き　*/

#page-top.DownMove {
	animation: DownAnime 1s forwards;
}

@keyframes DownAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 1;
		transform: translateY(120%);
	}
}

#page-top .close_btn {
	position: absolute;
	z-index: 1;
	border-radius: 50%;
	line-height: 1;
	transition: .25s;
	display: inline-block;
	margin: 0;
	border: solid 7px transparent;
	vertical-align: middle;
	text-decoration: none;
	text-align: center;
	top: 7px;
	right: 7px;
	padding: 6px;
	background: 0;
	color: #fff;
	background-color: #aaa;
	cursor: pointer;
}

#page-top .close_btn::before,
#page-top .close_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.5px;
	height: 15px;
	background: #fff;
}

#page-top .close_btn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

#page-top .close_btn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

#page-top .close_btn:hover {
	/* マウスオーバー時のスタイル */
	transform: rotate(90deg);
}


/* #illust
---------------------------------------------------- */

#newcaledonia .illust {
	position: absolute;
	display: block;
	z-index: 9999;
}

#newcaledonia .illust01 {
	width: 20%;
	max-width: 200px;
	top: 3%;
	right: -5%;
}

#newcaledonia .illust02 {
	width: 15%;
	max-width: 100px;
	top: -20%;
	right: 3%;
}

#newcaledonia .illust03 {
	width: 10%;
	max-width: 200px;
	top: -10%;
	right: 3%;
}

#newcaledonia .illust04 {
	width: 12%;
	max-width: 200px;
	top: -8%;
	left: 1%;
}

#newcaledonia .illust.illust05 {
	position: relative;
	z-index: 5;
	width: 80%;
	display: block;
	max-width: 940px;
	margin: 3% 0 0;
}


@media screen and (max-width: 1199px) {

	#theme .theme_sub .theme_sub_ph:nth-child(1) {
		width: 50%;
	}

	#theme .theme_sub .theme_sub_ph:nth-child(2) {
		width: 35%;
	}


	#theme .theme_sub .box:nth-child(3) {
		width: 90%;
		max-width: 940px;
		margin: 30px auto 20%;
	}

	#theme .theme_contents {
		flex-direction: column-reverse !important;
		justify-content: center;
		margin: 0 auto;
	}

	#theme .theme_contents .box {
		width: 90%;
		max-width: inherit;
	}

	#theme .theme_contents:nth-child(odd) .box {
		margin: 5% auto 20% 0;
	}

	#theme .theme_contents:nth-child(even) .box {
		margin: 5% 0 20% auto;
	}

	#theme .theme_contents .theme_contents_ph {
		width: 100%;
		margin: 0 !important;
		position: relative;
		z-index: -1;
	}

	#newcaledonia .illust04 {
		width: 12%;
		max-width: 90px;
		top: -15%;
		left: 1%;
	}

	#french .theme_top,
	#nature .theme_top {
		min-height: 630px;
	}

	#aircalin .aircalin_slide .slick-prev,
	#aircalin .aircalin_slide .slick-next {
		top: inherit;
		bottom: 3.5em;
	}

	#aircalin .aircalin_slide .flex {
		margin: 0 auto 5%;
	}

}


@media screen and (max-width: 939px) {
	.introduction_pc {
		display: none;
	}

	.introduction_sp {
		display: block;
	}

	#introduction .introduction {
		width: 90%;
		flex-direction: column;
		padding: 0;
		align-items: center;
	}

	#introduction .introduction .introduction_ph {
		width: 100%;
		max-width: inherit;
	}

	#introduction .introduction .box {
		width: 100%;
		padding: 5% 0 10%;
	}

	#introduction .introduction .welcome {
		position: relative;
		transform: inherit;
		left: 0;
		margin: 0 0 1em
	}

	#introduction .map_all {
		width: 95%;
		flex-direction: column-reverse;
		align-items: center;
	}

	#introduction .map {
		width: 100%;
		margin: 0 0 5%;
	}

	#present .present_all {
		flex-direction: column;
	}

	#present .present {
		width: 100%;
		margin: 5% 0;
		max-width: inherit;
	}

	#aircalin .aircalin {
		width: 90%;
		flex-direction: column;
	}

	#aircalin .aircalin .aircalin_logo {
		width: 80%;
	}

	#aircalin .aircalin .box {
		width: 100%;
		margin: 10% 0 0;
	}

	#aircalin .aircalin_slide .flex {
		flex-direction: column;
		width: 90%;
	}

	#aircalin .aircalin_slide .flex .aircalin_ph {
		width: 100%;
	}

	#aircalin .aircalin_slide .flex .box {
		width: 100%;
		padding: 5% 0 0;
	}

}


@media screen and (max-width: 767px) {

	:root {
		--title-f-size: 25px;
		--sbtitle-f-size: 20px;
		--txt-f-size: 14px;
		--remark-f-size: 10px;
		--btn-f-size: 16px;
	}

	#newcaledonia section {
		padding: 0 0 50% !important;
	}

	#newcaledonia p,
	#newcaledonia span {
		font-size: inherit;
		line-height: inherit;
	}

	#newcaledonia p {
		color: inherit;
	}

	/*　左右余白削除　*/
	#fftop_recomDetail section {
		padding: 0;
	}

	#newcaledonia .sp {
		display: block !important;
	}

	#newcaledonia .pc {
		display: none !important;
	}

	#splash_logo {
		width: 70%;
	}

	#newcaledonia #head {
		padding: 0 0 15% !important;
	}

	#head .head_slider,
	#head .head_slider .slider-item {
		min-height: inherit;
	}

	#head .head_logo {
		width: 40%;
	}

	#head .head_slider .slider-item:nth-child(1) {
		background: url(../img/head01_sp.jpg);
	}

	#head .head_slider .slider-item:nth-child(2) {
		background: url(../img/head02_sp.jpg);
	}

	#head .head_slider .slider-item:nth-child(3) {
		background: url(../img/head03_sp.jpg);
	}

	#head .head_slider .slider-item:nth-child(4) {
		background: url(../img/head04_sp.jpg);
	}

	#head .head_slider .slider-item:nth-child(5) {
		background: url(../img/head05_sp.jpg);
	}

	#head .head_slider .slider-item:nth-child(6) {
		background: url(../img/head06_sp.jpg);
	}

	#head .head_slider .slick-dots {
		margin: 0;
		display: inline-block;
		position: absolute;
		bottom: 1.2em;
		left: 1.2em;
	}

	#newcaledonia .section_title div:nth-child(1) {
		margin-bottom: 15%;
	}

	#newcaledonia .section_title div:nth-child(4) {
		margin-top: 15%;
	}

	#head .head_subtitle p {
		left: 1em;
	}

	#theme .theme_top {
		flex-direction: column;
	}

	#french .theme_top,
	#nature .theme_top {
		min-height: inherit;
	}


	#theme .theme_top .title {
		margin: 0 0 1em 0.5em;
		text-align: left;
	}

	#theme .theme_top .title span {
		transform: inherit;
		position: relative;
	}

	#french .theme_top .title span,
	#nature .theme_top .title span {
		width: inherit;
	}

	#theme .btn a {
		margin: 0 auto 1em;
	}

	#theme .theme_contents .box {
		padding: 2em;
	}

	#theme .theme_top .theme_top_ph {
		width: 100%;
	}

	#theme .theme_sub .theme_sub_ph:nth-child(1) {
		width: 60%;
		padding-right: 3%;
	}

	#theme .theme_sub .theme_sub_ph:nth-child(2) {
		width: 40%;
		padding: 0;
	}

	#theme .theme_contents:nth-child(even) .theme_contents_ph .copyright {
		text-align: right;
	}

	#newcaledonia .illust02,
	#newcaledonia .illust03,
	#newcaledonia .illust04 {
		display: none;
	}

	#present .present_icn {
		width: 20%;
		margin: 10% auto 1em;
	}

	#present .present_ph::before {
		width: 4em;
		height: 4em;
	}

	#present .btn a {
		margin: 10% auto 1em;
	}

	#aircalin .aircalin {
		margin: -50% auto 20%;
	}

	#aircalin .aircalin_slide {
		padding: 10% 0 7em;
	}

	#aircalin .aircalin_slide .slick-dots {
		position: absolute;
		z-index: 3;
		text-align: center;
		margin: auto;
		left: 0;
		right: 0;
		bottom: 4em;
	}

	#aircalin .btn a {
		margin: 10% auto 1em;
	}

	#aircalin .remark {
		max-width: 90%;
		margin: 0 auto;
	}

	#covid .box {
		margin: 0 auto -50%;
	}

	#covid .bon_voyage {
		position: absolute;
		bottom: 5%;
		right: 0;
		width: 60%;
		max-width: inherit;
		left: 0;
		margin: auto;
	}

	#covid .newcaledonia_logo {
		text-align: center;
	}

	#covid .newcaledonia_logo img {
		width: 40%;
		min-width: 200px;
		max-width: inherit;
		margin: 5% auto;
	}

	.modaal-content-container,
	.modaal-inner-wrapper {
		padding: 1em;
	}

	.delay-time05,
	.delay-time1,
	.delay-time15,
	.delay-time2 {
		animation-delay: inherit;
	}

	#covid .foot_ph_all .copyright {
		left: inherit;
		right: 0.5em;
	}

}
