@charset "utf-8";

/* Google マップ
---------------------- */
#sm_map{
  width: 100%;
  margin-top: 40px;
}
#pc_map{
  width: 100%;
  margin-top: 30px;
}

/* ラジオボタン・ポインタ
---------------------- */
.radio_button{
  cursor: pointer;
  /* ポインタを手に変える */
}
.credit_card {
  margin: 8px 0 5px;
  width: 100%;
}


@media (max-width: 767px) {
/*.wrapper{
  width: 100%;
  padding: 0 30px;
}*/
.space_button{
  text-align: center;
  margin: 30px 0 0;
}
.flex3 {
  border-top: 1px dotted #666;
}
.notice {
  text-align: center;
  margin: 0 auto;
}
.notice_circle{
  font-size: 18px;
  margin-top: 10px;
  margin-bottom: 5px;
}
.big_number {
  font-size: 20px;
}
.notice_text {
  font-size: 15px;
  text-align: left;
  width: 100%;
  padding-bottom:20px;
  border-bottom: 1px dotted #666;
}
.radio_check {
  margin-top: 20px;
  margin-bottom: 100px;
}
.sub_button{
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 14px;
  background: #583E50;
  border-radius: 17px;
  padding: 3px 10px ;
}
.sub_button a {
  color: #fff;
}
.main_button{
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 18px;
  color: #fff;
  background: #583E50;
  border-radius: 8px;
  padding: 8px 24px ;
}
.main_button a {
  color: #fff;
}
.button_center{
  margin-top: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
h2 {
  margin-top: 50px;
  margin-bottom: 0px;
  font-size: 18px;
  height: 35px;
  padding-top: 0px;
  color:#fff;
  background:#777;
  text-align:center;
  font-weight:normal;
}
.h2_minus20{
  margin-top: 80px;
  margin-bottom: -20px;
  font-size: 18px;
  height: 35px;
  padding-top: 0px;
  color:#fff;
  background:#777;
  text-align:center;
  font-weight:normal;
}
h3 {
  font-size: 18px;
  height: 40px;
  padding-top: 2px;
  padding-left: 25px;
  background: #333;
  color: #fff;
  padding-left: 50px;
}
#first_menu{
  position: relative;
}
#red_text {
  position: absolute;
  top: -30px;
  right: 0;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-weight: normal;
  color: #ba2636;
}
.red_text {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-weight: normal;
  color: #ba2636;
}
.main_text4,
.main_text{
  font-size: 16px;
  /*font-family: 'Zen Kaku Gothic Antique', sans-serif;*/
  font-weight: normal;
  text-align: center;
}

.main_text1{
  font-size: 16px;
  font-weight: normal;
  text-align: center;
  background: #e3e3e3;
  padding: 5px 0 ;
}
.main_text2{
  margin-top: 30px;
  font-size: 16px;
  font-weight: normal;
  text-align: center;
}
.main_text2_left{
  margin-top: 30px;
  font-size: 16px;
  font-weight: normal;
  text-align: left;
	}
.main_text3{
  margin-top: 30px;
  font-size: 16px;
  font-weight: normal;
  text-align:left;
  padding-left:20%;
  line-height: 5rem;
}
/* 作例集
---------------------- */
#price_table {
  font-size: 18px;
  width: 100%;
  margin-top: 5px;
  margin-bottom: 10px;
}
#price_table tr th,
#price_table tr td{
  border-bottom: 1px dotted #666;
  height: 40px;
}
#price_table tr th{
  text-align: left;
  padding-left: 10px;
}
#price_table tr td {
  text-align: right;
  padding-right: 10px;
}
.price_text {
  font-size: 15px;
  text-indent: -15px;
  padding-left: 15px;
}
.customer,
.customer_last {
  clear: both;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;


  margin-top: 30px;
}
.customer{
  border-bottom: 1px dotted #666;
  padding-bottom: 30px;
}
.customer_age {
  font-size: 18px;
  margin: 10px 0;
  text-align: center;
}
.question_image{
  width: 90px;
  float: left;
  padding-right: 20px;
  padding-bottom: 20px;
}
.customer_question {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 12px;
}
.customer_question .text01{
  padding-top:15px;
}
.question_answer {
  clear: both;
  border: 3px solid #ccc;
  padding: 10px;
  border-radius: 10px;

}


