@charset "utf-8";

/*//////////////////////////////////////////////////////////////////////////////

	共通

//////////////////////////////////////////////////////////////////////////////*/

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

	image replacement

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

header .logo,
header p.logo a,
.fanclub main .beginning .explanation .benefits li span {
	display: block;
	overflow: hidden;
	outline: none;
	clear: both;
	text-indent: -9999px;
	white-space: nowrap;
	background-repeat: no-repeat;
	background-size: contain;
}


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

	全体

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

body,
textarea,
input  {
	line-height: 1.8;
	font-family: YuGothic,"游ゴシック","メイリオ",Meiryo,sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,verdana,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-size: 16px;
	font-weight: 500;
	color: rgba(47,60,69,1);
  	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
}

body.ko,
.ko textarea,
.ko input  {
    font-family: 'Noto Sans KR',YuGothic,"游ゴシック","メイリオ",Meiryo,sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,verdana,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}

body.zhHans,
.zhHans textarea,
.zhHans input  {
    font-family: 'Noto Sans SC','Noto Sans TC',YuGothic,"游ゴシック","メイリオ",Meiryo,sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,verdana,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}

body.zhHant,
.zhHant textarea,
.zhHant input  {
    font-family: 'Noto Sans TC','Noto Sans SC',YuGothic,"游ゴシック","メイリオ",Meiryo,sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,verdana,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}

body.ru,
.ru textarea,
.ru input  {
    font-family: 'Commissioner', sans-serif,YuGothic,"游ゴシック","メイリオ",Meiryo,sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,verdana,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}

body.en,
body.ru,
.en textarea,
.ru textarea,
.en input ,
.ru input {
	font-size: 14px;
}

#noscript {
	padding: 1em;
	background-color: #F00;
	text-align: center;
	line-height: 1;
	color: #FFF;
}

#content {
	overflow: hidden;
	width: 100%;
}

p,
dd {
	margin-bottom: .25em;
	text-align: justify;
}

.ru p,
.ru dd,
.en p,
.en dd {
	text-align: left;
}

p:last-child,
dd:last-child {
	margin-bottom: 0;
}

h1,h2,h3,h4,h5,h6 {
	line-height: 1.4;
}

main h2,
main h3,
main h4
main h5,
main h6 {
	margin-bottom: 1em;
	line-height: 1.4;
}

a,
a:visited {
	color: #333;
	outline: none;
	text-decoration: none;
}

a,
a:hover {
	transition: opacity .4s,color .4s;
}

a:hover {
	text-decoration: none;
	opacity: .4;
}

em {
	font-style: normal;
}

figure {
	margin: 1.5em 0 1em;
}
figcaption {
	margin-top: .75em;
	text-align: center;
	font-size: .85em;
}

img {
	vertical-align: bottom;
}

ol,
ul {
	margin: 1em 0 1em 1.5em;
}

li {
	margin-bottom: .5em;
	line-height: 1.4;
}

li:last-child {
	margin-bottom: 0;
}

main ul {
	list-style: disc;
}

main ol {
	list-style: decimal;
}

main a,
main a:visited {
	text-decoration: underline;
	color: rgba(38,161,214,1);
}

address {
	font-style: normal;
}

table {
	width: 100%;
}

table th,
table td {
	padding: .5em 0;
	line-height: 1.4;
}

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

body,
textarea,
input  {
	font-size: 14px;
	line-height: 1.6;
}

body.en,
body.ru,
.en textarea,
.ru textarea,
.en input ,
.ru input {
	font-size: 12px;
}

}

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

body,
textarea,
input  {
	font-size: 12px;
}

a:hover {
	opacity: 1;
}

}

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

body,
textarea,
input  {
	font-size: 3.2vw;
}

body.en,
body.ru,
.en textarea,
.ru textarea,
.en input ,
.ru input {
	font-size: 2.8vw;
}

a[href^="tel:"] {
	text-decoration: underline;
}

}


@media screen and (min-width: 768px){

a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
	color: inherit;
}

a[href^="tel:"]:hover {
	cursor: default;
	opacity: 1;
}

}

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

	column

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

#content {
	position: relative;
}

.site_column,
.site_column.narrow {
	position: relative;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

.site_column {
	width: 1320px;
}

.site_column.narrow {
	width: 840px;
}

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

.site_column,
.site_column.narrow {
	width: 90%;
	padding: 0;
}

}


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

	common

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

.l {
	display: block;
}

.note {
	position: relative;
	padding-left: 1em;
	display: block;
}

.note::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

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

.l {
	display: inline;
}

}


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

	special

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

#special {
	margin: 0;
	padding: 1.25em 0;
	background-color: rgba(247,233,120,1);
}

#special ul {
	margin: 0;
}

#special a,
#special span {
	position: relative;
	display: block;
	padding-left: 1.5em;
}

#special a::before,
#special span::before {
	position: absolute;
	top: 0;
	left: 0;
	content: url(../img/icon_info.svg);
	width: 1.25em;
	height: 1.25em;
}


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

	header

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

#content > header {
	position: relative;
	z-index: 9999;
}

#content > header .site_column {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding-top: 1em;
	padding-bottom: 1em; 
}

#content > header .site_logo {
	position: absolute;
	top: 0;
	left: 0;
	padding: 2.125em 1.8em;
	background-color: #FFF;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 0 5px 2px rgba(47,60,69,.1);
}

#content > header h1.logo,
#content > header p.logo {
	position: relative;
	margin-bottom: 0;
	z-index: 100;
}

#content > header h1.logo,
#content > header p.logo a {
	width: 115px;
	aspect-ratio: 165/59;
	background-image: url(../img/logo_b.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

#content > header p.logo a:hover {
	opacity: 1;
}

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

#content > header .site_column {
	height: 16vw;
	padding-top: 3vw;
	padding-bottom: 3vw;
}

#content > header .site_logo {
	padding: 4.125vw 7vw;
}

#content > header h1.logo,
#content > header p.logo a {
	width: 25vw;
}

}

/*	menu
------------------------------------------------------------------------------*/

#content > header .menu {
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
}

#content > header .menu em,
#content > header .menu .pmenu > ul li a,
#content > header + .gnav em {
	display: block;
	padding-top: 1.5em;
	padding-bottom: 1.5em;
	font-weight: bold;
	line-height: 1;
}

#content > header .menu .gnav ul .parent,
#content > header .menu .gnav ul .other,
#content > header .menu .child_menu {
	display: none;
}

#content > header .menu .gnav .ride_airplane .show,
#content > header .menu .gnav .access .show {
	display: block;
}

