@charset "UTF-8";

/*
フォントサイズ早見表
回り込み
カラム
左右ボックス
リスト型メニュー
リスト各種
記述リスト
表組み
よくある質問
動画埋め込み
Googleマップ埋め込み
SNSシェアボタン
罫線
個別調整
リセット
ClearFix
*/


/* ■ フォントサイズ早見表 ==================================================================================== */

/*
font-size percent/px (100% = 14px)
10px = 72%
11px = 79%
12px = 86%
13px = 93%
14px = 100%
15px = 108%
16px = 115%
17px = 122%
18px = 129%
19px = 136%
20px = 143%
21px = 150%
22px = 158%
23px = 165%
24px = 172%
25px = 179%
26px = 186%
27px = 193%
28px = 200%
29px = 207%
30px = 214%
*/


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Hind:wght@300;400;500;600;700&display=swap');


/* テキスト・リンク色  --------------------------------------------------- */

/* テキスト色 */
body {
color: #000;
}

/* アラート色 */
.Alert {
color: #ff0000;
}

/* ListKomeAlert */
.ListKomeAlert li {
color: #ff0000;
}

/* リンク色  */
a:link {
color: #000;
}

a:active {
color: #000;
}

a:visited {
color: #000;
}

a:hover {
color: #000;
}


/* ■ リセット ==================================================================================== */

body {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Noto Sans JP', sans-serif;
line-break: strict;
font-feature-settings: "palt";
}

h1,h2,h3,h4,h5,h6,p,th,td,dl,ul,ol,caption,blockquote,input,select,textarea,div {
margin: 0;
padding: 0;
box-sizing: border-box;
}

article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary {
display: block;
margin: 0;
padding: 0;
box-sizing: border-box;
}

*:focus {
outline: none; 
}

img {
border: none;
}

li {
list-style-type: none;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

blockquote {
margin: 0 0 0 30px;
}



/* 背景 --------------------------------------------------- */


@media (max-width: 767px) {

	body {
	background-color: #e60027;
	background-repeat: repeat-y;
	background-image: url(../img/bg_gb_sp.jpg?250624);
	background-size: 100% auto;
	}

}

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

	body {
	background-color: #e60027;
	background-repeat: repeat;
	background-image: url(../img/bg_gb.jpg?250624);
	background-size: 250px auto;
	}

}



/* 全体 --------------------------------------------------- */


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

	#Asia #Contents {
	margin: 65px 15px 0 15px;
	background-color: #fff;
	border-radius: 6px;
	padding: 15px;
	box-shadow: 0 0 10px #b4b4b4;
	}

	#Asia #ContentsFood {
	margin: 65px 15px 0 15px;
	background-color: #e82d15;
	border-radius: 6px;
	padding: 15px;
	}

	.TopWrapper {
	padding-bottom: 15px;
	}

}

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

	#Asia #Contents {
	width: 720px;
	background-color: #fff;
	border-radius: 15px;
	padding: 30px;
	margin: 75px auto 0 auto;
	box-shadow: 0 0 10px #b4b4b4;
	}

	#Asia #ContentsFood {
	width: 720px;
	background-color: #e82d15;
	border-radius: 15px;
	padding: 30px;
	margin: 75px auto 0 auto;
	}

	.TopWrapper {
	padding-bottom: 30px;
	}

}

@media print, screen and (min-width: 1090px) {

	#Asia #Contents {
	width: 1000px;
	background-color: #fff;
	border-radius: 25px;
	padding: 50px;
	margin: 100px auto 0 auto;
	box-shadow: 0 0 10px #b4b4b4;
	}

	#Asia #ContentsFood {
	width: 1000px;
	background-color: #e82d15;
	border-radius: 25px;
	padding: 50px;
	margin: 100px auto 0 auto;
	}

	.TopWrapper {
	padding-bottom: 60px;
	}

}




/* Header（ヘッダー） --------------------------------------------------- */


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

	#Header {
	display: none;
	}

}


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

	#Header {
	width: 100%;
	height: 40px;
	background: #000;
	}
	
	#HeaderUnit {
	width: 100%;
	}
	
	/* Logo */
	#HeaderUnit .Logo {
	float: left;
	width: 100px;
	}
	
	#HeaderUnit .Logo a {
	display: block;
	float: left;
	width: 100px;
	padding: 2px 0 0 16px;
	}
	
	/* SubNav */
	#HeaderUnit .SubNav {
	float: right;
	margin: 0 7px 0 0;
	}
	
	#HeaderUnit .SubNav li {
	display: inline;
	zoom: 1;
	}
	
	#HeaderUnit .SubNav li a {
	float: left;
	display: block;
	height: 25px;
	background: url(../img/common/header/SubNav.png) no-repeat;
	text-indent: -9999px;
	overflow: hidden;
	}
	
	#HeaderUnit .SubNav li.Menu1 a {
	width: 25px;
	margin: 7px 4px 0 0;
	background-position: 0 0;
	}
	
	#HeaderUnit .SubNav li.Menu2 a {
	width: 25px;
	margin: 7px 4px 0 0;
	background-position: -29px 0;
	}
	
	#HeaderUnit .SubNav li.Menu3 a {
	width: 25px;
	margin: 7px 0 0 0;
	background-position: -58px 0;
	}
	
	
	#HeaderUnit #google_translate_element {
	float: right;
	margin: 6px 10px 0 0;
	}

}


