@charset "UTF-8";

/* base */
html {
  height: 100%;
  -webkit-text-size-adjust: 100%;
}

* {
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-weight: 400;
  color: #000;
  overflow-x: hidden;
  letter-spacing: 0;
  font-display: swap;
}

div:after, ul:after, nav:after, li:after, section:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}

br {
  line-height: 1;
}

img {
  border: 0px;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  max-width: 100%;
}

h1, h2, h3, h4, h5, p, a, td, th {
  margin: 0;
  padding: 0;
  line-height: 100%;
  font-weight: 300;
  text-align: left;
}

span, strong {
  margin: 0;
  padding: 0;
  line-height: 100%;
}

*,
*:after,
*::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

ul, ol {
  list-style-type: none;
  margin: 0;
  padding: 0;
  line-height: 1;
}

dl {
  list-style-type: none;
  margin: 0 0 1em 0;
  padding: 0;
  line-height: 0%;
}

dl dt, dl dd {
  margin: 0;
  padding: 0;
  line-height: normal;
}

dl dt {
  font-weight: bold;
}

form, input, textarea, dl, dt, dd {
  margin: 0;
  padding: 0;
}

hr {
  display: none;
}

article, section {
  margin: 0;
  padding: 0;
}

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

img{
  width: 100%;
}

/* ==========================================================================//
//
// sp
//
// ========================================================================== */
/* components
---------------------------------------------------------- */
html {
  font-size: calc(100vw / 52.0);
}

body {
  font-size: 1.4rem;
}

.sp {
  display: block;
}

.pc {
  display: none;
}

/* header
---------------------------------------------------------- */
.l-hd{
  position: relative;
}
.l-hd__link{
  display: flex;
  position: absolute;
  top: 2.7rem;
  left: 0;
}
.l-hd__link a{
  display: block;
}
.l-hd__linkItem{
  width: 4rem;
}
.l-hd.on .l-hd__hamburgerWrap span:nth-child(1) {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
      -ms-transform: translate(-50%, -50%) rotate(135deg);
          transform: translate(-50%, -50%) rotate(135deg);
}
.l-hd.on .l-hd__hamburgerWrap span:nth-child(2) {
  width: 0;
  height: 0;
}
.l-hd.on .l-hd__hamburgerWrap span:nth-child(3) {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
      -ms-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}
.l-hd__hamburger {
  width: 4.8rem;
  height: 4.8rem;
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 9999;
}
.l-hd__hamburgerWrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.l-hd__hamburgerWrap span {
  display: block;
  width: 2.2rem;
  height: 2px;
  background: #fff;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.l-hd__hamburgerWrap span:nth-child(2) {
  margin: 0.6rem 0;
}
.l-hd__nav {
  display: block;
  background:rgba(0,0,0,0.6);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9998;
  opacity: 0;
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  overflow-y: scroll;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
}
.l-hd__nav.on {
  opacity: 1;
  pointer-events: all;
}
.l-hd__navList {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  padding: 9rem 3rem;
  margin: 0 auto 0 0;
  background: #ECC9C7;
}
.l-hd__navItem + .l-hd__navItem{
  margin-top: 2rem;
}
.l-hd__navItem a{
  display: block;
  padding: 10px 0;
  font-size: 16px;
  font-weight: 500;
}

/* qa
---------------------------------------------------------- */
.p-qa__ttl{
  cursor: pointer;
  transition: all .3s;
}
.p-qa__ttl:hover{
  opacity: 0.6;
}
.p-qa__detail{
  display: none;
}

