@charset "UTF-8";

/*:::::::::::::::::::::::::::::::::::::::::

	Last Up Date: 2018/04/16

	Title: layout.css
	Description: design layout
	Created: 2018/03/21

..........................................

	CONTENTS

		1.body
		2.content layout
		3.header
		4.common
		5.footer

:::::::::::::::::::::::::::::::::::::::::*/

/*-----------------------------------------
	body
-----------------------------------------*/

body{
	background: #fff;
	margin: auto;
	text-align: center;
}

/*-----------------------------------------
	content layout
-----------------------------------------*/

#layout::before{
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	border-top: 3px solid #e60012;
	z-index: 9999;
}

#header{
    z-index: 999;
}

@media screen and (min-width:960px) {

	#layout{
		display: flex;
		display: -webkit-flex;
	}

	#layout::before{
		content: "";
		position: absolute;
		top: 0px;
		left: 0px;
		width: 100%;
		height: 3px;
		background: #e60012;
		z-index: 9999;
	}

	#layout::before{
		border-top: none;
		z-index: auto;
	}

	#header{
		width: 194px;
	}

	#content{
		position: relative;
		flex: 1;
		-webkit-flex: 1;
		border-left: 1px solid #a3a3a3;
	}

}

/*-----------------------------------------
	header
-----------------------------------------*/

h1.logo{
	text-align: center;
}

h1.logo .logo-pc{
	display: none;
}

h1.logo .logo-sp{
	display: inline-block;
}

h1.logo img{
	margin: 10px auto 0 auto;
	width: 160px;
}

#global-nav li{
	font-family: "コーポレート・ロゴＢ";
	font-size: 16px;
	letter-spacing: 0;
	text-align: center;
}

#global-nav li a{
	color: #242424;
	text-decoration: none;
}
/*
#global-nav .content-list li:first-child{
	width: 100%;
}
*/
#global-nav .content-list li svg{
	width: 30px;
	height: 30px;
}

#global-nav .content-list li svg path,
#global-nav .content-list li svg polygon,
#global-nav .content-list li svg circle{
	fill: #e60012;
}

#global-nav .content-list li svg .st9{
	fill: none;
}

#global-nav .content-list_banner{
	margin: 10px auto;
	width: 90%;
}

#header .sns-list{
	display: flex;
	display: -webkit-flex;
	align-items: center;
	justify-content: space-around;
	margin: 15px auto 0 auto;
	max-width: 300px;
}

#header .sns-list li img{
	width: 40px;
}

@media screen and (min-width:600px) and (max-width:960px) {

	h1.logo img{
		width: 200px;
	}

}

@media screen and (min-width:960px) {

	h1.logo{
		width: 194px;
		height: 260px;
		overflow: hidden;
	}
	
	h1.logo::before{
		content: "";
		display: block;
		margin: -290px 0 0 -178px;
		width: 550px;
		height: 550px;
		background: #e60012;
		border-radius: 550px;
		-webkit-border-radius: 550px;
		-moz-border-radius: 550px;
	}

	h1.logo .logo-pc{
		display: inline-block;
	}

	h1.logo .logo-sp{
		display: none;
	}

	h1.logo img{
		position: absolute;
		top: 10px;
		left: 25px;
		width: auto;
		margin: 0;
	}
	
	#global-nav ul{
		width: 85%;
		margin: auto;
	}

	#global-nav .content-list li a{
		display: block;
		position: relative;
		transition: .3s ease;
		-webkit-transition: .3s ease;
		padding: 10px 0;
		border-bottom: 1px solid #a3a3a3;
	}

	#global-nav .content-list li a:hover{
		color: #e60012;
	}

	#global-nav .content-list li a:after {
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		background: #e60012;
		position: absolute;
		left: 0;
		bottom: -1px;
		transform: scaleX(0);
		-ms-transform: scaleX(0);
		-webkit-transform: scaleX(0);
		transition: .3s ease;
		-webkit-transition: .3s ease;
	}

	#global-nav .content-list li a:hover:after {
		transform: scaleX(1);
		-ms-transform: scaleX(1);
		-webkit-transform: scaleX(1);
	}
	
	#global-nav .content-list li svg{
		display: block;
		width: 50px;
		height: 50px;
		margin: 0 auto 3px auto;
	}
	
	#header .sns-list li img{
		width: 30px;
	}

	#header .sns-list li a:hover img{
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha(opacity=70)";
	}

}

