@charset "utf-8";

*{
	box-sizing:border-box;
	margin:0;
	padding:0;
	font-weight:500;
}
html{
	font-size:62.5%;
}
body{
	font-family:'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;;
	font-size:1.4rem;
	color:#444;
	letter-spacing:0.05em;
}

img{
	display:block;
	border:none;
}

ul,ol{
	list-style:none;
}
a{
	text-decoration:none;
	color:#444;
}
.hover:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
}
.hover{
	transition:0.3s all ease;
	cursor:pointer;
}

.sp{
	display:none !important;
}

.f-left{
	float:left;
}
.f-right{
	float:right;
}
.ov-hidden{
	overflow:hidden;
}
.clear{
	clear:both;
}
table{
	border-collapse:collapse;
}
th{
	font-weight:500;
	text-align:justify;
}
.tc{
	text-align:center;
}
.inner{
	width:1000px;
	margin:auto;
	position:relative;
}
.outer{
	min-width:1000px;
	width:100%;
	margin:auto;
	position:relative;
}
.pic img{
	display:block;
	width:100%;
}

/* +++++++++++++++++++++header++++++++++++++++++++++ */
header h1{
	font-size:1.3rem;
	line-height:1;
	font-weight:400;
	letter-spacing:0.06em;
	position:absolute;
	left:0;
	bottom:20px;
}
header h1 span{
	display:block;
	font-size:2rem;
	color:transparent;
	letter-spacing:0.2em;
	background-clip:text;
	-webkit-background-clip:text;
	background-image:linear-gradient(90deg,#67cdfc,#679ced);
	padding-top:10px;
}
@media all and (-ms-high-contrast:none){
	header h1 span{
		color:#0bbae6;
		background:none;
		font-weight:600;
	}
}
header .inner{
	height:90px;
}

nav{
	position:absolute;
	right:0;
	bottom:20px;
	line-height:1;
	letter-spacing:0.1em;
}
nav ul{
	overflow:hidden;
}
nav li{
	float:left;
	margin-left:32px;
}
nav a{
	position:relative;
	letter-spacing:0.1em;
	padding-left:18px;
	line-height:inherit;
	display:block;
	font-weight:400;
}
nav .current a:before{
	content:"";
	display:block;
	width:10px;
	height:10px;
	border-radius:100%;
	background:linear-gradient(45deg,#67cdfc,#679ced);
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}

/* +++++++++++++++++footer++++++++++++++++++++ */
footer{
	padding-top:50px;
}
footer .site-title{
	font-size:1.3rem;
	line-height:1;
	font-weight:400;
	letter-spacing:0.06em;
}
footer .site-title span{
	display:block;
	font-size:2rem;
	color:transparent;
	letter-spacing:0.2em;
	background-clip:text;
	-webkit-background-clip:text;
	background-image:linear-gradient(90deg,#67cdfc,#679ced);
	padding-top:10px;
}
@media all and (-ms-high-contrast:none){
	footer .site-title span{
		color:#0bbae6;
		background:none;
		font-weight:600;
	}
}
.copyrights{
	font-size:1.2rem;
	line-height:3;
	font-weight:400;
	color:rgba(68,68,68,0.5);
	padding-bottom:20px;
}
.shop-address{
	display:flex;
	justify-content:space-between;
	border-left:1px solid #dfdfdf;
	margin:40px 0;
}
.shop-address dl{
	padding:15px 20px;
/*
	width:33.333%;
*/
	width: 50%;
	line-height:2;
	border-right:1px solid #dfdfdf;
}
.shop-address dt{
	font-size:1.5rem;
	font-weight:600;
	margin-bottom:10px;
	margin-top:10px;
	line-height:1.5;
}
.site-menus{
	position:absolute;
	right:0;
	top:30px;
}
.site-menus a{
	font-size:1.3rem;
	letter-spacing:0.1em;
}
.site-menus li{
	padding-left:40px;
	float:left;
}
.corporate dt{
	font-size:1.5rem;
	font-weight:600;
	margin-bottom:10px;
	line-height:1.5;
	display:block;
	width:100%;
}
.corporate{
	margin-bottom:40px;
	letter-spacing:0.1em;
	display:flex;
	display:-webkit-flex;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	justify-content:center;
	padding:25px 0;
	background:#f1f1f1;
}
.corporate dd{
	width:250px;
}
.corporate dd a{
	text-decoration:underline;
	font-size:1.3rem;
}
.corporate dd a:hover{
	text-decoration:none;
	font-size:1.3rem;
}
.shop-address dd:nth-of-type(2) a:before{
    content: "\f095";
    font-family: "Font Awesome 5 Free";
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    font-weight: bold;
    margin-right: 5px;
	display:inline-block;
	vertical-align:bottom;
}
#page-top{
	display:block;
	padding:10px 0 15px;
	background-image:linear-gradient(90deg,#67cdfc,#679ced);
	text-align:center;
	line-height:1;
	font-size:1.3rem;
	letter-spacing:0.1em;
	margin-bottom:40px;
	transition:0.2s all ease;
}
#page-top:hover{
	padding-top:5px;
	padding-bottom:20px;
}
#page-top span{
	color:#fff;
}
#page-top span:before{
	display:block;
	margin:auto;
    content: "\f106";
    font-family: "Font Awesome 5 Free";
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    font-weight: bold;
}

