@charset "UTF-8";

.en{
	font-family: "Outfit", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}
.jos{
	font-family: "Josefin Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}
.yu-gothic{
	font-family:Yu Gothic,"游ゴシック", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;;
}
.mincho{
	font-family: "Shippori Mincho", serif;
	font-weight: 800;
}
.zen-gothic{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 900;
}
*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html{
	font-size: min(.87719vw, 62.5%);
	overflow-x: hidden;
}
body{
	font-family: "Noto Sans JP", 游ゴシック, YuGothic, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1.6rem;
	color: #444;
	position: relative;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}

img{
	border:none;
	-webkit-backface-visibility: hidden;
}
ul,ol{
	list-style: none;
}
li{
	list-style-type: none;
}

a{
	text-decoration: none;
	color: #444;
	transition: .3s all ease;
}
a:hover{
	opacity: 0.7;
}

.pic img,
.pic picture,
.pic source,
.pic a{
	display: block;
	width: 100%;
}
.pic img{
	height: 100%;
	object-fit: cover;
	font-family: "object-fit: cover;";
}
table{
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}
.outer{
	padding-left: 7rem;
	padding-right: 7rem;
}
.inner{
	max-width: 106rem;
	position: relative;
	margin: 0 auto;
}


input,
select,
textarea{
	font-family: 游ゴシック, YuGothic, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	border: none;
	border-radius: 0;
	font-size: 1.6rem;
}
select::-ms-expand{
	display: none;
}


/* +++ #header +++ */
#header{
	height: 12rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 9999;
	padding-left: 4rem;
	padding-right: 4rem;
}
#header .logo a{
	height: 8.2rem;
	padding-left: 9rem;
	background: url(../images/logo-mark.svg) no-repeat;
	background-position: left center;
	background-size: auto 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #0062B2;
}
#header .logo .mincho{
	display: block;
	font-size: 2rem;
	letter-spacing: .2em;
}
#header .logo .zen-gothic{
	display: block;
	font-size: 3.6rem;
	letter-spacing: .144rem;
}
.logo *{
	display: block;
	width: 100%;
}
/* +++ nav +++ */
nav{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	font-weight: 700;
}

/* +++ .sub-navi +++ */
nav .sub-navi{
	display: flex;
	align-items: center;
	padding-right: .6rem;
	margin-bottom: 1.6rem;
}
nav .sub-navi li:not(:last-of-type){
	margin-right: 5rem;
}
nav .tel-btn a{
	font-size: 3.2rem;
	color: #0062B2;
	font-weight: 500;
	padding-left: 2.2rem;
	background: url(../images/header-tel-icon01.svg) no-repeat;
	background-size: 2.4rem auto;
	background-position: left center;
	display: block;
}
.line img{
	display: block;
	width: 4rem;
	margin-right: .8rem;
}
nav .line a{
	display: flex;
	align-items: center;
}
nav .instagram *{
	display: block;
	width: 4rem;
}
nav .contact-btn a{
	width: 15rem;
	height: 4rem;
	display: block;
	color: #0062B2;
	position: relative;

}
nav .contact-btn a span{
	position: relative;
	z-index: 9;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border: 1px solid #0062B2;
}
nav .contact-btn a span:after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: .6rem solid #0062B2;
	border-top: .5rem solid transparent;
	border-bottom: .5rem solid transparent;
	margin-left: 1rem;
}
nav .contact-btn a:before{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transform: translate(.4rem, .4rem);
	background: #E3F4F2;
	z-index: 1;
	transition: .3s all ease;
}
nav .contact-btn a:hover:before{
	transform: translate(0,0);
}

#global-navi{
	display: flex;
	font-weight: 700;
}
#global-navi>li{
	margin-right: 6rem;
}
#global-navi>li:nth-of-type(5){
	margin-right: 0;
}
#global-navi li{
	position: relative;
}
#global-navi .parent{
	cursor: pointer;
	display: flex;
	align-items: center;
	position: relative;
}
#global-navi .parent:after{
	content: "";
	display: block;
	width: 1.2rem;
	height: 1em;
	background: url(../images/header-arrow01.svg) no-repeat;
	background-size: 100% auto;
	background-position: center center;
	margin-left: 6px;
}
#global-navi .child{
	position: absolute;
	top: calc(100% + 1.6rem);
	left: 0;
	width: 20rem;
	border-radius: .8rem;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: .2rem .2rem 2rem 0 rgba(0, 0, 0, 0.10);
	padding: .5rem 2rem;
	display: none;
}
#global-navi .child.active{
	transform: scaleY(1);
}
#global-navi .child li:not(:last-of-type){
	border-bottom: 1px solid #0062B2;
}
#global-navi .child a{
	display: block;
	width: 100%;
	color: #0062B2;
	font-weight: 500;
	padding: 1.2rem 0;
	position: relative;
}
#global-navi .child a:after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: .8rem solid #0062B2;
	border-top: .7rem solid transparent;
	border-bottom: .7rem solid transparent;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
