@charset "utf-8";

/*クリニック メインビジュアル SP
---------------------------------------------*/
#mv_web_reservation {
	position: relative;
	background-image: url(../img/key-visual-sp.webp);
	background-size:  cover; 
	max-width: 100%;
	text-align: center;
	display: flex; /* flex属性に変更*/
	justify-content: center; /* 子要素の横位置*/
	align-items: center; /* 子要素の縦位置*/
}
#mv_web_reservation:before {
    content: "";
    display: block;
    padding-top: 18%;
  }
#mv_web_reservation .jp_title {
	display: block;
	font-family: "Kiwi Maru", sans-serif;
	font-size: 5.1vw;
	font-weight: normal;
	letter-spacing: .2em;
	display: block;
	line-height: 1.4em;
}
#mv_web_reservation .en_sub {
	display: block;
	font-size: 3.1vw;
	font-family: "Bellota Text", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
	color: #e88a95;
	text-align: center;
	margin-top: 0.4em;
}
/*クリニック メインビジュアル PC
---------------------------------------------*/
@media screen and (min-width: 769px){
#mv_web_reservation {
	background-image: url(../img/key-visual.webp);
}
#mv_web_reservation:before {
    content: "";
    display: block;
    padding-top: 20%;
  }
#mv_web_reservation .jp_title {
	font-size: 40px;
}
#mv_web_reservation .en_sub {
	font-size: 22px;
}
}	


/*h2タイトル 共通
---------------------------------------------*/
.clinic_heading {
	position: relative;
	max-width: 100%;
	text-align: center;
}
.clinic_heading .jp_title {
    display: block;
	font-family: "Kiwi Maru", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
	font-size: 6vw;
	font-weight: normal;
}
.clinic_heading .en_sub {
	display: block;
	font-size: 3.1vw;
	font-family: "Bellota Text", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
	color: #e88a95;
	text-align: center;
}
@media screen and (min-width: 769px){
.clinic_heading .jp_title {
	font-size: 36px;
}
.clinic_heading .en_sub {
	font-size: 22px;
}
}

/* ご予約前の確認事項 SP
********************************************/
/*ボックス全体*/
.confirm_wrap {
	 margin: 2em auto;
}
.confirm_wrap h2 {
	font-size: 6vw;
	text-align: center;
    font-family: "Kiwi Maru", sans-serif;
    font-weight: normal;
    color: #575757;
}
.confirm_wrap a {
	text-decoration: underline!important;
}
.confirm_wrap .tx_intro {
	font-size: 4vw;
	text-align: center;
    color: #e88a95;
	margin: 20px auto;
	width: 94%;
	height: auto;
}
.confirm_wrap .tx_nomal {
	margin: 0.75em 0;
}
.confirm_wrap .confirm_box {
	/*font-family: 'Open Sans', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;*/
	max-width: 94%;/*最大幅*/
    margin: 2em auto;
	text-align: left;
}
/*ラベル*/
.confirm_box label {
	display: block;
	margin: 0;
	padding : 5px 0;
	background: #fff;
	cursor : pointer;
	transition: all 0.5s;
	position: relative;
	font-size: 4vw;
	line-height: 1.4em;
	font-weight: bold;
}
/*アイコンを表示*/
.confirm_box label:after {
	content: "＋";
	position: absolute;
	right: 0;
}
/*チェックは隠す*/
.confirm_box input {
    display: none;
}
/*中身を非表示にしておく*/
.confirm_box .accshow {
    height: 0;
    padding: 5px;
    overflow: hidden;
    opacity: 0;
    transition: 0.5s;
}
/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
    height: auto;
    padding: 5px;
    background: #fff;
    opacity: 1;
}
.confirm_box .accshow dl {
	margin: 0px;
	padding: 0px;
	width: 99%;
	margin: 5px 0 10px;
}
.confirm_box .accshow ul {
	margin: 0px;
	padding: 0px;
	width: 99%;
	margin: 5px 0 20px;
}
.confirm_box .accshow dt {
	margin: 0;
	height: auto;
	padding: 0.3em 0;
	box-sizing: border-box;
	font-size: 14px;
}
.confirm_box .accshow dd {
	margin: 0;
	height: auto;
	padding: 0.3em 0;
	box-sizing: border-box;
	display: list-item;
	list-style-type: disc;
	margin-left: 1em;
	font-size: 14px;
}
.confirm_box .accshow li {
	margin: 0;
	height: auto;
	padding: 0.3em 0;
	box-sizing: border-box;
	list-style-type: disc;
	margin-left: 1em;
	font-size: 14px;
}
.confirm_box .accshow a {
	text-decoration: none;
	font-size: 14px;
}
/*アイコンを入れ替える*/
.cssacc:checked + label:after {
    content: "−";
}
.confirm_box .faq_box {
	margin: 1em 0;
	padding: 0;
	border-bottom: dashed 1px #ccc;
}
/*ご予約前の確認事項 PC
---------------------------------------------*/
@media screen and (min-width: 769px){
.confirm_wrap {
	 margin: 20px 0;
}
.confirm_wrap h2 {
    font-size: 33px;
    font-weight: normal;
    color: #575757;
}
.confirm_wrap .tx_intro {
	font-size: 20px;
}
.confirm_wrap .tx_nomal {
}
.confirm_wrap .confirm_box{
	max-width:1000px;
	margin:0 auto;
	padding: 20px 0;
	text-align: left;
}
.confirm_box label {
	font-size: 18px;
}
.confirm_box label:after {
	right: 5px;
}
.confirm_box .accshow dt {
	font-size: 16px;
}
.confirm_box .accshow dd {
	font-size: 16px;
}
.confirm_box .accshow li {
	font-size: 16px;
}
.confirm_box .accshow a {
	text-decoration: none;
	font-size: 16px;
}
}