#content > header .menu .gnav > ul em:hover,
#content > header .menu .pmenu em:hover {
	cursor: pointer;
}

/*	gnav
------------------------------------------------------------------------------*/

#content > header .menu .gnav > ul {
	display: flex;
	margin: 0;
}

#content > header .menu .gnav > ul > li {
	margin-bottom: 0;
	margin-left: .25em;
}

#content > header .menu .gnav > ul li:first-of-type {
	margin-left: 0;
}

#content > header .menu .gnav > ul em,
#content > header + .gnav > ul em {
	position: relative;
	padding-left: 4em;
	padding-right: 2em;
	background-color: rgba(47,60,69,1);
	transition: background-color .4s;
	color: #FFF;
}

#content > header .menu .gnav > ul .active em {
	background-color: rgba(233,237,239,1);
	color: inherit;
}

#content > header .menu .gnav .parent,
#content > header + .gnav .parent {
	margin: 0;
    padding: 2em 2em 2em 26%;
    background-color: #FFF;
	background-size: 26%;
	background-repeat: no-repeat;
	background-position: 2em 2em;
	font-size: .875em;
}

#content > header .menu .gnav .ride_airplane .parent,
#content > header + .gnav .ride_airplane .parent {
	background-image: url(/common/img/gnav_ride_airplane.jpg);
}

#content > header .menu .gnav .spend_airport .parent,
#content > header + .gnav .spend_airport .parent {
	background-image: url(/common/img/gnav_spend_airport.jpg);
}

#content > header .menu .gnav .access .parent,
#content > header + .gnav .access .parent {
	background-image: url(/common/img/gnav_access.jpg);
}

#content > header .menu .gnav .parent {
	position: absolute;
    top: 5.5em;
    right: 20px;
    width: 80%;
	min-height: 20.5em;
    border: 15px solid rgba(233,237,239,1);
    z-index: 100;
}

.en #content > header .menu .gnav .parent,
.ru #content > header .menu .gnav .parent {
	min-height: 22.5em;
}

#content > header .menu .gnav .parent li {
	margin-bottom: .75em;
}

#content > header .menu .gnav .parent li:last-of-type {
	margin-bottom: 0;
}

#content > header .menu .gnav .parent .external a,
#content > header + .gnav .parent .external a {
	position: relative;
	padding-right: 1.5em;
}

#content > header .menu .gnav .parent .external a::after,
#content > header + .gnav .parent .external a::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	background-image: url(../img/icon_blank_b.svg);
	background-repeat: no-repeat;
	background-position: center;
	width: 1em;
	height: 1em;
}

#content > header .menu .gnav em::before,
#content > header + .gnav em::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 2em;
	width: 1.125em;
}

#content > header .menu .gnav .ride_airplane em:before { content: url(../img/icon_airplane_w.svg);}
#content > header .menu .gnav > ul .active.ride_airplane em:before { content: url(../img/icon_airplane_b.svg);}
#content > header .menu .gnav .spend_airport em:before { content: url(../img/icon_pin_w.svg);}
#content > header .menu .gnav > ul .active.spend_airport em:before { content: url(../img/icon_pin_b.svg);}
#content > header .menu .gnav .access em:before { content: url(../img/icon_bus_w.svg);}
#content > header .menu .gnav > ul .active.access em:before { content: url(../img/icon_bus_b.svg);}

#content > header .menu .gnav .ride_airplane .parent > li:nth-of-type(1),
#content > header .menu .gnav .ride_airplane .parent .child,
#content > header .menu .gnav .access .parent .child,
#content > header .menu .gnav .spend_airport.active .parent,
#content > header .menu .gnav .access .parent .child > li,
#content > header + .gnav .ride_airplane .parent > li:nth-of-type(1),
#content > header + .gnav .ride_airplane .parent .child,
#content > header + .gnav .access .parent .child,
#content > header + .gnav .spend_airport.active .parent,
#content > header + .gnav .other .parent {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
}

#content > header .menu .gnav .ride_airplane .parent > li:nth-of-type(1),
#content > header .menu .gnav .ride_airplane .parent .child,
#content > header .menu .gnav .access .parent .child,
#content > header .menu .gnav .access .parent .child > li,
#content > header + .gnav .ride_airplane .parent > li:nth-of-type(1),
#content > header + .gnav .ride_airplane .parent .child,
#content > header + .gnav .access .parent .child,
#content > header + .gnav .access .parent .child > li {
	justify-content: space-between;
}

#content > header .menu .gnav .spend_airport .parent > li,
#content > header .menu .gnav .access .parent .child > li,
#content > header + .gnav .spend_airport .parent > li,
#content > header + .gnav .access .parent .child > li {
	margin-right: 5%; 
	width: 30%;
}

#content > header .menu .gnav .access .parent .child > li:nth-child(3n),
#content > header + .gnav .access .parent .child > li:nth-child(3n),
#content > header .menu .gnav .ride_airplane .parent .child li:nth-child(2n),
#content > header + .gnav .ride_airplane .parent .child li:nth-child(2n) {
	margin-right: 0;
}

/* 飛行機にのる*/

#content > header .menu .gnav .ride_airplane .parent > li:nth-of-type(1),
#content > header + .gnav .ride_airplane .parent > li:nth-of-type(1) {
	margin-bottom: .875em;
	padding-bottom: .875em;
	border-bottom: 1px dotted rgba(0,0,0,1.00);
}

#content > header .menu .gnav .ride_airplane .parent .heading,
#content > header + .gnav .ride_airplane .parent .heading {
	display: none;
}

#content > header .menu .gnav .ride_airplane .parent .child,
#content > header .menu .gnav .ride_airplane .parent .child li,
#content > header + .gnav .ride_airplane .parent .child,
#content > header + .gnav .ride_airplane .parent .child li {
	width: 48%;
}

#content > header .menu .gnav .ride_airplane .parent .child,
#content > header + .gnav .ride_airplane .parent .child {
	margin: 0;
}

/*飛行機にのる*/

#content > header .menu .gnav .spend_airport .parent .child,
#content > header + .gnav .spend_airport .parent .child {
	display: none;
}

/*交通アクセス*/

#content > header .menu .gnav .access .parent .child .grandchild,
#content > header + .gnav .access .parent .child .grandchild {
	display: none;
}

#content > header .menu .gnav .access .parent .child,
#content > header + .gnav .access .parent .child {
	margin-left: 0;
	margin-bottom: 0;
}

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

#content > header .menu .gnav > ul em {
	padding-left: 3em;
	padding-right: 1em;
}

.en #content > header .menu .gnav > ul em,
.ru #content > header .menu .gnav > ul em {
	font-size: .875em;
}