/* バーガーメニュー */

.inner{
	width: 194px;
}

#header .inner{
    position: relative;
}
 
/* Toggle Button */
#nav-toggle{
	display: none;
	position: absolute;
	right: 12px;
	top: 25px;
	width: 30px;
	height: 20px;
	cursor: pointer;
	z-index: 101;
}

#nav-toggle div{
	position: relative;
}

#nav-toggle span{
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #242424;
	left: 0;
	-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: 10px;
}

#nav-toggle span:nth-child(3) {
	top: 20px;
}

@media screen and (max-width: 960px) {

    #header,
    .inner {
        width: 100%;
        padding: 0;
    }
    #header {
        top: 3px;
        margin-top: 0;
    }
    #mobile-head {
        background: #fff;
        width: 100%;
        height: 72px;
        z-index: 999;
        position: relative;
    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -565px;
        background: #ffd647;
        width: 100%;
        text-align: center;
        padding: 30px 0 20px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
		z-index: 5;
    }
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
    }
    #global-nav ul li {
        float: none;
        position: static;
    }
    #header #global-nav ul li a,
    #header.fixed #global-nav ul li a {
        width: 100%;
        display: block;
    }
    #nav-toggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(620px);
        -webkit-transform: translateY(620px);
        transform: translateY(620px);
    }

	.content-list{
		width: 90%;
		margin: auto;
		display: flex;
		display: -webkit-flex;
		flex-wrap: wrap;
	}
	.content-list li{
		width: 50%;
		margin-bottom: 4px;
	}
	.content-list li:last-child{
		width: 100%;
	}
	.content-list li a{
		padding: 10px 0px;
		background: #fff;
		border-left: 4px solid #ffd647;
		border-right: 4px solid #ffd647;
	}
	.content-list li a svg{
		display: block;
		margin: auto auto 3px auto;
	}
}
	
#assist-menu .target-select{
	display: none;
}

#assist-menu .language-select{
	position: absolute;
	top: 15px;
	left: 8px;
	z-index: 999;
}

#assist-menu .language-select li{
	font-family: "コーポレート・ロゴＢ";
	letter-spacing: -1px;
	font-size: 12px;
	text-align: center;
}

#assist-menu li a{
	color: #242424;
	text-decoration: none;
}

#assist-menu .language-select .icon-a,
#assist-menu .language-select .icon-b{
	display: block;
	margin: auto;
}

#assist-menu .language-select .icon-b{
	font-size: 24px;
	color: #e60012;
}

#assist-menu .language-select .icon-a{
	margin-top: -4px;
}

#language-list h1{
	margin-bottom: 20px;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}

#language-list ul{
	display: flex;
	display: -webkit-flex;
	align-items: center;
	justify-content: space-around;
	flex-wrap: wrap;
}

#language-list ul li{
	width: 45%;
	margin-bottom: 10px;
	text-align: center;
}

#language-list ul li a{
	display: block;
	padding: 30px 0px;
	background: #fff;
	color: #242424;
	font-size: 17px;
	font-weight: bold;
	text-decoration: none;
	border: 4px solid #a3a3a3;
}

#language-list ul li.now a{
	background: #ffd647 url(../img/bg_dot.png);
	border: 4px solid #e60012;
}

@media screen and (min-width:600px) and (max-width:960px) {

	#nav-toggle{
		right: 20px;
		top: 35px;
		width: 33px;
		height: 20px;
	}

	#global-nav {
        top: -500px;
	}
	
	#assist-menu .language-select{
		top: 22px;
		left: 12px;
	}

	#assist-menu .language-select li{
		font-size: 14px;
	}

    #mobile-head {
        height: 90px;
    }

}

