@charset "utf-8";

/* 共通
------------------------------------------------------------------*/
.bg_col01 {
	background-color: #6cc4df!important;
}
.content_low .inner, .main_page .inner {
	max-width: calc(1000px + 10%);
}
.content_low {
	padding: 100px 0 200px;
}
.main_page {
	padding: 100px 0 90px;
	background: url("images/page/page_ttl_bg.png")no-repeat center / cover;
}
.page_main section:not(:last-child) {
	margin-bottom: 100px;
}
.hdg2 {
	text-align: center;
}
.hdg2 span {
	display: block;
	letter-spacing: .1em;
}
.hdg2 .en {
	font-size: 266.67%;
	line-height: 1;
}
.hdg2_common01 .ja01 {
	font-size: 237.5%;
    line-height: 1.6;
}
.hdg2_common01 .ja02 {
	font-size: 150%;
}
.hdg2 small {
	font-size: 50%;
}
.hdg3 {
	font-size: 177.78%;
	letter-spacing: .1em;
	line-height: 1.5;
}
.hdg3 span {
	padding-bottom: 25px;
	position: relative;
	display: inline-block;
}
.hdg3 span:after {
	content: "";
	position: absolute;
	background: #333;
	width: 40px;
	height: 1px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
#form1701 .hdg3,
#form1801 .hdg3,
#form1901 .hdg3,
#form2001 .hdg3 {
	display: none;
} 
.box_common01 {
	background: #eee;
	padding: 10px 5% 15px;
}
.box_common01 a {
	color: #0022cd;
	font-weight: 500;
	text-decoration: underline;
}
.tbl_common01 tr:first-child th {
	text-align: center;
}
.tbl_common02 td.anken_id input {
    border: none;
    font-size: 125%;
    padding: 0;
}
.tbl_common02 {
	
}
.tbl_common01 th,.tbl_common02 th {
	background-color: #1CA8D3;
}
.tbl_common01 table,.tbl_common01 tr:not(:last-child) td,.tbl_common02 table,.tbl_common02 tr:not(:last-child) td {
	border-color: #1CA8D3;
}
.tbl_common02 .require span:after {
	color: #1CA8D3;
}
.tbl_common02 .address .txt {
	width: 6em;
    display: inline-block;
    text-align: right;
}
.tbl_common02 .address input {
	width: calc(100% - 6em);
}
.tbl_common02 .clinic_name input {
	width: 100%;
}
.tbl_common01 tr:first-child th {
	border-right: 1px solid #fff;
}
.tbl_common01 th a,.tbl_common01 td a {
    color: #0022cd;
    font-weight: 500;
	text-decoration: underline;
}
.btn_common01.btn_submit input {
	background-color: #1B63A9;
}
.btn_common01.btn_submit input:disabled {
	background-color: #ccc;
}
.check_common01 .wpcf7-form-control input {
	width: 20px!important;
    vertical-align: sub;
	height: 20px;
}
.no_mgn_r .wpcf7-list-item {
	margin-right: 0!important;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	color: #dc3232;
}
#autozip {
	margin-top: -18px;
	margin-left: 10em;
}
#autozip a {
	pointer-events: none;
}
.tbl_common02 td.domain02 input,
.tbl_common02 td.domain02 select {
	width: 20%;
}
.tbl_common02 th.bg_white {
	background-color: #fff!important;
	color: #3b2c1b;
	border-bottom: 1px solid #1CA8D3!important;
}
.tbl_common02 th.txt_center {
	text-align: center!important;
}
.tbl_common02.block table, .tbl_common02.block tbody, .tbl_common02.block tr, .tbl_common02.block th, .tbl_common02.block td {
	display: block;
	width: 100% !important;
}
.tbl_common02 td.w100 input {
	width: 100% !important;
}
@media only screen and (min-width: 768px) and (max-width: 960px) {
	.box_common01 p {
		text-align: left;
	}
}