/*診療予約に関するお知らせ
---------------------------------------------*/
.reservation_notice_wrap {
	width: 100%;
	height: auto;
	background-color: #f5f5f5;
	margin-bottom: 0!important;
	display: block;
}
.reservation_notice_wrap .inner {
	width: 94%;
	height: auto;
	margin: 0 3%;
	padding: 30px 0 10px;
}
.reservation_notice_wrap h2 {
	font-size: 6vw;
	text-align: center;
    font-family: "Kiwi Maru", sans-serif;
    font-weight: normal;
    color: #575757;
}
.reservation_notice_wrap a {
	text-decoration: underline!important;
}
.reservation_notice_wrap li {
	margin: 1.5em 0;
	list-style-type: disc;
	list-style-position: outside;
	margin-left: 1em;
}
.reservation_notice_wrap .notice_box {
	margin: 1.5em 0;
}

@media screen and (min-width: 769px){
.reservation_notice_wrap .inner {
	width: 1000px;
	height: auto;
	margin: 0 auto;
	padding: 50px 0 30px;
}
.reservation_notice_wrap h2 {
    font-size: 33px;
    font-weight: normal;
    color: #575757;
}
}

/*　医院選択（WEB予約はこちら）
---------------------------------------------*/
.brn_reservation{
	width: 100%;
	height: auto;
	margin: 20px 0;
}
.brn_reservation a{
	width: 92%;
	height: auto;
	font-size: 3.6vw;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	display: block;
	margin:1em auto;
	padding: 17px 0px;
	background-color: #e88a95;
}
@media screen and (min-width: 769px){
.brn_reservation{
	width: 100%;
	height: auto;
	margin: 30px auto;
}
.brn_reservation a{
	width: 400px;
	height: auto;
	font-size: 17px;
	margin-bottom: 20px;
}
}




/*　医院選択（WEB予約はこちら）古い
---------------------------------------------*/
.btn-select {
	width: 400px;
	height: 100px;
	margin: 40px auto 20px!important;
	position: relative;
	background: #f4bdab;
	cursor: pointer; /* IEでcursorがチラついたので */
	text-align-last: center;
	font-size: 20px;
	letter-spacing: 0.1em;
	background-image: url("../img/select_back.webp");
	background-repeat: no-repeat;
	background-size: cover;
}
.label {
	color: #fff;
	position: absolute;
	width: 100%;
	height: auto;
	z-index: 1;
	left: -1px;
	margin: 34px 0;
	text-align: center;
	vertical-align: middle;
}

.select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  cursor: pointer;
  width: 100%;
	height: 100px;
  border: none;
  padding: 20px;
  opacity: 0;
  position: relative;
  z-index: 2;
	font-size: 20px;
	outline: 0;/* 枠線を消す */
}

/* IE10以上で矢印を消す */
.select::-ms-expand {
  display: none; 
}

/* フォーカス時 */
.select:focus {
  z-index: -1;
  opacity: 1;
}
.select option{
	font-size: 18px;
}
@media screen and (max-width: 768px){
.btn-select {
  width: 92%;
}
}
.note_form{
	margin: 40px auto;
}
.note_form p{
	text-align: center;
}
@media screen and (max-width: 768px){
	.note_form{
	width: 90%;
}	
}	

/*　各医院のお電話のご予約はこちら
---------------------------------------------*/
.tel_reservations{
	width: 100%;
	height: auto;
	margin: 20px 0 40px;
}
.tel_reservations a{
	width: 92%;
	height: auto;
	font-size: 3.6vw;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #e88a95;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #e88a95;
	display: block;
	margin:1em auto;
	padding: 17px 0px;
}
@media screen and (min-width: 769px){
.tel_reservations{
	width: 100%;
	height: auto;
	margin: 30px auto 50px;
	text-align: center;
}
.tel_reservations a{
	width: 400px;
	height: auto;
	font-size: 17px;
	margin-bottom: 20px;
}
}


/*　主なメニューの施術間隔 H1
---------------------------------------------*/
.treatment_interval {
	font-size: 6vw;
	text-align: center;
}
@media screen and (min-width: 769px){
.treatment_interval {
	font-size: 20px;
	text-align: center;
}
}