#content > header .menu .gnav .parent,
#content > header + .gnav .parent {
	min-height: 19em;
}

#content > header .menu .gnav .parent {
    right: 0;
}

.en #content > header .menu .gnav .parent,
.ru #content > header .menu .gnav .parent {
    top: 5em;
}

#content > header .menu .gnav em::before {
	left: 1em;
}

}

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

#content > header .menu .gnav li {
	display: none;
}

#content > header .menu .gnav ul .parent {
	display: block;
	position: relative;
    top: 0;
    right: auto;
	margin: 0;
    padding: 1.25em 1.25em 1.25em 32%;
    width: auto;
	background-position: 1.2em 1.2em;
	border: none;
}

#content > header + .gnav .parent li,
#content > header + .gnav .access .parent > li > .heading {
	margin-bottom: 1.5em;
}

#content > header + .gnav .access .parent > li {
	margin-bottom: 0;
}

#content > header + .gnav .access .parent > li > .heading {
	display: block;
}

#content > header + .gnav .ride_airplane .parent > li:nth-of-type(1) {
	margin-bottom: 1.5em;
	padding-bottom: 0;
}

#content > header + .gnav > ul {
	padding: 5%;
}

#content > header + .gnav {
	padding: 0;
	background-color: rgba(122,143,167,1);
}

#content > header + .gnav .parent {
	min-height: 17em;
	margin: 0;
	padding-left: 32%;
	background-color: #FFF;
}

.en #content > header + .gnav .parent,
.ru #content > header + .gnav .parent {
	min-height: 21em;
}

#content > header + .gnav > ul {
	margin: 0;
}

#content > header + .gnav > ul > li {
	margin-bottom: 0;
}

#content > header + .gnav > ul > li:last-child {
	margin-bottom: 0;
}

#content > header + .gnav .spend_airport .parent,
#content > header + .gnav .access .child {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
}

#content > header + .gnav > ul > li em ,
#content > header + .gnav > ul em:hover,
#content > header + .gnav > ul .active em {
	background-color: rgba(9,91,165,1);
}

#content > header + .gnav > ul > li em {
	display: block;
	padding: 1em 1em 1em 3em;
    color: #FFF;
}

#content > header + .gnav em::before {
	left: 1em;
}

#content > header + .gnav .ride_airplane em:before { content: url(../img/icon_airplane_w.svg);}
#content > header + .gnav .spend_airport em:before { content: url(../img/icon_pin_w.svg);}
#content > header + .gnav .access em:before { content: url(../img/icon_bus_w.svg);}
#content > header + .gnav .other em:before { content: url(../img/icon_star_w.svg);}

#content > header + .gnav em::before {
	left: 1em;
}

#content > header + .gnav .other .parent {
	background-image: url(/common/img/gnav_other.jpg);
}

#content > header + .gnav .other .child {
	display: none;
}

#content > header + .gnav .other .parent > li {
	width: 23.5%;
}

#content > header + .gnav .other .parent > li:nth-child(4n) {
	margin-right: 0;
}

}

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

#content > header + .gnav .parent {
	min-height: 19em;
}

}

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

#content > header + .gnav .parent {
	min-height: 17em;
}

#content > header + .gnav .other .parent > li,
#content > header + .gnav .other .parent > li:nth-child(4n) {
	width: 32%;
	margin-right: 2%;
}

#content > header + .gnav .other .parent > li:nth-child(3n) {
	margin-right: 0;
}

}

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

#content > header + .gnav ul .parent,
.en #content > header + .gnav .parent,
.ru #content > header + .gnav .parent {
	min-height: 0;
}

#content > header + .gnav ul .parent {
	padding: 1.5em 1.5em .01em;
}

#content > header + .gnav .ride_airplane .parent,
#content > header + .gnav .spend_airport .parent,
#content > header + .gnav .access .parent,
#content > header + .gnav .other .parent {
	background-image: none;
}

#content > header + .gnav .ride_airplane .parent .child li {
	width: 100%;
}

#content > header + .gnav .ride_airplane .parent .child li {
	width: 100%;
}

#content > header + .gnav .spend_airport .parent > li,
#content > header + .gnav .access .parent .child > li,
#content > header + .gnav .other .parent > li,
#content > header + .gnav .other .parent > li:nth-child(3n),
#content > header + .gnav .other .parent > li:nth-child(4n) {
	width: 48%;
	margin-right: 2%;
}

#content > header + .gnav .spend_airport .parent > li:nth-child(2n),
#content > header + .gnav .access .parent .child > li:nth-child(2n),
#content > header + .gnav .other .parent > li:nth-child(2n) {
	margin-right: 0;
}

}


/*	pmenu
------------------------------------------------------------------------------*/

#content > header .menu .pmenu {
	position: relative;
	margin-right: 1.5em;
	font-size: .875em;
	z-index: 1;
}

#content > header .menu .pmenu > ul {
	display: flex;
	align-items: center;
	margin: 0;
}

#content > header .menu .pmenu li {
	margin-bottom: 0;
}

#content > header .menu .pmenu > ul > li a,
#content > header .menu .pmenu > ul > li em {
	padding-right: 1em;
	padding-left: 1em;
}

#content > header .menu .pmenu em {
	position: relative;
	margin-right: 1em;
	margin-bottom: 0;
}

#content > header .menu .pmenu .language em::before,
#content > header .menu .pmenu .language::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
}

#content > header .menu .pmenu .language,
#content > header .menu .pmenu .language em {
	margin-right: 1em;
}

#content > header .menu .pmenu .language em {
	padding-left: 2em;
	transition: color .4s;
}

#content > header .menu .pmenu .language em::before {
	content: url(../img/icon_net_b.svg);
	left: 0;
	width: 1.5em;
}

#content > header .menu .pmenu .language em span::after {
	content: "UAGE"
}

#content > header .menu .pmenu .language::after {
	right: 0;
	content: "";
	width: 1px;
	height: 80%;
	background-color: rgba(47,60,69,.5);
}

#content.active > header .menu .pmenu .language::after {
	background-color: rgba(0,0,0,.2);
}

#content > header .menu .pmenu li a,
#content > header .menu .pmenu li em {
}

#content > header .menu .pmenu li:last-child {
	margin-right: 0;
}


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

.en #content > header .menu .pmenu .language em span::after,
.ru #content > header .menu .pmenu .language em span::after {
	display: none;
}

}

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

#content > header .menu .pmenu {
	margin-right: 4.5em;
}

#content.active > header .menu .pmenu .language em::before {
	content: url(../img/icon_net_b.svg);
}

#content.active > header .menu .pmenu li a,
#content.active > header .menu .pmenu li em {
	color: inherit;
}

}

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