#global-navi a:hover{
	opacity: .7;
}

@media screen and (max-width: 1200px){
	nav .sub-navi li:not(:last-of-type){
		margin-right: 2.5rem;
	}
	#global-navi>li{
		margin-right: 4rem;
	}
}


/* +++ #key-visual +++ */
#key-visual{
	height: 52.5rem;
	position: relative;
}
#key-visual .pic{
	position: relative;
	padding-left: 2.5rem;
	padding-bottom: 2.5rem;
	z-index: 9;
	width: 100%;
	height: 100%;
}
#key-visual:before{
	content: "";
	display: block;
	width: calc(100% - 2.5rem);
	height: calc(100% - 2.5rem);
	position: absolute;
	left: 0;
	bottom: 0;
	background: linear-gradient(124deg, #0062B2 47.6%, #DAEFFF 100%);
}
#page-ttl{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50rem;
	height: 13rem;
	border-radius: 3rem 0 0 0;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-family:Yu Gothic,"游ゴシック", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;;
	font-size: 3.2rem;
	font-weight: 600;
	z-index: 99;
}
#page-ttl:before{
	content: attr(data-en);
	color: var(--logo-l-blue, #1E93E2);
	font-family: "Josefin Sans";
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}

/* +++main+++ */
main{
	display: block;
}
.contents{
	padding-top: 20rem;
}



/* +++ common parts +++ */

/* +++ .sec +++ */
.sec{
	padding-top: 20rem;
	padding-bottom: 20rem;
}
/* +++ btn01 +++ */
.btn01:hover{
	opacity: 1;
}
.btn01 span{
	position: relative;
	z-index: 9;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #0062B2;
	font-size: 2rem;
	font-weight: 500;
	border: .2rem solid #0062b2;
	padding: 0 2rem 0 3rem;
	width: 100%;
	height: 100%;
}
.btn01 span:after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: 1rem solid #0062b2;
	border-top: 1rem solid transparent;
	border-bottom: 1rem solid transparent;
}
.btn01:after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(.6rem, .6rem);
	transition: .3s all ease;
	z-index: 1;
}
.btn01:hover:after{
	transform: translate(0, 0);
}
.btn-sky:after{
	background: #E3F4F2;
}
.btn-orange:after{
	background: #FFF1D5;
}
.btn-white:after{
	background: #FFF;
}
.btn01{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40rem;
	height: 6rem;
}

