/*—————————————————————————————————
contact
—————————————————————————————————*/
.top_bg_wrap_title {
  font-size: 4rem;
}
.top_bg_wrap_title .jp {
  margin-top: 16px;
}
.top_bg_wrap_title .jp::after {
  bottom: -40px
}
.contact_wrap {
  width: 90%;
  max-width: 980px;
  margin: 80px auto;
  background: rgba(255,255,255,.5);
}
.top_bg.contact {
  background-image: url("../img/contact/keyV.jpg");
}
.contact p:nth-child(n+2) {
  margin-top: 2em;
}
.menu_intro {
	width: 90%;
    margin: 6em auto 0;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 15px;
    line-height: 1.4;
}
.insta {
  display: flex;
  align-items: center;
  margin-top: 8px;
  letter-spacing: 0.1em;
	margin-bottom: 30px;
	justify-content: center;
}
.insta_btn {
	display: block;
    width: auto;
    padding: 0 15px 0 18px;
    border: #EAE5E3 1px solid;
    line-height: 26px;
    font-size: 14px;
    letter-spacing: 0.01em;
    position: relative;
    z-index: 1;
    text-align: center;
    border-radius: 25px;
}
.logo_instagram {
	transform: scale(1.2) translate(-5px, 2px);
}
p.required{
    font-size: 1.5rem;
    color: #a7a7a7;
}
p.required::before{
    content: "*";
	color: #4295D2;
}
p.required::after{
    content: none;
}
.required::after{
    content: "*";
	color: #4295D2;
}
.mailform{
	text-align: center;
}
.mailform form{
	width: 70%;
	margin: auto;
  z-index: 1;
  position: relative;
}
.mailform dl{
  display: block;
	text-align: left;
	margin-bottom: 20px;
}
.mailform dt{
	width: 65%;
	    margin-bottom: 15px;
}
.mailform dd{
	width: 100%;
  margin-left: auto;
  margin-bottom: 40px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 48px;
}
.mailform dd:last-of-type {
  border-bottom: none;
}
.mailform dd input{
	width: 100%;
	background-color: #eaedf2;
	border: 1px solid #ddd;
  border-radius: 4px;
	padding: 5px 10px;
  margin-top: 8px;
	color: inherit;
  padding: 5px 15px;
    font-size: 14px;
    line-height: 1.4;
}
.mailform dd input::placeholder {
  color: #9EA7B6;
}
.mailform select{
    outline:none;
    text-indent: 0.01px;
    text-overflow: '';
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
	border:none;
	border-radius: 5px;
	color: rgba(0,0,0,0.80);
	background-color: #eaedf2;
  border-radius: 4px;
	padding: 5px 10px;
	padding-right: 5em;
  margin-top: 8px;
}
.cont_753 {
  margin-top: 20px;
  gap: 20px;
}
.age-753_cont {
  display: flex;
  align-items: baseline;
}
.mailform select option:first-child{
    display: none;
}
.mailform select option{
    background-color: #E0E0E0;
    color: inherit;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #828c9a;
}
.select-wrap {
    position: relative;
	display: inline-block;
}
.select-wrap::before {
    z-index: 1;
    position: absolute;
    right: 10px;
    top: 25%;
    font-family: "Font Awesome 5 Free";
    content: "\f107";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    pointer-events: none;
    margin-top: 8px;
}
.mailform dd textarea{
	width: 100%;
	background-color: #eaedf2;
  border-radius: 4px;
	border: none;
	padding: 10px 15px;
  margin-top: 8px;
  font-size: 14px;
	line-height: 1.4;
}
.mailform dd textarea::placeholder{
	color: #9EA7B6;
}
.mailform .checkbox_item {
  width: auto;
  margin-top: 16px;
}
.btn{
	margin-top: 5%;
}
.btnBox {
  margin-top: 1.3em;
}
.btnBox button{
  display: inline-block;
/*  margin-top: 1em;*/
  width: 100%;
  max-width: 400px;
  border-radius: 25px;
  text-align: center;
  padding: 12px 0;
  position: relative;
  font-size: 18px;
  border: none;
  color: #fff;
  transition: .3s;
  cursor: pointer;
  outline: none;
  background-color: #4295D2;
letter-spacing: 0.23em;
}
.contact_btn {
  display: inline-block;
  margin-top: 0;
  width: 100%;
  max-width: 400px;
  border-radius: 25px;
  text-align: center;
  padding: 12px 0;
  position: relative;
  font-size: 18px;
  letter-spacing: .1;
  border: none;
  color: #fff;
  transition: .3s;
  cursor: pointer;
  outline: none;
}
.contact_btn.a_type {
    background-color: #f19a83;
    margin-bottom: 8px;
}
.hissu {
    margin-left: 8px;
    font-size: 12px;
    color: #f19a83;
}
.hissu_desc {
	font-size: 12px;
    color: #f19a83;
}
.mw_wp_form .error{
    margin-top: 5px;
}
.mailform_bikou {
         padding: 0px 0 10px;
    color: #f19a83;
    font-size: 14px;
}
@media screen and (max-width:960px){
	.menu_intro {
    margin: 4em auto 0;
}
}
@media screen and (max-width:560px){
	.insta {
		justify-content: left;
	}
	.top_bg.contact {
		height: 250px;
	}
	.top_bg.contact .top_bg_wrap {
    height: 250px;
	}
  .top_bg.contact .top_bg_wrap .top_bg_wrap_title {
    padding-top: 20px;
    line-height: 48px;
    font-size: 3.5rem;
	  letter-spacing: -7.6px;
  }
  .top_bg.contact .top_bg_wrap .top_bg_wrap_title .jp {
    padding-top: 0;
	 font-size: 12px;
  }
	.top_bg.contact .top_bg_wrap .top_bg_wrap_title .jp::after {
    bottom: 0px;
	}
	.menu_intro {
	margin: 2em auto 0;
    font-size: 14px;
    text-align: left;
	}
}

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

