@charset "utf-8";
/* common ------------------------------------------------------- */
* {
  font-family: "Yu Mincho", "YuMincho", serif;
}
html, body {
  margin: 0;
  padding: 0;
}
body {
  background: #fff;
  color: #282828;
	padding-top: 120px;
}
@media only screen and (max-width: 820px) {
body {
	padding-top: 80px;
}

}
@media only screen and (max-width: 400px) {
body {
	padding-top: 60px;
}

}
a {
  text-decoration: none;
}
a:link, a:active {
  color: #282828;
}
a:hover {
  color: #693654;
}
ol, ul, menu, summary {
  list-style: none;
}
.outsidewrap {
  overflow: hidden;
}
.container {
  width: 90%;
  max-width: 1500px;
  margin: 0 auto 0;
}
@media only screen and (max-width: 1520px) {
  .container {
    width: 94%;
  }
}

#dummy {
		background: #CCC393;
		padding: 5em;

	}


/* header ------------------------------------------------------- */
.header {
  width: 100%;
  padding: 1% 0;
  background: #fff;
}
#fixedBox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}


.header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}




.header img {
  width: 150px;
}
@media only screen and (max-width:1300px) {
  .header img {
    width: 140px;
  }
}
@media only screen and (max-width:1024px) {
  .header img {
    width: 130px;
  }
}
@media only screen and (max-width: 820px) {
	.header {
  padding: 3% 0;
	}
  .header img {
    width: 110px;
  }
}
@media only screen and (max-width:480px) {
  .header img {
    width: 100px;
  }
}
.header nav {
  width: auto;
  padding: 0 0 0;
}
@media only screen and (max-width: 820px) {
  .header nav {
    display: none;
  }
}

.header nav ul {
  display: flex;
  align-items: center;
}
.header nav li {
  padding: 0 10px;
  margin-right: 2.5em;
  text-align: right;
  font-size: clamp(1rem, 1.1vw, 1.1rem);
}
.header nav li:nth-child(n+5):nth-child(-n+9) {
  margin-right: 5px;
}

.header nav li i {
  font-size: 1.2em;
}
.header nav li:last-child {
  font-size: 1.5em;
  margin: -0.5em 0 0 -1.5em;
}
.header nav li:last-child i {
  font-size: 0.8em;
  margin-right: 8px;
}

.header nav li a {
  color: #282828;

}
.header nav li a:hover {
	color:#b69ab7;
}

.header nav li:nth-child(n+5) a {
  color: #693654;
}
.header nav li:nth-child(n+5) a:hover {
  opacity: 0.7;
}
.header nav li:last-child a {
  display: block;
  padding: 3px 10px;
  border: #693654 1px solid;
  border-radius: 6px;
}
.header nav li:last-child a:hover {
	background: #693654;
	color:#fff;
	opacity: 1;
}
.header nav li.spacerH {
	display: none;
}
@media only screen and (max-width: 1300px) {
.header nav ul {
  display: flex;
  flex-wrap: wrap-reverse;
	justify-content: flex-end;
}
.header nav li.spacerH {
	display: block;
	width: 100%;
	height: 15px;
}
}
@media only screen and (max-width: 1024px) {
  .header nav li {
    font-size: 0.9rem;
    margin-left: 10px;
  }
}
@media only screen and (max-width: 980px) {
  .header nav li {
    font-size: 0.85rem;
    margin-left: 6px;
  }
}



/* footer |
------------------------------------------------------- */
.footer-inner {
  width: 90%;
  max-width: 1500px;
  margin: 5% auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#footerL {
	flex: 0 0 35%;
	  font-size: clamp(1rem, 1.1vw, 1.2rem);

}
#footerC {
	flex: 0 0 30%;
}
#footerR {
	flex: 0 0 30%;
}

#footerC,
#footerR {
  height: 350px;
}

#footerC img,
#footerR iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


#footerL img.flogo {
	width: 60%;
	max-width: 130px;
}
#footerL img.ftxt {
		width: 90%;
	max-width: 320px;
margin-bottom: 4%;
}


ul.f-sns {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
  margin: 1em 0 0;
  justify-content: flex-start;
}

ul.f-sns li {
  padding: 0;
  margin: 0 0.5em 0 0;
}