@media only screen and (max-width: 767px) {
	.content_low {
		padding: 13vw 0 25vw;
	}
	.main_page {
		padding: 14vw 0 15vw;
	}
	.page_main section:not(:last-child) {
		margin-bottom: 20vw;
	}
	.col_img {
		text-align: center;
	}
	.hdg2_common01 .ja01 {
		font-size: 150%;
	}
	.hdg2 .en {
		font-size: 200%;
	}
	.hdg2_common01 .ja02 {
		font-size: 112.5%;
	}
	.hdg3 {
		font-size: 162.5%;
	}
	.hdg3 span {
		padding-bottom: 5vw;
	}
	.hdg3 span:after {
		width: calc(60 / 750*100vw);
	}
	.tbl_common02 .address .txt {
		width: 5em;
	}
	.tbl_common02 .address input {
		width: calc(100% - 5em);
	}
	.box_common01 p {
		text-align: left;
	}
	.tbl_common02 .address .txt,.tbl_common02 .address input {
		width: 100%;
		text-align: left;
	}
	#autozip {
		margin-top: 0;
	}
	.tbl_common02 th.txt_center {
		text-align: left!important;
	}
}


/* contact */
.contact .inner {
	max-width: calc(1000px + 10%);
}

.txt_contact01 {
	margin-bottom: 44px;
}

.box_contact01 {
	border: solid 1px #28231e;
	padding: 20px;
	margin: 43px auto 87px;
}

.row_contact01 {
	max-width: 800px;
	width: 100%;
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	display:flex;
	-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
	-ms-flex-pack:justify;/*--- IE10 ---*/
	-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
	justify-content:space-between;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap;
	-ms-align-items: center;
	align-items: center;
	margin: 0 auto;
}

.tel_contact {
	font-size: 62px;
	width: 50%;
	letter-spacing: .07em;
}

.tel_contact:before {
	content: url(images/contact/icn_tel.png);
	margin-right: 20px;
}

.time_contact {
	font-size: 114.3%;
	font-weight: 500;
	width: 50%;
	padding-left: 25px;
}

.txt_contact02 {
	margin: 40px auto 33px;
}

.box_contact02 {
	border: solid 1px #28231e;
	padding: 40px 30px 60px;
}
.box_contact02 td textarea{
		width: 100%;
}
.box_contact02 table {
	max-width: 860px;
	width: 100%;
	margin: 0 auto;
}

.box_contact02 tr:not(:last-child) th, .box_contact02 tr:not(:last-child) td {
	border-bottom: solid 1px #bbb5af;
}

.box_contact02 th {
	font-weight: normal;
	text-align: left;
	padding: 28px 0 19px;
	width: 35%;
	position: relative;
	vertical-align: top;
}

.box_contact02 th span {
	display: inline-block;
	background: #bdd000;
	font-size: 85.7%;
	padding: 2px 11px;
	position: absolute;
	right: 0;
}

.box_contact02 th .color_gray {
	background: #d5d1cd;
}

.box_contact02 td {
	width: 65%;
	text-align: left;
	padding: 19px 0px 19px 32px;
}

.box_contact02 td input, .box_contact02 td textarea {
	border: solid 1px #bbb5af;
	padding: 8px 12px;
	background: #f9f7f4;
}
.wpcf7-list-item {
	margin: 0 1em 0 0!important;
}

.box_contact02 td textarea {
	min-height: 270px;
}

.box_contact02 .box_privacy {
	margin: 7px auto;
}