#content > header .menu .pmenu {
	margin-right: 4em;
	font-size: inherit;
}

#content > header .menu .pmenu .language {
	margin-right: 0;
	font-size: inherit;
}

#content > header .menu .pmenu .language em {
	position: relative;
	margin-right: 0;
	padding: 0 .8em;
	width: 4.6em;
	font-weight: normal;
	font-size: inherit;
}

#content > header .menu .pmenu .language em::before {
	top: 6%;
	left: 50%;
	transform: translateX(-50%);
	width: 35%;
}

#content > header .menu .pmenu .language em::after {
	content: '';
	display: block;
	width: 100%;
	padding-top: 100%;
}

#content > header .menu .pmenu .language em span {	
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Oswald', sans-serif;
	font-size: .85em;
}

#content > header .menu .pmenu .language em span::after,
#content > header .menu .pmenu .faq,
#content > header .menu .pmenu .contact {
	display: none;
}

}


/*	pmenu child_menu
------------------------------------------------------------------------------*/

#content > header .menu .pmenu li:first-child {
	position: relative;
}

#content > header .menu .pmenu .child_menu {
	position: absolute;
	top: 4em;
	left: 50%;
	transform: translateX(-50%);
	width: 130%;
	padding: .5em;
	background-color: rgba(47,60,69,1);
}

.en #content > header .menu .pmenu .child_menu {
	width: 160%;
}

#content > header .menu .pmenu .child_menu::before {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 8px 12px 8px;
	border-color: transparent transparent rgba(47,60,69,1) transparent;
}

#content > header .menu .pmenu .child_menu ul {
	margin: 0;
}

#content > header .menu .pmenu .child_menu a {
	padding: .75em 1em;
	text-align: center;
	color: #FFF;
}

#content > header .menu .pmenu .child_menu li {
	margin: 0;
}

.ja #content > header .menu .pmenu .child_menu .ja,
.en #content > header .menu .pmenu .child_menu .en,
.ko #content > header .menu .pmenu .child_menu .ko,
.zhHans #content > header .menu .pmenu .child_menu .zh-hans,
.zhHant #content > header .menu .pmenu .child_menu .zh-hant,
.ru #content > header .menu .pmenu .child_menu .ru {
	display: none;
}

#content > header .menu .pmenu .child_menu li::after {
	display: none;
}

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

#content.active > header .menu .pmenu .child_menu {
	background-color: rgba(47,60,69,1);
	color: #FFF;
}

#content.active > header .menu .pmenu .child_menu::before {
	border-color: transparent transparent rgba(47,60,69,1) transparent;
}

}

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

#content > header .menu .pmenu .child_menu,
.en #content > header .menu .pmenu .child_menu {
	top: 15vw;
	width: 35vw;
}

}


/*	開閉ボタン
------------------------------------------------------------------------------*/

.menu_button {
	display: none ;
}

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

#content > header .site_column {
	position: relative;
}

.menu_button,
.menu_button span {
	display: inline-block;
	transition: transform .4s, display .4s, background .4s, top .4s, bottom .4s, opacity .4s;
	box-sizing: border-box;
}

.menu_button {
	position: absolute;
	right: 0;
	bottom: 50%;
	transform: translateY(50%);
	width: 3.5em;
	height: 3.5em;
	z-index: 9999;
}

.menu_button.fixed {
	position: fixed;
	right: 5%;
	top: 1em;
	transform: none;
	background-color: rgba(255,255,255,.7);
}

.menu_button::after {
	content: "MENU";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Oswald', sans-serif;
	text-align: center;
	font-size: .85em;
}

.menu_button.fixed,
.menu_button.fixed::after,
.menu_button.active::after {
	color: rgba(47,60,69,1);
}

.menu_button.active::after {
	content: "CLOSE";
}

.menu_button.fixed span,
#content.active .menu_button span {
	background-color: rgba(47,60,69,1);
}

.menu_button:hover {
	cursor: pointer;
}

.menu_button span {
	position: absolute;
	right: 27.5%;
	width: 45%;
	height: 2px;
	background-color: rgba(47,60,69,1)
}
.menu_button.active span {
	height: 2px;
}

.menu_button span:nth-of-type(1) { top: 17%;}
.menu_button span:nth-of-type(2) { top: 32%;}
.menu_button span:nth-of-type(3) {	top: 48%;}

.menu_button.active span:nth-of-type(1) { top: 32%; transform: rotate(-315deg);}
.menu_button.active span:nth-of-type(2) { opacity: 0;}
.menu_button.active span:nth-of-type(3) { top: 32%; transform: rotate(315deg);}

}

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

	main & 下層header

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

main > header {
	background-size: cover;
	background-repeat: no-repeat;
	z-index: -9999;
}


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

	見出し

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

.detail main h2,
.detail main h3,
.detail main h4,
.system main h2,
.system main h3,
.system main h4,
.terms main h2,
.terms main h3,
.terms main h4
.about main h2,
.about main h3,
.about main h4 {
	font-weight: bold;
}

.detail main .tab_contents h2,
.detail main .content_box h2,
.detail main .tab_contents .tab_column h3,
.detail main .content_box h3,
.system main .content_box h2,
.system main .content_box h3,
.terms main .content_box h2,
.terms main .content_box h3,
.about main .content_box h2,
.about main .content_box h3,
.inquiry main .content_box h2,
.inquiry main .content_box h3,
.error main .content_box h2,
.error main .content_box h3,
.link main .content_box h2,
.link main .content_box h3 {
	position: relative;
	margin: 2em 0 0;
	text-align: center;
	line-height: 1;
	color: rgba(9,91,165,1);
}

.detail main .tab_contents h2,
.detail main .content_box h2,
.system main .content_box h2,
.terms main .content_box h2,
.link main .content_box h2,
.about main .content_box h2,
.error main .content_box h2,
.inquiry main .content_box h2 {
	margin-top: 3em;
	margin-bottom: 1.85em;
	padding-top: 1em;
	font-size: 1.25em;
}

.detail main .tab_contents > h2:first-of-type,
.detail main .content_box section:first-of-type h2:first-of-type {
	margin-top: 1.5em;
}

.detail main .content_box h2::before,
.detail main .tab_contents h2::before,
.system main .content_box h2::before,
.terms main .content_box h2::before,
.link main .content_box h2::before,
.about main .content_box h2::before,
.error main .content_box h2::before,
.inquiry main .content_box h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 2.85em;
	height: 3px;
	background-color: rgba(9,91,165,.25);
}