.mailform form,
.mailform dt,
.mailform dd{
	width: 100%;
	margin: auto;
}
	
.mailform dt:nth-child(n+2){
	margin-top: 24px;
	margin-bottom: 3px;
}
.mailform dd {
  margin-bottom: 24px;
  padding-bottom: 32px;
}
.contact_wrap {
  width: 90%;
  margin: 40px auto;
  padding: 20px 0;
  background: none;
  text-align: left;
  font-size: 14px;
}
.btnBox button {
  margin-top: 0;
}
.mailform .checkbox_wrap {
  display: flex;
  flex-direction: column;
}
.mailform .checkbox_wrap span {
  margin-left: 0!important;
}
.mailform dd textarea {
    padding: 10px 10px;
    font-size: 12px;
	}
.mailform dd input {
    padding: 5px 10px;
    font-size: 12px;
}
.cont_753 {
  margin-top: 12px!important;
}
}
/*
contact-2
*/
.contact2_title {
	line-height: 1.5em;
    font-weight: 400;
    text-align: center;
    letter-spacing: 0.1em;
}
.contact2_title .sub_en {
    display: block;
}
.contact2_title_desc {
	max-width: 780px;
	text-align: left;
	line-height: 1.55;
	margin: 40px auto 0;
	padding-bottom: 60px;
    border-bottom: 1px solid #ddd;
}
.rules_box {
	margin:  0 auto 120px;
	max-width: 780px;
	    width: 90%;
}
.rules_box_item {
	margin: 60px auto;
}
.rules_box_item .rules_box_item_title {
	line-height: 1.5em;
    font-weight: 400;
    text-align: center;
    letter-spacing: 0.1em;
	font-size: 18px;
	margin-bottom: 40px;
}
.rules_box_item .rules_box_item_title .sub_en {
    display: block;
	font-size: 12px;
}
.rules_box_item_cont {
	 line-height: 1.55;
}

