/* -------------------------------------------------- */
/* common */
/* -------------------------------------------------- */
:root{
	--color-blue: #005083;
	--color-black: #333;
	--color-white: #fff;
	--color-lightblue: #F3F7F9;
	--fontSize: 2.664vw;
	--spaceSize: 2.664vw;
	--map-width: 0.064536vw;
}

* {
  -webkit-appearance: none;
  margin: 0;
	padding: 0;
	list-style: none;
	/* Safari clamp関数対策 */
	min-height: 0vw;
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

a,
a:active {
	text-decoration: none;
	color: var(--color-black);
	display: inline-block;
}
a:focus {
  outline: none;
}

html{
	font-size: 62.5%;
}

img {
  width: 100%;
}

body{
  font-family: YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  margin: 0;
  padding: 0;
	-webkit-text-size-adjust: 100%;
	color: var(--color-black);
	font-size: max((var(--fontSize) * 1.4), 14px);
	line-height: 1;
}

.sp-pc,
.sp{
	display: inline-block;
}
.pc-lg,
.pc{
	display: none;
}

.wrap{
	width: 100%;
	padding: 0 4%;
	margin: 0 auto;
}

@media (min-width:550px) {
	:root{
		--fontSize: 1.4vw;
		--spaceSize: 1.4vw;
		--topPosition: 17px;
	}
	.sp,
	.sp-pc {
		display: none;
	}
	.tab-pc{
		display: inline-block;
	}
}


@media (min-width:1024px) {
	:root{
		--fontSize: 1rem;
		--spaceSize: 0.5208vw;
		--map-width: 0.05208vw;
	}

	.sp-pc,
	.pc{
		display: inline-block;
	}

	.wrap{
		max-width: 1024px;
		padding: 0 32px;
	}
}
@media (min-width:1366px) {
	.pc-lg{
		display: inline-block;
	}
}

/* 準備中コメント */
#main-txt {
  height: 75px;
  color: #fff;
  background-color: #e60012;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  font-weight: bold;
}

#main-txt p {
  margin-bottom: 0;
}
/* 準備中コメント ここまで */

/* ローディング */
#loading {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 99999;
	background: #fff;
	text-align: center;
  }
  #loading_box {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  }
  #loading .kvArea {
	width: 100%;
  }
  #loading .kvArea .img_box {
	text-align: center;
  }
  #loading .kvArea .img_box img {
	max-width: 100%;
	height: auto;
  }
  .img_box{
	display: block;
}
.fadeIn{
  animation-name:fadeInAnime;
  animation-duration:0.2s;
  animation-delay: 0.5s;
  animation-fill-mode:forwards;
  opacity:0;
  }

.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 1.2s;
	animation-delay: 5.0s;
	animation-fill-mode: forwards;
	opacity: 1;
}
@keyframes fadeInAnime{
from {
	opacity: 0;
}

to {
	opacity: 1;
}
}

  @keyframes fadeUpAnime {
	from {
		opacity: 1;
		scale: (1);
	}
	to {
		opacity: 0;
		scale: (2.2);
	}
  }

/* ロゴ */
#global-head .brand-logo{
	display: block;
}

#global-head .brand-logo h1{
	width: 34.67%;
	height: auto;
	max-width: 280px;
	position: relative;
	margin: calc((var(--spaceSize)) * 2) auto 0;
	z-index: 50;
}

.open #global-head .brand-logo h1{
	width: 21.87%;
	position: fixed;
	margin: unset;
	z-index: 200;
	top: calc((var(--spaceSize)) * 1.5);
	left: calc((var(--spaceSize)) * 1.5);
}

#global-head .brand-logo svg{
	fill: var(--color-blue);
}

.open #global-head .brand-logo svg{
	fill: var(--color-white);
}

