@charset "UTF-8";

/*============================================================================================
↓共通========================================================================================
============================================================================================*/
/* TapArea */
* {
  -webkit-tap-highlight-color: rgba(0,84,167,0.3);

}
input, textarea {
	-webkit-user-select : auto;
}

/* clearfix */
#header:after,
#container:after,
#contents:after,
.clearfix:after{
	content:" ";
	display:block;
	height:0;
	line-height:0;
	clear:both;
	visibility:hidden;
}
#header,
#container,
#contents,
.clearfix{
	display:inline-block;
	min-height:1%;
}

/* リンクテキスト */
a:link,a:visited {
	color: rgba(0,84,167,1);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

/* 画像 */
img.width-max{
     width: 100%;
	 max-width: 1080px;
     height: auto;
	 margin: 0 auto;
     display:block;
}

/* hover action */
.over {
	text-decoration: none;
	opacity:1;
	transition: all 0.3s ease 0s;
}
.over:hover {
	opacity:0.6;
}


/* 余白/フロート */
.clear{clear:both;}
.float-left{ float:left;}
.float-right{ float:right; }
.align-c{ text-align:center; }
.align-r{ text-align:right; }
.align-l{ text-align:left; }
.align-t{ vertical-align:top; }

.mgB0{   margin-bottom:0px;  }
.mgB5{   margin-bottom:5px;  }
.mgB10{  margin-bottom:10px; }
.mgB15{  margin-bottom:15px; }
.mgB20{  margin-bottom:20px; }
.mgB30{  margin-bottom:30px; }
.mgB40{  margin-bottom:40px; }
.mgB50{  margin-bottom:50px; }
.mgB60{  margin-bottom:60px; }

.mgT0{   margin-top:0px;  }
.mgT5{   margin-top:5px;  }
.mgT10{  margin-top:10px; }
.mgT15{  margin-top:15px; }
.mgT20{  margin-top:20px; }
.mgT30{  margin-top:30px; }
.mgT40{  margin-top:40px; }
.mgT50{  margin-top:50px; }
.mgT60{  margin-top:60px; }

.mgR0{   margin-right:0px;  }
.mgR5{   margin-right:5px;  }
.mgR10{  margin-right:10px; }
.mgR15{  margin-right:15px; }
.mgR20{  margin-right:20px; }
.mgR30{  margin-right:30px; }

.mgL0{   margin-left:0px;  }
.mgL5{   margin-left:5px;  }
.mgL10{  margin-left:10px; }
.mgL15{  margin-left:15px; }
.mgL20{  margin-left:20px; }
.mgL30{  margin-left:30px; }

/*============================================================================================
↓フォント====================================================================================
============================================================================================*/
/*フォントサイズ*/
.font6{font-size: 60%;}
.font8{font-size: 80%;}
.font10{font-size: 100%;}
.font12{font-size: 120%;}
.font14{font-size: 140%;}
.font16{font-size: 160%;}
.font18{font-size: 180%;}
.font20{font-size: 200%;}

/*フォントファミリー*/
.serif {font-family: "游明朝", "Yu Mincho", "游明朝体", serif;}
.sansserif {font-family: "游ゴシック体","Yu Gothic",YuGothic, sans-serif;}
.en {font-family: 'Roboto Slab', sans-serif;}

.bold {font-weight:bold; }
.underline {text-decoration:underline;}
.palt  {font-feature-settings : "palt";}
.strong {color:rgba(204,0,0,1);}


/*============================================================================================
↓カラー======================================================================================
============================================================================================*/
.kc-blue {color:rgba(9,97,185,1);}
.kc-green {color:rgba(62,152,136,1);}
.kc-turquoise {color:rgba(9,137,185,1);}
.kc-teal {color:rgba(107,199,225,1);}
.kc-red{color: rgba(255,0,0,1);}

/*背景用*/
.bg-blue {
	background-color:rgba(9,97,185,1);
}


/*============================================================================================
↓各デバイスでの表示切り替え==================================================================
============================================================================================*/
.sp, .pc {display: none;}/*only SP&TAB*/
.pc {display: block;}/*only PC*/
@media screen and (max-width: 1080px) {
.sp, .tab {display: none;}
.pc {display: block;}
}
@media screen and (max-width: 768px) {
.sp, .pc {display: none;}
.tab {display: block;}
}
@media screen and (max-width: 480px) {
.pc, .tab {display: none;}
.sp {display: block;}
}

/*============================================================================================
↓＜レイアウト＞全体==========================================================================
============================================================================================*/
body {
	width: 100%;
	font-family: "游ゴシック体","Yu Gothic",YuGothic, sans-serif;	
	font-weight: 500;
	font-size : 62.5%;
	font-feature-settings : "palt";
	line-height: 1em;
	color:rgba(51,51,51,1);
	-webkit-text-size-adjust:100%;/*←for iOS&Safari TxtSize*/	
}
#wrapper {
    width: 100%;
	visibility:hidden;
}