@media screen and (min-width:960px) {

	#assist-menu{
		text-align: right;
	}
	
	#assist-menu .target-select{
		display: inline-block;
	}

	#assist-menu .target-select li{
		display: inline-block;
		font-size: 13px;
		line-height: 1;
	}

	#assist-menu .target-select li:first-child{
		border-right: 1px dotted #242424;
	}
	
	#assist-menu li a{
		display: block;
		padding: 3px 8px;
		text-decoration: none;
	}

	#assist-menu .target-select li a:hover{
		text-decoration: underline;
	}
	
	#assist-menu .language-select{
		display: inline-block;
		border-left: 1px solid #e60012;
		position: static;
	}

	#assist-menu .language-select .icon-a,
	#assist-menu .language-select .icon-b{
		display: inline;
	}

	#assist-menu .language-select .icon-b{
		padding: 0px 5px;
		color: #e60012;
		font-size: 15px;
	}

	#assist-menu .language-select .icon-a{
		padding: 0px 5px;
	}
	
	#assist-menu .language-select li{
		font-size: 13px;
	}

	#assist-menu .language-select li a{
		margin-top: 4px;
		letter-spacing: 0px;
	}

	#language-list h1{
		margin-bottom: 30px;
		font-size: 35px;
	}

	#language-list ul{
		flex-wrap: nowrap;
	}

	#language-list ul li{
		width: 18%;
	}
	
	#language-list ul li a{
		padding: 50px 0px;
		font-size: 22px;
	}

	#language-list ul li a:hover{
		border: 4px solid #e60012;
	}

	#language-list ul li.now a,
	#language-list ul li.now a:hover{
		border: 6px solid #e60012;
	}
	
}

#topic-path{
	display: none;
}

@media screen and (min-width:960px) {

	#topic-path{
		display: block;
		position: absolute;
		top: 4px;
		left: 8px;
	}
	
	#topic-path li{
		display: inline-block;
		font-size: 12px;
		letter-spacing: 0;
	}

	#topic-path li a{
		padding-right: 20px;
		color: #242424;
		text-decoration: none;
		background:url(../img/icon/chevron-right.svg) no-repeat right 5px center;
		background-size: 10px;
	}
	
	#topic-path li a:hover{
		text-decoration: underline;
	}

	#topic-path li:last-child{
		font-weight: bold;
	}
	
}

/*-----------------------------------------
	common
-----------------------------------------*/

.popup{
	display: none;
}

.brpc{
	display: none;
}

@media screen and (min-width:960px) {

	.brpc{
		display: block;
	}

	.brsp{
		display: none;
	}

}

@media screen and (min-width:960px) {

	.hover-btn a:hover{
		opacity: 0.8;
		filter: alpha(opacity=80);
		-ms-filter: "alpha(opacity=80)";
	}

}

.share-btn{
	display: flex;
	display: -webkit-flex;
	align-items: center;
	justify-content: space-around;
	margin: 50px auto 30px auto;
	width: 90%;
}

.share-btn li{
	width: 47%;
}

.share-btn li a{
	display: block;
	color: #fff;
	padding: 10px 0px;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}

.share-btn li.twitter-btn a{
	background: #00acee;
}

.share-btn li.fb-btn a{
	background: #1f6aba;
}

.share-btn li .icon{
	margin-right: 7px;
}

@media screen and (min-width:600px) and (max-width:960px) {

	.share-btn li a{
		padding: 15px 0px;
		font-size: 16px;
	}

	.share-btn li .icon{
		margin-right: 10px;
	}

}

@media screen and (min-width:960px) {

	.share-btn{
		margin: 50px auto;
		width: 55%;
		max-width: 1000px;
	}
	
	.share-btn li a{
		padding: 15px 0px;
		font-size: 16px;
	}

	.share-btn li .icon{
		margin-right: 10px;
	}

}

/*-----------------------------------------
	footer
-----------------------------------------*/

.pagetop{
	position: fixed;
	right: 20px;
	bottom: 30px;
	z-index: 999;
	height: 0;
	opacity: 0;
	overflow: hidden;
	animation-duration: 1s;
}

.pagetop img{
	width: 90px;
}

.pagetop.show {
	height: auto;
	opacity: 1;
	animation-name: fadein;
}

.pagetop.hide {
	height: 0;
	opacity: 0;
	animation-name: fadeout;
}

.pagetop.static {
	position: absolute;
	bottom: auto;
	margin: 440px 0 0;
}

@keyframes fadein {
	0% {
		height: 0;
		opacity: 0;
	}
	1% {
		height: auto;
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeout {
	0% {
		height: auto;
		opacity: 1;
	}
	99% {
		height: auto;
		opacity: 0;
	}
	100% {
		height: 0;
	}
}

#footer{
	margin-bottom: 10px;
}

#footer-content-navi{
	display: none;
}

