@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400..700;1,400..700&family=Noto+Sans+JP:wght@100..900&display=swap');


* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


html {
	color: #333333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 100%;
 	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	text-align: center;
	}


body {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0 0px;
	text-align : center ;
}


* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.clear{
	clear: both;
	height:1px;
	overflow: hidden;
}


/*======================================

	common text
	
========================================*/



.mincho{
	font-family: serif;
}



.clear{
	clear:both;
	width:100%;
	height:1px;
	overflow: hidden;
}


.video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    margin:20px 0 20px 0;
/*  overflow: hidden; */
}
  
.video iframe,  
.video object,  
.video embed {
    position: absolute;
    top: 0;
    left: 5%;
    width: 90%;
    height: 90%;
}







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


button,
input[type="button"],
input[type="submit"] {
  color: inherit;
  -webkit-text-fill-color: currentColor;
}



p {
	color:#333;
	font-size:15px;
	line-height: 2;
	margin:0 0 14px 0;
	padding: 0 0 0 0;
	vertical-align: baseline;
}

a {
	color:#082752;
	text-decoration:none;
}

img{
  text-decoration: none;
  border: none;
  vertical-align: bottom;
  	}
	


/* ===== Mobile Drawer: base ===== */
/* =========================
   Mobile Drawer (Full Overlay)
   ========================= */

/* ===== checkboxは見えない ===== */
.navToggle{
  position: fixed;
  left: -9999px;
}

/* ===== hamburger button ===== */
.navBtn{
  position: fixed;
  top: 14px;
  right: 12px;
  z-index: 1200;

  width: 44px;
  height: 44px;
  border-radius: 3px;

  border: 0px solid rgba(255,255,255,.22);
  background: rgba(8,39,82,.9);
  backdrop-filter: blur(6px);

  display: grid;
  place-items: center;
  cursor: pointer;
}

.navBtn__bars{
  width: 18px;
  height: 12px;
  display: grid;
  align-content: space-between;
}
.navBtn__bars i{
  display: block;
  height: 2px;
  border-radius: 2px;
  background: rgba(255,255,255,.92);
}

/* ===== overlay wrapper ===== */
.navOverlay{
  position: fixed;
  inset: 0;
  z-index: 1300;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition: opacity .28s ease, visibility 0s linear .28s;

  /* 描画安定 */
  isolation: isolate;
  transform: translateZ(0);
}

/* open */
.navToggle:checked ~ .navOverlay{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .28s ease, visibility 0s linear 0s;
}

/* backdrop（タップで閉じる） */
.navOverlay__backdrop{
  position: absolute;
  inset: 0;
  cursor: pointer;
}

/* panel（全面） */
.navOverlay__panel{
  position: absolute;
  inset: 0;

  background: rgba(8,39,82,.93);
  color: rgba(255,255,255,.92);

  display: flex;
  flex-direction: column;

  /* 初期：少し下＆薄い */
  transform: translateY(8px) translateZ(0);
  opacity: 0;
  transition: transform .26s ease, opacity .26s ease;
  will-change: transform, opacity;

  overflow: hidden;
  backface-visibility: hidden;
}

/* open：じわっと */
.navToggle:checked ~ .navOverlay .navOverlay__panel{
  transform: translateY(0) translateZ(0);
  opacity: 1;
}

/* header */
.navOverlay__head{
  padding: 18px 18px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navOverlay__title{
  font-size: 12px;
  letter-spacing: .18em;
  color: rgba(255,255,255,.78);
}

/* close（labelで閉じる） */
.navOverlay__close{
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;

  font-size: 34px;
  line-height: 1;
  cursor: pointer;

  color: rgba(255,255,255,.92);
  -webkit-text-fill-color: currentColor;
}

/* body */
.navOverlay__body{
  padding: 10px 18px 22px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  min-height: 0;
  backface-visibility: hidden;
}

/* links */
.navOverlay__link{
  display: block;
  padding: 14px 6px;

  text-decoration: none;
  color: rgba(255,255,255,.92);
  -webkit-text-fill-color: currentColor;

  font-size: 18px;
  letter-spacing: .04em;
}

.navOverlay__link + .navOverlay__link{
  border-top: 1px solid rgba(255,255,255,.14);
}

/* CTA */
.navOverlay__cta{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.16);
}