/*============================================================================================
↓＜レイアウト＞レスポンシブ対応（上下余白・サイド余白）======================================
============================================================================================*/
.inner-wrap { /*可変幅1080*/
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
	overflow:hidden;
	
}
.inner-wrap-narrow { /*可変幅740*/
	max-width: 740px;
	margin-left: auto;
	margin-right: auto;
	overflow:hidden;
}
@media screen and (max-width: 1080px) {
.inner-wrap,
.inner-wrap-narrow {
	padding-left: 20px;
	padding-right: 20px;
}
}

/*============================================================================================
↓header =====================================================================================
============================================================================================*/
#header{
	width:100%;
	height:70px;
	background: #fff;
	width:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:99;
	box-sizing:border-box;
	transition:all 0.3s ease 0s;
}
#header .logo {
	display:table-cell;
	vertical-align:middle;
}
#header .logo a:link,
#header .logo a:visited {
	width: 50px;
	height: 50px;
	margin: 10px;
	background: #fff url(../img/logo-kc.png) no-repeat center center;
	background-size:100%;
	display: block;
	text-indent: -9999px;
	white-space: nowrap;
	transition: all 0.3s ease 0s;
}
#header .logo a:hover {
	background-size:110%;
	opacity:0.7;
}
#header .cl-name {
	display:table-cell;
	vertical-align:middle;
}
#header .cl-name a:link,
#header .cl-name a:visited {
	width: 90px;
	height: 50px;
	background: #fff url(../img/logo-text.png) no-repeat center center;
	background-size:100%;
	display: block;
	text-indent: -9999px;
	white-space: nowrap;
	transition: all 0.3s ease 0s;
}
#header .cl-name a:hover {
	opacity:0.7;
}
#header .content-left {
	float: left;
	display:table;
	line-height: 0;
}
#header .content-right {
	position:absolute;
	top: 0;
	right: 0;
}

/*============================================================================================
↓グランドメニュー（PC） =====================================================================
============================================================================================*/
.pc-nav {
	float: left;
	display:table;
	transition: all 0.3s ease 0s;
}
.pc-nav li {
	font-size: 14px;
	line-height:14px;
	text-align:center;
	padding: 13px 0;
	display:table-cell;
	vertical-align: middle;
}
.pc-nav li:last-child {
	padding: 0;
}
.pc-nav li .environ-partner {
	padding:0 10px;
}
.pc-nav li .environ-partner img {
	width:106px;
	height:35px;
}
.pc-nav li a {
	text-decoration: none;
	display: block;
}
/*Hoverアクション（下線）*/
.pc-nav li a.underline {
	margin-top:10px;
	padding:0 10px;
}
.pc-nav li a.underline:after {
	display: block;
	content: "";
	width: 0%;
	height: 1px;
	background: rgba(9,97,185,1);
	margin: 7px auto 0;
	transition: .25s ease-out;
	-webkit-transition: .25s ease-out;
	-moz-transition: .25s ease-out;
	-o-transition: .25s ease-out;
	-ms-transition: .25s ease-out;
}
.pc-nav li a.underline:hover:after {
	width: 100% !important;
}
.pc-nav:last-child a:hover:after {
	width: 0% !important;
}

/*============================================================================================
↓グランドメニュー（モバイル） ===============================================================
============================================================================================*/
.sp-nav {
	width: 100%;
    position: absolute;
	z-index:-1;
    top: 0;
    right: 0;
    transition: all 0.3s ease 0s;
}
.sp-nav .booking {
	margin-right: 70px;
}