@media print, screen and (min-width: 1090px) {

}




/* ハンバーガーメニュー --------------------------------------------------- */

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

	#nav-toggle {
	position: fixed;
	top: 15px;
	right: 15px;
	cursor: pointer;
	background: #000;
	width: 45px;
	height: 45px;
	}

}

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

	#nav-toggle {
	position: fixed;
	top: 15px;
	right: 15px;
	cursor: pointer;
	background: #000;
	width: 45px;
	height: 45px;
	}

}
@media print, screen and (min-width: 1090px) {

	#nav-toggle {
	position: fixed;
	top: 30px;
	right: 30px;
	cursor: pointer;
	background: #000;
	width: 45px;
	height: 45px;
	}

}

#nav-toggle > div {
width: 20px;
position: absolute;
top: 40%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit-\ transform: translateY(-50%) translateX(-50%);
}

#nav-toggle > div > span.toggle {
width: 100%;
height: 1px;
left: 0;
display: block;
background: #fff;
position: absolute;
transition: top .5s ease, -webkit-transform .3s ease-in-out;
transition: transform .3s ease-in-out, top .5s ease;
transition: transform .3s ease-in-out, top .5s ease, -webkit-transform .3s ease-in-out;
}

header.deteal_header #nav-toggle > div > span.toggle {
width: 100%;
height: 1px;
left: 0;
display: block;
background: #fff;
position: absolute;
transition: top .5s ease, -webkit-transform .3s ease-in-out;
transition: transform .3s ease-in-out, top .5s ease;
transition: transform .3s ease-in-out, top .5s ease, -webkit-transform .3s ease-in-out;
}

#nav-toggle span.toggle:nth-child(1) {
top: 0;
}
#nav-toggle span.toggle:nth-child(2) {
}
#nav-toggle span.toggle:nth-child(3) {
top: 10px;
}
.open #nav-toggle span.toggle {
background: #fff;
}
.open #nav-toggle span.toggle:nth-child(1) {
top: 5px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.open #nav-toggle span.toggle:nth-child(2) {
top: 10px;
width: 0;
left: 50%;
}
.open #nav-toggle span.toggle:nth-child(3) {
top: 5px;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
/* z-index */
#nav-toggle {
z-index: 1000;
}
#container {
z-index: 900;
}
#gloval-nav {
background-color: rgba(0, 0, 0, .8);
color: #fff;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 990;
text-align: center;
display: flex;
visibility: hidden;
flex-direction: column;
justify-content: center;
align-items: center;
font-size: 29px;
opacity: 0;
transition: opacity .3s ease, visibility .3s ease;
}
#gloval-nav a {
display: block;
color: #fff;
text-decoration: none;
padding: 20px 0;
transition: color .3s ease;
font-size: 28px;
font-family: 'Poppins', sans-serif;
font-weight: 300;
letter-spacing: .2em;
}
#gloval-nav a:hover {
color: #666;
}
#gloval-nav ul {
list-style: none;
padding: 0;
}
#gloval-nav ul li {
opacity: 0;
-webkit-transform: translateX(200px);
transform: translateX(200px);
transition: opacity .2s ease, -webkit-transform .3s ease;
transition: transform .3s ease, opacity .2s ease;
transition: transform .3s ease, opacity .2s ease, -webkit-transform .3s ease;
}
#gloval-nav ul li:nth-child(2) {
transition-delay: .05s;
}
#gloval-nav ul li:nth-child(3) {
transition-delay: .15s;
}
#gloval-nav ul li:nth-child(4) {
transition-delay: .25s;
}
/* open */
.open {
overflow: hidden;
}
.open #gloval-nav {
visibility: visible;
opacity: 1;
}
.open #gloval-nav li {
opacity: 1;
-webkit-transform: translateX(0);
transform: translateX(0);
transition: opacity .9s ease, -webkit-transform 1s ease;
transition: transform 1s ease, opacity .9s ease;
transition: transform 1s ease, opacity .9s ease, -webkit-transform 1s ease;
}

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

	#nav-toggle {
	right: 10px;
	top: 10px;
	width: 40px;
	height: 40px;
	}

	#gloval-nav a {
	font-size: 24px;
	padding: 5px 0;
	}
}



