/*-----------------------------------------------------	*/
/*	for all						*/
/*-----------------------------------------------------	*/
/* ------ General Settings ------ */

a:hover {
 opacity: 1;
 text-decoration: none;
}
.sp {
 display: none !important;
}
.br_pc {
 display: inherit;
}
.br_sp {
 display: none;
}
.h1_p{display: none;}
.fcred{
	color: #E41A1D;
}
@media screen and (max-width:768px) {
 /* ------ General Settings ------ */
 img {
  max-width: 100%;
  height: auto;
  width: auto\9;
 }
 a:hover {
  opacity: 1;
  text-decoration: none;
 }
 .pc {
  display: none !important;
 }
 .sp {
  display: inherit !important;
 }
 .br_pc {
  display: none !important;
 }
 .br_sp {
  display: inherit !important;
 }
}
/* ------ form ------ */

.form{
	padding: 80px 0 100px 0;
	font-family: 'Noto Sans JP', sans-serif;
}

.form .ttl{
	text-align: center;
	font-size: 40px;
	padding: 90px 0;
	color: #000;
}


.form .read{
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	font-size: 30px;
	padding: 90px 0;
	color: #000;
}


.bg_gry{
	background: #f5f5f5;
}

.form_select{width: 1200px;
margin: 0 auto 60px auto;
	padding-bottom: 70px;
display: flex;
justify-content: space-between;}

.en .form_select ,.hakata .form_select{
  justify-content: center;
}


.form_select_box{width: 380px;
text-align: center;}

.form_select_box + .form_select_box{margin-left: 30px;}

.form_select_box p{
	font-size: 24px;
	font-weight: 700;
	padding: 20px 0 30px 0;
	line-height: 1;
}

.form_select_box ul{
	display: flex;
	justify-content: space-between;
}

.form_select_box ul li{
	width: 175px;
}

.form_select_box ul li a{
	background: #838383;
	border-radius: 27px;
	display: block;
	text-align: center;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 45px;
	color: #fff;
	text-decoration: none;
}


.form_info{
	width: 1200px;
	margin: 0 auto 100px auto;
	display: flex;
justify-content: space-between;
}

.form_info a{
	text-decoration: none;
}

.form_info_tel,.form_info_sns{width: 580px;
border: #C9C9C9 2px solid;
padding: 30px;
text-align: center;
height: 266px;
box-sizing: border-box;
	border-radius: 10px;
}


.form_info .sttl{
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 15px;
}

.form_info_txt{
	font-size: 16px;
	margin-bottom: 15px;
	height: 50px;
}

.telnum{
	font-size: 40px;
	font-weight: 700;
	line-height: 1.3;
}

.telnum::before {
  content: "";
  display: inline-block;
  width: 42px;
  height: 42px;
  background: url("../img/form/ic_phone.svg") no-repeat;
    background-size: auto;
  background-size: contain;
  margin-right: 15px;
}

.teljp{
	text-align: center;
}

.form_info_sns_list{
	display: flex;
	justify-content: center;
}

.form_info_sns_list li + li{
	margin-left: 30px;
}

.form_info_sns_list li img{
	height: 50px;
	width: auto;
}