/*============================================================================================
↓グランドメニュー（PC・モバイル共通）　診療予約==============================================
============================================================================================*/
.booking {
    float: right;
    width: 70px;
    height: 70px;
    background-color: rgba(9,97,185,1);
}
.booking a:link,
.booking a:visited {
	color: #fff;
	width:100%;
	height:100%;
	display:block;
	background-image:url(../img/ico-booking-horizontal.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100%;
	text-indent:-9999px;
	overflow:hidden;
	transition: all 0.3s ease 0s;
}
.booking a:hover{
	text-decoration: none;
}

/*============================================================================================
↓ページTOP===================================================================================
============================================================================================*/
.page-top div {
	width:100%;
	background-color:rgba(220,209,197,1);
}
.page-top div a:link,
.page-top div a:visited {
	width:100%;
	height:100%;
	padding:25px 15px;
	box-sizing:border-box;
	display:block;
	background-image:url(../img/ico-upper-wh.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:60px 60px;
	text-indent:-9999px;
	overflow:hidden;
	transition: all 0.3s ease 0s;
}
.page-top div a:hover {
	
}
@media screen and (max-width: 480px) {
.page-top {
	position:fixed;
	bottom:20px;
	right:20px;
	width:60px;
	border-radius:30px;
	overflow:hidden;
}
}

/*============================================================================================
↓footer======================================================================================
============================================================================================*/
#footer {
	background-color:rgba(248,245,241,1);
	padding:30px 0;
	box-sizing:border-box;
}
#footer .logo-square {
	width:100px;
	height:100px;
	background-image:url(../img/logo-square.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
	text-indent:-9999px;
	overflow:hidden;
	display:block;
	margin:0 auto 20px;
}
#footer .keep-in-touch li {
	margin-bottom:10px;
}
#footer .keep-in-touch li:last-child {
	margin-bottom:0;
}
#footer .keep-in-touch li p {
	color:rgba(0,84,167,1);
	line-height: 2.4em;
	text-align:center;
	letter-spacing: 0.1em;
}
#footer .keep-in-touch li .address {
	font-size:14px;
}
#footer .keep-in-touch li .appointment-only {
	font-size:14px;
	color:rgba(255,255,255,1);
	background-color:rgba(0,84,167,1);
	padding:5px 8px;
	margin:5px;
}
#footer .keep-in-touch li p.phone {
	font-size:20px;
	line-height: 1.2em;
}
#footer .keep-in-touch li p.copyright {
	font-size: 10px;
	line-height: 1.2em;
}
@media screen and (max-width: 480px) {
#footer .keep-in-touch li .address {
	display:block;
}
}

/*============================================================================================
↓＜ローディング＞============================================================================
============================================================================================*/
.loadingWrap {
    width: 100%;
	height: 100vh;
	overflow: hidden;
    position: fixed;
    top: 0;
	left: 0;
    z-index: 99999;
	background-color:rgba(255,255,255,1);
}
.loadingWrap .logo {
	width:100px;
	height:100px;
	position: absolute;
	left: 50%;
    top: 50%;
	margin-left:-50px;
	margin-top:-50px;
	opacity:1;
	background-image:url(../img/logo-loader.png);
	background-position:center center;
	background-repeat:repeat;
}
.loadingWrap img {
	width:120px;
	height:120px;
	position: absolute;
	left: 50%;
    top: 50%;
	margin-left:-60px;
	margin-top:-60px;
	opacity:1;
}
/* 点滅 */
.blinking {
	-webkit-animation:blink 0.5s ease-in-out infinite alternate;
    -moz-animation:blink 0.5s ease-in-out infinite alternate;
    animation:blink 0.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

/*================================================================
↓＜コンテンツ＞診療予約==========================================
================================================================*/
.booking-info {
	widows:100%;
	text-align:center;
	padding:40px 0;
}
.booking-info p {
	font-size:14px;
	line-height:1.6em;
}

/*============================================================================================
↓＜見出し＞==================================================================================
============================================================================================*/
/*ストレート*/
.ttl-style1 {
	color: rgba(0,84,167,1);
    font-size: 20px;
	font-weight:normal;
    line-height: 1.5em;
    letter-spacing: 0.5em;
    padding: 40px 0 20px;
}
/*下向き矢印あり*/
.ttl-style2 {
	color: rgba(0,84,167,1);
	font-weight:normal;
    padding: 30px 0 30px;
    text-align: center;
	background-image:url(../img/ico-lower-bl.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	background-size: 30px 30px;
	margin-bottom:20px;
}
.ttl-style2 .ja {
	font-size: 20px;
    line-height: 30px;
	letter-spacing: 0.2em;
	display:block;
}
.ttl-style2 .en {
	font-family: 'Roboto Slab', sans-serif;
	font-size: 12px;
    line-height: 16px;
	letter-spacing: 0.2em;
	display:block;
}
/*囲み*/
.ttl-style3 {
	margin-bottom:10px;
}
.ttl-style3 span {
	color:rgba(0,84,167,1);
	font-size:14px;
	font-weight:normal;
    line-height:16px;
	text-align:center;
	min-width:90px;
	padding:10px;
	box-sizing:border-box;
	display:inline-block;
	background-color:rgba(230,239,248,1);
}
/*ストレート*/
.ttl-style4 {
	color: rgba(0,84,167,1);
    font-size: 18px;
	font-weight:normal;
    line-height: 1.5em;
    letter-spacing: 0.25em;
	border-bottom:solid 1px rgba(0,84,167,1);
    padding: 40px 0 10px;
	margin-bottom:20px;
}
@media screen and (max-width: 768px) {
.ttl-style1 {
	letter-spacing: 0.2em;
}
.ttl-style2 .ja,
.ttl-style2 .en {
    letter-spacing: 0.1em;
}
}

/*============================================================================================
↓下層ページ（共通）==========================================================================
============================================================================================*/
#container {
	position:relative;
	width:100%;
	margin:90px auto 30px;
	transition:all 0.3s ease 0s;
}

/*==========================================
↓タイトル==================================
==========================================*/
.page-introduction {
	position:relative;
}
.topleft-fixbox {
	position:absolute;
	top:0;
	left:0;
	z-index:9;
	background-color:rgba(255,255,255,1);
	padding:0 60px 40px;
	text-align:center;
}
.topleft-fixbox h1 {
	font-size:18px;
	font-weight:normal;
	line-height:1.2em;
}
.topleft-fixbox h1 .ja {
	display:block;
}
.topleft-fixbox h1 .en {
	font-size:70%;
	padding:5px 0;
	border-bottom:solid 1px rgba(51,51,51,1);
}

/*==========================================
↓メインイメージ============================
==========================================*/
.mainimage-area {
	width:100%;
	max-width:1080px;
	margin:0 auto 30px;
	border-radius:20px;
	overflow:hidden;
}
.mainimage-area img {
	width:100%;
	height:auto;
}
@media screen and (max-width: 1080px) {
#container {
	margin:70px auto 50px;
}
.topleft-fixbox {
	position:inherit;
	top:inherit;
	left:inherit;
	z-index:inherit;
	padding:20px 0 30px;
}
.mainimage-area {
	border-radius:0;
}
}