@media screen and (max-width: 560px) {
    .contact2_title {
        text-align: left;
        letter-spacing: 0.05em;
        font-size: 20px;
    }
	.contact2_title .sub_en {
        font-size: 12px;
    }
	.rules_box_item .rules_box_item_title {
    text-align: left;
	font-size: 16px;
	}
	.rules_box_item .rules_box_item_title .sub_en {
    font-size: 10px;
	}
	.rules_box_item_cont {
		font-size: 13px;
	}
}
/*
contact-3
*/
.contact3_title {
  font-size: 16px;
  padding: 24px 0;
	line-height: 1.5em;
  font-weight: 400;
  text-align: left;
  letter-spacing: 0.1em;
}
.contact3_title.textbox {
  padding-bottom: 0;
}
.contact3_title .sub_en {
  display: block;
  font-size: 14px;
}
.contact3_title_desc {
  margin-top: 32px;
  line-height: 1.75;
  text-align: left;
}
.contact3_title_desc span {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  color: #FF734E;
}

.menu_intro-3 {
  width: 90%;
  max-width: 700px;
}
.menu_intro-3_inner {
  width: 70%;
  margin: auto;
}
.menu_intro-3 .contact3_title {
  padding-top: 0;
}
.menu_intro-3 .reserve-flow_wrap {
  padding-top: 100px;
}

.mailform-3.contact_wrap {
  max-width: 700px;
}
.mailform-3 select {
  margin-top: 0;
}
.mailform-3 dl {
  padding: 16px 0 32px;
  border-bottom: 1px solid #ddd;
}
.mailform-3 dl.textarea {
  padding-top: 8px;
}
.mailform-3 dl:last-of-type {
  border-bottom: none;
}
.mailform-3 dl.age {
  display: flex;
  gap: 40px;
}
.mailform-3 dt {
  display: flex;
  width: 100%;
  margin-bottom: 0;
}
.mailform-3 dd {
  margin-bottom: 0;
  padding-top: 8px;
  padding-bottom: 32px;
  border-bottom: none;
}
.mailform-3 .age dd {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mailform-3 dt:nth-child(n+2) {
  margin: 0;
}
.mailform.mailform-3 textarea {
  margin-top: 0;
  margin-bottom: 20px;
  padding: 16px;
  background-color: #eaedf2;
}
.mailform-3 .radio dt:nth-of-type(n+2) {
  margin: 12px 0;
}
.mailform-3 .caution {
  padding: 6px 0 12px;
  color: #a5a5a5;
  font-size: 14px;
}
.mailform-3 select {
  padding: 6px 30px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../img/contact/select-arrow.svg);
  background-repeat: no-repeat;
  background-position: right 0.5em center;
  background-size: 0.65em auto;
}
.mailform-3 .mwform-checkbox-field input[type="checkbox"]:checked,
.mailform-3 .mwform-radio-field input[type="radio"]:checked {
  margin-right: 5px;
}
.mailform-3 .menu_intro {
  width: 70%;
}
.mailform-3 .radio dd {
  padding-bottom: 0;
  padding-top: 12px;
}
.mailform-3 .radio .mwform-radio-field:last-of-type {
  display: none;
}

#contact3_cont,
.contact3_cont {
  display: flex;
  align-items: baseline;
}
#contact3_cont {
  gap: 40px;
}
.contact3_cont .label {
  padding: 0 6px;
}
@media screen and (max-width: 768px) {
  .menu_intro-3_inner {
    width: 100%;
  }
  .mailform-3 textarea {
    width: 100%;
  }
  .mailform-3 form {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .contact3_title {
    font-size: 14px;
  }
  .contact3_title .sub_en {
    display: block;
    font-size: 12px;
  }
  .menu_intro-3 .reserve-flow_wrap {
    padding-top: 60px;
  }
}
/*
reserve-flow
*/
 .reserve-flow {
  width: 90%;
  max-width: 500px;
  text-align: left;
  line-height: 1.55;
  margin: 40px auto;
  padding-bottom: 60px;
}
.reserve-flow_text {
  padding-top: 40px;
}
.reserve-flow_wrap {
  position: relative;
  padding-top: 60px;
}
.add-arrow::before {
  content: "";
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translateX(-25%);
  background-image: url(../img/contact/reserve-flow-arrow.svg);
  width: 40px;
  height: 40px;
}
.reserve-flow_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  margin-top: 8px;
  text-align: center;
  border: 1px solid #d0d0d0;
}