.detail main .tab_contents .tab_column h3,
.detail main .content_box h3,
.system main .content_box h3,
.terms main .content_box h3,
.link main .content_box h3,
.about main .content_box h3,
.inquiry main .content_box h3 {
	line-height: 1;
	color: rgba(9,91,165,1);
}

.detail main .tab_contents .tab_column h3 span,
.detail main .content_box h3 span,
.system main .content_box h3 span,
.terms main .content_box h3 span,
.about main .content_box h3 span,
.inquiry main .content_box h3 span {
	position: relative;
	padding-left: 2em;
}

.detail main .tab_contents .tab_column h3 span::before,
.detail main .content_box h3 span::before,
.system main .content_box h3 span::before,
.terms main .content_box h3 span::before,
.about main .content_box h3 span::before,
.inquiry main .content_box h3 span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1.25em;
	height: 1.25em;
	background-image: url(../../common/img/icon_calendar_blue.svg);
	background-repeat: no-repeat;
}

.detail main .content_box h4,
.system main .content_box h4,
.terms main .content_box h4,
.about main .content_box h4,
.inquiry main .content_box h4 {
	margin: 2em 0 1em;
}

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

	お知らせ一覧

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

main .news_list {
	margin: 0;
}

main .news_list li {
	position: relative;
	margin-bottom: 0;
	padding: 1.125em;
	list-style: none;
	border-top: 1px solid rgba(215,222,226,1);
	line-height: inherit;
}

main .news_list li:last-child {
	border-bottom: 1px solid rgba(215,222,226,1);
}

main .news_list li a {
	position: relative;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	text-decoration: none;
	color: inherit;
}

main .news_list .title {
	width: 550px;
	order: 3;
	line-height: 1.8;
}

main .news_list .important,
main .news_list .category,
main .news_list time,
#pickup ul li a .category {
	font-size: .75em;
	text-align: center;
	line-height: 1;
}

main .news_list .important {
	position: absolute;
	top: 0;
	right: 0;
	padding: .5em .75em;
	border: 1px solid rgba(139,0,70,1);
	background-color: #FFF;
	color: rgba(139,0,70,1);
}

main .news_list .category,
main .news_list time,
#pickup ul li a .category {
	width: 80px;
	padding: .65em .5em;
}

main .news_list .category,
#pickup ul li a .category {
	order: 1;
	color: #FFF;
}

main .news_list time {
	font-family: 'Oswald', sans-serif;
	order: 2;
}

main .arrow_button,
.external li {
	margin: 4.125em 0;
}

main .arrow_button a {
	width: 360px;
}

main .pager {
	display: flex;
	height: 100%;
	margin-top: 3em;
	list-style: none;
	flex-wrap: wrap;
	align-items: center;
	margin-left: 0;
}

main .pager li {
	width: 8%;
	padding: 0.5em 0;
	height: auto;
    list-style-type: none;
    font-size: 1em;
    display: inline;
    background-color: #FFF;
	margin-right: 1.2%;
	text-align: center;
}

main .pager li:nth-child(11n) {
	margin-right: 0;
}

main .pager li:last-child {
    margin-bottom: .5em;
}

main .pager li.active {
    background-color: rgba(47,60,69,1);
	color: #FFF;
}

main .pager li a {
	display: block;
	text-decoration: none;
    color: #394280;
}

@media screen and (max-width: 1410px){
	
main .pager li {
	width: 6%;
	margin-right: 1.2%;
}
main .pager li:nth-child(11n) {
	margin-right: 1.2%;
}
	
main .pager li:nth-child(14n) {
	margin-right: 0;
}

}

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

main .news_list .title {
	width: 80%;
}

}

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

main .news_list .title {
	width: 75%;
}

}

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

main .news_list .title {
	width: 70%;
}

main .arrow_button,
.external li {
	margin: 2em 0;
}

main .arrow_button a,
.external li a {
	width: 50%;
}


}

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

main .news_list .title {
	width: 65%;
}

}

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

main .news_list li {
	padding-right: 0;
	padding-left: 0;
}

main .news_list li:first-child {
	padding-top: 0;
	border-top: none;
}

main .news_list .important,
main .news_list .category,
main .news_list time {
	margin-top: 0;
}

main .news_list .important {
	top: 0;
}

main .news_list .category {
	margin-right: .5em;
}

main .news_list .title {
	width: 100%;
	margin-top: .75em;
}

main .news_list .category,
main .news_list time {
	width: 15vw;
}
	
main .pager li {
	width: 12%;
	margin-right: 2.6%;
}
main .pager li:nth-child(11n) {
	margin-right: 2.6%;
}
	
main .pager li:nth-child(14n) {
	margin-right: 2.6%;
}
	
main .pager li:nth-child(7n) {
	margin-right: 0;
}

}


/* 黒矢印付ボタン
------------------------------------------------------------------------------*/

main .arrow_button {
	text-align: center;
}

main .arrow_button a,
.external li {
	position: relative;
	display: inline-block;
	padding: 1.5em;
	background-color: #FFF;
	text-align: center;
	text-decoration: none;
	line-height: 1;
	font-size: .875em;
	color: inherit;
}

main .arrow_button a::after,
.external li a::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1.5em;
	width: .35em;
	content: url(../img/icon_arrow_b.svg);
}


/* カテゴリー色
------------------------------------------------------------------------------*/

main .news_list .category.news,
main .news_menu .menu .news a,
.news main .contents header .news,
#pickup ul li a .news {
	background-color: rgba(48,180,160,1);
}


main .news_list .category.event,
main .news_menu .menu .event a,
.news main .contents header .event,
#pickup ul li a .event {
	background-color: rgba(183,117,203,1);
}

main .news_list .category.service,
main .news_menu .menu .service a,
.news main .contents header .service,
#pickup ul li a .service {
	background-color: rgba(9,91,165,1);
}

main .news_list .category.shop,
main .news_menu .menu .shop a,
.news main .contents header .shop,
#pickup ul li a .shop {
	background-color: rgba(233,115,150,1.00);
}


/* 注意書き
------------------------------------------------------------------------------*/

main .attention_box {
	margin: 3em 0;
	padding: 3em 1.5em;
	border: 4px solid rgba(139,0,70,.2);
	background-color: #FFF;
}

main .site_column > .attention_box {
	margin-top: 0;
}

main .attention_box p {
	text-align: center;
	color: rgba(139,0,70,1);
}

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

main .attention_box {
	margin-bottom: 3em;
	padding-top: 2em;
	padding-bottom: 2em;
}

main .attention_box p {
	text-align: left;
}

}


/* リンクアイコン
------------------------------------------------------------------------------*/