/*==========================================
↓サブコンテンツ============================
==========================================*/
.subcontents-style {
	padding-bottom:30px;
}
.subcontents-ttl {
	position:relative;
	border-top:solid 1px rgba(0,84,167,1);
	margin-top:60px;
}
.subcontents-ttl .inner-box {
	position:absolute;
	top:-30px;
	left:30px;
	background-color:rgba(0,84,167,1);
	width:60px;
	height:60px;
	padding:20px;
	text-align:center;
	box-shadow:7px 7px 0px 0px rgba(248,245,241,1);
	-moz-box-shadow:7px 7px 0px 0px rgba(248,245,241,1);
	-webkit-box-shadow:7px 7px 0px 0px rgba(248,245,241,1);
	display:table;
}
.subcontents-ttl .inner-box .ttl {
	width:100%;
	height:100%;
	font-size:14px;
	font-weight:normal;
	line-height:1.5em;
	color:rgb(255,255,255);
	display:block;
	border-bottom:solid 1px rgba(255,255,255,1);
	display:table-cell;
	vertical-align:middle;
}
.subcontents-main {
	max-width:740px;
	width:100%;
	margin:30px auto 0;
	min-height:300px;
}
@media screen and (max-width: 1080px) {
.subcontents-ttl .inner-box {
	top:-30px;
	left:50%;
	transform:translate(-50%,0)
}
.subcontents-main {
	margin:90px auto 0;
}
}

/*============================================================================================
↓ドクターに相談==============================================================================
============================================================================================*/
.request-doctor {
	border:solid 1px rgba(107,199,225,1);
	box-sizing:border-box;
	overflow:hidden;
	display:table;
	margin-bottom:40px;
}
.request-doctor .content-image {
	display:table-cell;
	vertical-align:middle;
	width:40%;
	background-image:url(../img/img-request1.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:0;
}
.request-doctor .content-image img {
	width:100%;
	vertical-align:bottom;
}
.request-doctor .content-text {
	display:table-cell;
	vertical-align:middle;
	font-size:16px;
	line-height:1.5em;
	text-align:center;
	padding:10px;
}
@media screen and (max-width: 768px) {
.request-doctor {
	padding:30px;
}
.request-doctor .content-image {
	display:block;
	width:100%;
	min-height:140px;
	margin:0 auto 20px;
	background-size:contain;
	text-indent:-9999px;
}
.request-doctor .content-image img {
	display:none;
}
.request-doctor .content-text {
	display:block;
	width:100%;
	padding:0;
}
}

/*============================================================================================
↓WPカテゴリラベル============================================================================
============================================================================================*/
.cat-label span {
	font-family:'Roboto Slab', sans-serif;
	font-size:12px;
	line-height:1.5em;
	text-transform:uppercase;
	color:rgba(255,255,255,1);
	letter-spacing:0.1em;
	text-align:center;
	display:inline-block;
	padding:5px;
	margin-right:8px;
	white-space:nowrap;
	min-width:50px;
}
span.news {
	background-color:rgba(9,97,185,1);
}
span.media {
	background-color:rgba(62,152,136,1);
}
span.new {
	background-color:rgba(9,137,185,1);
}