#footer-access{
	display: none;
}

#footer #sns-list{
	width: 80%;
	margin: auto;
	padding: 20px 0;
}

#footer #sns-list h2{
	display: inline-block;
	background: url(../img/underline_nami.png) repeat-x bottom;
	background-size: 75%;
	padding-bottom: 8px;
	font-family: "コーポレート・ロゴＢ";
	text-align: center;
	font-size: 17px;
}

#footer #sns-list ul{
	display: flex;
	display: -webkit-flex;
	align-items: center;
	justify-content: space-around;
	text-align: center;
	font-size: 0;
}

#footer #sns-list li{
	width: 40px;
	margin: 20px 0;
}

#footer #sns-list li.youtube{
	width: 130px;
}

#footer #sns-list li img{
	width: 100%;
	padding: 5px;
}

#footer-info{
	width: 100%;
	padding-top: 30px;
	border-top: 1px solid #a3a3a3;
}

#footer-info .footer-logo{
	width: 80%;
	max-width: 400px;
	margin: auto;
}

#footer-info .shop-data{
	width: 95%;
	margin: auto;
}

#footer-info .shop-data dt{
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}

#footer-info .shop-data dd{
	text-align: center;
	font-size: 12px;
}

#footer-info .footer-navi ul{
	width: 90%;
	margin: 20px auto;
}

#footer-info .footer-navi li{
	width: 100%;
	padding: 10px 0px;
	font-size: 13px;
	border-bottom: 1px solid #a3a3a3;
}

#footer-info .footer-navi li a{
	display: block;
	position: relative;
	color: #242424;
	text-decoration: none;
	background: url(../img/icon/angle-right.svg) no-repeat right center;
}

#footer-info small{
	font-size: 11px;
}

@media screen and (min-width:480px) and (max-width:960px) { 

	#footer-info .shop-data dt{
		font-size: 18px;
	}
	
	#footer-info .shop-data dd{
		font-size: 14px;
	}

	#footer-info .footer-navi ul{
		width: 90%;
		margin: 20px auto;
		display: flex;
		display: -webkit-flex;
		flex-wrap: wrap;
	}

	#footer-info .footer-navi li{
		width: 47%;
		margin: 0 5px;
	}
	
	#footer #sns-list{
		width: 65%;
	}

	#footer #sns-list li{
		width: 60px;
	}

	#footer #sns-list li.youtube{
		width: 160px;
	}

	#footer #sns-list h2{
		font-size: 20px;
	}

}

@media screen and (min-width:600px) and (max-width:960px) {

	.pagetop img{
		width: 111px;
	}

}