/* ナビゲーション */
.navi{
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100;
}
.navi::before {
	content:"";
	width: 24.53vw;
	height: 24.53vw;
	background: var(--color-blue);
	position: absolute;
	top: -6.4vw;
	right: -5.33vw;
	border-radius: 100vh;
	transition: all 0.5s ease-out;
	transform: scale(1);
}

#nav-toggle {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	width: 19.2%;
	height: 10.5%;
	padding: 4% 4% 4% 7.2%;
	z-index: 10;
	/* width: 16%; */
	/* padding: 4%; */
	cursor: pointer;
}

#nav-toggle > div {
	position: relative;
}

#nav-toggle span {
	width: 100%;
	height: 0.7vw;
	border-radius: 100vh;
	left: 0;
	display: block;
	background: var(--color-white);
	position: absolute;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 2.67vw;
	width: 75%;
	margin: 0 0 0 25%;
}

#nav-toggle span:nth-child(3) {
	top: 5.33vw;
	width: 50%;
	margin: 0 0 0 50%;
}

#nav-toggle img {
	top: 8vw;
	position: absolute;
}
#nav-toggle img:nth-of-type(1) {
	opacity: 1;
}
#nav-toggle img:nth-of-type(2) {
	opacity: 0;
}

#global-nav{
	display: none;
}


/* ナビゲーション close */
html.open{
	width: 100%;
	height: 100%;
	/* position: fixed; */
	overflow: hidden;
}
.open .navi::before {
	transition: all 1.5s ease-out;
	transform: scale(100);
}

.open .open-fadeup{
	animation: meun-fadeUP 1s forwards;
}
@keyframes meun-fadeUP {
	0%{
		opacity: 0;
	}
	20%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}

.open #nav-toggle span:nth-child(1) {
	/* top: 11px; */
	top: 2.93vw;
	width: 75%;
	margin: 0 0 0 12.5%;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3) {
	top: 2.93vw;
	width: 75%;
	margin: 0 0 0 12.5%;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.open #nav-toggle img:nth-of-type(1) {
	opacity: 0;
}
.open #nav-toggle img:nth-of-type(2) {
	opacity: 1;
}

.open #global-nav{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	color: var(--color-white);
	overflow: scroll;
}

.open #global-nav ul{
	width: 100vw;
	text-align: center;
	line-height: 1.42;
}

.open #global-nav ul li{
	display: block;
	width: 50%;
	margin: 0 auto;
}

.open #global-nav ul li:nth-of-type(n+2){
	margin: calc((var(--spaceSize) * 2.8)) auto 0;
}

@media screen and (max-height:768px) and (orientation: landscape) {
	.open #global-nav ul{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		/* max-width: 420px; */
		text-align: left;
		padding: 0 10% 0 26%;
	}

	.open #global-nav ul li{
		width: 43%;
	}
	.open #global-nav ul li:nth-of-type(n+2){
		margin: 0 auto;
	}
	.open #global-nav ul li:nth-of-type(n+3){
		margin: calc((var(--spaceSize) * 2.8)) auto 0;
	}
}

@media screen and (max-width:550px) and (orientation: portrait) {
	.open #global-nav ul{
		margin-bottom: 10vh;
	}
	/* .open #global-nav ul{
		max-width: 550px;	
	} */
}

.open #global-nav ul li a{
	display: block;
	color: var(--color-white);
	padding-right: calc((var(--spaceSize) * 2));
	position: relative;
}

.open #global-nav ul li a span{
	font-size: calc((var(--fontSize) * 1));
	display: block;
}

.open #global-nav ul li a::after{
	content: "";
	display: inline-block;
	width: calc((var(--fontSize) * 1.4));
	height: calc((var(--fontSize) * 1.4));
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url('../img/icon_arrow_white.svg') center no-repeat;
	background-size: contain;
}

/* フッター */
footer{
	padding-top: min((var(--spaceSize) * 5), 50px);
	position: relative;
}

footer .footer-info{
	text-align: center;
}

footer .footer-info > div{
	width: 57.97%;
	max-width: 217px;
	margin: 0 auto;
}

