@charset "UTF-8";
body {
  color: #333;
  font-size: 16px;
  font-size: 1rem;
  font-family: 'Noto Sans JP', sans-serif, "游ゴシック", "Yu Gothic", YuGothic;
  border: 0;
  margin: 0;
  padding: 0;
}

img {
  -webkit-backface-visibility: hidden;
 }

h1,h2 {
  margin: 0;
  padding: 0;
}

.min {
  font-family: '游明朝体', 'YuMincho', 'Noto Serif JP', serif;
}

ul,li {
  list-style: none;
}

.clearfix::after {
   content: "";
   display: block;
   clear: both;
}

/*===================================================
component
===================================================*/
/*==========
sp pc change
==========*/
.pc {
  display: block;
}
.sp {
  display: none;
}
@media (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

.change_img {
  padding: 5px;
}
@media (max-width: 767px) {
  .change_img {
    padding: 0;
  }
}


/*===================================================
        header
===================================================*/
 header {
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  border-bottom: solid 2px #c0c0c0;
}
#vivo_logo_h1 {
	text-align: center;
	margin: 0 auto;
}
#vivo_logo_h1 img {
    margin: 1% auto;
}

@media (max-width: 767px) {
	#vivo_logo_h1 img {
		width: 60%;
		height: 60%;
		margin: 3% auto;
	}
}

/*===================================================
        main_contents_wrap
===================================================*/
.content_wrap {
	width: 100%;
    background-color: #f5f5f5;
    padding-bottom: 55px;
	margin: 0 auto;
}
.content {
    width: 900px;
    margin: 0 auto;
    padding-top: 35px;
	background-color: #ffffff;
	padding-bottom: 5%;
}
.h2_tittle {
	text-align: center;
	font-size: 1.3em;
	color: #4d4d4d;
}

.calender_confirm { /* 上部のボタン　会員専用・他店　*/
	width: 600px;
	background-color: none;
	margin: 3% auto;
	display: flex; /* flexbox 親 */
	flex-direction: row; /* 子要素を左から右に配置 */
	flex-wrap: nowrap; /* 子要素を折り返しせず、一行に並べる */
	justify-content: center; /* 中央揃え */
}
input[type="button"] {
    -webkit-appearance: none;
    border-radius: 0;
	margin: 0 auto;
}
input.btn_yyk, .btn_yyk, #btnYoyakuKakunin {
    background-color: #D78C82;
    border-radius: 8px;
    color: #fff;
    font-size: 16px;
	padding: 6px 10px;
    border-style: none;
    cursor:pointer;
	margin: 0 auto;
}

input.btn_yyk:hover {
	opacity: 0.3;
    filter: alpha(opacity=30);
    -ms-filter: "alpha(opacity=30)";
}

.btn_yyk {
}

.btn_yyk:hover {
	opacity: 0.3;
    filter: alpha(opacity=30);
    -ms-filter: "alpha(opacity=30)";
}

.btn_yyk a {
	color: #fff;
    font-size: 16px;
    text-decoration: none;
}

.btn_yyk a:hover {
	opacity: 0.3;
    filter: alpha(opacity=30);
    -ms-filter: "alpha(opacity=30)";
}

.center {
	text-align: center;
}
.calender_wrap {
	width: 700px;
	background-color: none;
	margin: 3% auto;
	display: flex; /* flexbox 親 */
	flex-direction: row; /* 子要素を左から右に配置 */
	flex-wrap: nowrap; /* 子要素を折り返しせず、一行に並べる */
	justify-content: center; /* 中央揃え */
}

.calender_box {
	width: 320px;
	background-color: #ffffff;
}

.calender_title {
	text-align: center;
}

.calender {
	border: 2px solid #696969;
	border-collapse: collapse;
	margin: 2% auto;
	width: 90%;
}
.calender th {
    background-color: #D78C82;
    border: 2px solid #696969;
    padding: 4px 7px 1px;
    font-weight: bold;
    text-align: center;
    font-size: 90%;
	color: #ffffff;
}

.calender td {
    border: 2px solid #696969;
    padding: 4px 7px 1px;
    font-weight: normal;
    text-align:right;
}
.calender td:hover {
	opacity: 0.3;
    filter: alpha(opacity=30);
    -ms-filter: "alpha(opacity=30)";
}
.calender td.ok_day {
    cursor:pointer;
    background-color:#00bfff;
    color: #fff;
}
.calender td.ng_day {
    background-color: #778899;
    color: #fff;
}

.web_info {
	width: 100%;
	background-color: #fff;
}

.h3_tittle {
	text-align: center;
}

.web_info_ul {
	width: 600px;
	margin: 0 auto;
	background-color: none;
	border-top: solid 2px #696969; 
	border-bottom: solid 2px #696969;
	padding: 3%;
}

.pick_up_day_wrap {
	width: 100%;
	margin: 8% auto 0 auto;
	background-color: none;
	padding-bottom: 5%;
}

.pick_up_day_wrap h3 {
	text-align: center;
}
.s_list {
    margin: 5% auto;
    border-collapse: collapse;
    width: 90%;
    margin-left: 5%;
    font-size: 95%;
    background-color: #f4f4f4;
}

.s_list th {
    border: 2px solid #fff;
    padding: 8px 10px;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
    background-color: #D78C82;
    color: #fff;
}
.s_list td {
	border: 2px solid #fff;
	padding: 0.8em;
}
.td_time_display {
	text-align: center;
}