ul.f-sns li a {
  color: #693654;
		  font-size: clamp(1.3rem, 1.5vw, 1.5rem);

}
ul.f-sns li a:hover {
  opacity: 0.7;
}
#footerL p {
	margin-bottom:0;
}
#footerL p.fTel {
	margin:0.3em 0 0;
}
#footerL p.fTel a {
  font-size: 2em;
  font-weight: bold;
	line-height: 1.25;
}
#footerL p.fTel a:hover {
	color:#713455;
}

#footerL p.fTel span {
	font-size:0.9em;
}
#footerL p.fTel a i {
  font-size: 0.7em;
  margin-right: 5px;
}
@media only screen and (max-width: 1520px) {
.footer-inner {
    width: 94%;
  }
}
@media only screen and (max-width: 1220px) {
#footerL p.fTel a {
    font-size: 1.8em;
  }
}

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



#footerC,
#footerR {
  height: 300px;
}


}
@media only screen and (max-width: 1220px) {
.footer-inner {
		flex-wrap:wrap;
	}
	#footerL {
		flex: 0 0 100%;
		margin: 0 0 1.5em;
	}
	#footerC,
#footerR {
  flex: 0 0 48%;
}
}

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



#footerC,
#footerR {
  height: 250px;
}
#footerL img.flogo {
	max-width: 140px;
}

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

.footer-inner {
	  width: 90%;
  max-width: none;
  margin: 5% 5% 0 5%;
		flex-direction: column;
	align-items: stretch;
	}


#footerC,
  #footerR {
    flex: none;
    width: 100%;
    height: auto;
    margin-bottom: 1em;
  }

  #footerC img,
  #footerR iframe {
    height: auto;
    aspect-ratio: 4 / 3;
  }
	#footerL img.flogo {
	max-width: 120px;
}
}



#footerB {
  background: #bea2b1;
  margin-top: 2%;
  padding: 1% 0 3%;
  text-align: center;
}
#footerB ul {
  margin: 10px auto 20px;
  text-align: center;
}
#footerB ul li {
  display: inline-block;
  padding: 0 15px 0 15px;
  border-left: 1px solid #fff;
  line-height: 12px;
}
#footerB ul li:first-child {
  border: none;
}
#footerB ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 0.9em;
}
#footerB ul li a:hover {
  color: #713455;
}
#footerB p {
  font-size: 0.8em;
  color: #fff;
}
@media only screen and (max-width: 1500px) {
#footerB {
  padding: 1% 0 5%;
}
}
@media only screen and (max-width: 1200px) {
#footerB {
  padding: 1% 0 8%;
}
}
@media only screen and (max-width: 1100px) {
  #footerB ul li a {
    font-size: 0.8rem;
  }
  #footerB p {
    font-size: 0.7rem;
  }
}
@media only screen and (max-width: 980px) {
#footerB {
  padding: 1% 0 12%;
}
}
@media only screen and (max-width: 820px) {
#footerB {
  padding: 1% 0 20%;
}
}
#pagetop {
  margin-top: 7px;
  float: right;
  position: fixed;
  right: 50px;
  bottom: 120px;
  cursor: pointer;
  width: 40px;
}
#pagetop img {
  width: 50px;
}
@media only screen and (max-width: 820px) {
  #pagetop {
    right: 30px;
    bottom: 120px;
  }
}
@media only screen and (max-width: 640px) {
  #pagetop {
    right: 25px;
    bottom: 75px;
  }
}
/* sp_menuT | 3本線 |
------------------------------------------------------- */
#sp_menuT {
  display: none;
}
@media only screen and (max-width: 820px) {
  #sp_menuT {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
    width: 100%;
    text-align: center;
  }
}
.MenuBtn.Style01 {
  position: fixed;
  top: 10px;
  right: 20px;
  z-index: 2;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  background: rgba(255, 255, 255, 0.4);
}
.MenuBtn.Style01 .MenuBtn-BarFrame {
  position: relative;
  display: block;
  width: 35px;
  height: 1px;
}
@media only screen and (max-width: 820px) {
  .MenuBtn.Style01 {
    position: fixed;
  }
}
@media only screen and (max-width: 640px) {
  .MenuBtn.Style01 {
    top: 5px;
    right: 10px;
  }
}
.MenuBtn.Style01 .MenuBtn-BarFrame-FirstBar {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #693654;
  transition: all .15s linear;
}
.MenuBtn.Style01 .MenuBtn-BarFrame-SecondBar {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #693654;
  transition: all .15s linear;
  transform: translateY(-8px) rotate(0deg);
}
.MenuBtn.Style01 .MenuBtn-BarFrame-ThirdBar {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #693654;
  transition: all .15s linear;
  transform: translateY(8px) rotate(0deg);
}
.MenuBtn.Style01.isClosed {
  background: none;
}
.MenuBtn.Style01.isClosed .MenuBtn-BarFrame-FirstBar {
  opacity: 0;
}
.MenuBtn.Style01.isClosed .MenuBtn-BarFrame-SecondBar {
  transform: translateY(0) rotate(45deg);
  background-color: #fff;
}
.MenuBtn.Style01.isClosed .MenuBtn-BarFrame-ThirdBar {
  transform: translateY(0) rotate(-45deg);
  background-color: #fff;
}
/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn {
  justify-content: center;
  align-items: center;
  background: none;
}
/*----------------------------
* メニュー本体
*----------------------------*/
.menu {
  position: fixed;
  /*position: absolute;*/
  top: 0;
  right: 0;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 30px;
  background: rgba(105, 54, 84, 0.95);
}
.menu__item {
  width: 100%;
  height: auto;
  padding: .5em 1em;
  text-align: center;
  box-sizing: border-box;
  font-size: 1.1rem;
}
.menu__item a {
  color: #fff !important;
}
/*----------------------------
* アニメーション部分
*----------------------------*/
/* アニメーション前のメニューの状態 */
.menu {
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s linear;
}
/* アニメーション後のメニューの状態 */
.menu.is-active {
  pointer-events: auto;
  opacity: 1;
}
ul.navsns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 5% auto 1%;
  width: 90%;
  padding: 0;
}
ul.navsns li {
  list-style: none;
}
ul.navsns li:last-child {
  flex-basis: 100%;
  text-align: center;
  margin-top: 5px;
}
ul.navsns li a {
  color: #fff;
  font-size: 1.5em;
  text-decoration: none;
}
ul.navsns li:last-child a {
  display: inline-block;
  padding: 6px 14px;
  border: 1px solid #fff;
  border-radius: 6px;
}
ul.navsns li:last-child a i {
  font-size: 0.8em;
  margin-right: 5px;
}