@media screen and (max-width:768px) {
	
	
	.form{
	padding: 55px 0 80px 0;
	font-family: 'Noto Sans JP', sans-serif;
}

.form .ttl{
	text-align: center;
	font-size: 6vw;
	padding: 40px 0;
	color: #000;
}


.form .read{
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	font-size: 5vw!important;
	padding: 45px 0;
	color: #000;
}


.bg_gry{
	background: #f5f5f5;
}

.form_select{width: auto;
margin: 0 5vw 6vw 5vw;
	padding-bottom: 1vw;
display: block;
justify-content: space-between;}


.form_select_box{width: auto;
text-align: center;
	margin-bottom: 10vw;}
	
	.form_select_box + .form_select_box{margin-left: auto;}

.form_select_box p{
	font-size: 4.5vw;
	font-weight: 700;
	padding: 4vw 0 6vw 0;
	line-height: 1;
}

.form_select_box ul{
	display: flex;
	justify-content: space-between;
}

.form_select_box ul li{
	width: 47%;
}

.form_select_box ul li a{
	background: #838383;
	border-radius: 27px;
	display: block;
	text-align: center;
	font-size: 3.8vw;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 10vw;
	color: #fff;
}


.form_info{
	width: auto;
	margin: 0 5vw;
	display: block;
}

.form_info_tel,.form_info_sns{width: auto;
border: #C9C9C9 2px solid;
padding: 6vw;
text-align: center;
height: auto;
box-sizing: border-box;
	border-radius: 10px;
	margin-bottom: 6vw;
}


.form_info .sttl{
	font-size: 6vw;
	font-weight: 700;
	margin-bottom: 3vw;
}

.form_info_txt{
	font-size: 3.8vw;
	margin-bottom: 6vw;
	height: auto;
}

.telnum{
	font-size: 8vw;
	font-weight: 700;
	line-height: 1.3;
}

.telnum::before {
  content: "";
  display: inline-block;
  width: 7vw;
  height: 7vw;
  background: url("../img/form/ic_phone.svg") no-repeat;
    background-size: auto;
  background-size: contain;
  margin-right: 15px;
}

.teljp{
	text-align: center;
	font-size: 3.3vw;
}

.form_info_sns_list{
	display: flex;
	justify-content: center;
}

.form_info_sns_list li + li{
	margin-left: 6vw;
}

.form_info_sns_list li img{
	height: 11vw;
	width: auto;
}
	
	
}

/*フォームコンテンツ*/

/*外部リンク*/

.olink{
	text-decoration: none;
	font-weight: 700;
	padding: 20px 0;
}