footer .footer-info > div img{
	padding-left: 8.5%;
}

footer .footer-info h3{
	font-size: calc((var(--fontSize) * 2.6));
	margin-top: calc((var(--spaceSize) * 3));
	color: var(--color-blue);
}

footer .footer-info address{
	font-size: calc((var(--fontSize) * 1.6));
	margin-top: calc((var(--spaceSize) * 2.5));
	line-height: 1.75;
	font-style: normal;
}

footer .footer-info p{
	margin-top: calc((var(--spaceSize) * 1.8));
}

footer .copyright {
	text-align: center;
}
footer .copyright a{
	padding: calc((var(--spaceSize) * 6)) 0;
	color: #808080;
}

.page-top{
	width: 17.34%;
	max-width: 92px;
	position: fixed;
	bottom: 3%;
	right: 4%;
	z-index: 50;

	opacity: 0;
  visibility: hidden;
	transition: all 0.5s ease;

}

.page-top.active{
  opacity: 1;
  visibility: visible;
	transition: all 0.5s ease;
}

@media (min-width:550px) {
	#global-head .brand-logo h1{
		width: 25%;
	}

	.navi::before {
		width: 158px;
		height: 158px;
		top: -48px;
		right: -38px;
	}

	#nav-toggle {
		width: 120px;
		height: 110px;
		padding: 24px 25px 24px 43px;
	}

	#nav-toggle span {
		height: 5px;
	}

	#nav-toggle span:nth-child(2) {
    top: var(--topPosition);
	}

	#nav-toggle span:nth-child(3) {
    top: calc((var(--topPosition)) * 2);
	}

	#nav-toggle img {
		top: calc((var(--topPosition)) * 3);
	}

	.open #nav-toggle span:nth-child(1),
	.open #nav-toggle span:nth-child(3) {
    top: 18px;
	}
}

@media (min-width:1024px) {	
	#global-head .brand-logo{
		position: relative;
	}
	
	#global-head .brand-logo h1,
	.open #global-head .brand-logo h1{
		position: absolute;
		width: 14.58%;
		margin: min((var(--spaceSize)) * 7 , 70px) auto 0 min((var(--spaceSize)) * 9 , 90px);
	}

	.open #global-head .brand-logo h1{
		position: fixed;
	}

	.open #global-nav ul{
		/* max-width: 350px; */
		max-width: 960px;
	}

	.open #global-nav ul li{
		/* width: 100%; */
		font-size: calc((var(--fontSize) * 2));
	}

	.open #global-nav ul li a span {
    font-size: calc((var(--fontSize) * 1.6));
	}

	.open #global-nav ul li:nth-of-type(n+2) {
    margin: calc((var(--spaceSize) * 5)) auto 0;
	}

	.open #global-nav ul li a::after {
    width: calc((var(--fontSize) * 2));
    height: calc((var(--fontSize) * 2));
	}

	@media screen and (max-height:768px) and (orientation: landscape) {
		.open #global-nav ul{
			max-width: none;	
		}
		.open #global-nav ul li:nth-of-type(n+2) {
			margin: 0 auto;
		}
		.open #global-nav ul li:nth-of-type(n+3) {
			margin: calc((var(--spaceSize) * 3.8)) auto 0;
		}
	}

	.page-top {
    right: 2%;
	}

	.page-top:hover img {
    filter: brightness(1.2);
		transform: translateY(-3.8%);
	}
}

@media (min-width:1366px) {
	.open #global-nav ul li:nth-of-type(n+2) {
    margin: calc((var(--spaceSize) * 3.8)) auto 0;
	}
	@media screen and (max-height:768px) and (orientation: landscape) {
		.open #global-nav ul li:nth-of-type(n+2) {
			margin: 0 auto;
		}
		.open #global-nav ul li:nth-of-type(n+3) {
			margin: calc((var(--spaceSize) * 3.8)) auto 0;
		}
	}
}