/* cta 追尾・footer固定メニュー
------------------------------------------------------- */
.pc-fixed-buttons {
    position: fixed;
    right: 30px;
    bottom: -2px;
    display: flex;
    flex-direction: row;
    gap: 6px;
    z-index: 100;
  }

  .pc-fixed-buttons a {
    width: 110px;
    height: 110px;
    background: #ffffff;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
    text-decoration: none;
    color: #693654;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    line-height: 1.3;
    transform-origin: bottom center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
	  text-align: center;

  }

  .pc-fixed-buttons i {
    font-size: 1.6rem;
    margin-bottom: 8px;
  }

  .pc-fixed-buttons a:hover {
    transform: scaleY(1.06);
    box-shadow: 0 15px 35px rgba(0,0,0,0.18);

  }

  .pc-fixed-buttons a.btn-line { border: #546e33 1px solid;
color:#546e33;}
  .pc-fixed-buttons a.btn-tel  { border: #32516b 1px solid;
color:#32516b; }
  .pc-fixed-buttons a.btn-map  { border: #713455 1px solid;
color:#713455; }


@media only screen and (max-width: 1500px) {
  .pc-fixed-buttons a {
    width: 100px;
    height: 100px;
}
}
#sp_menuF {
	display:none;
}

@media only screen and (max-width: 640px) {
.pc-fixed-buttons {
	display:none;
}
#sp_menuF{
	display:block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 70px;
    z-index: 100;
}
.btn-area a{
    display: block;
    float: left;
    width: 33.12%;
    height: 70px;
    line-height: 1.25;
    text-align: center;
    font-size: 80%;
    background: rgba(84,110, 51, 0.96);
    color: #fff;
	padding-top:9px;
	    border-right: 1px solid #fff;

}
	.btn-area a.line-btn {
	background: rgba(84,110, 51, 0.96);
	}
	.btn-area a.tel-btn {
	background: rgba(50,81, 107, 0.96);
	}
	.btn-area a.acc-btn {
	background: rgba(113,52, 85, 0.96);
	}

	.btn-area a:last-child {
		border-right:none;
	}

.btn-area a:hover {
	text-decoration:none;
    background: #f49a02;
}

.btn-area i {
	display: block;
	font-size: 130%;
	padding-bottom:5px;
}
	}

	@media only screen and (max-width: 311px) {
.btn-area a{
    width: 33%;
	}
}


/* contact-section
------------------------------------------------------- */


.contact-section {
  text-align: center;
/*  padding: 4rem 2rem;*/
  padding: 0;
}

.contact-section h2 {
  color: #713455;
    font-weight: bold;
	font-size: clamp(1.5rem, 2.2vw, 2.5rem);
}

.contact-box {
  background: #d9ccd3;
  padding: 3rem 2rem 2rem;
  display: flex;
  justify-content: center;
  gap: 6rem;
}

.contact-item {
  max-width: 440px;
	width: 80%;
}

.contact-lead {
  color: #713455;
  margin-bottom: 0.5rem;
	font-size: clamp(1.1rem, 1.3vw, 1.4rem);
	font-weight:500;
}

.contact-btn {
  display: inline-block;
  background: #713455;
  padding: 0.8rem 3.5rem;
  font-size: clamp(1.3rem, 1.5vw, 1.8rem);
  text-decoration: none;
  transition: 0.3s ease;
	width: 100%;	/*nishida*/
}
.contact-item a {
	color: #fff;
}
.contact-btn:hover {
  background:#8a4a6b;
}
.contact-section .tel i {
	font-size:0.8em;
	margin-right:5px;
}
.contact-section .line i {
	font-size:0.9em;
	margin-right:15px;
}
.contact-note {
  margin-top: 1rem;
 font-size: clamp(0.9rem, 1vw, 1.2rem);
  color: #713455;
  line-height: 1.6;
}
@media (max-width: 1220px) {

	.contact-box {
  gap: 5rem;
}
	.contact-item {
  max-width: 400px;
	width: 70%;
}
		.contact-btn {
				width: 100%; /*nishida*/
	}
}
@media (max-width: 1024px) {
	.contact-box {
  gap: 4rem;
}

		.contact-btn {
				width: 100%;/*nishida*/
			   font-size: 1.2rem;


	}
}
@media only screen and (max-width: 940px) {
	.contact-btn {

  font-size: 1rem;
	}
}
@media (max-width: 840px) {


  .contact-box {

    flex-direction: column;
    gap: 0.3rem;
	  align-items: center;
 padding: 1.5rem 1rem;
  }
	.contact-item {
	width: 100%;
}
.contact-btn {
  display: block;
  margin: 0 auto;
  background: #713455;
  padding: 0.8rem 1rem;
  font-size: clamp(1.3rem, 1.5vw, 1.8rem);
  text-decoration: none;
  transition: 0.3s ease;
  width: 100%;/*nishida*/
}
}

@media (max-width: 620px) {

.contact-section {
  padding: 0 1rem;
}
.contact-box {
  padding: 1.5rem 0.5rem;
}
}

@media (max-width: 420px) {
.contact-section {
  padding: 0 0;
}
.contact-box {
    gap: 0.1rem;
	}
	
.contact-btn {
	 font-size: 1rem;
	}
	}


/* insta-shop-section
------------------------------------------------------- */

.insta-shop-section {
  padding: 4rem 2rem;
}

.insta-shop-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  gap: 6rem;
  align-items: stretch;
}

