﻿.c-heading__h1__inner{
  text-align: center;
  font-size: 1.875rem;
  color: #095540;
  line-height: 1;
  padding: 0;
}
.c-heading__h1__inner + p{
  text-align: center;
  font-size: 1rem;
  color: #000;
  margin: 32px 9.178743961352657vw 0;
  line-height: 1.6;
}
.c-heading__h1__inner:after,
.c-heading__h1__inner:before{
  display: none;
}
.l-main{
  margin: 0 auto;
  padding-top: 60px;
}
.l-section-body.contact-faq-list{
  background: #F7F7F7;
  border-radius: 2.4154589371980677vw;
  margin: 7.246376811594203vw 3.6231884057971016vw 9.66183574879227vw;
  padding: 6.038647342995169vw 0 9.66183574879227vw 0;
}
.c-heading__h1:after{
  display: none;
}

/*よくある質問タイトル*/

.l-section-body .c-heading__h2{
  color: #095540;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1;
  position: relative;
  margin: 0 0 4.5893719806763285vw 4.830917874396135vw;
  padding: 0 0 0 15px;
}
.c-heading__h2::before{
  display: inline-block;
  content: '';
  width: 5px;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  background: #095540;
  border-radius: 1px;
}
/*よくある質問タイトル*/

/*よくある質問リスト上*/
.p-faq-wrapper-top{
  margin: 0 4.830917874396135vw 0;
}
.p-faq-wrapper-top .p-faq-content--question > *{
  display: flex;
  justify-content: start;
  align-items: center;
}
.p-faq-wrapper-top .p-faq-content--question > a{
  text-decoration: none;
  color: #000;
}
.p-faq-wrapper-top{
  background: url(../img/usr/contact/list_bg.png) left top no-repeat;  
}
.p-faq-wrapper-top .p-faq-content{
  padding: 7.246376811594203vw 0 6.763285024154589vw 0.966183574879227vw;
  background: url(../img/usr/contact/list_bg.png) left bottom no-repeat;  
}
.p-faq-wrapper-top li:last-child .p-faq-content{
  background: none;
}
.p-faq-wrapper-top li .p-faq-content a{
  background: url(../img/usr/contact/shape.png) no-repeat center right 0;
}
.p-faq-wrapper-top li .p-faq-content a:hover .p-faq-content__text{
  text-decoration: underline; 
}
.p-faq-wrapper-top li:last-child{
  margin: 0;
}

.p-faq-wrapper-top .p-faq-content__heading{
  font-size: 18px;
  font-weight: bold;
  color: #095540;
  line-height: 1;
}
.p-faq-wrapper-top .p-faq-content__text{
  padding: 0 4.5893719806763285vw  0 1.932367149758454vw;
  line-height: 1.6;
  font-size: 0.875rem;
}
.p-faq-wrapper-top .p-faq-content__text a{
  font-size: 0.875rem;
  color: #000000;
  line-height: 1.4;
  text-decoration: none;
}
.p-faq-wrapper-top .p-faq-content__text a:hover{
  text-decoration: underline;
}
/*よくある質問リスト上*/

/*よくある質問リスト下*/
.p-faq-wrapper-bottom{
  margin: 0 3.6231884057971016vw 0;
  padding: 0;
}
.p-faq-wrapper-bottom li{
  background: #FFF;
  border: 1px solid #DDDDDD;
  border-radius: 5px;
  margin-bottom: 3.6231884057971016vw;
  border-radius: 1.2077294685990339vw;
}
.p-faq-wrapper-bottom li:last-child{
  margin-bottom: 0;
}
.p-faq-wrapper-bottom li dl.p-faq > * {
  padding: 4.3478260869565215vw 3.21256038647343vw 3.140096618357488vw 4.057971014492754vw;
  display: block;
}
.p-faq-wrapper-bottom li dl.p-faq > * .p-faq-content--question{
  display: flex;
  justify-content: start;
  align-items: center;
  margin-bottom: 4.5893719806763285vw;
  background: url(../img/usr/contact/shape.png) no-repeat center right;
}
.p-faq-wrapper-bottom li dl.p-faq > a{
  text-decoration: none;
  color: #000;
}
.p-faq-wrapper-bottom li dl.p-faq > a:hover{
  opacity: 0.8;
}
.p-faq-wrapper-bottom li dl.p-faq .p-faq-content__heading{
  color: #095540;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.2;
}
.p-faq-wrapper-bottom li dl.p-faq dt.p-faq-content--question .p-faq-content__text{
  color: #095540;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.2;
}
.p-faq-wrapper-bottom li dl.p-faq dd.p-faq-content--answer .p-faq-content__text *{
  color: #000000;
  font-size: 0.875rem;
  line-height: 1.6;
}
/*よくある質問リスト下*/
.contact-faq-list-memo{
  text-align: center;
  color: #000000;
  font-size: 1rem;
  margin: 0 9.178743961352657vw 9.66183574879227vw;
}