/* -------------------------------------------------- */
/* index.html */
/* -------------------------------------------------- */
#top #global-head .brand-logo{
	padding-top: min((var(--spaceSize)) * 25, 25px);
}

#top .open #global-head .brand-logo h1{
	padding: 0;
}

#top .map{
	overflow: hidden;
}

#top .map_base{
	margin: 7% 0;
	position: relative;
	transform: scale(1.2);
	transform-origin: center;
}

#top .map-area,
#top .map-item,
#top .note{
	position: absolute;
}

#top .note{
	font-size: calc(var(--fontSize) * 1.1);
	top: calc(var(--spaceSize) * 1);
	left: 0;
	width: auto;
	color: var(--color-black);
}

#top .cloud-01{
	width: calc((var(--map-width)) * 200);
	top: calc((var(--map-width)) * 49.3614  + 179);
	right: calc((var(--map-width)) * 1291.7251);
}

#top .cloud-02{
	width: calc((var(--map-width)) * 225);
	top: calc((var(--map-width)) * 179.5  + 179);
	right: calc((var(--map-width)) * 58.5);
}

#top .ship{
	width: calc((var(--map-width)) * 250);
	top: calc((var(--map-width)) * 602.2736);
	right: calc((var(--map-width)) * 1310.0002);
}

#top .helicopter{
	width: calc((var(--map-width)) * 150);
	top: calc((var(--map-width)) * 51.0029);
	right: calc((var(--map-width)) * 514.5);
}

#top .kamome{
	width: calc((var(--map-width)) * 115);
	top: calc((var(--map-width)) * 129.9903);
	right: calc((var(--map-width)) * 386.4989);
}

#top .area_art{
	width: calc((var(--map-width)) * 502.5);
	top: calc((var(--map-width)) * 80.5331);
	right: calc((var(--map-width)) * 876.0178);
}

#top .area_select{
	width: calc((var(--map-width)) * 189);
	top: calc((var(--map-width)) * 235.0012);
	right: calc((var(--map-width)) * 875.9503);
}

#top .area_event{
	width: calc((var(--map-width)) * 239);
	top: calc((var(--map-width)) * 321.4972);
	right: calc((var(--map-width)) * 1023.9993);
}

#top .area_farm{
	width: calc((var(--map-width)) * 400.5);
	top: calc((var(--map-width)) * 456.0003);
	right: calc((var(--map-width)) * 880.9975);
}

#top .area_sc{
	width: calc((var(--map-width)) * 330.5);
	top: calc((var(--map-width)) * 148.9988);
	right: calc((var(--map-width)) * 207.0021);
}

#top .area_udon{
	width: calc((var(--map-width)) * 433.5);
	top: calc((var(--map-width)) * 283.4996);
	right: calc((var(--map-width)) * 479.003);
}

#top .area_kanko{
	width: calc((var(--map-width)) * 155);
	top: calc((var(--map-width)) * 378.4988);
	right: calc((var(--map-width)) * 1225.4978);
}

#top .area_api{
	width: calc((var(--map-width)) * 410);
	top: calc((var(--map-width)) * 411.9991);
	right: calc((var(--map-width)) * 158.5045);
}

#top .area_gate{
	width: calc((var(--map-width)) * 356.5);
	top: calc((var(--map-width)) * 607.9973);
	right: calc((var(--map-width)) * 541.005);
}

#top .p_box{
	display: none;
}

#top .catch h2{
	margin: 0 auto;
	width: 91%;
}

#top .sub_text {
	color: var(--color-blue);
	margin-top: calc((var(--spaceSize) * 1.5));
	line-height: 2;
	text-align: center;
}

#top .area_intro{
	margin-top: calc((var(--spaceSize) * 2.5));	
	background: url('../img/concept_back.jpg') no-repeat;
	background-position: bottom;
	background-size: contain;
	padding-bottom: calc((var(--spaceSize) * 19.4));
}

