﻿.c-heading__h1__inner{
  text-align: center;
  font-size: 44px;
  color: #095540;
  line-height: 1;
}
.c-heading__h1__inner + p{
  text-align: center;
  font-size: 16px;
  color: #000;
  margin: 32px 0 0 0;
  line-height: 1;
}

.l-main{
  width: 1200px;
  margin: 0 auto;
}
.l-section-body.contact-faq-list{
  background: #F7F7F7;
  border-radius: 10px;
  margin: 60px 0 50px 0;
  padding: 40px 0 40px 0;
}

/*よくある質問タイトル*/

.l-section-body .c-heading__h2{
  color: #095540;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  position: relative;
  margin: 0 0 33px 54px;
  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 46px 0 54px;
}
.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: 28px 0;
  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 20px;
}
.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 0 0 11px;
  line-height: 1.2;
}
.p-faq-wrapper-top .p-faq-content__text a{
  font-size: 16px;
  color: #000000;
  line-height: 1.2;
  text-decoration: none;
}
.p-faq-wrapper-top .p-faq-content__text a:hover{
  text-decoration: underline;
}
/*よくある質問リスト上*/

/*よくある質問リスト下*/
.p-faq-wrapper-bottom{
  margin: 0 46px 0 54px;
  padding: 0;
}
.p-faq-wrapper-bottom li{
  background: #FFF;
  border: 1px solid #DDDDDD;
  border-radius: 5px;
  margin-bottom: 10px;
}
.p-faq-wrapper-bottom li:last-child{
  margin-bottom: 0;
}
.p-faq-wrapper-bottom li dl.p-faq > * {
  padding: 19px 25px 17px;
  display: block;
}
.p-faq-wrapper-bottom li dl.p-faq > * .p-faq-content--question{
  display: flex;
  justify-content: start;
  align-items: center;
  margin-bottom: 18px;
}
.p-faq-wrapper-bottom li dl.p-faq > a{
  text-decoration: none;
  color: #000;
  background: url(../img/usr/contact/shape.png) no-repeat center right 23px;
}
.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: 18px;
  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: 20px;
  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: 16px;
  line-height: 1.2;
}
/*よくある質問リスト下*/
.contact-faq-list-memo{
  text-align: center;
  color: #000000;
  font-size: 16px;
  margin: 0 0 50px;
}