.navOverlay__ctaBtn{
  display: block;
  text-align: center;

  padding: 14px 10px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;

  text-decoration: none;
  color: rgba(255,255,255,.92);
  -webkit-text-fill-color: currentColor;

  font-size: 16px;
}

.navOverlay__ctaSub{
  margin-top: 10px;
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
  color: rgba(255,255,255,.78);
}

/* PCでは非表示（スマホ専用） */
@media (min-width: 901px){
  .navBtn, .navOverlay{ display: none; }
}

/* 動き苦手な人 */
@media (prefers-reduced-motion: reduce){
  .navOverlay, .navOverlay__panel{
    transition: none !important;
    transform: none !important;
  }
}







/*======================================

	header
	
========================================*/


header.header{
	position: absolute;
	top:15px;
	left: 0;
	width:100%;
	height: 75px;
	border-bottom: 0px solid #ddd;
	background: transparent;
	padding: 0 20px 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 99;
}


.header-left{
	width:100%;
	text-align: left;
}
.header-right{
	display: none
}


.head-logo{
	display: inline-block;
	width:228px;
	height: auto;
	line-height: none;
	padding: 0 0 0 0;
	margin: 0px 0 0 0px;
}
.head-logo img{
	width: 100%;
}




/*======================================

	nav
	
========================================*/

.navi {
	width: 700px;
	background: transparent;
	margin: 0px auto 0px auto;
	padding:0px 0px 0 0;
	display: none;
	justify-content: flex-end;
	gap:21px;
	}

.navi a{
	display: inline-block;
	font-size:14px;
	font-weight: 600;
	color:#fff;
	margin: 0 0px 0 0px;
	transition: color .3s;
}

.navi a:hover{
  color:#dc2314;
}



/*======================================

	wrapper layout
	
========================================*/

.page-head{
	width: 100%;
	height: 270px;
	background: #666;
	position: relative;
}

.page-head-bg{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 270px;
	object-fit:cover;
	z-index: 5;
}

.page-head-bg-over{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 270px;
	z-index: 6;
	mix-blend-mode: multiply; /* オーバーレイを指定 */
	opacity: 0.85;
	background-color: #082752;
}

h1.page-h1{
	position:absolute;
	width: 90%;
	top: 60%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 7;
	color:#bbab83;
	font-size: 27px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.05em;
}

h1.page-h1 span{
	display: block;
	font-family: "Libre Baskerville", serif;
	font-size: 15px;
	color:#fff;
	margin-top: 6px;
	letter-spacing: 0em;
}


/*======================================

	wrapper layout
	
========================================*/

.contents-wrapper{
	width:100%;
	margin: 20px auto 0px auto;
	padding:0 21px 60px 21px;
	text-align: center;
}

main#main{
	width:100%;
	margin: 0 auto 0px auto;
	padding:0 0 0px 0px;
}


.head-catchcopy{
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	text-align: left;
	margin: 36px 0 45px 0;;
}







/*======================================

	footer common-shop
	
========================================*/

.footer-wrapper{
	width: 100%;
	background: #f3f2ed;
	padding: 60px 21px 90px 21px;
}

.common-shop{
	width: 100%;
	margin: 0 auto;
}

.common-shop-h2{
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	padding: 0;
	margin:0 0 24px; 0;
}

.common-shop-lead01{
	font-size:14px;
}

.common-shop-lead03{
	font-size:14px;
}

.common-shop-lead02{
	font-size:30px;
	font-weight: 600;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:9px;
	margin: 12px 0 12px 0;
	padding: 0;
}