.btn_submit02 {
	font-size: 100%;
}
.btn_submit {
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.btn_submit input {
	width: 220px;
	background: #28231e;
	color: #fff;
	text-align: center;
	font-size: 114.3%;
	line-height: 1;
	font-weight: 500;
	padding: 17px 0px;
}

@media only screen and (min-width: 768px) and (max-width: 960px) {
	.contact .inner {
	max-width: 100%;
	}

	.txt_contact01 {
		margin-bottom: 30px;
	}

	.box_contact01 {
		margin: 30px auto 60px;
	}

	.tel_contact {
		font-size: 40px;
		width: 45%;
		text-align: center;
	}

	.tel_contact:before {
		content: "";
		margin-right: auto;
	}

	.tel_contact span {
		position: relative;
		padding-left: 30px;
	}

	.tel_contact span:before {
		content: "";
		position: absolute;
		margin: auto;
		background: url(images/contact/icn_tel.png)no-repeat;
		width: 20px;
		height: 30px;
		background-size: contain;
		left: 0;
		top: 0;
		bottom: 0;
	}

	.time_contact {
		width: 55%;
		font-size: 105%;
		padding-left: 0;
	}

	.txt_contact02 {
		margin: 30px auto 20px;
	}

	.box_contact02 {
		padding: 20px 30px 40px;
	}

	.box_contact02 th {
		width: 26%;
	}

	.box_contact02 td {
		width: 74%;
	}

	.box_contact02 .box_privacy {

	}
}

@media only screen and (max-width: 767px) {
	.txt_contact01 {
		margin-bottom: 8%;
	}

	.box_contact01 {
		margin: 6% auto 20%;
		padding: 4% 4% 6%;
	}
	
	.row_contact01 {
		width: 100%;
	}

	.tel_contact {
		width: 100%;
		font-size: 280%;
		text-align: center;
	}

	.tel_contact:before {
		content: "";
		margin-right: auto;
	}

	.tel_contact a span {
		position: relative;
		padding-left: 30px;
	}

	.tel_contact a span:before {
		content: "";
		position: absolute;
		margin: auto;
		background: url(images/contact/icn_tel.png)no-repeat;
		width: 20px;
		height: 30px;
		background-size: contain;
		left: 0;
		top: 0;
		bottom: 0;
	}

	.time_contact {
		font-size: 100%;
		margin-top: 3%;
		padding-left: 0;
		width: 100%;
		letter-spacing: -.07em;
	}

	.txt_contact02 {
		margin: 6% auto 5%;
	}

	.box_contact02 {
		padding: 4% 4% 6%;
	}

	.box_contact02 table, .box_contact02 tbody, .box_contact02 tr, .box_contact02 th, .box_contact02 td {
		display: block;
	}

	.box_contact02 th, .box_contact02 td {
		width: 100%;
		padding: 5% 3%;
	}

	.box_contact02 tr th {
		border-bottom: 1px dashed #bbb5af;
	}

	.box_contact02 th span {
		right: 3%;
	}

	.box_contact02 td textarea {
		min-height: 200px;
	}

	.box_contact02 .box_privacy {
		margin: 5% auto 8%;
	}
	.btn_submit {
		margin-top: 5%;
	}

	div.wpcf7 .ajax-loader {
		display: block!important;
	}
}


/*
	-
		RELEASE
		WEBサイト公開承諾フォーム
	-
*/
.lowre_release_form{
	max-width: 1000px;
	margin: auto;
}
.lowre_release_form .f_size_l{font-size: 125%;}
.lowre_release_form .approval_box{
	width: 100%;
	padding: 50px;
	text-align: center;
	border: 2px solid #28231e;
}
.lowre_release_form .tbl_approval table{
	width: 100%;
	border: 1px solid #28231e;
}
.lowre_release_form .tbl_approval th{
	padding: 15px 18px;
	font-weight: normal;
	color: #fff;
	background: #28231e;
}
.lowre_release_form .tbl_approval tbody th{text-align: left;}
.lowre_release_form .tbl_approval tbody tr:not(:last-child) th{border-bottom: 1px solid #fff;}
.lowre_release_form .tbl_approval .require span{
	position: relative;
  width: 100%;
  display: inline-block;
}
.lowre_release_form .tbl_approval .require span::after{
	content: "必須";
  display: inline-block;
  color: #28231e;
  background: #fff;
  width: 40px;
  height: 25px;
  vertical-align: middle;
  position: absolute;
  right: 4px;
  font-size: 75%;
  text-align: center;
  line-height: 25px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.lowre_release_form .tbl_approval td{padding: 15px 18px}
.lowre_release_form .tbl_approval tr:not(:last-child) td{border-bottom: 1px solid #28231e;}
.lowre_release_form .tbl_approval_input th{width: 35%;}
.lowre_release_form .tbl_approval_input td{width: 65%;}
.lowre_release_form .tbl_approval_input td input{
	border: 1px solid #ddd;
	padding: 4px;
	width: 55%;
}
.lowre_release_form .tbl_approval_check thead th:first-child{border-right: 1px solid #fff;}
.lowre_release_form .tbl_approval_check thead th:first-child,.lowre_release_form .tbl_approval_check tbody th{width: 80%;}
.lowre_release_form .tbl_approval_check thead th:last-child,.lowre_release_form .tbl_approval_check tbody td{width: 20%;}
.lowre_release_form .tbl_approval_check tbody th{
	color: #28231e;
	background: #fff;
	border-right: 1px solid #28231e;
}
.lowre_release_form .tbl_approval_check tbody tr:not(:last-child) th{border-bottom: 1px solid #28231e;}
.lowre_release_form .tbl_approval_check td{text-align: center;}
.lowre_release_form .tbl_approval_check td input[type="checkbox"]{transform: scale(1.5);}
.lowre_release_form .btn_submit{
	width: 300px;
	position: relative;
}
.lowre_release_form .btn_submit input{width: 100%;}
div.wpcf7 .ajax-loader{
	position: absolute;
	top: 0;
	bottom: 0;
	right: -35px;
	margin: auto!important;
}
.lowre_release_form .tbl_approval_check span.wpcf7-list-item{
	margin: 0;
	font-size: 0;
}
@media(min-width: 768px) {
	.lowre_release_form a[href^="tel:"] {pointer-events: none;}
}
@media only screen and (min-width: 768px) and (max-width: 960px) {
	.lowre_release_form{font-size: 105%;}
	.lowre_release_form .approval_box{padding: 40px;}
	.lowre_release_form .tbl_approval_input td input{width: 65%;}
}
@media only screen and (max-width: 767px) {
	.lowre_release_form{font-size: 100%;}
	.lowre_release_form .f_size_l{font-size: 120%;}
	.lowre_release_form .approval_box{
		padding: 5vw;
		text-align: left;
	}
	.lowre_release_form .tbl_approval th{padding: 3vw 4vw 4vw;}
	.lowre_release_form .tbl_approval td{padding: 4vw 4vw 5vw;}
	.lowre_release_form .tbl_approval_input table,
	.lowre_release_form .tbl_approval_input tbody,
	.lowre_release_form .tbl_approval_input tr,
	.lowre_release_form .tbl_approval_input th,
	.lowre_release_form .tbl_approval_input td{
		display: block;
		width: 100%;
	}
	.lowre_release_form .tbl_approval_input td input{width: 100%;}
}


/* コンテンツ名 class
------------------------------------------------------------------*/
@media(min-width: 768px) and (max-width:960px) {
	
}
@media(max-width: 767px) {
	
}


/* 採用情報 recruit
------------------------------------------------------------------*/
.tbl_guideline01 td a {
	text-decoration: underline;
}
.tbl_guideline01:not(:last-child) {
	margin-bottom: 100px;
}
@media(min-width: 768px) and (max-width:960px) {
	
}
@media(max-width: 767px) {
	
}

/* お問い合わせ contact
------------------------------------------------------------------*/
.inv-recaptcha-holder {
	display: none!important;
}
@media(min-width: 768px) and (max-width:960px) {
	
}
@media(max-width: 767px) {
	
}

/* ブログ blog
------------------------------------------------------------------*/
#sidebar {
	width: 24%;
}
#sidebar h4 {
	background: #959595;
	color: #fff;
	font-weight: 500;
	font-size: 87.5%;
	line-height: 30px;
	margin-bottom: 7px;
	text-align: center;
}
#sidebar caption {
	margin-bottom: 8px;
}
#wp-calendar {
	width: 100%;
	margin-bottom: 10px;
}
#wp-calendar thead th {
	background: #eee;
	border: 1px solid #eee;
	border-right-color: #eee;
	font-size: 81.25%;
	font-weight: normal;
}
#wp-calendar tbody td {
	border: 1px solid #eee;
	text-align: center;
	font-size: 87.5%;
	line-height: 1.8;
}
#wp-calendar tbody td a {
	color: #959595;
	text-decoration: underline;
}
#wp-calendar tfoot td {
	font-size: 81.25%;
}
#wp-calendar tfoot td#prev {
	padding-top: 8px;
	padding-left: 10px;
}
#wp-calendar tfoot td#next {
	padding-top: 8px;
	padding-right: 10px;
	text-align: right;
}
#wp-calendar tfoot td a {
	padding-bottom: 3px;
	border-bottom: 1px solid #333;
}
.wp-calendar-nav{
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin-bottom: 25px;
	font-size: 81.25%;	
}
.wp-calendar-nav-prev{padding-left: 10px;}
.wp-calendar-nav-next{padding-right: 10px;}
.wp-calendar-nav a{
	padding-bottom: 3px;
	border-bottom: 1px solid #333;
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	display:flex;
	-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
	-ms-flex-pack:justify;/*--- IE10 ---*/
	-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
	justify-content:space-between;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap: wrap;
}
#sidebar ul {
	margin-bottom: 25px;
	font-size: 87.5%;
}
#sidebar ul li {
	width: 100%;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