/* +++++++++++++++++++key visual++++++++++++++ */
.key-visual{
	height:450px;
}
.key-visual:before{
	z-index:-1;
	position:absolute;
	right:0;
	top:0;
	width:calc(100% - 450px);
	height:100%;
	background:#dfdfdf;
	content:"";	
	display:block;
}
.key-visual .page-title{
	font-weight:400;
	font-size:3.0rem;
	line-height:1;
	letter-spacing:0.4em;
	display:inline-block;
	background-image:linear-gradient(90deg,#67cdfc,#679ced);
	color:#fff;
	position:absolute;
	right:calc(100% - 530px);
	top:0;
	bottom:0;
	margin:auto;
	padding:0 80px;
	height:80px;
	line-height:80px;
}
@media all and (-ms-high-contrast:none){
	.key-visual .page-title{
		font-weight:600;
		line-height:3;
	}
}


/* +++++++++++++++++++bread-clumbs+++++++++++++++++++  */
.bread-clumb{
	margin-bottom:40px;
}
.bread-clumb li{
	line-height:1.4;
	padding:15px 0;
	font-size:1.3rem;
	letter-spacing:0.1em;
}
.bread-clumb li:after{
	content:"";
	display:block;
	width:0;
	height:0;
	display:inline-block;
	vertical-align:middle;
	border-left:8px solid rgba(0,0,0,0.3);
	border-top:3px solid transparent;
	border-bottom:3px solid transparent;
	margin:0 1em;
}
.bread-clumb li:last-of-type:after{
	display:none;
}
.bread-clumb a{
	color:#67cdfc;
	text-decoration:underline;
}
.bread-clumb a:hover{
	text-decoration:none;
}

/* +++++++++++++++++++section+++++++++++++++++++  */
.sec{
	padding:50px 0;
}
.sec-title{
	text-align:center;
	line-height:1.4;
	font-size:2.8rem;
	font-weight:400;
    letter-spacing: 0.4em;
	position:relative;
	margin-bottom:40px;
}
@media all and (-ms-high-contrast:none){
	.sec-title{
		font-weight:600;
	}
}
.sec-title:after{
	content:"";
	display:block;
	margin:10px auto 0;
	width:40px;
	height:4px;
	background-image: linear-gradient(90deg,#67cdfc,#679ced);
}
.sec-sub-title{
	text-align:center;
	font-size:2rem;
	line-height:1.4;
	font-weight:400;
	letter-spacing:0.2em;
	margin-bottom:20px;
}
@media all and (-ms-high-contrast:none){
	.sec-sub-title{
		font-weight:600;
	}
}

.gradient-txt{
	color: transparent;
	background-clip: text;
    -webkit-background-clip: text;
    background-image: linear-gradient(90deg,#67cdfc,#679ced);
}
@media all and (-ms-high-contrast:none){
	.gradient-txt{
		color:#0bbae6;
		background:none;
	}
}
.btn{
    background-image: linear-gradient(90deg,#67cdfc,#679ced);
	color:#fff;
	display:block;
	line-height:3.5;
	letter-spacing:0.1em;
	text-align:center;
}
main p{
	line-height:2;
}
.gradient-bg{
	position:relative;
}
.gradient-bg:before{
	position:absolute;
	width:100%;
	height:100%;
	background:linear-gradient(90deg,#67cdfc,#679ced);
	content:"";
	display:block;
	z-index:-1;
}