.common-shop-lead02::before{
	content: url('');
	width: 40px;
	height: 26px;
	background-image: url('../i/freedial.png');
	background-size: cover;
	display: block;
	margin-top: 4px;
  }

.common-shop-lead02 a:hover{
	color:#333;
}


.common-shop-grid{
	display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 42px;
  border-top:1px solid #999;
  padding:60px 0 0px 0;
  margin-top: 60px;
}

.common-shop-card{

}

.common-shop-name{
	font-size:16px;
	font-weight: 600;
	margin-bottom: 12px;
}

.common-shop-info{
	font-size:13px;
	line-height: 1.5;
}

.common-shop-photo{
	margin-top: 15px;
}


.common-shop-photo img{
	width: 80%;
	margin: 0 auto;
}


footer{
	margin-top:60px;
	padding: 0;
}

.footer-logo{
	width: 210px;
	margin: 30px auto 24px auto;
}
.footer-logo img{
	width: 100%;
}



.footer-menu{
	margin-top:18px;
	padding: 0;
	display: flex;
	justify-content: center;
}

.footer-menu a{
	display: inline-block;
	font-size: 13px;
	margin: 0 0 0 0;
	padding: 3px 12px 3px 12px;
}
.footer-menu a.to-contact{
	border-right:1px solid #666;
}



.footer-sns{
	display: flex;
	justify-content: center;
	gap:18px;
	margin-top: 24px;
}

.footer-sns a{
	display: block;
	width: 30px;
}

.footer-sns img{
	width: 100%;
}

.copyright{
	margin-top: 24px;
	font-size: 11px;
}




/*======================================

	footer cta
	
========================================*/


.footer-cta-wrapper{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  background: #082752;
  padding: 13px 0 15px;

  opacity: 1;
  transform: translateY(0);
  transition: opacity .35s ease, transform .35s ease;
  will-change: opacity, transform;
}

.footer-cta-wrapper.is-hidden{
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
}

.footer-cta-wrapper{
	width: 100%;
	height: 75px;
	padding: 0 0 0 0;
	position: fixed;
	bottom: 0;
	background: #082752;
	padding: 14px 0 15px;
	z-index:999;
}

.footer-cta{
	width: 90%;
	margin: 0 auto;
	display: block;
	justify-content: center;
	gap:45px;
	align-items: center;
}

.footer-cta-left{
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer-cta-text01{
	font-size:17px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	padding: 0;
	margin: 0 0 0 0;
	padding: 2px 12px 4px 0;
	border-right:1px solid #ef260f;
	display: none;
}

.footer-cta-text02{
	font-size:11px;
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
	padding: 0 0 0 0px;
	margin: 5px 0 0px 0;
}


.footer-cta-right{
}

.footer-cta-btn{
	display: block;
	padding: 4px 30px 4px 30px;
	color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	font-size: 13px;
	font-weight: bold;
	position: relative;
}



.footer-cta-btn::after {
	content: "›";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(calc(-50% - 3px)) scaleX(0.75); /* ← 横70% */
	font-size: 18px;
	font-weight: 300;
	color: #fff;
	transition: transform 0.2s ease, color 0.2s ease;
}






#page-top a {
    background: #082752;
    text-decoration: none;
    color: #fff;
    width: 40px;
    padding: 3px 0;
    text-align: center;
    display: block;
    border-radius: 3px;
	}


/* ページトップ */
.page-top{
  position: fixed;
  right: 12px;
  bottom: 72px;
  z-index: 999;

  opacity: 1;
  transform: translateY(0);
  transition: opacity .35s ease, transform .35s ease;
}

.page-top.is-hidden{
  opacity: 0;
  transform: translateY(0px);
  pointer-events: none;
}






}/*//end  max-width: 480px ///////////////////////*/







