@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=DotGothic16&family=M+PLUS+1&family=Ubuntu&display=swap');

/* オープニング書体 */
@import url('https://fonts.googleapis.com/css2?family=DotGothic16&family=M+PLUS+1&family=Ubuntu&family=Work+Sans&display=swap');

/* オープニング画面 */
#loading {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 99999;
	background: #fff;
	text-align: center;
}
#loading_logo {
	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;
}
.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 1.2s;
	animation-delay: 1.2s;
	animation-fill-mode: forwards;
	opacity: 1;
}
@keyframes fadeUpAnime {
from {
	opacity: 1;
	transform: translateY(0);
}
to {
	opacity: 0;
	transform: translateY(-100px);
}
}

/*//見出しのテキスト書体//*/
/* 外国語 */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap');

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

* a{
	color: black;
	outline:none;
	text-decoration: none !important;
	cursor: pointer !important;
}

body {
	overflow-x: hidden;
	-moz-overflow-x: hidden;
	-ms-overflow-x: hidden;
	-webkit-overflow-x: hidden;
	margin-right: 0;
	margin-left: 0;
	font-family: 'Roboto', sans-serif;
	-webkit-font-family: 'Roboto', sans-serif;
	-ms-font-family: 'Roboto', sans-serif;
	-moz-font-family: 'Roboto', sans-serif;
}

#main{
	max-width: 1350px;
	width: 100%;
	margin: 0 auto;
}

/* /////見出し///// */
.sab {
	font-size: 14px;
}
.fa-home {
	padding-right: 5px;
	-moz-padding-right: 5px;
	-webkit-padding-right: 5px;
}
.midashi{
	width: 100%;
	font-size:13px;
    padding: 18px;
	font-weight: normal;
	text-align: center;
}

.midashi span{
	width: 100%;
	font-size: 23px; 
	text-align: center;
	font-weight: normal;
	color: #000;
	letter-spacing: 6px;
	font-family: 'Roboto', sans-serif;
}
/* /////見出しここまで///// */

/* //// ヘッダーここから //// */

.backColor {
	width: 100%;
	background-color: rgba(0, 0, 0, .89);
	padding: 1% .3% 3%;
	margin-bottom: 2%;
}

.headerWrapper {
	max-width: 1500px;
	width: 100%;
	margin: 0 auto;
	padding: 10px 5%;
}

.headerWrapper a{
display: block;
color: aliceblue;
letter-spacing: 2px;
font-size: 15px;
transition: 0.4s;
transform: scale(1);
}
@media screen and (min-width: 780px) {
.headerWrapper a:hover {
	opacity: .7;
	transform: scale(1.06);
}
}
.headerContents {
width: 100%;
margin: .5% auto;
display: flex;
align-items: center;
justify-content: space-between;
}
a.headerRight {
	display: flex;
	justify-content: space-around;
}
a.headerRight i{
	font-size: 17px;
	padding-right: 5px;
}
.headerNav ul{
width: 100%;
margin: 0 auto;
display: flex;
justify-content: space-between;

transition: .9s;
}
.headerNav ul li{
padding: 0 .8%;
}

.headerNav.activeNav{
position: fixed;
top: 0;
left: 0;
z-index: 100;
width: 100%;
height: 70px;
line-height: 70px;
padding: 0 5%;
background-color: rgba(255,255,255, .9);
border-bottom: .01rem solid #333;
}
.headerNav.activeNav ul{
max-width: 800px;
margin: 0 auto;
}
.headerNav.activeNav a{
display: block;
color: #333;
}

/* /// ナビゲーションメニューここから /// */
#navi {
	width: 100%;
    padding-top:15px;
    margin-bottom:50px;
}

#navi ul{
	display: flex;
    justify-content: center;
    align-items: center;
	width: 100%;
}
#navi a{
    display:block; 
	transition-property: transform;
}
#navi a:hover{
	transform: translateY(4px);
}

#header #navi li{
	width: 12.5%;
	height:auto;
	border-left:solid 1px #ccc;
	padding-top:5px;
	text-align:center;
	font-weight: bold;
	font-size: 17px;  
	font-family: 'Roboto', sans-serif;
	letter-spacing: 1px;
}
/* ///ナビゲーションメニューここまで/// */