/* 予約・お問い合わせフォーム
---------------------- */
#reserve_calendar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin: 30px 0;
  gap: 0px;
}

#google_calendar{
  width: 100%;
  order: 1;
  height: 400px;
}
#reserve_date {
  width: 100%;
  font-size: 18px;
  margin: 55px auto 0;
  order: 2;
}
#reserve_date1,
#reserve_date2{
  width: 220px;
  margin: 0 auto;
}

#reserve_calendar select{
  background: #fff;
	border: 1px #666 solid;
	border-radius: 0 0 5px 5px;
	padding: 10px;
	font-size: 18px;
  width: 220px;
  text-align: center;
}
#reserve_calendar select .saturday{
  color: blue;
}
#reserve_calendar select .sunday{
  color: red;
}
input[type="radio"]{
  transform: scale(1.4);
}
input[type="checkbox"]{
  transform: scale(1.4);
}
#reserve_calendar input[type="text"]{
  width: 220px;
}

.reserve_timetable{
  width: 100%;
}
.reserve_timetable th{
  vertical-align: top;
  text-align: left;
  width: 60px;
}
.reserve_timetable td{
  border: 1px solid #666;
  border-radius: 5px;
  padding-left: 30px;
}

/* 予約フォーム2
---------------------- */
#contact_table {
  width: 100%;
}
#contact_table th {
  display: block;
  width: 100%;
  text-align: left;
  padding-left: 15px;
  background:#e3e3e3;
  margin:20px 0;
}
#contact_table td {
  display: block;
  width: 100%;
  text-align: left;
  padding-left: 0px;
}

.boxsize30{
  width:100px;
}
.boxsize12{
  width:80px;
}
.boxsize10{
  width:60px;
}

.table_text{
  margin-top: 10px;
}

input[type="text"],
input[type="email"],
input[type="password"],
textarea{
	background: #fff;
	border: 1px #666 solid;
	border-radius: 5px;
	padding: 10px;
}
input[type="email"],
input[type="password"],
.boxsize_tel{
	width: 100%;
}

textarea{
  margin: 0;
	width: 100%;
	height: 10rem;
}

/* ************************************************************** */ 
/* 予約確認画面
***************************************************************** */ 

#reserve_check_title{
  font-size: 16px;
  color: #fff;
  background: #555;
  padding: 2px 0;
  text-align:center;
  max-width: 455px;
  margin: 0 auto;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
}
#reserve_check_box{
  border: 2px solid #555;
  max-width: 455px;
  margin: 0 auto;
}
#contact_table2 {
  width: 100%;
}
#contact_table2 tbody{

}
#contact_table2 th {
  width: 160px;
  text-align: right;
  padding: 10px 0;
  padding-right: 20px;
  background: #e2dae6;
  font-weight: normal;
}
#contact_table2 td {
  padding: 10px 20px;
}
#contact_table2 th,
#contact_table2 td {
  border-bottom: 1px dotted #666;
}
#contact_table2 .no_border{
  border-bottom: none;
}
#reserve_check_button{
  display:flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 30px;
  margin-top: 50px;
}

.main_button2{
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 16px;
  color: #fff;
  background: #583E50;
  /* border: 1px solid #333; */
  border-radius: 8px;
  padding: 8px 24px ;
}
.main_button2 a {
  color: #fff;
  font-size: 16px;
}


/* アクセス
---------------------- */
#company_table td{
  padding-left: 0px;
}
/* 店舗情報
---------------------- */
#company_table{
  width: 100%;
}
#company_table th{
  width: 100px;
}
#company_table th,
#company_table td{
  border-bottom: 1px dotted #666;
  vertical-align: top;
  padding-top: 24px;
  padding-bottom: 30px;
  font-size: 16px;
}
#company_table td{
  padding-left: 0px;
}
.company_table_small{
  font-size: 14px;
  text-indent: -1.4rem;
  padding-left: 1.4rem;
}
.question_image_pc{
  display: none;
}
}