/* +++ flex +++ */
.flex{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.column{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

/* +++ sec-ttl01 +++ */
.sec-ttl01{
	text-align: center;
	font-size: 3.2rem;
	font-weight: 700;
}
.sec-ttl01:before,
.sec-ttl-en{
	content: attr(data-en);
	display: block;
	color: #E3F4F2;
	font-family: "Josefin Sans";
	font-size: 12.8rem;
	font-weight: 600;
	margin-bottom: 1rem;
}
.sec-ttl-en{
	margin-bottom: 4rem;
	text-align: center;
}

/* +++ sec-ttl02 +++ */
.sec-ttl02{
	color: #0062B2;

	font-size: 3.2rem;
	font-weight: 700;
	min-height: 9rem;
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 4.5rem;
	margin-bottom: 4rem;
}
.txt-circle{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 100%;
	width: auto;
	z-index: 1;
}
.sec-ttl02 span{
	display: block;
	z-index: 9;
	background: #FAFAFA;
	padding: .2em 0 .3em;
}

/* +++ fukidashi-ttl +++ */
.fukidashi-ttl{
	width: 40rem;
	height: 5rem;
	border-radius: 2.5rem;
	color: #fff;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #0062B2;
	position: relative;
	font-size: 2rem;
}
.fukidashi-ttl:after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: .8rem solid #0062B2;
	border-left: .8rem solid transparent;
	border-right: .8rem solid transparent;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	margin: auto;
}
/* +++ common style +++ */
.txt-blue{
	color: #0062B2;
}
.txt-sky{
	color: #1E93E2;
}
.bg-blue{
	background-color: #0062B2 !important;
	color: #fff;
}
.bg-sky{
	background-color: #1E93E2 !important;
	color: #fff;
}

/* +++ #googlemap +++ */
#googlemap{
	width: 100%;
	height: 60rem;
}
#googlemap>iframe{
	display: block;
	width: 100%;
	height: 100%;
}
/* +++ #footer +++ */
#footer{
	padding-top: 20.5rem;
	padding-bottom: 17rem;
}
#footer .inner{
	display: flex;
	justify-content: space-between;
}
.first-row{
	padding-bottom: 7.5rem;
	align-items: center;
}
#footer .logo{
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 11rem;
	padding-left: 12rem;
	background: url(../images/logo-mark.svg) no-repeat;
	background-position: left center;
	background-size: auto 100%;
	color: #0062B2;
}
#footer .logo .mincho{
	font-size: 3.2rem;
	letter-spacing: .2em;
}
#footer .logo .zen-gothic{
	font-size: 5.6rem;
	letter-spacing: .04em;
}
#footer .catch{
	width: 60rem;
	height: 6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #0062B2;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .08em;
}
.second-row{
	align-items: flex-start;
	position: relative;
}
#copyrights{
	position: absolute;
	right: 0;
	bottom: 0;
	color: #0062B2;
	padding-bottom: .5em;
}
.foot-tel-btn{
	color: #0062B2;
	font-size: 4.8rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	margin-bottom: 6rem;
}
.foot-tel-btn:before{
	content: "";
	display: block;
	width: 3.6rem;
	height: 3.6rem;
	margin-right: .5rem;
	background: url(../images/tel-icon01.svg) no-repeat;
	background-position: center center;
	background-size: 100% auto;
}
.shop-address{
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 1rem;
	color: #0062B2;
}
.shop-address .zip{
	margin-bottom: .5rem;
	display: block;
}
.foot-map-btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 9rem;
	height: 3rem;
	border-radius: 1.5rem;
	background: #0062B2;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: .08em;
	margin-bottom: 6rem;
}
.foot-map-btn:before{
	content: "";
	display: block;
	width: 1.4rem;
	height: 1.4rem;
	margin-right: .4rem;
	background: url(../images/map-icon01.svg) no-repeat;
	background-position: center center;
	background-size: auto 100%;
}
.sns-list{
	display: flex;
	align-items: center;
	font-weight: 700;
}
.sns-list li{
	margin-right: 3rem;
	height: 4rem;
}
.sns-list a{
	display: flex;
	align-items: center;
	height: 100%;
}
.sns-list li img{
	display: block;
	width: auto;
	height: 100%;
}
.sitemap{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 60rem;
}
.sitemap ul{
	padding-right: 6rem;
	font-weight: 700;
}
.sitemap ul .child{
	font-weight: 400;
	padding-left: 2rem;
}
.sitemap ul .child a{
	color: #666;
	margin-top: 2rem;
	display: flex;
	align-items: center;
}
.sitemap ul .child a:before{
	content: "";
	display: block;
	width: 1rem;
	height: .2rem;
	margin-right: .7rem;
	background: #1E93E2;
}
.sitemap>ul>li{
	padding-bottom: 5.2rem;
}
#page-top{
	width: 8rem;
	position: fixed;
	right: 4rem;
	bottom: 17rem;
	z-index: 9998;
	opacity: 0;
	visibility: visible;
	transition: .4s all ease-out;
}
#page-top.visible{
	opacity: 1;
	visibility: visible;
}
#page-top img{
	width: 100%;
	display: block;
}

.fixed-banner{
	position: fixed;
	right: 0;
	top: 14.5rem;
	z-index: 99999;
	transition: .4s all ease-out;
	visibility: hidden;
	opacity: 0;
}
.fixed-banner.visible{
	visibility: visible;
	opacity: 1;
}
.fixed-banner a{
	width: 6rem;
	height: 18rem;
	margin-bottom: 1.6rem;
	font-size: 2.4rem;
	letter-spacing: .15em;
}
.fixed-banner a span{
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
}
@media screen and (min-width: 769px){
	.fixed-banner .btn01 span:after{
		display: none;
	}
}
@media screen and (max-width: 1320px) and (min-width: 769px){
	#copyrights{
		padding-right: 8rem;
	}
}

/*-------------------------------
	access parking map
-------------------------------*/

