﻿@import url(reset.css);
@charset "utf-8";
@font-face {
	font-family:'Yu Gothic';
	src:local('YuGothic-Medium'),
	local('Yu Gothic Medium'),
	local('YuGothic-Regular');
	font-weight:500;
}
@font-face {
	font-family:'Yu Gothic';
	src:local('YuGothic-Bold'),
	local('Yu Gothic Bold');
	font-weight:bold;
}



/* common */
/* -------------------------------------------------------- */
html,body {font-variant-ligatures:none;}
html {font-size:62.5%;}
body {font-size:14px; font-size:1.4rem; font-family:'Yu Gothic','YuGothic','游ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,'メイリオ','MS PGothic',Osaka,arial,helvetica,sans-serif; color:#000; text-align:center; -webkit-text-size-adjust:100%; text-size-adjust:100%; background:none;}

h1, h2, h3, h4, h5, h6, h7 {line-height:1.2; letter-spacing:0.1em;}
p, li, dt, dd, th, td, address, blockquote, div {line-height:1.6; letter-spacing:0.1em;}
input, select, textarea, button {font-size:14px; font-size:1.4rem; font-family:Meiryo,'MS PGothic',Osaka,arial,helvetica,sans-serif; line-height:1.4; vertical-align:middle;}
input[type='submit'],input[type='reset'],input[type='button'], button {cursor:pointer; -ms-appearance:none; -webkit-appearance:none; appearance:none;}
:placeholder-shown {color:#ccc;}
::-webkit-input-placeholder {color:#ccc;}
:-moz-placeholder {color:#ccc; opacity:1;}
::-moz-placeholder {color:#ccc; opacity:1;}
:-ms-input-placeholder {color:#ccc;}

strong {font-weight:bold;}
ol {list-style-type:decimal; margin-left:2.2em;}
img {max-width:100%; width:auto; height:auto; line-height:0; vertical-align:top; border:0; display:inline;}

a {color:#004e97; text-decoration:underline;}
a:hover {color:#004e97; text-decoration:none;}


/* decision */
/* -------------------------------------------------------- */
#bpCheck {display:none;}

body .pc {display:block;}
br.pc, span.pc, img.pc {display:inline;}
body .sp, br.sp, span.sp, img.sp {display:none;}

a.off {pointer-events:none; cursor:default; opacity:0.3;}
a.tel {pointer-events:none; cursor:default;}
body.mobile a.tel {pointer-events:auto; cursor:pointer;}

.cfix::before,
.cfix::after {display:table; content:" ";}
.cfix::after {clear:both;}

@media screen and (max-width:767px){
	#bpCheck {display:block;}

	body .pc, br.pc, span.pc, img.pc {display:none;}
	body .sp {display:block;}
	br.sp, span.sp, img.sp {display:inline;}
}


/* container */
/* -------------------------------------------------------- */
#container {width:100%; overflow:hidden;}


/* header */
/* -------------------------------------------------------- */
#header {width:100%; height:140px; text-align:center; position:relative; z-index:100;}
#header .ttl {font-size:1.8rem; font-weight:bold; line-height:1; text-decoration:none; margin:-0.5em 0 0 0; position:absolute; top:50%; left:40px; z-index:5;}
#header .address {font-size:1.8rem; font-weight:bold; line-height:1; text-decoration:none; margin:-0.5em 0 0 0; position:absolute; top:50%; right:40px; z-index:5;}
#header .logo {width:296px; height:296px; margin:-20px 0 0 -148px; background-color:#fff; border-radius:50%; position:absolute; top:0; left:50%; z-index:1;}

@media screen and (max-width:767px){
	#header {height:16.0vw;}
	#header .ttl {font-size:2.4vw; left:2.6vw;}
	#header .address {font-size:2.4vw; right:2.6vw;}
	#header .logo {width:40.0vw; height:40.0vw; margin:-6.0vw 0 0 -20.0vw;}
}


/* contents */
/* -------------------------------------------------------- */
#contents {}

.sec {max-width:1030px; margin:0 auto; padding:0 15px; box-sizing:border-box;}

.top-mv {background:url(../img/bg_01.jpg) no-repeat center center; background-size:cover;}
.top-mv .clm {width:100%; height:700px; display:flex; justify-content:center; align-items:center;}
.top-mv .catch {font-size:4.7rem; font-weight:bold; line-height:1.88; text-align:center; color:#fff;}

.top-introduction {padding:100px 0 110px 0;}
.top-introduction p {font-size:2.5rem; font-weight:bold; line-height:2.0; text-align:center;}

.top-contents .inr1 {padding:85px 0 60px 0; background:url(../img/bg_02.jpg) no-repeat center center; background-size:cover; position:relative; z-index:5;}
.top-contents .inr1 .clm {margin:170px 0 0 0; position:relative;}
.top-contents .inr1 .clm .ctx {width:55%;}
.top-contents .inr1 .clm .img {width:44.4%; position:absolute; top:0; right:0;}
.top-contents .inr2 {padding:190px 0 90px 0; position:relative; z-index:1;}
.top-contents .inr2 .ctx {position:relative; z-index:5;}
.top-contents .inr2 .img {width:820px; position:absolute; bottom:-100px; right:-100px; z-index:1; opacity:0.1;}
.top-contents .inr3 {height:500px; background:url(../img/bg_03.jpg) no-repeat center center; background-size:cover;}
.top-contents .txt1 {font-size:2.5rem; font-weight:bold; line-height:1.74; text-align:center;}
.top-contents .txt2 {text-align:left;}
.top-contents .txt2 dt {font-size:3.3rem; font-weight:bold; line-height:1.74; padding:50px 0 0 20px; position:relative;}
.top-contents .txt2 dt::before {content:''; width:6px; height:100%; background-color:#000; display:block; position:absolute; bottom:0.3em; left:0;}
.top-contents .txt2 dd {font-size:1.8rem; font-weight:bold; line-height:2.0; margin:35px 0 0 0;}
.top-contents .txt3 {width:252px; text-align:left; padding:0 0 40px 0;}

.top-shopinfo {padding:100px 0 90px 0;}
.top-shopinfo .clm {display:flex; justify-content:space-between;}
.top-shopinfo .ctx {width:48.5%;}
.top-shopinfo .ctx > dl {text-align:left;}
.top-shopinfo .ctx > dl > dt {font-size:3.3rem; font-weight:bold; line-height:1.74; padding:50px 0 0 20px; position:relative;}
.top-shopinfo .ctx > dl > dt::before {content:''; width:6px; height:100%; background-color:#000; display:block; position:absolute; bottom:0.3em; left:0;}
.top-shopinfo .table {margin:20px 0 0 0;}
.top-shopinfo .table dl {padding:8px 0; border-bottom:solid 1px #ccc; display:flex;}
.top-shopinfo .table dt {width:6em; font-size:1.8rem; line-height:1.66;}
.top-shopinfo .table dd {font-size:1.8rem; font-weight:bold; line-height:1.66; flex:1;}
.top-shopinfo .table a {text-decoration:none; color:#000;}
.top-shopinfo .table a.gm {font-size:1.5rem; text-decoration:none; color:#428b00; padding:0 0 0 18px; display:inline-block; position:relative;}
.top-shopinfo .table a.gm::before {content:''; width:13px; height:13px; margin:-7px 0 0 0; background:url(../img/arrow_01.png) no-repeat center center; background-size:cover; display:block; position:absolute; top:50%; left:0;}
.top-shopinfo .table a:hover {text-decoration:underline;}
.top-shopinfo .map {width:44.4%;}

.top-contact {padding:70px 0 80px 0; background:url(../img/bg_04.jpg) no-repeat center center; background-size:cover;}
.top-contact .clm {display:flex; justify-content:space-between; align-items:center;}
.top-contact .ctx {text-align:left; flex:1;}
.top-contact .img {width:21.3%; margin:0 -60px 0 0;}
.top-contact .txt {font-size:1.8rem; font-weight:bold; line-height:2.0;}
.top-contact .btn {width:310px; margin:15px 0 0 0;}
.top-contact .btn a {font-size:1.8rem; font-weight:bold; line-height:1.4; text-decoration:none; color:#fff; padding:15px 10px 15px 86px; background-color:#000; display:block; position:relative; transition:opacity 0.3s ease;}
.top-contact .btn a::before {content:''; width:44px; height:44px; margin:-22px 0 0 30px; background:url(../img/icon_mail.png) no-repeat center center; background-size:cover; display:block; position:absolute; top:50%; left:0;}
.top-contact .btn a:hover {opacity:0.7;}
.top-contact .note {margin:20px 0 0 0;}
.top-contact .note li {font-size:1.2rem; line-height:1.83; padding:0 0 0 1.2em; position:relative;}
.top-contact .note .ico {position:absolute; top:0; left:0;}

.sns-instagram {padding:90px 0 60px 0; background-color:#e0da8e;}
.sns-instagram .txt {font-size:1.5rem; font-weight:bold; text-align:center; padding:40px 0 0 0;}
.sns-instagram .txt a {text-decoration:none; color:#000; padding:0 0 0 50px; display:inline-block; position:relative;}
.sns-instagram .txt a::before {content:''; width:35px; height:35px; margin:-18px 0 0 0; background:url(../img/icon_instagram.png) no-repeat center center; background-size:cover; display:block; position:absolute; top:50%; left:0;}
.sns-instagram .txt a:hover {text-decoration:underline;}

@media screen and (max-width:767px){
	.sec {padding:0 8.0vw;}

	.top-mv {background-image:url(../img/bg_01_sp.jpg);}
	.top-mv .clm {height:149.3vw;}
	.top-mv .catch {font-size:6.3vw;}

	.top-introduction {padding:17.3vw 0 16.0vw 0;}
	.top-introduction .sec {padding:0;}
	.top-introduction p {font-size:3.4vw;}

	.top-contents .inr1 {padding:16.0vw 0 0 0; background-image:url(../img/bg_02_sp.jpg);}
	.top-contents .inr1 .clm {margin:16.0vw 0 0 0; position:relative;}
	.top-contents .inr1 .clm .ctx {width:auto;}
	.top-contents .inr1 .clm .img {width:auto; text-align:center; margin:15.3vw 0 0 0; position:static;}
	.top-contents .inr1 .clm .img img {margin:0 0 -68.5vw 0;}
	.top-contents .inr2 {padding:86.6vw 0 16.0vw 0;}
	.top-contents .inr2 .img {width:113.3vw; bottom:-12.0vw; left:8.2vw; right:auto;}
	.top-contents .inr3 {height:80.0vw; background-image:url(../img/bg_03_sp.jpg);}
	.top-contents .txt1 {font-size:3.3vw;}
	.top-contents .txt2 dt {font-size:6.0vw; padding:8.8vw 0 0 3.4vw;}
	.top-contents .txt2 dt::before {width:1.0vw;}
	.top-contents .txt2 dd {font-size:3.3vw; margin:6.0vw 0 0 0;}
	.top-contents .txt3 {width:45.6vw; padding:0 0 6.1vw 0;}

	.top-shopinfo {padding:17.8vw 0 18.2vw 0;}
	.top-shopinfo .clm {display:block;}
	.top-shopinfo .ctx {width:auto;}
	.top-shopinfo .ctx > dl > dt {font-size:6.0vw; padding:8.8vw 0 0 3.4vw;}
	.top-shopinfo .ctx > dl > dt::before {width:1.0vw;}
	.top-shopinfo .table {margin:4.0vw 0 0 0;}
	.top-shopinfo .table dl {padding:1.0vw 0;}
	.top-shopinfo .table dt {font-size:3.3vw;}
	.top-shopinfo .table dd {font-size:3.3vw;}
	.top-shopinfo .table a.gm {font-size:2.8vw; padding:0 0 0 3.2vw}
	.top-shopinfo .table a.gm::before {width:2.2vw; height:2.2vw; margin:-1.1vw 0 0 0;}
	.top-shopinfo .map {width:auto; text-align:center; margin:16.0vw 0 0 0;}

	.top-contact {padding:12.0vw 0 15.2vw 0; background-image:url(../img/bg_04_sp.jpg);}
	.top-contact .sec {padding:0 4.0vw;}
	.top-contact .clm {display:block;}
	.top-contact .img {width:38.6vw; margin:9.3vw 0 0 auto;}
	.top-contact .txt {font-size:3.3vw;}
	.top-contact .btn {width:55.4vw; margin:2.6vw 0 0 0;}
	.top-contact .btn a {font-size:3.2vw; padding:2.6vw 1.3vw 2.6vw 16.0vw;}
	.top-contact .btn a::before {width:8.0vw; height:8.0vw; margin:-4.0vw 0 0 5.3vw;}
	.top-contact .note {margin:2.6vw 0 0 0;}
	.top-contact .note li {font-size:2.1vw;}

	.sns-instagram {padding:16.0vw 0;}
	.sns-instagram .txt {font-size:3.3vw; padding:10.0vw 0 0 0;}
	.sns-instagram .txt a {padding:0 0 0 11.4vw;}
	.sns-instagram .txt a::before {width:8.0vw; height:8.0vw; margin:-4.0vw 0 0 0;}
}


/* footer */
/* -------------------------------------------------------- */
#footer .copy {font-size:1.2rem; text-align:center; color:#fff; padding:20px 0 30px 0; background-color:#000;}

@media screen and (max-width:767px){
	#footer .copy {font-size:2.1vw; padding:4.0vw 0 5.3vw 0;}
}