/*よくある質問リスト静的リンク*/
.contact-faq-staticlist{
  margin: 0 3.6231884057971016vw 9.420289855072465vw;
}
.contact-faq-staticlist-item{
  background: #F7F7F7;
  border-radius: 10px;
  margin-bottom: 20px;
  padding: 40px 4.830917874396135vw 5.314009661835748vw;
}
.contact-faq-staticlist-item:last-of-type{
  margin-bottom: 4.830917874396135vw;
}
.contact-faq-staticlist-item h3{
  font-weight: bold;
  font-size: 1.125rem;
  color: #095540;
  line-height: 1;
  position: relative;
  margin: 0 0 4.5893719806763285vw;
  padding: 0 0 0 13px;
}
.contact-faq-staticlist-item h3::before{
  display: inline-block;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  width: 5px;
  height: 20px;
  background: #095540;
}
.contact-faq-staticlist-item:last-child{
  margin-bottom: 0;
}
.contact-faq-staticlist-item-dtail{
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
}
.contact-faq-staticlist-item-dtail *{
  margin: 0 0 0 3.140096618357488vw;
  color: #000;
  font-size: 0.813rem;
  line-height: 1.6;
}
.contact-faq-staticlist-item-dtail a{
  display: block;
  width: 100%;
  margin: 3.864734299516908vw 6.038647342995169vw 0;
  height: 9.66183574879227vw;
  box-sizing: border-box;
  border: 1px solid #000000;
  border-radius: 30px;
  background: #fff url(../img/usr/contact/shape.png) right 19px center no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  margin-left: auto;
  font-size: 0.875rem;
}
.contact-faq-staticlist-item-dtail a:hover{
  text-decoration: none;
  opacity: 0.8;
}
.contact-faq-staticlist-item + ul{
  font-size: 13px;
  color: #000;
  line-height: 1.2;
  margin: 0 0 0 12px;
}
.contact-faq-staticlist-item + ul li{
  font-size: 13px;
  color: #000;
  line-height: 1.2;
  margin-bottom: 8px;
  padding: 0 0 0 14px;
  position: relative;
}
.contact-faq-staticlist-item + ul li:last-child{
  margin: 0;
}
.contact-faq-staticlist-item + ul li::before{
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}
/*よくある質問リスト静的リンク*/

/*よくある質問リストお問い合わせ*/
div.contact{
  padding: 0 3.6231884057971016vw 12.077294685990339vw;
}
.contact_item{
  margin: 0 0;
  background: #F7F7F7;
  border-radius: 2.4154589371980677vw;
  margin: 0 0 2.4154589371980677vw;
  padding: 4.5893719806763285vw 6.038647342995169vw 5.072463768115942vw;
  box-sizing: border-box;
  text-align: center;
}
.contact_item p:nth-child(1){
  font-size: 1.125rem;
  font-weight: bold;
  color: #095540;
  line-height: 1.4;
  margin-bottom: 2.1739130434782608vw;
}
.contact_item p:nth-child(2){
  background: #fff; 
  border-radius: 5px;
  height: 14.492753623188406vw;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 3.6231884057971016vw;
}
.contact_item p:nth-child(3),
.contact_item p:nth-child(4){
  font-size: 0.813rem;
  color: #000;
  line-height: 1.5;
}
.contact_item *{
  line-height: 1;
}
/*よくある質問リストお問い合わせ*/