.access-parking-map {
	margin-bottom:8rem;
}

.access-parking-map .inner {
	background: #fff;
	box-shadow: .2rem .2rem 2rem 0px rgba(0, 0, 0, 0.10);
	padding: 0 0 5.8rem;
}

.access-parking-map .fukidashi-ttl {
	margin: 0 auto 1.5rem;
	transform: translateY(-2.5rem);
}

.access-parking-map p {
	text-align: center;
	margin: 0 0 3.2rem;
}

.paking-map {
	max-width:73rem;
	margin:0 auto;
}

.paking-map img {
	max-width:100%;
}

/*-------------------------------
	youtube wrap
-------------------------------*/

.youtube_wrap {
	margin-top:8rem;
	position:relative;
	transition:opacity .3s;
	cursor:pointer;
}

.youtube_wrap.opacity:hover {
	opacity:0.7;
}

.youtube_wrap:hover {
	opacity:1;
}

.youtube_wrap iframe {
	width:100%;
	height:49.666666666666667vw;
	max-height:59.6rem;
}

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

	.youtube_wrap iframe {
		height:48.5vw;
	}	

} /* end 1200px */

.youtube_thumb {
	display: block;
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
}

.youtube_thumb img {
	width:100%;
	max-width:100%;
	vertical-align: bottom;
}

@media screen and (max-width: 768px){
	html{
		font-size: 2.666vw;
	}
	body{
		font-size: 1.5rem;

	}
	.outer{
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.inner{
		width: 100%;
	}
/* +++ #header +++ */
	#header{
		height: 7.7rem;
		z-index: 999999;
		position: sticky;
		left: 0;
		top: 0;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	#header .logo{
		position: relative;
		z-index: 99999;
	}
	#header .logo a{
		padding-left: 4.5rem;
		height: 4rem;
	}
	#header .logo .mincho{
		font-size: 1.4rem;
	}
	#header .logo .zen-gothic{
		font-size: 2rem;
	}

	#menu-btn{
		position: absolute;
		top: 2rem;
		right: 2rem;
		cursor: pointer;
		letter-spacing: .04em;
		font-size: 1.1rem;
		font-weight: 300;
		color: #0062B2;
		text-align: center;
		width: 3.8rem;
		height: 3.8rem;
	}
	#menu-btn span{
		display: block;
		width: 3.3rem;
		height: .1rem;
		background: #0062B2;
		position: absolute;
		bottom: .8rem;
		left: 0;
		right: 0;
		margin: auto;
		transition: .2s all ease;
	}
	#menu-btn span:nth-of-type(1){
		transform: translateY(-.8rem);
	}
	#menu-btn span:nth-of-type(3){
		transform: translateY(.8rem);
	}

	.opened #menu-btn span:nth-of-type(1){
		transform: translateY(0) rotate(30deg);
	}
	.opened #menu-btn span:nth-of-type(3){
		transform: translateY(0) rotate(-30deg);
	}
	.opened #menu-btn span:nth-of-type(2){
		transform: translateX(25%);
		opacity: 0;
	}
/* +++ nav +++ */
	nav{
		padding-top: 7.7rem;
		align-items: flex-start;
		justify-content: stretch;
		position: fixed;
		width: 100vw;
		height: 100vh;
		overflow: auto;
		background: #fff;
		left: 0;
		top: 0;
		padding: 7.7rem 1.5rem;
		visibility: hidden;
		opacity: 0;
		transition: .4s all ease-in;
		font-size: 1.6rem;
	}
	.opened nav{
		visibility: visible;
		opacity: 1;
	}

	#global-navi{
		order: 1;
		flex-direction: column;
		width: 100%;
		border-bottom: .1rem solid #0062B2;
	}
	#global-navi>li{
		border-top: .1rem solid #0062B2;
		margin-right: 0 !important;
	}
	#global-navi>li>a{
		display: block;
		padding: 2.5rem 0 2.5rem 2.5rem;
	}
	#global-navi>li .parent{
		padding: 2.5rem 0 2.5rem 2.5rem;
	}
	#global-navi>li:not(:last-of-type){
		margin-right: 0;
	}
	#global-navi .parent:after{
		width: 1.2rem;
		margin-left: 1rem;
	}
	#global-navi .child{
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		border-radius: 0;
		box-shadow: none;
		padding: 0;
		padding-left: 2.5rem;
	}

	#global-navi .child li{
		border-top: .1rem dotted #0062B2;
		border-bottom: none !important;
	}
	#global-navi .child li{
		padding: 0;
	}
	#global-navi .child a{
		padding: 2.5rem 0 2.5rem 1.5rem;
	}

	#global-navi .child a:after{
		border-left: .8rem solid #0062B2;
		border-top: .7rem solid transparent;
		border-bottom: .7rem solid transparent;
	}