@media only screen and (min-width: 481px) {



p {
	color:#333;
	font-size:15px;
	line-height: 2;
	margin:0 0 14px 0;
	padding: 0 0 0 0;
	vertical-align: baseline;
}

a {
	color:#082752;
	text-decoration:none;
}
a:hover {
	color:#dc2314;
	text-decoration:none;
}

img{
  text-decoration: none;
  border: none;
  vertical-align: bottom;
  	}
	
a:hover img{
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  text-decoration: none;
  border: none;
  transition: 0.3s ease-in-out;
	}



.mobile-navi{
	display: none;
}

/*======================================

	header
	
========================================*/

#mobile-navi{
	display: none;
}


header.header{
	position: absolute;
	top:15px;
	left: 0;
	width:100%;
	min-width:1080px;
	height: 75px;
	border-bottom: 0px solid #ddd;
	background: transparent;
	padding: 0 40px 0 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 99;
}


.header-left{
	width:300px;
	text-align: left;
}
.header-right{
	width:700px;
	padding: 0px 0 0px 0;
	text-align: right;
}


.head-logo{
	display: inline-block;
	width:300px;
	height: auto;
	line-height: none;
	padding: 0 0 0 0;
	margin: 0px 0 0 0px;
}
.head-logo img{
	width: 100%;
}




/*======================================

	nav
	
========================================*/

.navi {
	width: 700px;
	background: transparent;
	margin: 0px auto 0px auto;
	padding:0px 0px 0 0;
	display: flex;
	justify-content: flex-end;
	gap:21px;
	}

.navi a{
	display: inline-block;
	font-size:14px;
	font-weight: 600;
	color:#fff;
	margin: 0 0px 0 0px;
	transition: color .3s;
}

.navi a:hover{
  color:#dc2314;
}



/*======================================

	wrapper layout
	
========================================*/

.page-head{
	width: 100%;
	height: 390px;
	background: #666;
	position: relative;
}

.page-head-bg{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 390px;
	object-fit:cover;
	z-index: 5;
}

.page-head-bg-over{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 390px;
	z-index: 6;
	mix-blend-mode: multiply; /* オーバーレイを指定 */
	opacity: 0.85;
	background-color: #082752;
}

h1.page-h1{
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 7;
	color:#bbab83;
	font-size: 35px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.1em;
}

h1.page-h1 span{
	display: block;
	font-family: "Libre Baskerville", serif;
	font-size: 18px;
	color:#fff;
	margin-top: 6px;
	
}


/*======================================

	wrapper layout
	
========================================*/

.contents-wrapper{
	width:100%;
	margin: 20px auto 0px auto;
	padding:0 20px 70px 20px;
	text-align: center;
}

main#main{
	width:1000px;
	margin: 0 auto 0px auto;
	padding:0 0 0px 0px;
}


.head-catchcopy{
	font-size: 19px;
	font-weight: 500;
	line-height: 2.4;
	text-align: center;
	margin: 90px 0 90px 0;;
}

.head-catchcopy span{
	display: block;
}




/*======================================

	footer common-shop
	
========================================*/

.footer-wrapper{
	width: 100%;
	background: #f3f2ed;
	padding: 60px 0 90px 0;
}

.common-shop{
	width: 1000px;
	margin: 0 auto;
}

.common-shop-h2{
	font-size: 30px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	padding: 0;
	margin:0 0 24px; 0;
}

.common-shop-lead01{
	font-size:14px;
}

.common-shop-lead03{
	font-size:14px;
}

.common-shop-lead02{
	font-size:30px;
	font-weight: 600;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:9px;
	margin: 12px 0 12px 0;
	padding: 0;
}

.common-shop-lead02::before{
	content: url('');
	width: 40px;
	height: 26px;
	background-image: url('../i/freedial.png');
	background-size: cover;
	display: block;
	margin-top: 4px;
  }

.common-shop-lead02 a:hover{
	color:#333;
}