#top .area_intro > div{
	background: var(--color-lightblue);
	max-width: 1328px;
	border-radius: 4vw;
	margin: 0 auto;
	width: 92%;
}

#top .area_intro > div .wrap{
	padding: calc((var(--spaceSize) * 4)) calc((var(--spaceSize) * 2)) calc((var(--spaceSize) * 8));
	position: relative;
	display: grid;
	row-gap: calc((var(--spaceSize) * 4.5));
	grid-template-columns: 1fr;
}

#top .area_intro > div .wrap::after{
	content: "";
	max-width: 110px;
	max-height: 110px;
	width: 20.27vw;
	height: 20.27vw;
	background: url('../img/hito.png') no-repeat center;
	background-size: cover;
	position: absolute;
	bottom: -11vw;
	right: 40%;
	transform: translateX(50%);

	animation: step01 2s ease-in-out infinite;
}

@keyframes step01 {
	0% {
		transform: translate(0, 0);
	}
	25% {
		transform: translate(-6px, -12px) rotate(-2deg);
	}
	50% {
		transform: translate(0, 0);
	}
	75% {
		transform: translate(6px, -12px) rotate(2deg);
	}
	100% {
		transform: translate(0, 0);
	}
}

#top .area_intro .contents{
	display: block;
}

#top .area_intro .contents dl{
	padding: calc((var(--spaceSize) * 2.3)) calc((var(--spaceSize) * 2.6)) 0 calc((var(--spaceSize) * 2.6));
}

#top .area_intro .contents dl dt{
	font-size: calc((var(--fontSize) * 2));
	font-weight: bold;
	color: var(--color-blue);
	position: relative;
	line-height: 1.2;
}

#top .area_intro .contents dl dt span{
	font-size: calc((var(--fontSize) * 1.4));
	display: block;
}

#top .area_intro .contents dl dt::after{
	content: "";
	width: calc((var(--fontSize) * 2));
	height: calc((var(--fontSize) * 2));
	background: url('../img/icon_arrow.svg') no-repeat center;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

#top .area_intro .contents dl dd{
	padding-top: calc((var(--spaceSize) * 2));
	line-height: 1.57;
	text-align: justify;
}

#top .concept p{
	font-size: calc((var(--fontSize) * 1.6));
	line-height: 2.5;
	text-align: center;
}

#top .concept picture{
	display: block;
	margin-top: calc((var(--spaceSize) * 4.6));
}

.line{
	padding: calc((var(--spaceSize) * 5)) 0;
	text-align: center;
}

.line a{
	width: 100%;
}


@media (min-width:550px) {
	#top .catch h2{
		width: 78%;
	}

	#top .sub_text{
		font-size: calc((var(--fontSize) * 1.8));
		margin-top: calc((var(--spaceSize) * 2));
	}

	#top .area_intro > div .wrap{
		grid-template-columns: 0.5fr 0.5fr; 
		column-gap: calc((var(--spaceSize) * 1.6));
	}

	#top .area_intro > div .wrap::after {
    bottom: -8vw;
	}

	#top .concept p {
    font-size: calc((var(--fontSize) * 2));
	}

	#top .concept picture{
		width: 52.37%;
		margin-left: auto;
		margin-right: auto;
	}

	.line a{
		max-width: 468px;
	}
	
}

