@charset "UTF-8";


/*メインイメージ
---------------------------------------------------------*/
.contentpage #header .m_img {
	background-image: url(../images/reserve/m_img.jpg);
}
#pagebody.preview {
	padding-top: 0;
}



/*タイトル、導入
---------------------------------------------------------*/
.com_title_box > div > h2,
.com_title_box > div > p {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	padding: 0 15px;
}
.com_title_box > div > h2 {
	border-right: solid 2px #905300;
}
.com_title_box > div > p {
	font-size: 140%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.6em;
}

.contact .box01 {
	padding-bottom: 80px;
}
.contact .tel_box {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	background: rgb(245,165,50);
	background: -moz-linear-gradient(left,  rgba(245,165,50,1) 20%, rgba(245,165,50,1) 20%, rgba(255,192,0,1) 100%);
	background: -webkit-linear-gradient(left,  rgba(245,165,50,1) 20%,rgba(245,165,50,1) 20%,rgba(255,192,0,1) 100%);
	background: linear-gradient(to right,  rgba(245,165,50,1) 20%,rgba(245,165,50,1) 20%,rgba(255,192,0,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5a532', endColorstr='#ffc000',GradientType=1 );
	box-sizing: border-box;
	padding: 40px 0 30px;
	text-align: center;
	color: #fff;
}
.contact .tel_box dt,
.contact .tel_box dd {
	display: inline-block;
	vertical-align: middle;
}
.contact .tel_box dt {
	color: #FFFF95;
	font-size: 140%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-right: .5em;
}
.contact .tel_box p {
	margin-top: 1.0em;
	line-height: 1.4em;
}
.contact .note_box{
	background: rgba(118,194,89,0.1);
	border-radius: 15px;
	padding: 50px;
	max-width: 1000px;
	box-sizing: border-box;
	margin: 0 auto 50px;
}
.contact .note_box h4{
  text-align: center;
  font-size: 180%;
  letter-spacing: 0.2em;
  margin-bottom: 40px;
  color: #76C259;
}
.contact .note_box ul{
	font-size: 105%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
}
.contact .note_box li {
  padding: 1.5em 0.5em;
  box-sizing: border-box;
  border-bottom: 1px solid #DECEC8;
}
.contact .note_box li:first-child{
	padding-top: 0;
}
.contact .note_box li:last-child{
	padding-bottom: 0;
	border-bottom: none;
}
.contact .note_box li dl,
.contact .note_box li div{
	padding-left: 2.7em;
	position: relative;
}
.contact .note_box li dl::before,
.contact .note_box li div::before{
	position: absolute;
	content: "";
	background: url(../images/reserve/icon_check.svg)no-repeat left top;
	background-size: 100% 100%;
	width: 2.45em;
	height: 2.45em;
	left: 0;
	top:-0.1em;
}
.contact .note_box li dt,
.contact .note_box li p{
	font-weight: bold;
	font-size: 130%;
	letter-spacing: 0.08em;
	line-height: 1.5em;
}
.contact .note_box li dt{
	margin-bottom: 0.3em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_title_box > div > p {
	font-size: 120%;
}

.contact .box01 {
	padding-bottom: 8%;
}
.contact .tel_box {
	padding: 3% 0;
}
.contact .tel_box dt,
.contact .tel_box dd {
	display: block;
}
.contact .tel_box dt {
	margin: 0 0 .5em;
}
.contact .note_box{
	padding: 30px;
	margin: 0 auto 30px;
}
.contact .note_box h4{
  font-size: 160%;
  margin-bottom: 25px;
}
.contact .note_box ul{
	dominant-baseline: 100%;
}
.contact .note_box li dl,
.contact .note_box li div{
	padding-left: 2.3em;
}
.contact .note_box li dl::before,
.contact .note_box li div::before{
	width: 2em;
	height: 2em;
	top:0.005em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_title_box > div > h2,
.com_title_box > div > p {
	display: block;
	margin: 0;
	padding: 0;
}
.com_title_box > div > h2 {
	border-right: none;
}
.com_title_box > div > p {
	margin-top: .6em;
	padding-top: .6em;
	width: 100%;
	font-size: 110%;
	position: relative;
}
.com_title_box > div > p::before {
	content: "";
	position: absolute;
	width: 14%;
	height: 1px;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	background: #905300;
}

.contact .box01 {
	padding-bottom: 10%;
}
.contact .tel_box {
	padding: 6% 3%;
}
.contact .tel_box dt,
.contact .tel_box dd {
	display: block;
}
.contact .tel_box dt {
	font-size: 120%;
	margin: 0 0 .5em;
}
.contact .tel_box p {
	margin-top: 1.0em;
	line-height: 1.4em;
}
.contact .note_box{
	padding: 7% 5% 7% 5%;
	border-radius: 10px;
    margin-bottom: 5%;
}
.contact .note_box h4{
 	font-size: 150%;
    letter-spacing: 0.2em;
    margin-bottom: 6%;
}
.contact .note_box ul{
	font-size: 100%;
}
.contact .note_box li {
  padding: 1em 0;
  box-sizing: border-box;
  border-bottom: 1px solid #DECEC8;
}
.contact .note_box li dl,
.contact .note_box li div{
	padding-left: 2em;
}
.contact .note_box li dl::before,
.contact .note_box li div::before{
	width: 1.8em;
	height: 1.8em;
	top:0.01em;
}
.contact .note_box li dt,
.contact .note_box li p{
	font-weight: bold;
	font-size: 120%;
	letter-spacing: 0.05em;
}
}



/*  フォーム
------------------------------------------*/
.contact .form_box {
	background: #F9F6EB;
	padding-top: 60px;
	padding-bottom: 100px;
}
.contact .require {
	color: #FF7929;
}
.contact .txt_require {
	color: #76C259;
	font-size: 120%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6em;
	padding-left: 3.2%;
}

/* テーブル */
.contact .tbl_form {
	margin-top: 1.5em;
	width: 100%;
	border-top: solid 1px rgba(221,221,221,0.9);
	line-height: 1.8em;
}
.contact .tbl_form th,
.contact .tbl_form td {
	border-bottom: solid 1px rgba(221,221,221,0.9);
	text-align: left;
	vertical-align: middle;
}
.contact .tbl_form th {
	width: 28%;
	box-sizing: border-box;
	padding: 40px 3%;
	border-right: solid 1px rgba(221,221,221,0.9);
	color: #76C259;
	font-size: 130%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.6em;
}
.contact .tbl_form td {
	font-size: 120%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.6em;
}
.contact .tbl_form td > div,
.kakunin .contact .tbl_form td{
	padding: 20px 5%;
}
.contact .tbl_form td .note{
	font-size: 90%;
	color: #FF7929;
	margin-top: 0.5em;
}
/* レイアウト */
.contact .tbl_form .max_txt {
	width: 100%;
	max-width: 500px;
}
.contact .tbl_form .no_txt {
	width: 100%;
	max-width: 230px;
}
.contact .tbl_form .tel_txt {
	width: 100%;
	max-width: 300px;
}

.contact .tbl_form .radio_list li {
	float: left;
	margin-right: 5%;
}

.contact .tbl_form .col2_list li {
	width: 49%;
	max-width: 270px;
	float: left;
}
.contact .tbl_form .col2_list li:first-child {
	margin-right: 2%;
}
.contact .tbl_form .col2_list li span {
	padding-right: 1.0em;
}
.contact .tbl_form .col2_list .name_txt {
	width: calc(100% - 5em);
}
.contact .tbl_form .col2_list input[type="text"] {
	margin-left: .3em;
}

.contact .tbl_form .check_list li {
	margin-bottom: .5em;
}
.contact .tbl_form .check_list li:last-child {
	margin-bottom: 0;
}

/* ボタンレイアウト */
.contact .submit_box {
	text-align:center;
	margin-top: 40px;
}
.contact .submit_box p {
	margin-bottom: 40px;
}

.contact .submit_box li {
	display: inline-block;
	margin: 0 0.5% 10px;
	width: 48%;
	max-width: 340px;
}

/*カレンダー*/
.contact .birth_box {
	width: 100%;
	max-width: 400px;
}
.contact .tbl_form .calendar_box {
	position: relative;
}
.contact .tbl_form .date_list {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.contact .tbl_form .date_list > li {
	width: 48%;
	box-sizing: border-box;
}
.contact .tbl_form .calendar_box input[type="text"] {
	width: calc(100% - 3em);
}
.contact .tbl_form .calendar_box img {
	position: absolute;
	display: block;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.contact .bg_box {
	padding-top: 6%;
	padding-bottom: 6%;
}
.contact .txt_require {
	padding-left: 0;
}

/* テーブル */
.contact .tbl_form th {
	width: 24%;
	padding: 5% 0;
	padding-right: 2%;
}
.contact .tbl_form td > div,
.kakunin .contact .tbl_form td {
	padding: 3%;
}

/* ボタンレイアウト */
.contact .submit_box {
	margin-top: 6%;
}
.contact .submit_box p {
	margin-bottom: 6%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.contact .form_box {
	padding-top: 8%;
	padding-bottom: 10%;
}
.contact .txt_require {
	padding-left: 3.4%;
	font-size: 100%;
}

/* テーブル */
.contact .tbl_form {
	border-top: none;
	border-bottom: solid 1px rgba(118,194,89,0.15);
}
.contact .tbl_form th,
.contact .tbl_form td {
	border-bottom: none;
}
.contact .tbl_form tr,
.contact .tbl_form th,
.contact .tbl_form td {
	display: block;
}
.contact .tbl_form th {
	border-bottom: none;
	width: 100%;
	padding: .5em 3%;
	border-right: none;
	background: rgba(118,194,89,0.15);
	font-size: 110%;
	letter-spacing: .1em;
	line-height: 1.6em;
}
.contact .tbl_form td {
	font-size: 110%;
}
.contact .tbl_form td > div,
.kakunin .contact .tbl_form td{
	padding: 1.0em 3%;
}

/* レイアウト */
.contact .tbl_form .max_txt,
.contact .tbl_form .no_txt,
.contact .tbl_form .tel_txt {
	max-width: 100%;
}

.contact .tbl_form .col2_list li {
	width: 100%;
	float: none !important;
}
.contact .tbl_form .col2_list li:first-child {
	margin-bottom: .6em;
	margin-right: 0;
}

/* ボタンレイアウト */
.contact .submit_box {
	margin-top: 6%;
}
.contact .submit_box p {
	margin-bottom: 6%;
	text-align: left;
}

.contact .submit_box li {
	display: block;
	margin: 0 0 10px;
	width: 100% !important;
	max-width: 100% !important;
}
	
/*カレンダー*/
.contact .tbl_form .calendar_box input[type="text"] {
	width: calc(100% - 2em);
}
.contact .tbl_form .calendar_box img {
	width: 1.5em;
}
}



/* 入力項目デザイン
-----------------------------------------------------------------------------*/
/********************/
/* テキストボックス */
/********************/
.contact input[type="text"] {
	padding: 12px 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
	font-size: 16px;
	letter-spacing: .05em;
	outline: none;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
}
.contact textarea {
	height: 180px;
	padding: 12px 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
	font-size: 16px;
	letter-spacing: .05em;	
	outline: none;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
}

/****************/
/* ラジオボタン */
/****************/
.contact input[type=radio],
.contact input[type=checkbox] {
    display: inline-block;
    margin-right: 10px;
}
.contact input[type=radio] + label,
.contact input[type=checkbox] + label {
    position: relative;     
    display: inline-block;
    cursor: pointer;
	letter-spacing: .2em;
}
 
@media (min-width: 1px) {
    .contact input[type=radio],
    .contact input[type=checkbox] {
        display: none;
        margin: 0;
    }
    .contact input[type=radio] + label,
    .contact input[type=checkbox] + label {
        padding: 0 0 0 30px;
    }
    .contact input[type=radio] + label::before,
    .contact input[type=checkbox] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 18px;
        height: 18px;
        margin-top: -9px;   
        background: #fff;
    }
    .contact input[type=radio] + label::before {   
		border: solid 1px #ddd;
        border-radius: 30px;
    }
    .contact input[type=checkbox] + label::before {   
		border: solid 1px #ddd;
        border-radius: 3px;  
    }
    .contact input[type=radio]:checked + label::after,
    .contact input[type=checkbox]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
    .contact input[type=radio]:checked + label::after {
        left: 5px;         
        width: 8px;
        height: 8px;
        margin-top: -4px;         
        background: #FFB221;
        border-radius: 8px;
    }
    .contact input[type=checkbox]:checked + label::after {
        left: 3px;         
        width: 16px;
        height: 8px;
        margin-top: -8px;         
        border-left: 3px solid #FFB221;
        border-bottom: 3px solid #FFB221;         
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}

/******************/
/* コンボボックス */
/******************/
.contact select {
	margin-top: 5px;
	font-size: 16px;
	letter-spacing: .05em;
}

/**********/
/* ボタン */
/**********/
.contact input[type="submit"],
.contact input[type="button"],
.contact input[type="reset"] {
	-webkit-appearance: none;
	width: 100%;
	height: 80px;
	border: none;
	cursor: pointer;
	border-radius: 0;
	font-size: 120%;
	color: #fff;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.0em;
}
.contact input[type="submit"] {
	background: rgb(245,165,50);
	background: -moz-linear-gradient(left,  rgba(245,165,50,1) 20%, rgba(245,165,50,1) 20%, rgba(255,192,0,1) 100%);
	background: -webkit-linear-gradient(left,  rgba(245,165,50,1) 20%,rgba(245,165,50,1) 20%,rgba(255,192,0,1) 100%);
	background: linear-gradient(to right,  rgba(245,165,50,1) 20%,rgba(245,165,50,1) 20%,rgba(255,192,0,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5a532', endColorstr='#ffc000',GradientType=1 );
}
.contact input[type="button"],
.contact input[type="reset"] {
	background-color: rgba(170,170,170,0.9);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/********************/
/* テキストボックス */
/********************/
.contact input[type="text"] {
	padding: 10px 5px;
}
.contact textarea {
	padding: 10px 5px;
}

.contact input[type="submit"],
.contact input[type="button"],
.contact input[type="reset"] {
	height: 60px;
}
}



/* ドメイン設定
-----------------------------------------------------------------------------*/
.mobile_attention {
	margin-top: 20px;
	background: rgba(246,231,66,0.1);
	letter-spacing: .05em;
	padding: 40px 4%;
	font-size: 80%;
}
.mobile_attention dt {
	font-weight: bold;
	color: #FFB221;
	font-size: 120%;
	letter-spacing: .15em;
	margin-bottom: .5em;
}
.mobile_attention ul {
	margin-top: 10px;
}
.mobile_attention li {
	margin-top: 5px;
	padding-left: 15px;
	float: left;
	margin-right: 20px;
	position: relative;
	vertical-align: middle;
	line-height: 1.2em;
}
.mobile_attention li::before{
	position: absolute;
	left: 0;
	top: .5em;
	content: "";
	vertical-align: middle;
	width: 4px;
	height: 4px;
	border-top: 1px solid #666;
	border-right: 1px solid #666;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.mobile_attention a:hover {
	text-decoration: underline;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.mobile_attention {
	font-size: 90%;
	margin-top: 4%;
	padding: 6% 4%;
}
}



/* 個人情報
-----------------------------------------------------------------------------*/
.contact .form_box .txt_send {
	text-align: center;
	margin: 50px 0 70px;
}

.contact .privacy {
	background: #fff;
	padding: 40px 4%;
}

.contact .privacy .flt_box {
	margin-top: 30px;
}
.contact .privacy .flt_box dl {
	width: 47%;
}
.contact .privacy .flt_box .flt_r {
	border-left: solid 1px rgba(221,221,221,0.9);
	padding-left: 3%;
}	

.contact .privacy dt {
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6em;
	margin-bottom: .3em;
}
.contact .privacy dd {
	font-size: 94%;
	letter-spacing: .05em;
	line-height: 1.8em;
}
.contact .privacy li {
	text-indent: -1.5em;
	margin-left: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.contact .form_box .txt_send {
	margin: 6% 0;
}

.contact .privacy {
	padding: 4%;
}

.contact .privacy .flt_box {
	margin-top: 3%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.contact .form_box .txt_send {
	text-align: left;
	margin: 8% 0;
}

.contact .privacy {
	padding: 6% 4%;
}

.contact .privacy .flt_box {
	margin-top: 0;
}
.contact .privacy .flt_box dl {
	margin-top: 5%;
	width: 100%;
	float: none;
}
.contact .privacy .flt_box .flt_r {
	border-left: none;
	padding-left: 0;
}	
.contact .privacy dd {
	line-height: 1.6em;
}
}



/* 問診票
-----------------------------------------------------------------------------*/
.contact .monshin {
	width: 100%;
	max-width: 900px;
	margin: 30px auto 0;
	box-sizing: border-box;
	border: solid 2px #905300;
	padding: 25px 3%;
	text-align: center;
}
.contact .monshin .com_btn {
	width: 100%;
	max-width: 300px;
	font-size: 120%;
	margin-top: 1.0em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.contact .monshin {
	margin-top: 3%;
	padding: 3%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.contact .monshin {
	margin-top: 4%;
	padding: 5%;
	text-align: left;
	border-width: 1px;
}
}