/*///ハンバーガーアイコンここから///*/

/* ハンバーガーボタン */
.hamburger {
	display: none;
	position: fixed;
	z-index : 11;
	right : 13px; 
	top   : 21px;
	width : 40px;
	height: 40px;
	cursor: pointer;
	text-align: center;
	margin-right: 0;
	border-radius: 5px;
}

.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2.3px ;
  left    : 10px;
  background : rgba(245,245,245,.9);
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
  line-height: 40px;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  left: 6px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}


nav.globalMenuSp {
  position: fixed;
  z-index : 10;
  top  : 0;
  left : 50%;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  background-color: rgba(0,0,0,0.9);
  text-align: center;
  transform: translate(100%, 0);
  transition: all 0.6s;
  width: 50%;
}

nav.globalMenuSp ul {
  background-color: rgba(0,0,0,0.9);
  padding: 0;
  width: 100%;
  height: 100vh;
  padding-top: 75px;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding-left: 62px;
  width: 100%;
  font-family: 'Roboto', sans-serif;
  font-weight: normal;
  text-align: left;
}

nav.globalMenuSp ul li a {
  display: inline-block;
  color: #f5f5f5;
  padding: 10px 0;
  letter-spacing: 2px;
  text-decoration :none;
  font-size: 16px;
  font-weight: bold;
  transition: 0.4s;
}


nav.globalMenuSp ul li a:hover {
	opacity: .7;
	transform: scale(1.06);
}


/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translate(0, 0);
}
/*//////ハンバーガーアイコンここまで//////*/


/* ///フッターPC/iPad/// */
#ftbg{
	width: 100vw;
	background-color:#12121a;
	opacity: 0.87;
	color:#ccc;
}
#footer {
	max-width: 1350px;
	width: 100%;
	margin: 0 auto;
	height: auto;
	padding: 20px 0;
	letter-spacing: 2px;
	line-height: 20px;
}
/* ページTOPに戻る */
.pagetop{
	text-align: right;
	padding-top: 7px;
}
.pagetop a{
	color:#FFFfff;
	font-size:13px;
	text-align: right;
	padding-right: 26px;
}

.footerFlex {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	justify-content: space-between;
	padding-top: 100px;
	padding-bottom: 100px;
}

/* フッター左 */
.footer_contans{
	width: 50%;
	padding-left: 20px;
}
.osaka .heading{
	margin-bottom: 7px;
	color: aliceblue;
	font-weight: bold;
	font-size: 15px;
}
.osaka p:nth-child(2){
	font-size: 15px;
	color: aliceblue;
}
/* フッターアイコン */
.footerSns {
	width: 100%;
	padding-top: 35px;
}
.footer-sns {
	display: flex;
}
.footer-sns li{
	text-align: center;
	margin-right: 13px;
}
.footer-sns li:hover{
	opacity: 0.8;
}
.footer-sns li i{
	font-size: 37px;
	color: #f5f5f5;
}
.footer-sns li p{
	font-size: 12px;
	color: #f5f5f5;
}
/* フッター右 */
.ft_navi {
	width: 50%;
	line-height: 40px;
	text-align: center;
}	
.ft_navi li a{
	display: block;
	color: aliceblue;
	font-size: 15px;
}
.ft_navi li a:hover{
	opacity: 0.8;
}
.nav1 {
	display: flex;
	flex-wrap: wrap;
}
.nav1 li{
	width: 33.33%;
	text-align: left;
}

.ft-nav2 {
	padding-top: 40px;
}
.nav2 li{
	text-align: left;
}

.nav3 {
	padding-top: 40px;
}
.nav3 li{
	text-align: left;
}
/* ///フッタースマホ/// */
#footer-sp {
	padding-top: 20px;
	padding-left: 15px;
	display: none;
}
.footer-logo-sp a{
	display: block;
}
.footer-logo-sp img{
	width: 80%;
}
.footer-address-sp {
	letter-spacing: 1px;
	color: aliceblue;
	padding-top: 13px;
}
.heading-sp {
	font-size: 14px;
}
.address-sp {
	font-size: 11px;
}
.address-sp span{
	color: aliceblue;
}
.footer-sns-sp {
	display: flex;
	padding-top: 10px;
	padding-bottom: 20px;
}
.footer-sns-sp a{
	display: block;
	color: aliceblue;
	padding-right: 12px;
}
.footer-sns-sp i{
	font-size: 24px;
}