/* form
---------------------------------------------------------- */
.p-contact{
  margin: 6rem 0;
  padding: 0 2rem;
}
.p-contact__ttl{
  margin-bottom: 2rem;
  font-size: 2.6rem;
  font-weight: 500;
  color: #9f6d79;
  text-align: center;
}
.p-contact__formList{
  margin-bottom: 6rem;
}
.p-contact__formItem + .p-contact__formItem{
  margin-top: 4.2rem;
}
.p-contact__formItemTitle{
  margin-bottom: 1rem;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.p-contact__formItemTitle .must{
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.3rem 0.5rem;
  font-size: 1.4rem;
  color: #fff;
  background: #d50606;
  border-radius: 3px;
}
.p-contact__formItemInput input, .p-contact__formItemInput textarea, .p-contact__formItemInput select{
  width: 100%;
  padding: 1.8rem;
  font-size: 16px;
  background: #f5f5f5;
  border: none;
}
.p-contact__formItemInput textarea{
  width: 100%!important;
  min-height: 220px;
}
.p-contact__formItemInput label{
  font-size: 16px;
}
.p-contact__formItemInput label + label{
  margin-left: 2rem!important;
}
.p-contact__formItemInput input[type=radio]{
  width: auto;
}
.p-contact__formItemInput input + input{
  margin-top: 2rem;
}
.p-contact__formItemInput select + select{
  margin-top: 2rem;
}
.p-contact__formItemInput_calItem + .p-contact__formItemInput_calItem{
  margin-top: 3rem;
}
.p-contact__formItemInputCal01{
  margin-bottom: 1rem;
}
.p-contact__formItemInputTxt01{
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
}
.p-contact__formItemInputTxt02{
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: 500;
}
.p-contact__formItemInputTxt03{
  margin-top: 1rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-contact__formBtn{
  text-align: center;
}
.p-contact__formBtn button{
  font-size: 1.6rem;
  padding: 1.4rem 4rem;
  background: #9f6d79;
  color: #fff;
  border: none;
}

/* footer
---------------------------------------------------------- */
.l-ft{
  position: relative;
  background: #E1B1B0;
}
.l-ft__inner{
  position: absolute;
  top: 16rem;
  left: 0;
}
.l-ft__item{
  position: relative;
}
.l-ft__itemDl{
  position: relative;
}
.l-ft__itemDd{
  display: none;
  position: absolute;
  top: 3rem;
  left: 1rem;
  z-index: 1;
  background: #ECCAC7;
  pointer-events: none;
  transition: all .2s;
}
.l-ft__itemDd.active{
  opacity: 1;
  pointer-events: all;
}
.l-ft__shopName{
  padding: 1rem;
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
  font-weight: 500;
  background: #9D6A77;
}
.l-ft__shopDetail{
  padding: 1rem;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
.l-ft__itemMap{
  padding: 66.66% 1rem 1rem;
  overflow: hidden;
  position: relative;
}
.l-ft__itemMap iframe{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* bnr
---------------------------------------------------------- */
.c-bnr__box{
  position: fixed;
  bottom: 10px;
  right: 0;
  z-index: 1;
  opacity: 0;
  transition: all .3s;
}
.c-bnr__box a{
  display: block;
  width: 95%;
  margin: 0 auto;
}
.c-bnr__box.active{
  opacity: 1;
}

/* page
---------------------------------------------------------- */
.page{
  padding-bottom: 8rem;
  background: #f5e8f2;
}
.l-hd{
  height: 60px;
  background: #e1b1af;
}
.l-hd__link{
  left: auto;
  right: 0;
  top: 2rem;
}
.l-hd__linkItem{
  width: 5.5rem;
}
.l-hd__hamburger{
  width: 6rem;
  height: 6rem;
  right: auto;
  left: 0;
}
.l-hd__logo{
  width: 16rem;
  position: absolute;
  top: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
}

/* company
---------------------------------------------------------- */
.p-company__wrap{
  padding: 6rem 2rem;
}
.p-company__ttl{
  margin-bottom: 4rem;
  font-size: 1.8rem;
  font-weight: 500;
}
.p-company__dl {
  margin-bottom: 4rem;
}
.p-company__dt{
  margin-bottom: 1rem;
  font-size: 1.8rem;
  font-weight: 500;
}
.p-company__dd{
  font-size: 1.4rem;
  font-weight: 400;
}

.l-ft__itemDd{
  position: relative;
}
.close{
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  right: 0;
}

/* アコーディオン */
.accordion__item {
  cursor: pointer;
}

/* アコーディオンのタイトル */
.accordion__title {
  position: relative;
  cursor: pointer;
}

/* (+)アイコン */
.accordion__title::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.3s;
}

.accordion__content {
  display: none;
  background: #deacab;
}

.accordion__content.is-open {
  display: block;
}

/*====================================================================
.s_05 .accordion_one
====================================================================*/
.s_05 .accordion_one .accordion_header {
	cursor: pointer;
	transition-duration: 0.2s;
}

.s_05 .accordion_one .accordion_inner {
	display: none;
  width: 100%;
  background: #deacab;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
}

.s_05 .accordion_one .accordion_inner p.txt_a_ac {
	margin: 0;
}
.s_05 .accordion_one .accordion_inner .closeArea {
	width: 180px;
	margin: 0 auto;
}
.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #9D6A77;
	padding: 15px 15px 15px 20px;
	text-decoration: none;
	line-height: 1.3;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	position: relative;
	cursor: pointer;
	transition-duration: 0.2s;
}

.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 10%;
	width: 30px;
	height: 30px;
	margin-top: -15px;
}
.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 18px;
	height: 18px;
}
.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:before, .s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:after {
	content: '';
	background-color: #fff;
	border-radius: 10px;
	width: 18px;
	height: 4px;
	position: absolute;
	top: 7px;
	left: 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(45deg);
	transform-origin: center center;
}
.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:before {
	width: 4px;
	height: 18px;
	top: 0;
	left: 7px;
}
@media screen and (max-width: 1024px) {
	.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn {
		font-size: 14px;
	}
}
.s_05_lp .accordion_one .accordion_inner{
  background: #e4dfa5;
}
.s_05_lp.--blue .accordion_one .accordion_inner{
  background: #ccd0db;
}
.s_05.--blue .accordion_one .accordion_inner .closeArea .close_box a.close_btn{
  background: #2c4f7a;
}
.tenpo_btn a{
  display: block;
  margin-top: 10px;
  padding: 14px 0;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: .08em;
  color: #5f4947;
  text-align: center;
  border: solid 1px #5f4947;
}
.tenpo_btn a::before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  margin-right: 10px;
  background: url(../../../aseets/images/common/ico_mail_pink.svg) no-repeat;
  background-size: contain;
}
.--j .tenpo_btn{
  margin-bottom: 20px;
}
.--j .tenpo_btn a{
  color: #274d71;
  border: solid 1px #274d71;
}
.--j .tenpo_btn a::before{
  background: url(../../../aseets/images/common/ico_mail_blue.svg) no-repeat;
  background-size: contain;
}