/*お問い合わせ詳細*/
.contact.c-heading__h1 {
  margin: 20px 10px;
  padding: 0;
}
.contact.c-heading__h1 .c-heading__h1__inner {
  line-height: 1.5;
}
#contact_detal{
  width: auto;
}
#shop_contact_wrap{
  background: #F7F7F7;
  margin: 0;
  padding: 0 3.6231884057971016vw 12.077294685990339vw;
}
#shop_contact{
  margin: 0 auto;
  padding: 7.246376811594203vw 0 0 0;
}
.questionnaire_box_{
  background: #fff;
  padding: 4.3478260869565215vw  4.830917874396135vw 30px;
  margin-bottom: 4.830917874396135vw;
  box-shadow: 0 0 4px rgba(0,0,0,0.16);
}
.questionnaire_box_:last-child{
  margin: 0;
}
.questionnaire_box_{
  flex-wrap: wrap;
  border-radius: 5px;
}
.questionnaire_box_ div{
  line-height: 1;
}
.questionnaire_box_ h2{
  font-size: 18px;
  color: #095540;
  font-weight: bold;
  position: relative;
  margin: 0 0 4.830917874396135vw;
  padding: 0 86px 0 12px;
  height: max-content;
  line-height: 1;
}
.questionnaire_box_ h2::before{
  display: inline-block;
  content: '';
  width: 5px;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  background: #095540;
  border-radius: 1px;
}
.questionnaire_box_ .must_{
  margin-left: 10px;
  vertical-align: bottom;
  display: none;
}
.questionnaire_box_ h2 .must_{
  display: inline-block;
}
.questionnaire_box_sex_{
  display: block;
  flex-direction: column;
  width: 100%;
}
.questionnaire_box_sex_item_{
  margin-bottom: 4.830917874396135vw;
}
.questionnaire_box_sex_item_:last-child{
  margin-bottom: 0;
}
.questionnaire_box_content_,
.questionnaire_box_ table{
  padding: 0 2.4154589371980677vw;
}
.questionnaire_box_ table th{
  vertical-align: top;
}
.questionnaire_box_content_ input{
  max-width: 100%;
}
.questionnaire_box_content_ input.long{
  height: 100px;
  background: #F8F8F8;
  border: 1px solid #BBBBBB;  
}
.questionnaire_box_content_ input.long:focus{
  background: #fff;

}
.questionnaire_name_{
  display: flex;
  gap: 20px;
  font-size: 16px;
  color: #000;
}
.questionnaire_name_item_{
  width: 50%;
  line-height: 1;
}
.questionnaire_mail_item_ input[type="email"]:focus-visible,
.questionnaire_mail_item_ input[type="email"],
.questionnaire_tel_ input[type="text"]:focus-visible,
.questionnaire_tel_ input[type="text"],
.questionnaire_.col1_ input[name="tel3"]:focus-visible,
.questionnaire_.col1_ input[name="tel3"],
.questionnaire_name_item_ input[type="text"]:focus-visible,
.questionnaire_name_item_ input[type="text"]{
  width: 100%;
  height: 50px;
  padding: 0;
  box-sizing: border-box;
  border-radius: 4px;
  background: #F8F8F8;
  border: 1px solid #BBBBBB;
  padding: 0 20px;
  color: #AAAAAA;
  font-size: 14px;
}
.questionnaire_name_item_ input{
  margin: 12px 0 21px;

}
.questionnaire_mail_item_ input[type="email"]:focus,
.questionnaire_tel_ input[type="text"]:focus,
.questionnaire_.col1_ input[name="tel3"]:focus,
.questionnaire_name_item_ input[type="text"]:focus{
  background: #fff;
  color: #000;
}

.questionnaire_tel_{
  display: flex;
  flex-direction: column;
}
.questionnaire_tel_ input{
  margin-bottom: 12px;
}


.questionnaire_mail_item_ input:last-child,
.questionnaire_name_item_ input:last-child{
  margin-bottom: 0;
}