.clearBoth-sp {
	padding-top: 20px;
	padding-bottom: 15px;
	text-align: center;
	font-size: 11px;
	color: #f5f5f5;
}
.clearBoth {
	padding-top: 20px;
	text-align: center;
	font-size: 13px;
	color: #f5f5f5;
}


/* --------------------------------------------------
--------レスポンシブ ここから--------
-------------------------------------------------- */

/* --------------------------------------------------
幅1025px以上のスタイル指定 ここから
-------------------------------------------------- */

@media screen and (min-width: 1025px) {
	nav.globalMenuSp {
		display: none;
	}

}

/* --------------------------------------------------
  iPad幅1024px以下のスタイル指定 ここから
-------------------------------------------------- */

@media screen and (max-width: 1024px) {
/* メニューアイコン */
a.headerRight, .headerNav{
	display: none;
}

.hamburger {
	display: block;
	width: 17px;
	padding-right: 50px;
}

.sab {
	font-size: 15px;
}

/* フッター */
#footer {
	padding-left: 40px;
}
.ft_navi {
	padding-left: 20px;
}


}


/* --------------------------------------------------
  iPad最小幅768px以下のスタイル指定 ここから
-------------------------------------------------- */
@media screen and (max-width: 768px) {
	* {
	    float: none;
	    position: static;
    }
    img {
	    max-width: 100%;
	    height: auto;
    }
    /* 見出し */
	.sab {
		font-size: 13px;
	}
	.midashi {
		font-size: 16px;
	}
	.midashi span {
		font-size: 16px;
	}


	/* header */
	a.headerLeft img{
		width: 90%;
	}

	#main table{
		width: 100%;
	}

	.hamburger p{
		font-size: 12px;
		width: 80%;
	}

	
	/* footer */
	#footer {
		margin: 0 auto;
		width: 100%;
	}
	.footerFlex {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.pagetop p{
		text-align: center;
	}

	.osaka .heading {
		font-weight: normal;
		font-size: 14px;
	}

	.osaka p:nth-child(2) {
		font-size: 12px;
	}

	.footer_contans {
		width: 100%;
	}
	.ft_navi {
		border: none;
		width: 100%;
		margin-top: 15px;
		padding-left: 0;
	}

	.ftnav_1, .ftnavi_2 {
		font-size: 13px;
	}
	.footer-sns li{
		padding-right: 10px;
	}
	.footer-sns li i{
		font-size: 30px;
	}
	.footer-sns li p{
		font-size: 9px;
	}
	

}

@media screen and (max-width: 590px) {
	nav.globalMenuSp {
		left: 0;
		width: 100%;
	}
	#footer-sp {
		display: block;
	}
}

/* --------------------------------------------------
  スマホ幅480px以下のスタイル指定 ここから
-------------------------------------------------- */
@media screen and (max-width: 480px) {
	#main {
		margin: 0;
		padding: 0;
	}
	/* header */
	#header img{
		width:70%;
	}


	/* 見出し */

	.sab {
		font-size: 13px;
	}

	.midashi span {
		font-size: 13px;
	}

	.midashi {
		font-size: 13px;
	}
	.store-text p {
		font-size: 10px;
	}
	
	.hamburger span{
		width: 30px;
	}
	nav.globalMenuSp {
		left: 35%;
		width: 65%;
	}
	nav.globalMenuSp ul {
		padding-top: 65px;
	}
	nav.globalMenuSp ul li {
		padding-left: 42px;
	}
	nav.globalMenuSp ul li a {
		font-size: 13px;
		padding-top: 15px;
	}

	/* footer */
	#footer {
		display: none;
	}

	.clearBoth {
		font-size: 10px;
	}


 }