@media (min-width:1024px) {
	#top #global-head .brand-logo{
		padding-top: 10px;
	}

	#top .main-visual{
		position: relative;
	}

	#top .map{
		margin-left: auto;
		position: relative;
	}

	#top .map_text{
		width: calc((var(--map-width)) * 502);
		top: calc((var(--map-width)) * 26.2857);
		right: calc((var(--map-width)) * 74.7813 + 120px);
	}

	#top .cloud-01{
		top: calc((var(--map-width)) * 49.3614);
	}

	#top .cloud-02{
		top: calc((var(--map-width)) * 179.5);
	}

	#top .map_base{
		margin-top: min(((var(--spaceSize)) * 6.5), 65px);
		margin-left: auto;
		margin-right: 0;
		width: calc((var(--map-width)) * 1550);
		transform-origin: 63% 0;
    margin-bottom: 10.2%;
	}

	#top .map_base .mapimage{
		transition: all 0.2s;
	}

	#top .map_base .mapimage.is-active{
		opacity: 0.3;
		transition: all 0.2s;
	}

	#top .note{
		width: auto;
	}

	#top .p_box,
	#top .p_box.left{
		position: fixed;
		z-index: 10;
		top: -85px;
		left: 70px;
		width: 27%;
		max-width: 350px;
		background: var(--color-white);
		padding: 20px;
		border: var(--color-blue) 3px solid;
		border-radius: 20px;
		animation: p_box-anime 0.5s forwards;
	}	
	@keyframes p_box-anime {
		0%{
			opacity: 0;
		}
		100%{
			opacity: 1;
		}
	}

	#top .p_box.left{
		left: -420px;
	}

	#top .p_box:after,	.p_box:before,
	#top .p_box.left:after, .p_box.left:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    top:50%;
	}

	#top .p_box:after,	.p_box:before{
		right:100%;
	}

	#top .p_box.left:after, .p_box.left:before{
		left:100%;
	}

	#top .p_box:after{
    border-color: rgba(255, 255, 255, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:11px;
    border-right-width:11px;
    margin-top: -9px;
    border-right-color:#FFFFFF;
	}

	#top .p_box:before{
    border-color: rgba(255, 255, 255, 0);
    border-top-width:12px;
    border-bottom-width:12px;
    border-left-width:14px;
    border-right-width:14px;
    margin-top: -12px;
    /* margin-right: 3px; */
    margin-right: 1.5px;
    border-right-color:var(--color-blue);
	}

	#top .p_box.left:after{
		border-color: rgba(255, 255, 255, 0);
		border-top-width:9px;
		border-bottom-width:9px;
		border-left-width:11px;
		border-right-width:11px;
		margin-top: -9px;
		border-left-color:#FFFFFF;
	}

	#top .p_box.left:before{
		border-color: rgba(36, 99, 255, 0);
		border-top-width:12px;
		border-bottom-width:12px;
		border-left-width:14px;
		border-right-width:14px;
		margin-top: -12px;
		margin-left: 1.5px;
		border-left-color:var(--color-blue);
	}

	#top .p_title{
		font-size: calc((var(--fontSize) * 2));
		margin-bottom: calc((var(--spaceSize)) * 1);
		color: #E60011;
		font-weight: bold;
	}

	#top .p_title span{
		display: block;
		font-size: calc((var(--fontSize) * 1.4));
		margin-bottom: calc((var(--spaceSize)) * 0.5);
	}

	#top .p_txt{
		color: var(--color-blue);
		line-height: 1.5;
		text-align: justify;
	}

	#top .catch.wrap{
		max-width: 1568px;
    width: 100%;
		margin: 0 auto;
		padding: 0;
		position: absolute;
    left: 50%;
    transform: translate(-50%, max(-70px,(var(--spaceSize)) * -8));
	}

	#top .catch.wrap h2{
    width: 77.44%;
	}

	#top .sub_text.wrap{
		padding: 0;
	}

	#top .sub_text{
		position: absolute;
		top:0;
		left: 0;
		margin-top: min((var(--spaceSize)) * 48.4 , 484px);
		margin-left: min((var(--spaceSize)) * 9 , 90px);
		width: 14.58%;
		height: auto;
    max-width: 280px;
		font-size: clamp(1.1rem, 1vw, 1.6rem);
	}

	#top .area_intro{
		padding-bottom: calc((var(--spaceSize) * 34.7));
	}

	#top .area_intro > div .wrap {
    padding: min((var(--spaceSize) * 12.7), 127px)  min((var(--spaceSize) * 3.2), 32px);
		grid-template-columns: 0.5fr 0.5fr 0.5fr;
		column-gap: calc((var(--spaceSize) * 2.4));
		row-gap: calc((var(--spaceSize) * 3.5));
	}

	#top .area_intro .contents:hover{
		filter: opacity(0.8);
	}

	#top .area_intro .contents:hover img{
		transform: translateY(-3.8%);
	}

	#top .area_intro .contents dl{
		padding: calc((var(--fontSize)) * 2.6) calc((var(--fontSize)) * 2.6) 0;
	}

	#top .area_intro .contents dl dd{
		padding-top: calc((var(--fontSize)) * 2);
	}

	#top .area_intro > div .wrap::after {
    bottom: 18%;
    right: 12%;
	}

	#top .concept{
		padding-bottom: calc((var(--spaceSize) * 5));
	}

	#top .concept picture{
		max-width: 628px;
		width: 100%;
	}

	.line a:hover{
		filter: opacity(0.8);
	}	
}