/* +++ .sub-navi +++ */
	nav .sub-navi{
		width: 22.6rem;
		margin-left: auto;
		margin-right: auto;

		justify-content: space-between;
		flex-wrap: wrap;
		align-items: flex-start;
		padding-right: 0;
		order: 2;
		margin-top: 2rem;
	}
	nav .sub-navi li:not(:last-of-type){
		margin: 0 auto;
	}

	nav .tel-btn a{
		padding-left: 2rem;
		background-size: auto 2rem;
		margin-top: 2.4rem;
		margin-bottom: 2rem;
	}
	nav .line img{
		display: block;
		width: 4rem;
		margin-right: .8rem;
	}
	nav .instagram{
		margin-left: 1.5rem !important;
		margin-right: 2rem;
	}
	nav .instagram *{
		display: block;
		width: 4rem;
	}
	nav .btn01{
		width: 20rem;
		height: 5rem;
		display: block;
		color: #0062B2;
		position: relative;
	}
	nav .btn01 span{
		position: relative;
		z-index: 9;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: 100%;
		border: .1rem solid #0062B2;
		font-weight: 700;
		padding-left: 4rem;
		padding-right: 1.6rem;
	}
	nav .btn01 span:after{
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-left: .6rem solid #0062B2;
		border-top: .5rem solid transparent;
		border-bottom: .5rem solid transparent;
	}
	nav .btn-sky{
		margin-bottom: 1.4rem;
	}
	.btn01:after{
		transform: translate(.4rem, .4rem)
	}
/* +++ #googlemap +++ */
	#googlemap{
		width: 100%;
		height: 25rem;
	}
/* +++ #footer +++ */
	#footer{
		padding-top: 6rem;
		padding-bottom: 8rem;
	}
	#footer .inner{
		flex-direction: column;
		align-items: center;
	}
	.first-row{
		padding-bottom: 2.5rem;
	}

	#footer .logo{
		height: 5.8rem;
		padding-left: 6.328rem;
		color: #0062B2;
		margin: 0 auto 1.5rem;
	}
	#footer .logo .mincho{
		font-size: 1.6876rem;
	}
	#footer .logo .zen-gothic{
		font-size: 2.9533rem;
	}

	#footer .catch{
		width: 25rem;
		height: 3.2rem;
		font-size: 1.4rem;
		margin: 0 auto;
	}

	#copyrights{
		position: relative;
		right: auto;
		bottom: auto;
		font-size: 1.2rem;
		padding: 4rem 0 0;
	}

	.shop-info{
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.foot-tel-btn{
		font-size: 2.8rem;
		margin: 0 auto 2.5rem;
		justify-content: center;
	}
	.foot-tel-btn:before{
		content: "";
		display: block;
		width: 2.2rem;
		height: 2.2rem;
		margin-right: .2rem;
		background-size: auto 100%;
	}
	.shop-address{
		font-size: 1.6rem;
	}
	.shop-address .zip{
		margin-bottom: .2rem;
	}
	.foot-map-btn{
		font-size: 1.3rem;
		margin-bottom: 2.5rem;
	}
	.foot-map-btn:before{
		width: 1.3rem;
		height: 1.3rem;
		margin-right: .2rem;
	}
	.sns-list li{
		margin: 0 .8rem;
		height: 4rem;
	}

	.sitemap{
		display: flex;
		justify-content: center;
		align-items: flex-start;
		width: 100%;
		font-size: 1.4rem;
		margin-top: 4rem;
	}
	.sitemap>ul{
		padding: 0;
	}
	.sitemap>ul:nth-of-type(1){
		padding-right: .75rem;
	}
	.sitemap>ul:nth-of-type(2){
		padding-left: .75rem;
	}
	.sitemap ul .child{
		font-weight: 400;
		padding-left: 1rem;
	}
	.sitemap ul .child a{
		margin-top: 1.5rem;
	}
	.sitemap ul .child a:before{
		width: .7rem;
		height: .2rem;
	}
	.sitemap>ul>li{
		padding-bottom: 3rem;
	}
	#page-top{
		width: 5.4rem;
		position: fixed;
		right: 2rem;
		bottom: 11rem;
		z-index: 9998;
	}
	#page-top img{
		width: 100%;
		display: block;
	}