@media only screen and (max-width: 1400px) {
.insta-shop-inner {
	gap: 4rem;
	}
}
@media only screen and (max-width: 1200px) {
	.insta-shop-section {
  padding: 2rem 2rem;
}
.insta-shop-inner {
	gap: 2rem;
	}
}

@media only screen and (max-width: 900px) {
	.insta-shop-section {
  padding: 1.5rem 2rem 1rem;
}

}
@media only screen and (max-width: 620px) {
	.insta-shop-section {
  padding: 1rem 2rem 3rem;
}

}
@media only screen and (max-width: 540px) {
	.insta-shop-section {
  padding: 1rem 0.5rem 3rem;
}
	
}
.insta-box {
  flex: 1;
  background: url("../images/common/insta_bg.png") no-repeat center/cover;
  border-radius: 16px;
  padding: 2rem;
  color: #fff;
	text-align: center;
	position: relative;
}

.insta-box img#deco {
	position: absolute;
	bottom: 5%;
	right:2%;
	max-width: 180px;
	width: 25%;
}

.insta-title {
 font-size: clamp(1.5rem, 1.5vw, 1.8rem);
  margin-bottom: 1.5rem;
}

.insta-card {
  background: #fff;
  border-radius: 12px;
  padding: 1rem 3rem 0.5em;
  display: flex;
  align-items: center;
  gap: 2rem;
}