.olink::after {
	content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
	  background: url("../img/form/olink.svg") no-repeat right center;
    background-size: auto;
  background-size: contain;
  margin-left: 10px;
}
.form_contents{
	background-image: linear-gradient(#000  470px, #fff 470px );
}

.ttl_form{
	font-size: 40px;
	font-weight: 700;
	padding: 90px 0;
	text-align: center;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1;
}

.form_contents_inner{
	width: 1200px;
	margin: 0 auto;
	border-radius: 10px;
	background: #fff;
}

.en .form_contents_inner,.en_kyoto .form_contents_inner{
	padding-top: 80px;
}
.form_at{
	padding: 40px;
}

.form_at li{
	margin-bottom: 1em;
	font-size: 16px;
}

.form_at_s{
	font-size: 14px;
	color: #666666;
	padding: 20px 0;
}

.form_at_s_red{
	font-size: 14px;
	color: #C60000;
	padding: 20px 0;
}

.ttl_st{font-weight: 700;
margin-bottom: 1em;}

.pt20{
padding-top: 20px;}

.smf-checkbox-control{font-size: 16px;font-weight: 700;
padding: 5px;}

.hissu{
	background: #C60000;
	border-radius: 5px;
	padding: 5px 10px 6px 10px;
	color: #fff;
	font-size: 15px;
	display: inline-block;
	margin-right: 5px;
	line-height: 1;
}


	@media screen and (max-width:768px) {
		.form_contents{
	background-image: linear-gradient(#000  470px, #fff 470px );
}

.ttl_form{
	font-size: 6vw!important;
	font-weight: 700;
	padding: 45px 0;
	text-align: center;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1;
}

.form_contents_inner{
	width: auto;
	margin: 0 5vw;
	border-radius: 10px;
	background: #fff;
}
		.en .form_contents_inner,.en_kyoto .form_contents_inner{
	padding-top: 40px;
}
.form_at{
	padding: 5vw;
}

.form_at li{
	margin-bottom: 1em;
	font-size: 3.5vw;
}
		
		.form_at_s{
	font-size: 3.5vw;
	color: #666666;
	padding: 3vw 0;
}

.form_at_s_red{
	font-size: 3.5vw;
	color: #C60000;
	padding: 3vw 0;
}

.ttl_st{font-weight: 700;
margin-bottom: 1em;
		font-size: 4vw;}

.pt20{
padding-top: 3vw;}

.smf-checkbox-control{font-size: 4vw;font-weight: 700;
padding: 1vw;}

.hissu{
	background: #C60000;
	border-radius: 5px;
	padding: 5px 10px 6px 10px;
	color: #fff;
	font-size: 3.5vw;
	display: inline-block;
	margin-right: 5px;
	line-height: 1;
}
}
	



/*フォーム設定 202311*/


.wp-block-snow-monkey-forms-item{
	width: 1000px;
	margin: 0 auto;
	padding-top: 80px;
}

.smf-item__label{
	font-weight: 700;
}

.smf-item__col--label{
	display: flex;
	align-items: center;
}
.must .smf-item__col--label::before{
	 content: "必須";
 display:inline-block;
 width: 40px;
 height: 25px;
	padding: 3px;
	background: #C61F1F;
	color: #fff;
 border-radius: 5px;
	font-size: 10px;
	text-align: center;
	margin-right: 15px;
}

.smf-error-messages{
	background: #C61F1F;
	color: #fff;
	padding: 5px 10px;
 border-radius: 5px;
}

.form__inputText {
padding-left: 15px !important;
padding-right: 20px !important;
}

.form__inputText::placeholder {
color: #bbb;
}

.smf-action .smf-button-control__control {
max-width: 422px;
width: 100%;
font-size: 20px;
padding: 10px;
border: 1px solid #2271B1;
border-color: none;
border-radius: 3px;
background-color: #2271B1;
background-image: none;
color: #fff;
font-weight: bold;
}

.box_frame{
}

.box_frame #kiyaku_contents01{
	padding: 30px;
	height: 300px;
	overflow-y: scroll;
	border: #ccc 1px solid;
	margin-bottom: 30px;
}

/*base*/

.sp {
 display: none !important;
}
.br_pc {
 display: inherit;
}
.br_sp {
 display: none;
}
.h1_p{display: none;}
@media screen and (max-width:768px) {

 .pc {
  display: none !important;
 }
 .sp {
  display: inherit !important;
 }
 .br_pc {
  display: none !important;
 }
 .br_sp {
  display: inherit !important;
 }
}

/*確認画面非表示*/

[data-screen="confirm"] .input {
  display:none;
}

[data-screen="input"] .confirm,
[data-screen="invalid"] .confirm {
  display:none;
}


/*monkeyform　完了画面*/

/*monkey form用*/

.smf-button-control__control{
	background: #DB8F90!important;
  border-radius: 60px!important;
	border: none!important;
}

.l-wrapper p.cptit {
	font-weight: bold;
	font-size: 26px;
	line-height:1;
	text-align: center;
	padding-top: 50px;
	margin-top: 200px;
	margin-bottom: 30px;
}
.l-wrapper p.cptxt {
	font-size: 18px;
	line-height: 1.8;
	text-align: center;
	border-bottom: #ddd 2px solid;
	padding-bottom: 150px;
	font-weight: bold;
}

h2.wp-block-heading{
	background: #000;
	color: #fff;
	padding: 10px 20px;
}

.wp-block-snow-monkey-forms-item{
	padding: 25px 30px!important;
}

.wp-block-snow-monkey-forms-item.smf-item--divider{
	padding: 0!important;
}

.wp-block-snow-monkey-forms-item:nth-child(even) {
  background: #F0F0F0;
}

.wp-block-snow-monkey-forms-item:nth-child(odd) {
  background: #F7F7F7;
}

.smf-item__label__text{
	font-size: 20px;
}

.smf-form .smf-item .smf-checkboxes-control--horizontal .smf-checkboxes-control__control > .smf-label {
  width: 400px;
}

#kiyaku_contents01 h4{
	font-size: 22px;
	text-align: center;
	margin-bottom: 20px;
}

#kiyaku_contents01 h5{
	font-size: 18px;
	margin-bottom: 20px;
}

#kiyaku_contents01 ul{
	margin-bottom: 30px;
}

#kiyaku_contents01 .centering{
	text-align: center;
	margin-bottom: 20px;
	font-weight: bold;
}

#kiyaku_contents01 .type05_g{
	width: 100%;
	border-top: #ddd 1px solid;
	border-left: #ddd 1px solid;
}