@media (min-width:1366px) {
	#top #global-head .brand-logo{
		padding: 0;
	}

	#top .sub_text.wrap{
		padding: 0 min((var(--spaceSize)) * 2.4 , 24px) 0 0;
	}
	#top .map_base{
		margin-bottom: 0;
		transform: unset;
	}

	#top .note {
    top: 0;
		margin-top: min((var(--spaceSize)) * 73 , 730px);
		margin-left: min((var(--spaceSize)) * 9 , 90px);
		padding: 0 min((var(--spaceSize)) * 2.4 , 24px) 0 0;
		max-width: 280px;
		width: 14.58%;
		line-height: 1.57;
		text-align: center;
		font-size: min((var(--fontSize) * 1.2), 12px) ;
	}
}

@media (min-width:1921px) {	
	#top .map{
		margin-right: 4%;
	}
	#top .map_base{
		margin-top: min(((var(--spaceSize)) * 6.5), 30px);
	}
}

/* -------------------------------------------------- */
/* 下層ページ 共通
/* -------------------------------------------------- */

#global-head .brand-logo.lower-logo h1{
	width: 21.87%;
	position: absolute;
	top: calc((var(--spaceSize)) * 1.5);
	left: calc((var(--spaceSize)) * 1.5);
	margin: unset;
	z-index: 200;
	max-width: 180px;
}

.open #global-head .brand-logo.lower-logo h1{
	position: fixed;
}

.main-visual.lower-page{
	padding: calc((var(--spaceSize)) * 5.5) 0 calc((var(--spaceSize)) * 4);
	background: url('../img/station_background.jpg') no-repeat top center;
	background-size: contain;
}

.main-visual.lower-page picture{
	display: block;
	margin: 0 auto;
}

.main-visual.lower-page .ttl{
	max-width: 618px;
	width: 100%;
	margin: calc((var(--spaceSize)) * 2) auto 0;
}

.main-visual.lower-page p{
	margin: calc((var(--spaceSize)) * 2) auto 0;
	line-height: 1.57;
}

@media (min-width:1024px) {
	#global-head .brand-logo.lower-logo h1{
		top: min((var(--spaceSize)) * 1.5 ,15px);
		left: min((var(--spaceSize)) * 1.5 ,15px);
		margin: min((var(--spaceSize)) * 3 , 30px) auto 0 min((var(--spaceSize)) * 3 , 30px);
	}

	.open #global-head .brand-logo.lower-logo h1{
		width: 14.58%;
		margin: min((var(--spaceSize)) * 7 , 70px) auto 0 min((var(--spaceSize)) * 9 , 90px);
		max-width: 280px;
	}

	.main-visual.lower-page{
		padding: min((var(--spaceSize)) * 11, 110px) 0 min((var(--spaceSize)) * 5, 50px);	
	}

	.main-visual.lower-page picture{
		display: block;
		margin: 0 auto;
		width: 100%;
	}

	.main-visual.lower-page .ttl{
		width: 100%;
		max-width: 618px;
		margin: min((var(--spaceSize)) * 45, 45px) auto 0;
	}

	.main-visual.lower-page p{
		margin: min((var(--spaceSize)) * 4.8, 48px) auto 0;
		max-width: 632px;
	}
}