/*よくある質問リスト静的リンク*/
.contact-faq-staticlist{
  margin-bottom: 50px;
}
.contact-faq-staticlist-item{
  background: #F7F7F7;
  border-radius: 10px;
  margin-bottom: 20px;
  padding: 40px 40px 36px;
}
.contact-faq-staticlist-item:last-of-type{
  margin-bottom: 30px;
}
.contact-faq-staticlist-item h3{
  font-weight: bold;
  font-size: 18px;
  color: #095540;
  line-height: 1;
  position: relative;
  margin: 0 0 20px;
  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;
  justify-content: start;
  align-items: center;
}
.contact-faq-staticlist-item-dtail *{
  margin: 0 0 0 13px;
  color: #000;
  font-size: 16px;
  width: 700px;
  line-height: 1.2;
}
.contact-faq-staticlist-item-dtail a{
  display: block;
  width: 200px;
  height: 40px;
  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;
}
.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{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-bottom: 130px;
}
.contact_item{
  width: 590px;
  background: #F7F7F7;
  border-radius: 10px;
  padding: 36px 45px 34px;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.contact_item p:nth-child(1){
  font-size: 24px;
  font-weight: bold;
  color: #095540;
  line-height: 1.4;
  margin-bottom: 13px;
}
.contact_item p:nth-child(2){
  background: #fff; 
  border-radius: 5px;
  width: 500px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 23px;
}
.contact_item p:nth-child(3), .contact_item p:nth-child(4){
  font-size: 15px;
  color: #000;
  line-height: 1.5;
}
.contact_item *{
  line-height: 1;
}
/*よくある質問リストお問い合わせ*/

/*お問い合わせ詳細*/
.contact.c-heading__h1 {
  margin: 25px 0 45px;
}
#contact_detal{
  width: auto;
}
#shop_contact_wrap{
  background: #F7F7F7;
  margin: 0;
  padding: 0 0 150px;
}
#shop_contact{
  width: 1200px;
  margin: 0 auto;
  padding: 57px 0 0 0;
}
.questionnaire_box_{
  background: #fff;
  padding: 30px 0 30px 28px;
  margin-bottom: 20px;
  box-shadow: 0 0 4px rgba(0,0,0,0.16);
}
.questionnaire_box_:last-child{
  margin: 0;
}
.questionnaire_box_{
  display: flex;
  flex-wrap: wrap;
  border-radius: 5px;
}
.questionnaire_box_ div{
  line-height: 1.2;
}
.questionnaire_box_ h2{
  width: 170px;
  font-size: 18px;
  color: #095540;
  font-weight: bold;
  position: relative;
  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_{
  position: absolute;
  top: -2px;
  right: 21px;
}
.questionnaire_box_content_,
.questionnaire_box_ table{
  width: 775px;
}
.questionnaire_box_ table th{
  vertical-align: top;
}
.questionnaire_box_content_ input{
  max-width: 100%;
}
.questionnaire_name_{
  display: flex;
  gap: 20px;
  font-size: 16px;
  color: #000;
}
.questionnaire_name_item_{
  width: 300px;
  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: 400px;
  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_wrap_{
  display: flex;
  flex-wrap: wrap;
  gap: 20px 0;
}
.questionnaire_detail_item_{
  width: 33.3%;
  font-size: 14px;
  color: #000;
}
.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;
}
.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_ .questionnaire_box_content_ input[type="radio"] + label{
  margin-right: 41px; 
  margin-bottom: 20px;
  cursor: pointer;
  width: 40%;
  display: inline-block;
}
.questionnaire_box_ .questionnaire_box_sex_ input[type="radio"] + label{
  margin-right: 41px;
  cursor: pointer;
}
.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: 400px;
  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_ input.long,
.questionnaire_box_content_ textarea{
  width: 650px;
  height: 150px;
  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: block;
}
.questionnaire_ .submit_.input_{
  text-align: center;
  display: flex;
  flex-direction: column-reverse;
  gap: 20px;
  align-items: center;
}
.questionnaire_ .submit_ input{
  width: auto;
  display: block;
}
.questionnaire_ .submit_ input[name="regist"]{
  width: 400px;
  margin: 30px auto 20px;
}
.questionnaire_ .submit_ input[name="back"]{
  width: 230px;
  margin: 0 auto;
}
.questionnaire_ .submit_.input_ button{
  background: #095540 url(../img/usr/contact/confirm.png) right 24px center no-repeat!important;
  width: 400px !important;
  height: 60px !important;
  border-radius: 30px;
  cursor: pointer;
  position: relative;
}
.questionnaire_ .submit_.input_ 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_.input_ 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_.input_ a:hover{
  text-decoration: none;
  opacity: 0.8;
}
.questionnaire_ .submit_.confirmation_ [name="back"] {
  opacity: 0;
}
/*お問い合わせ詳細*/

.questionnaire_notes {
  margin: 38px 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_ {
  margin: 0 50px 0 268px;
  font-size: 14px;
}
.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;
}

.contact-comp-block {
  margin: 165px auto;
  max-width: 1200px;
  text-align: center;
}
.contact-comp-txt {
  font-size: 18px;
  font-weight: bold;
  line-height: 2.27;
}
.contact-comp-btn {
  margin: 50px 0 0;
}
.contact-comp-btn > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  min-height: 40px;
  font-size: 15px;
  font-weight: bold;
  text-decoration: none;
  color: #000;
  border: 1px solid #000;
  border-radius: 30px;
  background-color: #fff;
}
.contact-comp-btn > a:hover {
  opacity: .8;
}

.l-main .sp-only {
  display: none;
}