@charset "UTF-8";

/* -----------------------------------------------------------
	common
----------------------------------------------------------- */
body {
	text-size-adjust: none;
}
#wrapper {
	margin: 30px auto;
    max-width: 960px;
	width: 94%;
    text-align: left;
}
#header {
	background: none;
	border: none;
}
.ttl {
	font-size: 26px;
    padding-bottom: 3px;
    border-bottom: 2px solid #B2E0C7;
    margin-bottom: 16px;
}
#h_text {
	margin: 0 auto 20px;
    width: 100%;
	font-size: 15px;
}
#h_text ul li {
	text-indent: -1em;
	padding-left: 1em;
}

div#mfp_overlay {
	background: none;
}

.select_form_ttl {
	text-align: center;
	font-size: 18px;
	padding-bottom: 10px;
	border-bottom: 2px solid #666;
	margin-bottom: 40px;
}
.select_form_cont li {
	width: 32%;
	float: left;
	margin-left: 2%;
}
.select_form_cont li a {
	display: block;
	padding: 12px  8px;
	text-align: center;
	color: #fff;
}
.select_form_cont li a:hover {
	opacity: .7;
}
.select_form_cont li:first-child {
	margin-left: 0;
}
.select_form_cont li:nth-child(1) a {
	background: #2f8b08;
}
.select_form_cont li:nth-child(2) a {
	background: #cc0000;
}
.select_form_cont li:nth-child(3) a {
	background: #2d55cf;
}
.thank_tb {
	border: none;
	width: 100%;
}

.thank_tb td, .thank_tb th {
	border: none;
}

.thank_text {
	color: #008000;
	font-size: 24px;
	font-weight: bold;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {

}
@media screen and (max-width: 767px) {
.ttl {
	font-size: 18px;
}
#h_text {
	font-size: 14px;
}
.select_form_ttl {
	text-align: left;
	font-size: 16px;
}
.select_form_cont li {
	float: none;
	margin-bottom: 40px;
	margin-left: 0;
	width: 100%;
}
}

/* -----------------------------------------------------------
	contact
----------------------------------------------------------- */
.contact_wrap {
	max-width: 960px;
	margin: 0 auto;
}
.para {
	margin-bottom: 60px;
}
.para h2 {
	background: #333;
	color: #fff;
	font-size: 17px;
	font-weight: normal;
	letter-spacing: 0.1em;
	padding: 8px 16px;
	margin-bottom: 10px;
}
.telinfo {
	max-width: 700px;
	margin: 30px auto 0;
	padding: 20px;
	border: 2px solid #666;
	background: #fff;
}
.telinfo .left {
	width: 60%;
	float: left;
	text-align: center;
}
.telinfo .left span {
	font-size: 30px;
	font-weight: bold;
}
.telinfo .right {
	width: 38%;
	float: right;
}
.contact_thanks_ttl {
	font-size: 133.3%;
	text-align: center;
	margin: 60px 0 40px;
}
.contact_thanks_link {
	text-align: center;
}
.contact_thanks_link a {
	color: #2c2c2c;
	text-decoration: underline;
}
.contact_thanks_link a:hover {
	text-decoration: none;
}

/*.list_2 li {
	float: left;
    margin-right: 24px;
}
.el_card_box {
	border: 1px solid #ccc;
}
.el_card_ttl {
	padding: 10px;
	background: #D7E7D7;
}
.el_card_list {
	padding: 10px;
}
.el_card_list li {
	width: 40%;
	float: left;
}*/

.last_box {
	border-bottom: 1px solid #ccc;
	margin-bottom: 40px;
}
.conta_tb_box tr:last-child th,
.conta_tb_box tr:last-child td {
	border-bottom: none;
}
.thanks_wrap {
	padding-top: 100px;
}
.thanks_wrap .ttl {
	margin-bottom: 40px;
}
.thanks_wrap .thanks_text {
	text-align: center;
}
.thanks_wrap .thanks_cyui {
	font-size: 130%;
	margin-bottom: 20px;
	color: #F00;
	font-weight: bold;
}
.adder_wrap {
	margin-bottom: 30px;
}
.adder_btn_box {
	border: 1px solid #ccc;
	padding: 8px;
}
.adder_btn_box .text {
display: inline;
}