/* -------------------------------------------------- */
/* station.html */
/* -------------------------------------------------- */

#station .main-visual.lower-page picture{
	width: 34.67%;
	max-width: 152px;
}

#station .bosyu,
#station .kanko{
	padding: calc((var(--spaceSize)) * 4) 0;
}

#station .bosyu .ttl,
#station .kanko .ttl{
	margin: 0 auto calc((var(--spaceSize)) * 3);
	width: calc((var(--spaceSize)) * 24);
}

#station .bosyu .item,
#station .kanko .item{
	display: grid;
	row-gap: calc((var(--spaceSize) * 3.6));
	column-gap: calc((var(--spaceSize) * 1.8));
	grid-template-columns: 0.5fr 0.5fr;
}

#station .bosyu .item li figure,
#station .kanko .item li figure{
	border-radius: 10%;
	overflow: hidden;
}

#station .bosyu .item li figure img,
#station .kanko .item li figure img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}

#station .bosyu .item li figcaption,
#station .kanko .item li figcaption{
	font-size: calc((var(--fontSize) * 1.4));
	font-weight: bold;
	color: var(--color-blue);
	line-height: 1.2;
	margin-top: calc((var(--spaceSize) * 1));
}

#station .contact-btn{
	padding: min((var(--spaceSize)) * 2, 20px) 0;
}

#station .contact-btn a{
	background: #E60012;
	border-radius: 100vh;
	width: 100%;
	height: min((var(--spaceSize) * 8), 80px);
	display: flex;
	justify-content: center;
	align-items: center;
}

#station .contact-btn a p{
	font-size: calc((var(--fontSize) * 2));
	padding: 0 calc((var(--spaceSize) * 4)) 0 0;
	color: #fff;
	font-weight: bold;
	position: relative;
}

#station .contact-btn a p::after{
	content: "";
	display: inline-block;
	width: calc((var(--fontSize) * 2));
	height: calc((var(--fontSize) * 2));
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url('../img/icon_arrow_white.svg') center no-repeat;
	background-size: contain;
}

@media (min-width:550px) {
	#station .bosyu .item li figcaption,
	#station .kanko .item li figcaption{
		font-size: calc((var(--fontSize) * 1.6));
		margin-top: calc((var(--spaceSize) * 2));
	}

	#station .bosyu .ttl, 
	#station .kanko .ttl {
    margin: 0 auto min((var(--spaceSize)) * 5, 50px);
    width: 100%;
		max-width: 385px;
	}

}
@media (min-width:1024px) {
	#station .bosyu, 
	#station .kanko,
	#station .contact-btn{
		padding: min((var(--spaceSize)) * 5, 50px) 0;
	}

	#station .bosyu .item,
	#station .kanko .item{
		display: grid;
		row-gap: min((var(--spaceSize)) * 4.8, 48px);
		column-gap: min((var(--spaceSize)) * 2.4, 24px);
		grid-template-columns: 0.5fr 0.5fr 0.5fr 0.5fr;
	}

	#station .contact-btn a{
		max-width: 632px;
		height: 80px;
		margin: 0 auto;
	}

	#station .bosyu .item li a:hover,
	#station .kanko .item li a:hover,
	#station .contact-btn a:hover{
		filter: opacity(0.8);
	}
}

/* -------------------------------------------------- */
/* contact.html */
/* -------------------------------------------------- */

#contact .main-visual.lower-page picture{
	width: 45.94%;
	max-width: 242px;
}

/* -------------------------------------------------- */
/* youtube */
/* -------------------------------------------------- */
.youtube {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
	margin-bottom: 20px;
	text-align: center;
}

.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}