#kiyaku_contents01 .type05_g th{
	width: 50%;
	text-align: left;
	background: #EEE;
	border-right: #ddd 1px solid;
	border-bottom: #ddd 1px solid;
	padding: 20px;
	font-weight: bold;
}

#kiyaku_contents01 .type05_g td{
	width: 50%;
	text-align: left;
	border-right: #ddd 1px solid;
	border-bottom: #ddd 1px solid;
	padding: 20px;
}





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


.snow-monkey-form{
	padding: 0 5vw!important;
}
	.wp-block-snow-monkey-forms-item {
  width: auto!important;
}
.remort_lesson p.recptha_txt{
		margin-bottom: 50px;
	}
	
.l-wrapper p.cptit {
	font-weight: bold;
	font-size: 20px;
	line-height:1;
	text-align: center;
	padding-top: 30px;
		margin-bottom: 20px;
	margin-top: 150px;
}
.l-wrapper p.cptxt {
	font-size: 15px;
	line-height: 1.8;
	text-align: center;
	border-bottom: #ddd 2px solid;
	padding: 30px 30px 150px 30px;
	font-weight: normal;
}
	
	h2.wp-block-heading{
	background: #000;
	color: #fff;
	padding: 3vw 4vw;
		font-size: 5vw
}

.wp-block-snow-monkey-forms-item{
	padding: 5vw 6vw!important;
}
	
	.smf-form .smf-item .smf-checkboxes-control--horizontal .smf-checkboxes-control__control > .smf-label {
  display: block;
		width: auto;
}
	
	#kiyaku_contents01 .type05_g{
	width: 100%;
	border-top: #ddd 1px solid;
	border-left: #ddd 1px solid;
}

#kiyaku_contents01 .type05_g th{
	display: block;
	width: 100%;
	text-align: left;
	background: #EEE;
	border-right: #ddd 1px solid;
	border-bottom: #ddd 1px solid;
	padding: 20px;
	font-weight: bold;
	height: auto!important;
}

#kiyaku_contents01 .type05_g td{
	display: block;
	width: 100%;
	text-align: left;
	border-right: #ddd 1px solid;
	border-bottom: #ddd 1px solid;
	padding: 20px;
	height: auto!important;
}

	
}

/*博多店*/

.reserve #js-header, .reserve  #footer,.reserve .footer-cv,
.contact #js-header, .contact  #footer,.contact .footer-cv,
.en #js-header, .en  #footer,.en .footer-cv,
.preview #js-header, .preview  #footer,.preview .footer-cv,
.contact #js-header, .contact  #footer,.contact .footer-cv,
.en_kyoto #js-header, .en_kyoto  #footer,.en_kyoto .footer-cv
{
	display: none!important;
}

.reserve .form,
.contact .form,
.en .form,
.preview .form,
.contact .form,
.en_kyoto .form
{
  padding: 0px 0 50px 0;
}

.reserve .form_select,
.contact .form_select,
.en .form_select
.preview .form_select,
.contact .form_select,
.en_kyoto .form_select{
justify-content:center;}

.reserve .form .ttl,
.contact .form .ttl,
.en .ttl,
.preview .ttl,
.contact .ttl,
.en_kyoto .ttl{
  padding: 45px 0 90px 0;
}

.reserve_main{
	padding: 100px 0 0px 0;
	text-align: center;
}
.reserve_main img{
	width: 400px;
	height: auto;
}

.en_kyoto .reserve_main img{
	width: 300px;
	height: auto;
}

.en .smf-progress-tracker__item__text{
	display: none!important;
}

.select_yoko .wp-block-group__inner-container{
	display: flex;
	justify-content:flex-start;
}

.select_yoko .smf-placeholder{
	margin: 0 0 30px 0!important;
	margin-right: 20px!important;
}

.en .must .smf-item__col--label::before {
  content: "Required";
  display: inline-block;
  width: 70px;
  height: 25px;
  padding: 3px;
  background: #C61F1F;
  color: #fff;
  border-radius: 5px;
  font-size: 10px;
  text-align: center;
  margin-right: 15px;



}