.common-shop-grid{
	display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 42px;
  border-top:1px solid #999;
  padding:60px 0 0px 0;
  margin-top: 60px;
}

.common-shop-card{

}

.common-shop-name{
	font-size:17px;
	font-weight: 600;
	margin-bottom: 12px;
}

.common-shop-info{
	font-size:13px;
	line-height: 1.5;
}

.common-shop-photo{
	margin-top: 15px;
}


.common-shop-photo img{
	width: 100%
}


footer{
	margin-top:60px;
	padding: 0;
}

.footer-logo{
	width: 270px;
	margin: 30px auto 24px auto;
}
.footer-logo img{
	width: 100%;
}



.footer-menu{
	margin-top:18px;
	padding: 0;
	display: flex;
	justify-content: center;
}

.footer-menu a{
	display: inline-block;
	font-size: 14px;
	margin: 0 0 0 0;
	padding: 3px 12px 3px 12px;
}
.footer-menu a.to-contact{
	border-right:1px solid #666;
}



.footer-sns{
	display: flex;
	justify-content: center;
	gap:18px;
	margin-top: 24px;
}

.footer-sns a{
	display: block;
	width: 30px;
}

.footer-sns img{
	width: 100%;
}

.copyright{
	margin-top: 24px;
	font-size: 13px;
}




/*======================================

	footer cta
	
========================================*/


.footer-cta-wrapper{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #082752;
  padding: 13px 0 15px;

  opacity: 1;
  transform: translateY(0);
  transition: opacity .35s ease, transform .35s ease;
  will-change: opacity, transform;
}

.footer-cta-wrapper.is-hidden{
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
}

.footer-cta-wrapper{
	width: 100%;
	height: 70px;
	padding: 0 0 0 0;
	position: fixed;
	bottom: 0;
	background: #082752;
	padding: 16px 0 15px;
	z-index:999;
}

.footer-cta{
	width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	gap:12px;
	align-items: center;
}

.footer-cta-left{
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer-cta-text01{
	font-size:17px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	padding: 0;
	margin: 0 0 0 0;
	padding: 2px 12px 4px 0;
	border-right:1px solid #fff;
	display: flex;
	align-items: center;
}

.footer-cta-text01::before{
	content: url('../i/footer_cta_icon.png');
	width: 25px;
	height: 25px;
	margin-right: 3px;
}

.footer-cta-text02{
	font-size:13px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	padding: 0 0 0 12px;
	margin: 0
}


.footer-cta-right{
	
}

.footer-cta-btn{
	display: block;
	padding: 6px 30px 8px 15px;
	color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	font-size: 15px;
	font-weight: bold;
	position: relative;
}

.footer-cta-btn:hover{
	color:#fff;
	background: #ef260f;
	border: 1px solid #ef260f;
	transition:
		background-color 0.35s ease,
		border-color 0.35s ease;
}

.footer-cta-btn::after {
	content: "›";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(calc(-50% - 3px)) scaleX(0.75); /* ← 横70% */
	font-size: 21px;
	font-weight: 300;
	color: #fff;
	transition: transform 0.2s ease, color 0.2s ease;
}

.footer-cta-btn:hover::after {
	transform: translate(calc(3px), calc(-50% - 3px)) scaleX(0.7);
	color: #fff;
}




#page-top a {
    background: #082752;
    text-decoration: none;
    color: #fff;
    width: 40px;
    padding: 3px 0;
    text-align: center;
    display: block;
    border-radius: 3px;
	}
#page-top a:hover {
    text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	}

/* ページトップ */
.page-top{
  position: fixed;
  right: 12px;
  bottom: 72px;
  z-index: 9998;

  opacity: 1;
  transform: translateY(0);
  transition: opacity .35s ease, transform .35s ease;
}

.page-top.is-hidden{
  opacity: 0;
  transform: translateY(0px);
  pointer-events: none;
}




}/*//end  min-width: 481px ///////////////////////*/