/* ■ フッターナビ（FooterNav） ==================================================================================== */

.Share {
width: 100%;
margin: 40px 0 30px 0;
text-align: center;
}

.SnsBtn {
display: inline-block;
width: 280px;
height: 50px;
overflow: hidden;
margin: 0 auto 0 auto;
}

.SnsBtn li {
float: left;
width: 40px;
margin: 0 15px 0 15px;
}

.SnsBtn li a {
display: block;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
height: 40px;
}

.SnsBtn .Instagram a {
background: url(../img/Icon_Insta.png?250110) no-repeat;
background-size: 40px 40px;
}

.SnsBtn .Twitter a {
background: url(../img/Icon_Twitter.png?250110) no-repeat;
background-size: 40px 40px;
}

.SnsBtn .FB a {
background: url(../img/Icon_Facebook.png?250110) no-repeat;
background-size: 40px 40px;
}

.SnsBtn .Line a {
background: url(../img/Icon_Line.png?250110) no-repeat;
background-size: 40px 40px;
}


/* ■ フッター（Footer） ==================================================================================== */

#Footer {
margin-top: 50px;
text-align: center;
border-top: 1px solid #000;
}

.Footer_Copyright {
color: #000;
}

.Footer_Credit {
position: relative;
}

.Footer_Logo a {
display: block;
}

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

	/* コピーライト */
	.Footer_Copyright {
	font-size: 12px;
	line-height: 2.0;
	letter-spacing: 0.04em;
	}
	
	.Footer_Logo img {
	width: 90px;
	margin: 0 auto;	
	}
	
	.Footer_Copyright {
	margin-top: 20px;
	}

}

@media print, screen and (min-width: 768px) {
	
	.Footer_Credit {
	margin-top: 2rem;
	}
	
	.Footer_Copyright {
	padding-top: 20px;
	font-size: 12px;
	letter-spacing: 0.04em;
	}
	
	.Footer_Logo {
	display: flex;
	justify-content: center;
	}

	.Footer_Logo img {
	width: 90px;
	height: auto;
	}
	
	.SP {
	display: none;
	}

}







/* ページの先頭へ（PageTop） --------------------------------------------------- */
#PageTop {
	position: fixed;
	z-index: 1000;
}

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

	#PageTop {
	right: 10px;
	bottom: 10px;
	}
	
	#PageTop img {
	width: 40px;
	height: auto;
	}


}

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

	#PageTop {
	display: none;
	right: 20px;
	bottom: 20px;
	}

}



/* 見出し --------------------------------------------------- */


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

	#SubMenu {
	    margin: 25px 0;
	    text-align: center;
	}
	
	#SubMenu h2 {
	    font-size: 24px;
	    color: #fff;
	    line-height: 1.2em;
	}

}


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

	#SubMenu {
	    margin: 40px auto;
	    text-align: center;
	}
	
	#SubMenu h2 {
	    font-size: 50px;
	    color: #fff;
	}

}


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

/* ListKome */
.ListKome li {
margin: 0 0 3px 0;
padding: 0 0 0 15px;
line-height: 1.6em;
background: url(../img/common/icon/Icon_ListKome.png) no-repeat top;
background-position: 0 3px;
}

/* ListKomeS */
.ListKomeS li {
margin: 0 0 3px 0;
padding: 0 0 0 12px;
background: url(../img/common/icon/Icon_ListKomeS.png) no-repeat top;
background-position: 0 4px;
}


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

	    .ListKomeS {
	    margin-bottom: 20px;
	    }

	    .ListKomeS li {
	    margin: 5px 0 5px 0;
	    font-size: 86%;
	    color: #e6e6e6;
	    line-height: 1.4em;
	    }

}

@media print, screen and (min-width: 768px) {
	
	    .ListKomeS {
	    margin-bottom: 25px;
	    }

	    .ListKomeS li {
	    margin: 5px 0 5px 0;
	    font-size: 86%;
	    line-height: 1.4em;
	    }

}


/* ClearFix  --------------------------------------------------- */

.ClearFix {
zoom: 1;
}

.ClearFix:after {
content: ""; 
display: block; 
clear: both;
}

#Header, #Footer, #GlobalNav, #Stage, #PageTop, #FooterNav, .IndexMenu, .IndexMenu1, .IndexMenu2, .InstaMenu, .TabMenu, .LRBox, .PageNation {
zoom: 1;
}

#Header:after, #Footer:after, #GlobalNav:after, #Stage:after, #PageTop:after, #FooterNav:after, .IndexMenu:after, .IndexMenu1:after, .IndexMenu2:after, .InstaMenu:after, .TabMenu:after, .LRBox:after, .PageNation:after {
content: ""; 
display: block; 
clear: both;
}