/* ==========================================================================//
//
// pc
//
// ========================================================================== */
@media screen and (min-width: 768px) {
  /* setting
  ---------------------------------------------------------- */
  /* components
  ---------------------------------------------------------- */
  html {
    font-size: 62.5%;
  }
  body {
    font-size: 14px;
  }
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }

  /* header
  ---------------------------------------------------------- */
  .l-hd{
    height: 75px;
  }
  .l-hd__hamburgerWrap span {
    height: 4px;
    background: #fff;
  }
  .l-hd__navList{
    width: 55rem;
    height: 100vh;
    padding: 8rem 6rem;
  }
  

  /* form
  ---------------------------------------------------------- */
  .p-contact{
    max-width: 64rem;
    margin: 6rem auto;
  }

  /* footer
  ---------------------------------------------------------- */
  .l-ft__inner{
    width: 36.45vw;
    display: flex;
    top: 12.44791666666667vw;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .l-ft__itemDd{
    width: max-content;
  }

  /* bnr
  ---------------------------------------------------------- */
  .c-bnr__box{
    bottom: auto;
    top: 90px;
    right: 20px;
  }
  .c-bnr__box a{
    width: 4vw;
    margin: 0 0 0 auto;
  }

  /* company
  ---------------------------------------------------------- */
  .p-company__wrap{
    max-width: 660px;
    margin: 0 auto;
  }
  .s_05 .accordion_one .accordion_inner{
    width: 390px;
  }

  .s_05_lp .accordion_one .accordion_inner{
    width: 640px;
  }

  .accordion{
    margin: 0 auto;
  }
  .accordion img{
    display: block;
    width: 200px;
    margin: 0 auto;
  }
  .accordion__item{
    width: 360px;
  }

  .l-ft__flexBox{
    display: flex;
    justify-content: center;
  }
  .l-ft__flexItemBox + .l-ft__flexItemBox{
    margin-left: 60px;
  }
}