@media (min-width: 768px) {
.space_button{
  text-align: center;
  margin: 30px 0 0;
}


.flex3 {
  width: 100%;
  padding: 50px 20px 0;
  border-top: 1px dotted #666;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
}
.notice {
  text-align: center;
  margin: 0 auto;
}
.notice_circle{
  font-size: 22px;
  line-height: 1;
  background: #ddd;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  padding-top: 63px;
  margin: 0 auto;
  margin-bottom: 20px;
}
.big_number {
  font-size: 30px;
}
.notice_text {
  font-size: 15px;
  text-align: left;
  width: 200px;
}

.radio_check {
  margin-top: 20px;
  margin-bottom: 100px;
  padding-bottom: 40px;
  border-bottom: 1px dotted #666;
}
.sub_button{
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 16px;
  background: #583E50;
  border-radius: 17px;
  padding: 0 15px ;
}
.sub_button a {
  color: #fff;
}
.main_button{
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 18px;
  color: #fff;
  background: #583E50;
  /* border: 1px solid #333; */
  border-radius: 8px;
  padding: 8px 24px ;
}

.button_center{
  margin-top: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
h2 {
  margin-top: 80px;
  margin-bottom: 0px;
  font-size: 18px;
  height: 34px;
  padding-top: 0px;
  padding-left: 60px;
  background: #ccc url(../images/h2_pc_back.jpg) no-repeat;
}
h3 {
  font-size: 18px;
  height: 40px;
  padding-top: 2px;
  padding-left: 25px;
  background: #333;
  color: #fff;
  padding-left: 50px;
}
#first_menu{
  position: relative;
}
#red_text {
  position: absolute;
  top: -30px;
  right: 0;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-weight: normal;
  color: #ba2636;
}
.red_text {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-weight: normal;
  color: #ba2636;
}

.main_text{
  font-weight: normal;
  font-size: 18px;
  text-align: center;
}
.main_text1{
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.main_text2,
.main_text2_left{
  margin-top: 30px;
  font-size: 18px;
  font-weight: normal;
  text-align: center;
}
.main_text3{
  margin-top: 30px;
  font-size: 18px;
  font-weight: bold;
  text-align:left;
  padding-left:190px;
  line-height: 5rem;
}

/* アクセス
---------------------- */
.main_text4{
  font-size: 18px;
  font-weight: normal;
  text-align:center;
  text-indent:0;
}


/* 作例集
---------------------- */
#price_pc {
  margin-top: 10px;
  padding: 0 50px;
  display: flex;
  gap: 80px;
}
.price_table {
  font-size: 20px;
  width: 100%;
  margin-bottom: 10px;
}
.price_table tr th,
.price_table tr td{
  border-bottom: 1px dotted #666;
  height: 40px;
}
.price_table tr th{
  text-align: left;
  padding-left: 10px;
}
.price_table tr td{
  text-align: right;
  padding-right: 10px;
}
.price_text{
  margin-left: 60px;
  font-size: 15px;
  text-indent: -15px;
  padding-left: 15px;
}
.customer,
.customer_last{
  padding: 0 50px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding-bottom: 30px;
  margin-top: 30px;
  gap: 20px;
}
.customer{
  border-bottom: 1px dotted #666;
}
.question_image_pc{
  width: 100px;
  height: auto;
}
.customer_age {
  font-size: 17px;
  font-weight: bold;
  text-align: left;
}
.customer_opinion {
  font-size: 16px;
}
.customer_q{
  display: flex;
  flex-direction: column;
}
.customer_question{
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 12px;
}
.credit_card {
  width: 460px;
}
.question_answer {
  clear: both;
}
/* 予約・お問い合わせフォーム
---------------------- */
#reserve_calendar {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 50px 30px;
  gap: 80px;
}
#reserve_date {
  font-size: 18px;
  margin-top: 55px;
}

#reserve_calendar select{
  background: #fff;
	border: 1px #666 solid;
	border-radius: 0 0 5px 5px;
	padding: 10px;
	font-size: 18px;
  width: 220px;
  text-align: center;
}
#reserve_calendar select .saturday{
  color: blue;
}
#reserve_calendar select .sunday{
  color: red;
}
input[type="radio"]{
  transform: scale(1.4);
}
input[type="checkbox"]{
  transform: scale(1.4);
}
#reserve_calendar input[type="text"]{
  width: 200px;
}

.reserve_timetable{
  width: 100%;
}
.reserve_timetable th{
  vertical-align: top;
  text-align: left;
  width: 60px;
}
.reserve_timetable td{
  border: 1px solid #666;
  border-radius: 5px;
  padding-left: 30px;
}

/* 予約フォーム2
---------------------- */
#contact_table {
  width: 100%;
}
#contact_table th {
  height: 80px;
  width: 200px;
  text-align: right;
  padding-right: 50px;
}
#contact_table td {
  /* margin: 30px 0 30px; */
  padding: 30px 0 30px;
}
#contact_table th,
#contact_table td {
  border-bottom: 1px dotted #666;
}
.table_text{
  margin-top: 10px;
}