.plan_select select {
    width: 100%; /* 画面幅に合わせて自動調整 */
    max-width: 100%; /* 最大幅を100%に設定 */
    white-space: nowrap; /* テキストの折り返しを防ぐ */
    overflow: hidden; /* 内容がはみ出た場合は隠す */
    text-overflow: ellipsis; /* テキストがはみ出た場合に「...」を表示 */
    -webkit-appearance: none; /* iOSのデフォルトスタイルを無効化 */
    -moz-appearance: none; /* Firefoxのデフォルトスタイルを無効化 */
    appearance: none; /* その他ブラウザ用のスタイル無効化 */
}




/*英語お知らせ*/
.top_formal_info {
 width: 1000px;
 margin: 0 auto 80px auto;
 background: #f5f5f5;
 padding: 30px;
 text-align: center;
}
.bg_red {
 margin-bottom: 20px;
 padding-bottom: 20px;
 border-bottom: 1px #ddd solid;
 font-weight: 700;
}
.bg_red strong {
 color: #fff;
 background: #FF0000;
 padding: 1px 10px;
 display: inline-block;
 margin-right: 10px;
 font-weight: 700;
}
.howtotoriyose {
 margin-bottom: 20px;
 padding-bottom: 20px;
 border-bottom: 1px #ddd solid;
}
.howtotoriyose p {
 font-size: 18px;
}
.howtotoriyose ul {
 margin-top: 25px;
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}
.howtotoriyose li.mail_link a {
 background: url("../img/common/ic_mail.svg") no-repeat left center;
 background-size: 26px auto;
 padding-left: 30px;
 font-size: 24px;
 line-height: 1;
 font-weight: 700;
}
.howtotoriyose li.mail_link {
 margin-left: 60px;
}
.howtotoriyose li.tel_link a {
 background: url("../img/common/ic_tel.svg") no-repeat left center;
 background-size: 26px auto;
 padding-left: 30px;
 font-size: 24px;
 line-height: 1;
 font-weight: 700;
}
.howtotoriyose_at {
 position: relative;
}
.howtotoriyose_at ul {
 text-align: left;
}
.howtotoriyose_at a {
 text-align: left;
}
.howtotoriyose_at a {
 background: #646865;
 border-radius: 30px;
 color: #fff;
 font-size: 16px;
 padding: 10px 25px;
 line-height: 1;
 font-weight: 700;
 position: absolute;
 right: 0;
 top: 20px;
}
@media screen and (max-width: 767px) {
 .top_formal_info {
  width: auto;
  margin: 0 5vw 40px 5vw;
  display: block;
  background: #f5f5f5;
  padding: 20px;
  text-align: center;
 }
 .bg_red {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px #ddd solid;
  font-weight: 700;
  line-height: 2;
 }
 .bg_red strong {
  width: 100%;
  color: #fff;
  background: #FF0000;
  padding: 5px 10px;
  display: block;
  margin-right: 10px;
  font-weight: 700;
  line-height: 1.7;
 }
 .howtotoriyose p {
  font-size: 16px;
 }
 .howtotoriyose ul {
  margin-top: 20px;
  display: block;
  text-align: center;
 }
 .howtotoriyose li.mail_link a {
  background: url("../img/common/ic_mail.svg") no-repeat left center;
  background-size: 26px auto;
  padding-left: 30px;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
 }
 .howtotoriyose li.mail_link {
  margin-left: 0px;
  margin-top: 15px;
 }
 .howtotoriyose li.tel_link a {
  background: url("../img/common/ic_tel.svg") no-repeat left center;
  background-size: 26px auto;
  padding-left: 32px;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
 }
 .howtotoriyose_at {
  position: inherit;
  padding-bottom: 10px;
 }
 .howtotoriyose_at ul {
  text-align: left;
  margin-bottom: 25px;
 }
 .howtotoriyose_at a {
  text-align: left;
 }
 .howtotoriyose_at a {
  background: #646865;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  padding: 15px 25px;
  line-height: 1;
  font-weight: 700;
  position: inherit;
  right: auto;
  top: auto;
  margin: 0 auto;
  display: block;
  text-align: center;
 }
}