.td_lesson_name {
	padding: 0 0 0 2%;
	width: 30%;
}

.td_description {
	padding: 0 0 0 2%;
}

.td_remaining {
	text-align: center;
}
.tbl-r05 td:first-child {
  background: #fbf5f5;
}
.back_btn {
	display:  block;
	text-align: center;
}

input[type="button"] {
	width: 200px;
	padding: 10px;
	border-radius: 18px;
	box-shadow: none;
	background-color: #ffffff;
	border: 2px solid #d3d3d3;
	color: #4D4D4D;
	font-size: 1rem;
}

input[type="button"]:hover {
	background-color: #d3d3d3;
	border: 2px solid #d3d3d3;
	color: #ffffff;
}
.intra_schedule_link {
	margin: 0 auto;
}
.intra_schedule_link a {
	margin: 2% 8%;
	padding: 1em;
	text-decoration: none;
	background-color: #ffffff;
    border-radius: 8px;
    color: #D78C82;
    font-size: 16px;
	padding: 6px 10px;
    border: 2px solid #D78C82;
    cursor:pointer;
}

.intra_schedule_link a:hover {
	background-color: #D78C82;
	color: #ffffff;
}

@media (max-width: 767px) {
	.content_wrap {
		width: 100%;
		background-color: #ffffff;
		padding-bottom: 55px;
		margin: 0 auto;
	}
	
	.content {
		width: 95%;
		margin: 0 auto;
		padding-top: 35px;
		background-color: #ffffff;
	}
	.calender_confirm { /* 上部のボタン　会員専用・他店　*/
	    width: 80%;
		background-color: none;
		margin: 3% auto;
		display: flex; /* flexbox 親 */
		flex-direction: column; /* 子要素を上から下に配置 */
		flex-wrap: nowrap; /* 子要素を折り返しせず、一行に並べる */
		justify-content: center; /* 中央揃え */
	}
	.btn_yyk {
		display:block;
		width: 90%;
		background-color: #D78C82;
		border-radius: 8px;
		color: #fff;
		font-size: 16px;
		padding: 6px 10px;
		border-style: none;
		cursor:pointer;
		margin: 1% auto;
		text-align: center;
	}
	 #btnYoyakuKakunin {
		width: 98%;
		margin: 0 auto;
		padding: 0 ;
		background-color: #D78C82;
		border-radius: 8px;
		color: #fff;
		font-size: 16px;
		padding: 6px 10px;
		border-style: none;
		cursor:pointer;
		margin: 1% auto;
		text-align: center;
	}
	
	.calender_wrap {
		width: 100%;
		background-color: none;
		margin: 3% auto;
		display: flex; /* flexbox 親 */
		flex-direction: column; /* 子要素を上から下に配置 */
		flex-wrap: nowrap; /* 子要素を折り返しせず、一行に並べる */
		justify-content: center; /* 中央揃え */
	}
	
	.calender_box {
		width: 95%;
		background-color: none;
		margin: 3% auto;
	}
	
	.web_info_ul {
		width: 95%;
		margin: 0 auto;
		background-color: none;
		border-top: solid 2px #696969; 
		border-bottom: solid 2px #696969;
		padding: 3%;
	}
	
	.s_list {
		margin: 3% auto;
		border-collapse: collapse;
		width: 100%;
		font-size: 95%;
		background-color: #f4f4f4; /* 背景　薄いグレー　*/
	}
	
	.s_list td {
		border: 2px solid #fff;
		padding: 0.8em;
		width: 100%;
		margin: 0 auto;
	}
	.tbl-r05 {
		width: 100%;
		margin: 3% auto;
	}
	.tbl-r05 .thead {
		display: none;
    }
	
	.tbl-r05 td {
		display: block;
		text-align: left;
		padding: 2%;
		width: 95%;
		margin: 0 auto;
	}
	
	.tbl-r05 data-label {
		color:#D78C82;
	}
	
	.tbl-r05 .td_lesson_name {
		text-align: center;
		margin: 0 auto;
	}
	.tbl-r05 .td_remaining {
		text-align: left;
		margin: 0 auto;
	}
	
	.tbl-r05 .td_description {
		margin: 0 auto;
	}
	
	.tbl-r05 td:first-child {
		background: #D78C82;
		color: #fff;
		font-weight: bold;
		text-align: center;
		width: 95%;
		margin: 0 auto;
		padding: 2%;
	}
	
	.tbl-r05 td:before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		margin-right: 10px;
	}
	.intra_schedule_link {
		text-align: center;
	}
	.intra_schedule_link a {
		margin: 0 auto;
	    padding: 1em;
	    text-decoration: none;
	    background-color: #ffffff;
        border-radius: 8px;
        color: #D78C82;
        font-size: 16px;
	    padding: 6px 10px;
        border: 2px solid #D78C82;
        cursor:pointer;
	}

}

/*===================================================
          footer
===================================================*/
footer {
  margin-top: 85px;
  padding: 5px 0;
  font-size: 0.7rem;
  text-align: center;
  color: #fff;
  background: #808080;
}

@media only screen and (max-width: 1200px) and (min-width: 768px) {
  footer {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  footer {
    margin-top: 3vw;
  }
}