.questionnaire_mail_item_ input{
  width: 100%;
  height: 50px;
  margin: 0 0 0;
  padding: 0;
  box-sizing: border-box;
  border-radius: 4px;
  border: 1px solid #BBBBBB;
  padding: 0 20px;
  font-size: 14px;

}
.questionnaire_detail_item_{
  color: #000;
  margin-bottom: 4.830917874396135vw;
}
.questionnaire_detail_item_:last-child{
  margin-bottom: 0;
}
.questionnaire_box_ input[type="radio"],
.questionnaire_detail_item_ input[type="radio"]{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;  
  width: 26px;
  height: 26px;
  border-radius: 26px;
  border: 1px solid #BBBBBB;
  vertical-align: middle;
  background: #F8F8F8;
  margin: 0 7px 0 0;
  padding: 0;
  position: relative;
  cursor: pointer;
  display: inline-block;
  vertical-align: top;
}
.questionnaire_box_ input[type="radio"]:checked,
.questionnaire_detail_item_ input[type="radio"]:checked{
  background: #095540;  

}
.questionnaire_box_ input[type="radio"]:checked::after,
.questionnaire_detail_item_ input[type="radio"]:checked::after{
  display: inline-block;
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto auto;
}
.questionnaire_box_content_ input[type="radio"] + label,
.questionnaire_box_ .questionnaire_box_sex_ input[type="radio"] + label{
  width: 85%;
  margin-bottom: 20px;
  cursor: pointer;
  font-size: 1rem;
  color: #000;
  line-height: 26px;
  display: inline-block;
}
.questionnaire_mail_item_{
  line-height: 1;
  margin-bottom: 20px;
}
.questionnaire_tel_ .small_,
.questionnaire_mail_item_ p.small_{
  margin-top: 12px;
  line-height: 1;
}
.questionnaire_mail_item_ div{
  margin-top: 12px;
  line-height: 1;
}
.questionnaire_.col1_ input[name="tel3"]{
  width: 100%;
  height: 50px;
  margin: 0 0 0;
  padding: 0;
  box-sizing: border-box;
  border-radius: 4px;
  border: 1px solid #BBBBBB;
  padding: 0 20px;
  font-size: 14px;
}
.questionnaire_box_content_ textarea{
  max-width: 100%;
  height: 150px;
  width: 80vw;
  border-radius: 5px;
  background: #F8F8F8;
  border: 1px solid #BBBBBB;
  padding: 20px 20px;
  box-sizing: border-box;
}
.questionnaire_box_content_ textarea:focus{
  background: #FFF; 
}
.questionnaire_box_list_memo{
  color: #000000;
  font-size: 14px;
  margin: 40px 0 40px 22px;
  padding: 0;
}
.questionnaire_box_list_memo li{
  margin-bottom: 12px;
  font-size: 14px;
  color: #000;
  position: relative;
  padding: 0 0 0 16px;
}
.questionnaire_box_list_memo li::before{
  content: '※';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  font-size: 14px;
}
.questionnaire_box_list_memo li:last-child{
  margin-bottom: 0;
}
.questionnaire_ .submit_{
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.questionnaire_ .submit_ button{
  background: #095540 url(../img/usr/contact/confirm.png) right 24px center no-repeat!important;
  width: 95% !important;
  height: 60px !important;
  border-radius: 30px;
  cursor: pointer;
  position: relative;
}
.questionnaire_ .submit_ button::before{
  position: absolute;
  content: "確認画面へ";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 20px;
  font-weight: bold;
  color: #fff;
}
#shop_contact_wrap .questionnaire_ .submit_ button::before{
  content: "入力内容を確認する";
}
.questionnaire_ .submit_ button:hover{
  opacity: 0.8;
}
.questionnaire_ .submit_.input_ a,
.questionnaire_ .submit_.confirmation_ .back-btn{
  background: #fff url(../img/usr/contact/backtotop.png) left 19px center no-repeat;
  border-radius: 30px;
  width: 230px;
  height: 40px;
  text-decoration: none;
  position: relative;
  border: 1px solid #000;
  display: block;
  margin: 0 auto;
}
.questionnaire_ .submit_.input_ a img{
  display: none;
}
.questionnaire_ .submit_.input_ a::before{
  content: "戻る";
}
.questionnaire_ .submit_.confirmation_ .back-btn::before{
  content: "入力画面に戻る";
}
.questionnaire_ .submit_.input_ a::before,
.questionnaire_ .submit_.confirmation_ .back-btn::before{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 15px;
  font-weight: bold;
  color: #000;
}
.questionnaire_ .submit_ a:hover{
  text-decoration: none;
  opacity: 0.8;
}
.questionnaire_ .submit_.confirmation_ [name="back"] {
  opacity: 0;
}
.questionnaire_ .submit_{
  display: block;
}
.questionnaire_ .submit_.input_{
  text-align: center;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 20px;
}
.questionnaire_ .submit_ input{
  width: auto;
  display: block;
}
.questionnaire_ .submit_ input[name="regist"]{
  width: 95%;
  margin: 30px auto 20px;
}
.questionnaire_ .submit_ input[name="back"]{
  width: 230px;
  margin: 0 auto;
}
/*お問い合わせ詳細*/

.questionnaire_notes {
  margin: 28px 0;
}
.questionnaire_notes li {
  margin-left: 1em;
  text-indent: -1em;
}
.questionnaire_notes li em {
  font-weight: bold;
}
.questionnaire_notes li strong {
  color: #f00;
}
.questionnaire_notes section {
  margin-top: 2em;
}
.questionnaire_notes .hdg {
  font-weight: bold;
}

.questionnaire_mail_note_ {
  font-size: 13px;
}
.questionnaire_mail_note_ li {
  margin-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
}

.questionnaire_box_ .error_ {
  margin-top: 10px;
  color: #f00;
}
.questionnaire_box_ .error_ + .error_ {
  margin-top: 5px;
}

.common_headline2_ + .mt {
  margin-top: 10px;
}

.questionnaire_ .small_ {
  font-size: 13px;
  letter-spacing: -.05em;
}

.contact-comp-block {
  margin: 7vh 0;
  padding: 0 15px;
  text-align: center;
}
.contact-comp-txt {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.93;
}
.contact-comp-btn {
  margin: 50px 0 0;
}
.contact-comp-btn > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 248px;
  min-height: 48px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  color: #000;
  border: 1px solid #000;
  border-radius: 30px;
  background-color: #fff;
}