.insta-qr img {
  width: 80%;
  height: auto;
}

.insta-info {
	width: 65%;
  text-align: center;
	line-height: 1;
}
.insta-logo {
  max-width: 140px;
  margin-bottom: 0;
}

.insta-id {
  color: #333;
 font-size: clamp(1rem, 1.3vw, 1.5rem);
	font-family: 'メイリオ', Meiryo,'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN',sans-serif;

}
.insta-boxso {
	display: none;
}
@media only screen and (max-width: 768px) {
		.insta-box {
		display: none;
	}
.insta-boxso {
		display: block;
}
	
}


/*@media only screen and (max-width: 640px) {
	.insta-card {
		gap: 1rem;
}
.insta-qr img {
  width: 180px;
}
.insta-logo {
  max-width: 120px;
}
}
@media only screen and (max-width: 570px) {
.insta-card {
  padding: 1rem 1.5rem 0.5em;
}

}
@media only screen and (max-width: 540px) {
	.insta-box img#deco {
	width: 35%;
}
	.insta-title {
 font-size: 1.3rem;
	}
.insta-card {
  flex-direction: column;
  align-items: center;
}

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

		.insta-title {
 font-size: 1.1rem;
	}
}
@media only screen and (max-width: 360px) {
.insta-box {
  padding: 1rem;
	}
.insta-qr img {
  width: 160px;
}
	.insta-info {
	width: auto;
	}
	.insta-title {
 font-size: 0.9rem;
	}
}*/

.shop-links {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  justify-content: center;
}

.shop-link,.insta-boxs {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.2rem 1.5rem;
  border: 2px solid #7b3f5d;
  border-radius: 12px;
  text-decoration: none;
  color: #7b3f5d;
  font-size: 1.1rem;
  transition: 0.3s;
  background: #fff;
}
.insta-boxs {
  color: #fff;
  background: url("../images/common/insta_bg.png") no-repeat center/cover;
}

.insta-boxso a {
	 color: #fff;
}

@media only screen and (max-width: 1200px) {
	.shop-links {
	  gap: 0.5rem;
	}
.shop-link,.insta-boxs {
	gap: 1rem;
	}
}

@media only screen and (max-width: 1024px) {
	.shop-link,.insta-boxs {
	font-size: 1rem;
	}
}

.shop-link img,.insta-boxs img {
  width: 40px;
  height: auto;
}

.shop-link:hover {
  background: #f7f0f4;
}
.insta-boxs:hover {
	color: #f7f0f4;
}
@media (max-width: 930px) {

  .insta-shop-inner {
    flex-direction: column;
  }

  .shop-links {
    justify-content: flex-start;
  }
.shop-link,.insta-boxs {
	gap: 2rem;
	font-size: 1.1rem;
	}
}

@media only screen and (max-width: 500px) {
.shop-link,.insta-boxs {
		gap: 1rem;
		font-size: 1rem;
}
	
}


/* pageHead
------------------------------------------------------- */
.pageHeader {
  background: url("https://www.asukaya.com/wp-content/themes/asukaya/assets/images/pages/pageBK03.jpg") center; /* nishida */
	background-color:rgba(0,0,0,0.20);
background-blend-mode:darken;
  background-size: cover;
  color: #fff;
  padding: 5% 0;
}

.pageHeader h3 {
	font-size: clamp(1.5rem, 3vw, 4rem);
	color:#fff;
	font-weight: bold;
	margin-bottom:2%;
	position: relative;
	padding-top: 30px;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4);
}
.pageHeader h3::before{
	position: absolute;
	content: attr(title);
	top:0;
	font-size: clamp(0.9rem, 1.25vw, 1.5rem);
	font-weight:700;
	color:#fff;
}
@media only screen and (max-width: 1220px) {
.pageHeader h3 {
	padding-top: 20px;


}
}
@media only screen and (max-width: 820px) {
.pageHeader h3 {
	font-size: 180%;

}
}

@media only screen and (max-width: 540px) {
.pageHeader h3 {
	font-size: 130%;
}
}