/* +++ #key-visual +++ */
	#key-visual{
		height: 20rem;
	}
	#key-visual .pic{
		padding-left: 2rem;
		padding-bottom: 2rem;
	}
	#key-visual:before{
		width: calc(100% - 2rem);
		height: calc(100% - 2rem);
	}
	#page-ttl{
		width: 61.8%;
		height: 8rem;
		border-radius: 1.8rem 0 0 0;
		font-size: 2rem;
		padding-top: 1rem;
	}
	#page-ttl:before{
		font-size: 1.4rem;
		margin-bottom: .8rem;
	}

/* +++main+++ */
	.contents{
		padding-top: 6rem;
	}
/* +++ btn01 +++ */

	.btn01:after{
		transform: translate(.4rem, .4rem);
	}
	.btn01{
		width: 32rem;
		height: 5rem;
	}
	.btn01 span{
		font-size: 1.6rem;
		padding: 0 1.5rem 0 2rem;
	}
	.btn01 span:after{
		border-left: .8rem solid #0062b2;
		border-top: .8rem solid transparent;
		border-bottom: .8rem solid transparent;
	}
/* +++ sec +++ */
	.sec{
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
/* +++ sec-ttl01 +++ */
	.sec-ttl01{
		font-size: 2.1rem;
	}
	.sec-ttl01:before,
	.sec-ttl-en{
		font-size: 6.4rem;
		margin-bottom: 0;
	}
	.sec-ttl-en{
		margin-bottom: 1.5rem;
	}


/* +++ sec-ttl02 +++ */
	.sec-ttl02{
		font-size: 2rem;
		min-height: 6rem;
		padding-left: 3rem;
		margin-bottom: 2.5rem;
	}

/* +++ fukidashi-ttl +++ */
	.fukidashi-ttl{
		width: 32rem;
		height: 4rem;
		border-radius: 2rem;
		font-size: 1.6rem;
	}
	.fukidashi-ttl:after{
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-top: .8rem solid #0062B2;
		border-left: .8rem solid transparent;
		border-right: .8rem solid transparent;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		margin: auto;
	}


/* +++ fixed-banner +++ */
	.fixed-banner{
		position: fixed;
		right: 0;
		top: auto;
		bottom: 0;
		width: 100%;
		display: flex;
		justify-content: space-between;
		background: rgba(255,255,255,.8);
		padding: 1rem 2rem;
	}
	.fixed-banner li{
		width: calc(50% - .5rem);
	}
	.fixed-banner a{
		width: 100%;
		height: 5rem;
		margin-bottom: 0;
		font-size: 1.6rem;
		letter-spacing: .05em;
	}
	.fixed-banner a span{
		writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0;
	}
	.fixed-banner .btn01 span:after{
		margin-left: 2rem;
	}

	/*-------------------------------
		access parking map
	-------------------------------*/

	.access-parking-map {
		margin-bottom:4rem;
		padding:0;
	}

	.access-parking-map .inner {
		background: #fff;
		box-shadow: .2rem .2rem 2rem 0px rgba(0, 0, 0, 0.10);
		padding: 0 2rem 2rem;
	}

	.access-parking-map .fukidashi-ttl {
		margin: 0 auto;
		transform: translateY(-2rem);
		width: 26rem;
	}

	.access-parking-map p {
		line-height: 1.5;
		margin: 0 0 2rem;
	}

	.paking-map {
		max-width:100%;
	}

	/*-------------------------------
		youtube wrap
	-------------------------------*/

	.youtube_wrap {
		margin-top:3.5rem
	}

	.youtube_wrap iframe {
		width:100%;
		height:18.8rem;
		max-height:100%;
	}


}
.txt-circle circle{
	stroke: #0062B2;
	fill: transparent;
}
.is-shown .txt-circle circle{
	animation-name: circle;
	animation-duration: .5s;
	animation-timing-function: ease-in;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	stroke-dasharray: 283;
	stroke-dashoffset: 283;

}
@keyframes circle{
	to{
		stroke-dashoffset: 0;
	}
	from{
		stroke-dashoffset: 283;
	}
}


@media screen and (min-width: 769px){
	.pc-none{
		display: none;
	}
	.pc-event-none{
		pointer-events: none;
	}
}
@media screen and (max-width: 768px){
	.sp-none{
		display: none;
	}
}