#sidebar ul li a {
	border-bottom: 1px solid #333;
	padding-bottom: 4px;
	line-height: 2.1;
}
.post_main {
	width: 71%;
}
.navigation {
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	display:flex;
	-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
	-ms-flex-pack:justify;/*--- IE10 ---*/
	-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
	justify-content:space-between;
	margin-bottom: 30px;
}
.navigation li {
	width: 130px;
	font-size: 87.5%;
}
.navigation .navitop {
	text-align: center;
}
.navigation .naviright {
	text-align: right;
}
.navigation li a {
	padding-bottom: 4px;
	border-bottom: 1px solid #333;
}
.post_content img {
	max-width: 100%;
	height: auto;
}
.date_single {
	display: block;
	text-align: right;
	font-size: 13px;
	margin-top: -30px;
	margin-bottom: 40px;
}
.post_content {
	line-height: 1.75;
}
.img_thmb {
	width: 120px;
	height: 120px;
	display: block;
	border: 1px solid #959595;
}
.thmb {
	width: 120px;
}
.thmb a:hover .img_thmb {
	opacity: .75;
}
.txt_post {
	width: calc(100% - 140px);
}
.page_main section.blog_archive {
	padding-bottom: 40px;
	border-bottom: 1px solid #959595;
}
.post_main section.blog_archive:not(:last-child) {
	margin-bottom: 40px;
}
.txt_post a {
	color: inherit;
}
.txt_post a:hover {
	text-decoration: underline;
}
.txt_post h4 {
	width: 100%;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	line-height: 1.7;
}
.txt_post .date {
	font-size: 75%;
	color: #959595;
}
.txt_post .txt_excerpt {
	font-size: 87.5%;
	line-height: 1.75;
	margin-top: 10px;
}
.txt_post .txt_excerpt a {
	color: #aaa;
	text-decoration: underline;
}
.page_main .wp-pagenavi {
	margin-top: 65px;
	text-align: center;
	font-size: 87.5%;
}
.page_main .wp-pagenavi a, .page_main .wp-pagenavi span {
	text-decoration: none;
	border: 1px solid #959595;
	color: #959595;
	padding: 4px 10px;
	margin: 2px;
	display: inline-block;
}
.page_main .wp-pagenavi span.pages {
	padding: 4px 11px;
}
.page_main .wp-pagenavi a:hover, .page_main .wp-pagenavi span.current {
	border-color: #959595;
	background: #959595;
	color: #fff;
}
.page_main .wp-pagenavi span.current {
	font-weight: normal;
}
@media(min-width: 768px) and (max-width:960px) {
	.page_main {
		display: block!important;
	}
	#sidebar {
		width: 100%;
	}
	.post_main {
		width: 100%;
		margin-bottom: 100px;
	}
}
@media(max-width: 767px) {
	.page_main {
		display: block!important;
	}
	#sidebar {
		width: 100%;
	}
	.post_main {
		width: 100%;
		margin-bottom: 20vw;
	}
	.thmb {
		width: 30%;
	}
	.img_thmb {
		display: block;
		width: 100%;
		height: auto;
		padding-top: 100%;
	}
	.txt_post {
		width: 66%;
	}
	.page_main section.blog_archive {
		padding-bottom: 6vw;
	}
	.post_main section.blog_archive:not(:last-child) {
		margin-bottom: 6vw;
	}
	.post_main .wp-pagenavi {
		margin-top: 12vw;
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
		-ms-flex-pack:justify;/*--- IE10 ---*/
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		-webkit-flex-wrap: wrap; /* Safari */
		flex-wrap: wrap;
	}
}
/* 利用規約 terms
------------------------------------------------------------------*/
.txt_width {
	max-width: calc(646 / 750*100vw)!important;
	margin-left: auto;
	margin-right: auto;
}
.ttl_terms01 {
	font-size: 122.22%;
	margin-bottom: 10px;
}
.txt_terms01 .txt01 {
    margin-left: 3.5em;
	display: block;
}
.list_terms01 li {
    text-indent: -3em;
    margin-left: 3em;
}
@media(min-width: 768px) and (max-width:960px) {
	
}
@media(max-width: 767px) {
	.ttl_terms01 {
		letter-spacing: 0;
		font-size: 112.5%;
	}
}