.tsuika_1 {
	float: left;
	width: 49%;
}
.tsuika_2 {
	float: right;
	width: 49%;
}
.tsuika_1 th,
.tsuika_1 td,
.tsuika_2 th,
.tsuika_2 td {
	border: 1px solid #ccc;
}
.tsuika_1 .conta_tb th,
.tsuika_2 .conta_tb th {
	text-align: center;
	width: 66%;
}
.rtext{color: #cc0000;}
.conta_textarea_box {
	margin-bottom: 50px;
}
.inpt_width5 {
	width: 100% !important;
	max-width: 100% !important;
	height: 160px !important;
	box-sizing: border-box;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {

}
@media screen and (max-width: 767px) {
.para {
	margin-bottom: 40px;
}
.para h2 {
	font-size: 15px;
	padding: 8px;
}
.telinfo {
	width: 90%;
	max-width: 500px;
	padding: 8px;
}
.telinfo .left {
	width: 100%;
	float: none;
	margin-bottom: 10px;
}
.telinfo .left span {
	font-size: 20px;
}
.telinfo .left a {
	color: #333;
	text-decoration: underline;
}
.telinfo .right {
	width: 100%;
	float: none;
	text-align: center;
}
.contact_thanks_ttl {
	font-size: 115%;
}
.list_2 li {
	float: none;
    margin-right: 0;
}

.thanks_wrap {
	padding-top: 30px;
}
.thanks_wrap .ttl {
	font-size: 16px;
}
.thanks_wrap .thanks_text {
	text-align: left;
}
.thanks_wrap .thanks_cyui {
	font-size: 16px;
}

.tsuika_1,
.tsuika_2 {
	float: none;
	width: 100%;
}
.tsuika_1 .conta_tb th,
.tsuika_1 .conta_tb td,
.tsuika_2 .conta_tb th,
.tsuika_2 .conta_tb td {
	display: table-cell;
	padding: 4px;
}
.tsuika_1 .conta_tb tr:last-child th,
.tsuika_1 .conta_tb tr:last-child td {
	border-bottom: none;
}
.tsuika_2 .midat {
	display: none;
}
.text2 {
	font-size: 14px;
}
.birthday .mfp_element_all{
	width: 200px !important;
}
.sty_radio label {
	width: 240px !important;
}
}

/* -----------------------------------------------------------
	#コンタクトフォーム
----------------------------------------------------------- */
.must2 {
	font-size:10px;
	color:#900;
	font-weight:bold;
	padding:0 10px;
}
.conta_tb {
	border:solid 1px #ccc;
	border-bottom: none;
	width:100%;
}
.conta_tb td, .conta_tb th {
	border-bottom:solid 1px #ccc;
	padding:8px;
	text-align:left;
	background: #fff;
}
.conta_tb th {
	width:12em;
	font-weight: normal;
	width: 30%;
	background-color: #D7E7D7;
}
.find {
	font-size:16px;
	font-weight:bold;
	padding-left:10px;
	border-left: 5px solid #900;
}

.font_cyu {
	font-size: 85.7%;
}
.hisu {
	background: #D90000;
    color: #fff;
    padding: 3px 8px;
    margin-left: 10px;
    font-size: 10px;
    text-align: center;
}


.tel_back{
	background: url(../img/image01.gif) no-repeat #FFFFFF;
	background-position:right 0px;
	/*background-color:#FEC9FF;*/
	padding-top:13px;
	}

.telbox{
	display:block;
	width:500px;
	border:double;
	border-color:#FFFFFF;
	background-color:#c3e6f7;
	border-radius:15px;
	padding:10px 15px;
	margin:30px 0 30px 0;
	}
.toi_l{
	display:block;
	width:265px;
	float:left;
	font-size:27px;
	font-weight:bold;
	background: url(../img/tel.png) no-repeat;
	background-position:left 3px;
	padding-left:40px;
	letter-spacing:-1px;
	/*background-color:#B0FBFA;*/
	}
.toi_r{
	display:block;
	width:190px;
	float:right;
	font-size:18px;
	/*background-color:#C8FF8B;*/
	font-weight:bold;
	line-height:1.4;
	padding-top:5px;
	}
	
.tel_s{font-size:20px;}
.uketuke{font-size:15px;}

input,
textarea {
	font-size: 100%;
}


.mfp_element_submit, .mfp_element_reset, .mfp_element_button {
	background: #666 !important;
	width: 200px;
	border-radius: 0 !important;
	border: none !important;
	text-shadow: none !important;
	padding: 14px 10px !important;
	color: #fff !important;
}
.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover {
	box-shadow: none !important;
	opacity: 0.7;
}

.mfp_buttons {
	width: 500px;
	margin: 0 auto 30px;
}
.btn_sub {
	float: left;
}
.btn_reset {
	float: right;
}

.form_adress_ol li {
	margin-top: 8px;
}

.inquiry_link {
	text-decoration: underline;
	color: #333;
}
.inquiry_link:hover {
	text-decoration: none;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
/*-- タブレット --*/
.hisu {
    font-size: 10px;
	white-space:nowrap;
}
.tel_back{
	background: url(../img/image01.gif) no-repeat #FFFFFF;
	background-position:right 220px;
	padding-bottom:190px;
	}
.telbox{
	width:100%;
	box-sizing:border-box;
	margin:0px;
	}
.toi_r{
	float:none;
	padding-left:40px;
	clear:both;
	}
.conta_tb th {
	font-size: 92%;
}
.conta_tb td, .conta_tb th {
	padding: 5px;
}
.mfp_buttons {
	width: 80%;
}
div.mfp_buttons button {
	width: 46%;
}
}

@media screen and (max-width: 767px) {
/*-- スマホ --*/

.hisu {
    font-size: 10px;
	white-space:nowrap;
}

.tel_back{
	background: url(../img/image01.gif) no-repeat #FFFFFF;
	background-position:right 210px;
	background-size:210px;
	margin-right:0;
	margin:0 auto;
	padding-bottom:150px;
	}
	
.telbox{
	width:90%;
	margin:0px;
	}
.toi_l{
	width:80%;
	float:none;
	font-size:23px;
	margin-bottom:10px;
	clear:both;
}
.toi_r{
	float:none;
	padding-left:40px;
	font-size:16px;
	clear:both;
}

.tel_s{font-size:16px;}
.uketuke{font-size:15px;}

.conta_tb th, .conta_tb td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}
.conta_tb {
	border:solid 1px #ccc;
	width:100%;
	box-sizing: border-box;
	font-size: 14px;
}
.conta_tb th {
	font-size: 14px !important;
}
.form_right input, .mfp input, .form_right textarea, .form_right label, .mfp select {
	font-size: 16px;
}
.mfp_element_select-one {
	font-size: 14px !important;
}


.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea {
	width: 100% !important;
    box-sizing: border-box;
}
.mfp_element_textarea {
	height: auto !important;
}

.mfp_buttons {
	width: 100%;
}
div.mfp_buttons button {
	width: 46%;
}

form#mailformpro label {
	width: 100%;
    box-sizing: border-box;
}

}