main .contents .outside a[href*="http"]::after,
main .contents .pdf a[href*=".pdf"]::before,
main .contents .doc a[href*=".doc"]::before {
	content: "";
	display: inline-block;
	margin: 0 .2em 0 .2em;
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: middle;
}

main .contents .outside a[href*="http"]::after {
	width: .75em;
	height: .75em;
	background-image: url(../img/icon_blank_blue.svg);
}

.news main .contents .outside a[href*="http"]::after,
.news main .contents .pdf a[href*=".pdf"]::before,
.news main .contents .doc a[href*=".doc"]::before,
.flight main .contents .outside a[href*="http"]::after,
.flight main .contents .pdf a[href*=".pdf"]::before
.flight main .contents .doc a[href*=".doc"]::before {
	display: none;
}

.home main .contents .outside a[href*="http"]::after {
	height: auto;
	margin: 0;
	background: none;
}

main .contents .pdf a[href*=".pdf"]::before{
	width: .9em;
	height: .9em;
	margin-top: -.1em;
	background-image: url(../img/icon_pdf.svg);
}

main .contents .doc a[href*=".doc"]::before{
	width: .9em;
	height: .9em;
	margin-top: -.1em;
	background-image: url(../img/icon_word.svg);
}


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

	アクセスボタン

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


#access ul,
.access .access_map ul {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	margin: 0;
	list-style: none;
}

#access ul li,
.access .access_map ul li{
	width: 23.5%;
	margin-bottom: 2%;
	margin-right: 2%;
}

#access ul li:nth-child(4n),
.access .access_map ul li:nth-child(4n),
.access .access_map ul li:last-child {
	margin-right: 0 
}

#access ul li a,
.access .access_map ul li a {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 100%;
	background-color: rgba(122,143,167,1);
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	color: #FFF;
}

#access ul li a > span,
#access ul li a::before,
.access .access_map ul li a > span,
.access .access_map ul li a::before {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

#access ul li a > span,
.access .access_map ul li a > span {
	width: 100%;
}

#access ul li a > span {
	bottom: 3.5em;
}

#access ul .liner a > span {
	bottom: 2.5em;
}

.en #access ul li a > span,
.ru #access ul li a > span {
	bottom: 4em;
}

.ru #access .station a > span,
.ru #access .rental a > span,
.ru #access .accessmap a > span {
	bottom: 3em;
}

.access .access_map ul li a > span {
	bottom: 4em;
}

#access ul li.long a > span,
.access .access_map ul li.long a > span {
	bottom: 2.5em;
}

#access ul li a > span span,
.access .access_map ul li a > span span {
	display: block;
}

.access .access_map ul li a > span {
	bottom: 2em;
}

.access .access_map ul .liner a > span {
	bottom: 1.5em;
}

.en.access .access_map ul li a > span,
.ru.access .access_map ul li a > span {
	bottom: 2.5em;
}

.ru.access .access_map .rental a > span,
.ru.access .access_map .accessmap a > span {
	bottom: 2em;
}

.access .access_map ul li.long a > span {
	bottom: 1.5em;
	font-size: .875em;
}

.en.access .access_map ul .bus a > span {
	bottom: 3em;
}

#access ul li a::before {
	bottom: 5.5em;
	width: 2.5em;
}

.en #access ul li a::before,
.ru #access ul li a::before {
	bottom: 6em;
	width: 3em;
}

.access .access_map ul li a::before {
	bottom: 4em;
	width: 2em;
}

.en.access .access_map ul li a::before,
.ru.access .access_map ul li a::before {
	bottom: 4.5em;
	width: 2.5em;
}

#access .station a::before,
#access .liner a::before {
	width: 4em;
	bottom: 5.5em;
}

.en #access .station a::before,
.en #access .liner a::before,
.ru #access .station a::before,
.ru #access .liner a::before {
	width: 5em;
	bottom: 6em;
}

.access .access_map .station a::before,
.access .access_map .liner a::before {
	width: 3.5em;
	bottom: 4em;
}

.access .access_map .liner a::before {
	bottom: 4.5em;
}

.en.access .access_map .liner a::before,
.ru.access .access_map .station a::before,
.ru.access .access_map .liner a::before {
	bottom: 4.5em;
}

.en.access .access_map .station a::before {
	width: 3em;
	bottom: 5.5em;
}

.ru.access .access_map .liner a::before {
	width: 3.5em;
}

.ru.access .access_map .station a::before {
	width: 4em;
	bottom: 5em;
}

#access .accessmap a::before {
	width: 2em;
}

#access .station a::before,
.access .access_map .station a::before { content:url(../../common/img/icon_station_w.svg);}
#access .bus a::before,
.access .access_map .bus a::before { content:url(../../common/img/icon_bus_w.svg);}
#access .parking a::before,
.access .access_map .parking a::before{ content:url(../../common/img/icon_parking_w.svg);}
#access .car a::before,
.access .access_map .car a::before { content:url(../../common/img/icon_car_w.svg);}
#access .rental a::before,
.access .access_map .rental a::before { content:url(../../common/img/icon_car_rent_w.svg);}
#access .taxi a::before,
.access .access_map .taxi a::before{ content:url(../../common/img/icon_taxi_w.svg);}
#access .liner a::before,
.access .access_map .liner a::before{ content:url(../../common/img/icon_liner_w.svg);}
#access .accessmap a::before { content:url(../../common/img/icon_pin_w.svg);}

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

#access .site_column {
	width: 850px;
}

}

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

#access ul li a span {
	bottom: 6vw;
}

.en #access ul li a > span,
.ru #access ul li a > span {
	bottom: 6vw;
}
	
.access .access_map ul li a span {
	bottom: 2.5em;
}

.en.access .access_map ul li a span,
.ru.access .access_map ul li a span {
	bottom: 3em;
}

#access ul li a::before,
.access .access_map ul li a::before {
	bottom: 9vw;
}

.en #access ul li a::before, 
.ru #access ul li a::before {
	bottom: 8.5vw;
}

#access ul li.long a span {
    bottom: 5vw;
}

.en #access ul li.long a span,
.ru #access ul li.long a span {
    bottom: 4.5vw;
}

.access .access_map ul li a::before {
	bottom: 4.5em;
}

.en.access .access_map ul li a::before,
.ru.access .access_map ul li a::before {
	bottom: 5em;
}

.access .access_map ul li.long a > span {
	bottom: 3.5em;
}

.ru.access .access_map ul li.long a > span {
	bottom: 2.5em;
}

#access .station a::before,
#access .liner a::before  {
	bottom: 9.5vw;
}

.en #access .station a::before,
.en #access .liner a::before,
.ru #access .station a::before,
.ru #access .liner a::before {
	bottom: 8.5vw;
}
	