@media screen and (min-width:960px) {

	.pagetop{
		bottom: 20px;
	}

	.pagetop img{
		width: 111px;
	}
	
	.pagetop.static {
		position: absolute;
		bottom: auto;
		margin: 465px 0 0;
	}

	#footer{
		margin-bottom: 0px;
	}
	
	#footer-content-navi{
		display: block;
		background: #ffd647 url(../img/bg_dot.png);
	}

	#footer-content-navi ul{
		display: flex;
		display: -webkit-flex;
		align-items: center;
		justify-content: space-around;
		width: 95%;
		max-width: 1100px;
		margin: auto;
		padding: 30px 0;
	}
	
	#footer-content-navi li{
		position: relative;
		width: 170px;
		height: 140px;
		overflow: hidden;
		background: #fff;
		text-align: center;
	}

	#footer-content-navi li a{
		display: block;
		position: relative;
		width: 170px;
		height: 140px;
		z-index: 5;
		color: #242424;
		text-decoration: none;
		font-family: "コーポレート・ロゴＢ";
		font-size: 18px;
		line-height: 205px;
		text-align: center;
		transition: 0.8s;
		-webkit-transition: 0.8s;
	}
	
	#footer-content-navi li a:hover{
		color: #fff;
	}
	
	#footer-content-navi li a::before{
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 20px 20px;
		border-color: transparent transparent #e60012 transparent;
		transition: 0.8s;
		-webkit-transition: 0.8s;
		z-index: -1;
	}

	#footer-content-navi li a:hover::before{
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 400px 400px;
		border-color: transparent transparent #e60012 transparent;
		z-index: -1;
	}
	
	#footer-content-navi li svg{
		display: block;
		position: absolute;
		top: 25px;
		left: 55px;
		width: 60px;
		height: 60px;
	}
	
	#footer-content-navi li a path,
	#footer-content-navi li a circle,
	#footer-content-navi li a polygon{
		fill: #e60012;
		transition: 0.8s;
		-webkit-transition: 0.8s;
	}

	#footer-content-navi li a:hover path,
	#footer-content-navi li a:hover circle,
	#footer-content-navi li a:hover polygon{
		fill: #fff;
	}

	#footer-content-navi li a .st9,
	#footer-content-navi li a:hover .st9{
		fill: none;
	}

	#footer-access{
		display: flex;
		display: -webkit-flex;
	}

	#footer-access .shop-image{
		position: relative;
		width: 290px;
		height: 240px;
	}

	#footer-access .shop-image p svg{
		position: absolute;
		right: 8px;
		bottom: 17px;
		z-index: 99;
		width: 15px;
		height: 15px;
	}

	#footer-access .shop-image p svg path{
		fill: #fff;
		transition: 0.8s;
		-webkit-transition: 0.8s;
	}
	
	#footer-access .shop-image p:hover svg path{
		fill: #e60012;
	}

	
	#footer-access .shop-image p{
		position: relative;
		height: 50px;
		overflow: hidden;
		background: #e60012;
	}
	
	#footer-access .shop-image p a{
		display: block;
		position: relative;
		width: 290px;
		height: 50px;
		z-index: 5;
		color: #fff;
		text-decoration: none;
		line-height: 48px;
		font-family: "FOT-スーラ Pro DB";
		text-align: center;
		transition: 0.8s;
		-webkit-transition: 0.8s;
	}
	
	#footer-access .shop-image p a:hover{
		color: #e60012;
	}
	
	#footer-access .shop-image p a::before{
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 0px 0px;
		border-color: transparent transparent #ffd747 transparent;
		transition: 0.8s;
		-webkit-transition: 0.8s;
		z-index: -1;
	}

	#footer-access .shop-image p a:hover::before{
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 400px 400px;
		border-color: transparent transparent #ffd747 transparent;
		z-index: -1;
	}
	
	#footer-access iframe{
		flex: 1;
		-webkit-flex: 1;
		height: 240px;
	}
	
	#footer #sns-list{
		width: 50%;
		max-width: 440px;
		margin: auto;
		padding-top: 40px;
	}

	#footer #sns-list h2{
		font-size: 20px;
	}
	
	#footer #sns-list li{
		width: 50px;
	}
	
	#footer #sns-list li img{
		padding: 0px;
	}

	#footer #sns-list li a:hover img{
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha(opacity=70)";
	}

	#footer-info{
		display: flex;
		display: -webkit-flex;
		align-items: center;
		padding-top: 0px;
	}
	
	#footer-info .footer-logo{
		width: 260px;
	}

	#footer-info .footer-logo p{
		padding: 0px 20px;
	}
	
	#footer-info .shop-data{
		width: 220px;
		margin: 20px 0;
	}
		
	#footer-info .shop-data dt{
		font-size: 15px;
		text-align: left;
	}

	#footer-info .shop-data dd{
		font-size: 13px;
		text-align: left;
	}

	#footer-info .footer-navi{
		padding-right: 20px;
		flex: 1;
		-webkit-flex: 1;
		text-align: right;
		border-left: 1px solid #a3a3a3;
	}

	#footer-info .footer-navi ul{
		width: 100%;
		margin: 10px 0 15px 0;
		text-align: right;
		font-size: 0;
	}
	
	#footer-info .footer-navi li{
		width: auto;
		margin: 0 0 3px 0;
		border-bottom: none;
		display: inline-block;
		padding: 0 0 0 10px;
		font-size: 12px;
		letter-spacing: 0;
	}
	
	#footer-info .footer-navi li:not(:last-child){
		padding-right: 10px;
		border-right: 1px solid #a3a3a3;
	}
	
	#footer-info .footer-navi li a{
		padding: 0px;
		background: none;
}
	
	#footer-info .footer-navi li a:hover{
		text-decoration: underline;
	}
	
}