/*　施術間隔テーブル
---------------------------------------------*/
.list_box{
	width: 800px;
	height: auto;
	margin: 40px auto ;
	overflow-x: scroll;
	border: solid 1px #ccc;
}
.list_box table{
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	white-space: nowrap;
}
.list_box th,td{
	text-align: center;
	vertical-align: middle;
	font-weight: normal;
	border: 1px #ccc solid;
	font-size: 12px;
	padding: 0.5em;
	line-height: 1.4em;
}
.list_box .pink{
	background-color: #fef3f3;
}
.list_box .gray{
	background-color: #e7e6e6;
}

.list_box td.dot_line{
	border-bottom-width: 2px;
	border-bottom-style: dotted;
	border-bottom-color: #ccc;
}

.list_box th.r_line{
	border-right-width: 2px;
	border-right-style: solid;
	border-right-color: #fadfd5;
}

.fixed01{
  position: sticky;
  left: 0;
  &:before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #000;
  }
}
@media screen and (max-width: 767px){
.list_box{
	width: 94%;
	height: auto;
	margin: 30px auto;
	overflow-x: scroll;
}
.list_box .tx_left{
	text-align: left!important;
	padding-left: 20px;
}
}


/*　確認事項に同意します
---------------------------------------------*/
.confirmation_box{
	width: 94%;
	height: auto;
	margin: 0 auto;
}
.confirmation_box .exp{
	text-align: center;
	line-height: 1.4em;
}
.btn_confirmation_box{
	width: 100%;
	height: auto;
	margin: 0 auto;
}
.btn_confirmation {
	width: 90%;
	height: auto;
	border: solid 1px #E88A95;
	margin: 0.75em auto;
	position: relative;
	vertical-align: middle;
}
.btn_confirmation::after {
	border-right: 1px solid #E88A95;
	border-top: 1px solid #E88A95;
	content: "";
	display: block;
	height: 2vw;
	position: absolute;
	right: 2vw;
	top: 50%;
	transform: translate(0, -50%) rotate(45deg); width: 2vw;
}
.btn_confirmation a {
	width: 100%;
	height: auto;
	display: inline-block;
	line-height: 1.6em;
	padding: 0.5em;
	color: #E88A95;
	text-align: center;
}	
.confirmation_box .tx_check{
	width: 90%;
	height: auto;
	text-align: left;
	margin: 15px auto;
}
.confirmation_box .tx_check input[type=checkbox] {
  -ms-transform: scale(1.3, 1.3);
  -webkit-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
}
.confirmation_box .tx_check label, input[type='checkbox'] {
    cursor: pointer;
}
.confirmation_box dl{
	text-align: center;
	margin: 5px 0 ;
}
.confirmation_box dt{
	font-size: 3.8vw;
	font-weight: bold;
}
.confirmation_box dd{
	line-height: 1.3em;
	text-align: left;
}
.confirmation_box .btns_wrap{
	width: 100%;
	height: auto;
	display: block;
	margin: 20px 0;
}
.confirmation_box .btns_wrap button{
	width: 94%;
	height: 4.2em;
	padding: 0.75em 0;
	color: #fff;
	background-color: #e88a95;
	border: none;
	margin: 10px 3%;
	font-weight: bold;
	font-size: 3.8vw;
}
.confirmation_box .btns_wrap button:hover{
	opacity: 0.5 ;
	transition: 1.0s ;
	cursor:pointer;
}
.confirmation_box .btns button a{
	color: #fff;
	font-weight: bold;
	font-size: 3.8vw;
}

.att_box{
	width: 92%;
	height: 40vw;
	padding: 3.5em 1.5em;
	border: solid 1px #999;
	background-color: #fff;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	box-shadow: 2px 2px 6px #aaa;
	z-index: 100;
}
.att_box .but01{
	position: absolute;
	top: 1em;
	right: 1em;
	background-color: #fff;
	border: none;
	z-index: 120;
}
.att_box .but02{
	position: absolute;
	bottom: 1em;
	right: 1em;
	width: 5em;
	line-height: 1.6em;
	color: #FFF;
	background-color: #aaa;
	border: none;
	z-index: 120;
}
.att_box p{
	margin: 0;
}
@media screen and (min-width: 767px){
.confirmation_box{
	width: 1000px;
	height: auto;
}
.btn_confirmation_box{
	width: 1000px;
	height: auto;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.btn_confirmation {
	width: 400px;
	height: auto;
	margin: 15px 25px;
	padding: 0;
}
.btn_confirmation::after {
	border-right: 1px solid #E88A95;
	border-top: 1px solid #E88A95;
	content: "";
	display: block;
	height: 8px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translate(0, -50%) rotate(45deg); width: 8px;
}
.confirmation_box .tx_check{
	width: 220px;
	height: auto;
	text-align: center;
	margin: 0;
}
.confirmation_box dt{
	font-size: 18px;
}
.confirmation_box dd{
	text-align: center;
}
.confirmation_box .btns_wrap{
	width: 440px;
	height: auto;
	margin: 20px auto;
}
.confirmation_box .btns_wrap button{
	width: 440px;
	height: 80px;
	font-size: 18px;
}
.att_box{
	width: 420px;
	height: 180px;
	left: 50%;
	right: 50%;
	top: 40%;
}
.att_box p{
	margin: 0;
}
}