.access .access_map .station a::before,
.access .access_map .liner a::before {
	bottom: 4.5em;
}
	
.en.access .access_map .station a::before,
.en.access .access_map .liner a::before,
.ru.access .access_map .station a::before,
.ru.access .access_map .liner a::before {
	width: 4em;
	bottom: 5em;
}

.en.access .access_map .station a::before {
	bottom: 6em;
}


}

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

#access .site_column {
	width: 90%;
}

}

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

#access ul li a span {
	bottom: 7vw;
}

#access ul li a::before {
	bottom: 10vw;
}

#access .station a::before,
#access .liner a::before {
	bottom: 10.5vw;
}

}

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

#access ul li a span,
.access .access_map ul li a span {
	bottom: 4.5vw;
	font-size: 2.25vw;
}

.en #access ul li a span,
.en.access .access_map ul li a span,
.ru #access ul li a span,
.ru.access .access_map ul li a span {
	bottom: 5vw;
}

.en #access ul .station a span,
.en.access .access_map ul .station a span {
	bottom: 4vw;
}

#access ul li.long a span,
.access .access_map ul li.long a span {
	font-size: 2vw;
}

#access ul li.long a span,
.access .access_map ul li.long a span {
	bottom: 5vw;
}

.en #access ul li.long a span, 
.en.access .access_map ul li.long a span {
	bottom: 5vw;
}

.ru #access ul li.long a span,
.ru.access .access_map ul li.long a span{
	bottom: 3vw;
}

#access ul li a::before,
#access .liner a::before,
.access .access_map ul li a::before,
.access .access_map .liner a::before {
	bottom: 9vw;
	width: 5vw;
}

#access ul .liner a > span {
    bottom: 1em;
}

.en #access ul li a::before,
.en #access .liner a::before,
.en.access .access_map ul li a::before,
.en.access .access_map .liner a::before,
.ru #access ul li a::before,
.ru #access .liner a::before,
.ru.access .access_map ul li a::before,
.ru.access .access_map .liner a::before {
	bottom: 9vw;
	width: 5vw;
}

#access .station a::before,
#access .liner a::before,
.access .access_map .station a::before,
.access .access_map .liner a::before {
	bottom: 9vw;
	width: 8vw;
}

.ru #access .rental a > span {
	bottom: 2.5vw;
}

.access .access_map .liner a::before {
	bottom: 10vw;
}

.ru #access .station a > span,
.ru #access .accessmap a > span {
	bottom: 5vw;
}

.ru #access .station a > span span,
.ru #access .accessmap a > span span {
	font-size: .7em;
}

.en #access .liner a::before,
.ru #access .liner a::before,
.en.access .access_map .liner a::before,
.ru.access .access_map .liner a::before {
	width: 8vw;
	bottom: 9vw;
}

.en #access .station a::before,
.en.access .access_map .station a::before,
.ru #access .station a::before,
.ru.access .access_map .station a::before {
	width: 8vw;
}

.ru #access .station a::before,
.ru.access .access_map .station a::before {
	bottom: 11vw;
}

.en #access .station a::before,
.en.access .access_map .station a::before {
	bottom: 10vw;
}

#access .accessmap a::before {
	width: 4vw;
}

}

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

#access ul li a span,
.access .access_map ul li a span {
	bottom: 5.5vw;
}

.en #access .station a::before,
.en.access .access_map .station a::before,
.ru #access .station a::before,
.ru.access .access_map .station a::before {
	width: 8vw;
	bottom: 10vw;
}

}

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

	インデックスリンク

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

main .index_link {
    display: flex;
    margin-left: 0;
    justify-content: space-between;
    flex-wrap: wrap;
    list-style: none;
}

main .index_link a {
    width: 48.5%;
	min-height: 146px;
	display: flex;
    margin-bottom: 3%;
	position: relative;
	padding: 1.5em 1.5em 1.5em 8.5em;
    text-decoration: none;
    background: rgba(122,143,167,1);
	color: #FFF;
	font-size: 1.125em;
	line-height: 1.6em;
	align-items: center;
}

main .index_link a span {
	font-size: 0.875em;
}

main .index_link a::before {
	position: absolute;
	display: inline-block;
    top: 50%;
    transform: translateY(-50%);
    left: 2.8em;
    width: 1.5em;
	height: 2em;
	content: url(/common/img/icon_bus_w.svg);
}

main .index_link a[href*="http"]::before {
    content: url(/common/img/icon_blank_w.svg);
}

main .content_list .index_link.outside a::after {
   content:"";
   display:block;
   width:1px;
   height:70%;
   background-color:#FFF;
   position:absolute;
   top:50%;
   transform: translateY(-50%);
   left:7em;
}

@media screen and (max-width: 970px){
	
main .contents .content_list {
    padding: 2em;
}

main .index_link a {
	padding: 1.5em 1.5em 1.5em 8.5em;
}
	
}

@media screen and (max-width: 767px){
	
main .contents .content_list {
    padding: 2.8em 1.5em;
}	
	
main .index_link a {
    width: 100%;
	min-height: 0;
	padding: 1em 1em 1em 5em;
	font-size: 1em;
}
	
main .index_link a::before {
    left: 1.3em;
}
	
main .content_list .index_link.outside a::after {
   left:4em;
}
	
main .index_link a span {
    font-size: 0.7em;
}
	
}

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

	バナー

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

.sightseeing_banner {
	display: block;
	text-align: center;
}
.sightseeing {
	display: inline-block;
	text-align: center;
}

.sightseeing img {
}

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

	おすすめ情報

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

#recommend ul {
	margin: 0;
}

#recommend .slick-slide {
	margin-bottom: 0;
	padding: 0 .25em;
}

#recommend .slick-dots {
	position: relative;
	bottom: auto;
	margin-top: 1em;
}

#recommend .slick-dots li ,
#recommend .slick-dots li button {
	position: relative;
	width: 10px;
	height: 10px;
	padding: 0;
}

#recommend .slick-dots li {
	margin: 0 .5em;
}

#recommend .slick-dots li button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid rgba(47,60,69,.5);
	opacity: 1;
}

#recommend .slick-dots .slick-active button::before {
	background-color: rgba(47,60,69,1);
}


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

	footer

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

#content > footer {
	padding: 2em 0 3em;
	background-color: rgba(9,91,165,1);
}

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

#content > footer {
	padding: 2em 0 8em;
}

}

/* footer_menu
------------------------------------------------------------------------------*/

#content > footer .footer_menu,
#content > footer .footer_menu a,
#content > footer .management,
#content > footer .management a,
#content > footer #copy {
	color: #FFF;
}