.pc_on_inl {display: inline;}
.pcTab_on_inl {display: inline;}
.tab_on_inl {display: none;}
.tabSmp_on_inl {display: none;}
.smp_on_inl {display: none;}
.pcSmp_on_inl {display: inline;}

@media screen and (min-width: 768px) and (max-width: 1200px) {
.pc_on_inl {display: none;}
.pcTab_on_inl {display: inline;}
.tab_on_inl {display: inline;}
.tabSmp_on_inl {display: inline;}
.smp_on_inl {display: none;}
.pcSmp_on_inl {display: none;}
}
@media screen and (max-width: 767px) {
.pc_on_inl {display: none;}
.pcTab_on_inl {display: none;}
.tab_on_inl {display: none;}
.tabSmp_on_inl {display: inline;}
.smp_on_inl {display: inline;}
.pcSmp_on_inl {display: inline;}
}




.ui-datepicker {
  width: 25em;
  padding: .2em .2em 0;
  display: none;
}
.ui-datepicker td span,
.ui-datepicker td a {
  display: block;
  font-size: 1.5rem; /*任意な値を追加して調整*/
  padding: .2em;
  text-align: right;
  text-decoration: none; 
}
.ui-datepicker .ui-datepicker-title select {
	font-size: 1.5em;
}


/* -----------------------------------------------------------
	course
----------------------------------------------------------- */
.course {
	margin-bottom: 40px;
	background: #f4f4f4;
    padding: 30px 0 30px;
}
.course .text_1 {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}
.course .text_2 {
	text-align: center;
	font-size: 16px;
	margin-bottom: 20px;
}
.course .text_3 {
	text-align: center;
	font-size: 16px;
}
.course .table-container {
            max-width: 800px;
			width: 90%;
            margin: 10px auto 0;
            overflow-x: auto;
            background-color: #fff;
        }

.course .table-container table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
            line-height: 1.5;
        }

        /* 枠線の基本設定 */
.course .table-container th,
.course .table-container td {
            border: 1px solid #333;
            padding: 3px 8px;
            vertical-align: middle;
        }

        /* ヘッダー（最上部）のスタイル */
.course .table-container th.main-header {
            background-color: #D7E7D7;
            font-size: 16px;
            font-weight: bold;
            letter-spacing: 0.1em;
            text-align: center;
        }

        /* 1行すべてがグレー背景の行 */
.course .table-container tr {

        }

        /* 左側の分類セルのスタイル */
.course .table-container td.category-main {
            text-align: center;
            font-weight: bold;
            background-color: #fff;
            width: 15%;
        }

.course .table-container td.category-sub {
            text-align: center;
            background-color: #fff;
            width: 15%;
			white-space: nowrap;
        }

        /* 検査内容のテキスト（基本は左寄せ） */
.course .table-container td.content {
            text-align: left;
        }
@media screen and (min-width: 768px) and (max-width: 1200px) {
}
@media screen and (max-width: 767px) {
.course {
	padding: 10px 0;
}
.course .text_1 {
	font-size: 16px;
}
.course .text_2,
.course .text_3 {
	font-size: 15px;
}
.course .table-container th.main-header {
	font-size: 14px;
}
.course .table-container table {
	font-size: 13px;
}
.course .table-container th,
.course .table-container td {
	padding: 3px 5px;
}
}