input[type="text"],
input[type="email"],
input[type="password"],
textarea{
	background: #fff;
	border: 1px #666 solid;
	border-radius: 5px;
	padding: 10px;
}
input[type="email"],
input[type="password"]{
	width: 350px;
}

textarea{
	width: 100%;
	height: 10rem;
}
.boxsize30{
  width:180px;
}
.boxsize12{
  width:120px;
}
.boxsize10{
  width:80px;
}


/* ************************************************************** */ 
/* 予約確認画面
***************************************************************** */ 

#reserve_check_title{
  font-size: 16px;
  color: #fff;
  background: #555;
  padding: 2px 0;
  text-align:center;
  max-width: 455px;
  margin: 0 auto;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
}
#reserve_check_box{
  border: 2px solid #555;
  max-width: 455px;
  margin: 0 auto;
}
#contact_table2 {
  width: 100%;
}
#contact_table2 tbody{

}
#contact_table2 th {
  width: 160px;
  text-align: right;
  padding: 10px 0;
  padding-right: 20px;
  background: #e2dae6;
  font-weight: normal;
}
#contact_table2 td {
  padding: 10px 20px;
}
#contact_table2 th,
#contact_table2 td {
  border-bottom: 1px dotted #666;
}
#contact_table2 .no_border{
  border-bottom: none;
}
#reserve_check_button{
  display:flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-top: 50px;
}

.main_button2{
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 16px;
  color: #fff;
  background: #583E50;
  /* border: 1px solid #333; */
  border-radius: 8px;
  padding: 8px 24px ;
}
.main_button2 a {
  color: #fff;
  font-size: 16px;
}


/* 店舗情報
---------------------- */
#company_table{
  width: 100%;
}
#company_table th{
  width: 120px;
}
#company_table th,
#company_table td{
  border-bottom: 1px dotted #666;
  vertical-align: top;
  padding-top: 24px;
  padding-bottom: 30px;
  font-size: 18px;
}
#company_table td{
  padding-left: 30px;
}
.company_table_small{
  font-size: 14px;
  text-indent: -1.4rem;
  padding-left: 1.4rem;
}

}

/*====================================================================================================================================*/

/* ************************************************************** */ 
/* ログイン・新規登録の入口画面
***************************************************************** */ 
.red_text_center{
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-weight: normal;
  color: #ba2636;
  text-align:center;
  font-size: 15px;
}
#login_box {
  max-width: 455px;
  background: #e2dae6;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /*align-items: center;*/
  padding-bottom: 30px;
  margin: 15px auto;
}

#login_box_title {
  width: 100%;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 18px;
  color: #fff;
  background: #583E50;
  padding: 2px 0 2px 25px;
}
#login_box_text {
  margin: 10px 0;
  width: 100%;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 16px;
  color: #000;
  padding: 2px 25px;
}
/*#login_box_text_red {
  display: inline-block;
  margin: 10px 0;
  width: 100%;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 16px;
  color: #ba2636;
  padding: 2px 25px;
}*/
#login_table {
  border: 2px solid #d3ccd6;
  padding: 10px 25px 25px;
  margin: 10px 25px;
  background: #fffbf2;
}
#login_table tr th {
  text-align:left;
  font-size: 18px;
}
#forget_password {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  text-align:right;
  margin-right: 25px;
  
}
.link_hr{
  text-decoration:underline;
  color: #590040;
}

/* ************************************************************** */ 
/* エラーチェック
***************************************************************** */ 

#q1_myouji_error{line-height: 20px; color: red;}
#q2_namae_error{line-height: 20px; color: red;}
#q3_myoujikana_error{line-height: 20px; color: red;}
#q4_namaekana_error{line-height: 20px; color: red;}
#q7_mailaddress_error{line-height: 20px; color: red;}
#q8_password_error{line-height: 20px; color: red;}
#ZIP_error{line-height: 20px; color: red;}
#TEL_error{line-height: 20px; color: red;}
#DATE1_error{line-height: 20px; color: red;}
#TIME1_error{line-height: 20px; color: red;}
#DATE2_error{line-height: 20px; color: red;}
#TIME2_error{line-height: 20px; color: red;}