#content > footer .footer_menu {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0;
	padding-bottom: 2em;
	border-bottom: 1px solid rgba(255,255,255,.25);
}

#content > footer .footer_menu ul {
	margin: 1.5em 0 0;
}

#content > footer .footer_menu > li {
	margin: 0;
	padding: 1em 1.75em;
	border-right: 1px solid rgba(255,255,255,.25);
}

#content > footer .footer_menu .ride_airplane { width: 31%;}
#content > footer .footer_menu .spend_airport { width: 21%;}
#content > footer .footer_menu .access { width: 24%;}
#content > footer .footer_menu .other { width: 24%;}

#content > footer .footer_menu > li:last-child {
	border: none;
}

#content > footer .footer_menu h2 {
	display: none;
}

#content > footer .footer_menu em {
	position: relative;
	display: block;
	padding-left: 1.5em;
	line-height: 1;
	font-weight: bold;
	font-size: 1.25em;
}

.en #content > footer .footer_menu em,
.ru #content > footer .footer_menu em {
	font-size: 1em;
}

#content > footer .footer_menu em:before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: .85em;
}

#content > footer .footer_menu .ride_airplane em:before {
	content: url(../img/icon_airplane_w.svg);
}
#content > footer .footer_menu .spend_airport em:before {
	content: url(../img/icon_pin_w.svg);
}
#content > footer .footer_menu .access em:before {
	content: url(../img/icon_bus_w.svg);
}
#content > footer .footer_menu .other em:before {
	content: url(../img/icon_star_w.svg);
}


/* 飛行機に乗る */

#content > footer .footer_menu .ride_airplane .parent > li:nth-of-type(1) {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 1.25em;
}

#content > footer .footer_menu .ride_airplane .heading {
	display: none;
}

#content > footer .footer_menu .ride_airplane .child {
	margin-top: .25em;
	width: 48.5%;
	font-size: .875em;
	overflow-wrap: break-word;
}

#content > footer .footer_menu .ride_airplane .external a,
#content > footer .footer_menu .other .external a,
#content > footer .management .external a {
	display: inline-block;
	position: relative;
	padding-right: 1.125em;
}

#content > footer .footer_menu .other .external a::after,
#content > footer .management .external a::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	content: "";
	background-image: url(../img/icon_blank_w.svg);
	background-repeat: no-repeat;
	width: .85em;
	height: .85em;
}


/* 空港ですごす */

#content > footer .footer_menu .spend_airport .child {
	display: none;
}


/* 交通アクセス */

#content > footer .footer_menu .access .grandchild {
	display: none;
}

#content > footer .footer_menu .access .child {
	margin-top: .75em;
}


/* その他 */

#content > footer .footer_menu .other {
	margin: 0;
	display: block;
}

#content > footer .footer_menu .other .child {
	display: none;
}

/* 運営表記 */

#content > footer .management {
	margin: 2em 0 0;
}

#content > footer .management dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top: 1em;
	line-height: 1.4;
}

#content > footer .management dl:first-child {
	margin-top: 0;
}


#content > footer .management dl dt,
#content > footer .management dl dd {
	width: 48%;
}

#content > footer .management dl dt {
	display: inline-flex;
	justify-content: end;
	margin-right: .5em;
	padding-right: .5em;
	border-right: 2px solid rgba(255,255,255,.3);
	font-weight: bold;
}

#content > footer .management dd,
#content > footer .management .site_note {
	font-size: .875em;
}

#content > footer .management .site_note {
	text-align: center;
}

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

#content > footer .footer_menu .access {
	padding-left: 0;
}

#content > footer .footer_menu .other {
	padding-right: 0;
}

}

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

#content > footer .footer_menu .ride_airplane .child li,
#content > footer .footer_menu .ride_airplane .external,
#content > footer .footer_menu .spend_airport .parent li,
#content > footer .footer_menu .access .parent li,
#content > footer .footer_menu .other .parent li {
	margin-bottom: 1.5em;
}

#content > footer .footer_menu .ride_airplane .child li:last-child,
#content > footer .footer_menu .ride_airplane .external:last-child,
#content > footer .footer_menu .spend_airport .parent li:last-child,
#content > footer .footer_menu .access .parent li:last-child,
#content > footer .footer_menu .other .parent li:last-child {
	margin-bottom: 0;
}

#content > footer .footer_menu .ride_airplane .parent > li:nth-of-type(1) {
	margin-bottom: 2em;
}

#content > footer .footer_menu .access .child {
	margin-top: 2em;
}

#content > footer .footer_menu em {
	font-size: 1.125em;
}

}

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

#content > footer .footer_menu .ride_airplane,
#content > footer .footer_menu .spend_airport,
#content > footer .footer_menu .access,
#content > footer .footer_menu .other {
	width: 100%;
	margin-top: 2em;
	padding: 0 0 2em 0;
	border-right: none;
	border-bottom: 1px solid rgba(255,255,255,.25);
}

#content > footer .footer_menu .access {
	margin-top: 0;
}

#content > footer .footer_menu .spend_airport .parent,
#content > footer .footer_menu .access .child,
#content > footer .footer_menu .other .parent {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#content > footer .footer_menu .spend_airport .parent li,
#content > footer .footer_menu .access .child li,
#content > footer .footer_menu .other .parent li {
	width: 48%;
}

#content > footer .footer_menu,
#content > footer .footer_menu .spend_airport {
	padding-bottom: 0;
}

.en #content > footer .footer_menu em,
.ru #content > footer .footer_menu em {
	font-size: 1.125em;
}

#content > footer .management .site_note {
	text-align: left;
}

#content > footer .management dl dt {
	width: 60%;
	justify-content: flex-start;
}

#content > footer .management dl dd {
	width: 34%;
}


}


/*	 page_top
------------------------------------------------------------------------------*/

#content.active #page_top {
	display: none;
}

#page_top {
    position: fixed;
	right: 3vw;
    bottom: 30px;
	width: 60px;
	height: 60px;
    transition: opacity .6s;
	background-color: #FFF;
	z-index: 1000;
	opacity: 0;
}

.moved #page_top {
	opacity: 1;
}

#page_top a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(47,60,69,1);
	text-decoration: none;
	cursor: default;
}

.moved #page_top a {
	cursor: pointer;
	opacity: 1;
}

#page_top a::after {
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-50%,-50%)  rotate(45deg);
	content: "";
	display: block;
	width: 40%;
	height: 40%;
	border-top: 1px solid #FFF;
	border-left: 1px solid #FFF;
}

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

#page_top {
	width: 50px;
	height: 50px;
}

}

