@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;600&display=swap');

/*---------------------------------------------------------------
Default Layout
---------------------------------------------------------------*/
html {
	overflow-y:scroll;
	font-size:62.5% !important;
}
body {
	width:100%;
	margin:0;
	padding:0;
	color:#222;
	font-family:'Zen Kaku Gothic New',"游ゴシック Medium",YuGothic,YuGothicM,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
    font-weight: 500;
	line-height:1.8;
	font-size:18px;
	font-size:1.8rem;
    letter-spacing:0.05em;
	word-wrap : break-word;
	overflow-wrap : break-word;
}


/* --- link --- */
a,
a:link,
a:visited {
	color:#2c70cb;
	outline:none;
	text-decoration:underline;
}
a:hover,
a:active,
a:focus {
	color:#d41c51;
	text-decoration:underline;
    text-decoration: underline;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}
/* --- 下線なし ＋ hoverで色変・下線なし--- */
.tel a,
.tel a:link,
.tel a:visited{
	text-decoration:none;
}
.tel a:hover,
.tel a:active,
.tel a:focus
{
	color:#d41c51;
	text-decoration:none;
}
/* --- ボタン 文字色白・下線なし ＋ hoverで色変・下線なし --- */
a.btn,
a.btn:link,
a.btn:visited{
 	color:#fff;
	text-decoration:none;   
}
a.btn:hover,
a.btn:active,
a.btn:focus{
 	color:#fff!important;
	text-decoration:none;
    background: #4e8cdf;
}
/* --- header 通常文字色 ＋ hoverで色変なし・下線なし --- */
header a,
header a:link,
header a:visited,
.serviceArea a,
.serviceArea a:link,
.serviceArea a:visited{
	color:#222;
	outline:none;
	text-decoration:none;
}
header a:hover,
header a:active,
header a:focus,
.serviceArea a:hover,
.serviceArea a:active,
.serviceArea a:focus{
	color:#222;
	text-decoration:none;
}

.newsArea a,
.newsArea a:link,
.newsArea a:visited{
	color:#222;
	outline:none;
	text-decoration:none;
}
.newsArea a:hover,
.newsArea a:active,
.newsArea a:focus{
	color:#db1e1e !important;
	text-decoration:none;
}

.pageList a,
.pageList a:link,
.pageList a:visited{
	text-decoration:none;
}

/* --- link 白色 ＋ hoverで色変あり・下線なし--- */
footer a,
footer a:link,
footer a:visited{
	color:#222;
	outline:none;
	text-decoration:none;
}
footer a:hover,
footer a:active,
footer a:focus{
	color:#d41c51;
	text-decoration:none;
}
a:hover img:not(.mv01 a:hover img),
a:active img:not(.mv01 a:active img),
a:focus img:not(.mv01 a:focus img) {
	opacity:0.8;
	filter:alpha(opacity=80);
	-o-opacity:0.8;
	-ms-filter:"alpha(opacity=80)";
	-moz-opacity:0.8;
	-webkit-opacity:0.8;
	transition:opacity .3s linear;
	-o-transition:opacity .3s linear;
	-ms-transition:opacity .3s linear;
	-moz-transition:opacity .3s linear;
	-webkit-transition:opacity .3s linear;
}
a img {
	border-style: none;
}
ul,
ol {
	margin:0;
	padding:0;
}
ul li,
ol li {
	list-style: none;
}
img {
	max-width:100%;
	height:auto;
}
/*---------------------------------------------------------------
General Layout
---------------------------------------------------------------*/
/* --- clear fix --- */
.cf {zoom:1;}
.cf:before,.cf:after {content:""; display:table;}
.cf:after {clear:both;}

.clear {clear:both;}

.img-l {
	float:left;
	margin:0 20px 20px 0;
}
.img-r {
	float:right;
	margin:0 0 20px 20px;
}
.txt{
    overflow: hidden;
}
.float-l {
	float: left;
}
.float-r {
	float: right;
}
.layout-l {
	text-align:left !important;
}
.layout-c {
	text-align:center !important;
}
.layout-r {
	text-align:right !important;
}
.layout-cm{
	text-align:center !important;
    margin: 0 auto;
}
.txt-large {
	font-size:20px;
	font-size:2.0rem;
}
.txt-small {
	font-size:12px;
	font-size:1.2rem;
}
.txt-red{
    color:#cf0e19;
}
.txt-read{
    line-height:2.0;
}
.dot{
border-bottom: 1px dotted #222;
}
.mgn_t0 {
	margin-top: 0px !important;
}
.mgn_t5 {
	margin-top: 5px !important;
}
.mgn_t10 {
	margin-top: 10px !important;
}
.mgn_t20 {
	margin-top: 20px !important;
}
.mgn_t30 {
	margin-top: 30px !important;
}
.mgn_t40 {
	margin-top: 40px !important;
}
.mgn_t60 {
	margin-top: 60px !important;
}
.mgn_t-5 {
	margin-top: -5px !important;
}
.mgn_t-10 {
	margin-top: -10px !important;
}
.mgn_t-20 {
	margin-top: -20px !important;
}
.mgn_t-30 {
	margin-top: -30px !important;
}
.mgn_t-40 {
	margin-top: -40px !important;
}
.mgn_t-60 {
	margin-top: -60px !important;
}
.mgn_b-5 {
	margin-bottom: -5px !important;
}
.mgn_b0 {
	margin-bottom: 0px !important;
}
.mgn_b5 {
	margin-bottom: 5px !important;
}
.mgn_b10 {
	margin-bottom: 10px !important;
}
.mgn_b20 {
	margin-bottom: 20px !important;
}
.mgn_b-20 {
	margin-bottom: -20px !important;
}
.mgn_b25 {
	margin-bottom: 25px !important;
}
.mgn_b30 {
	margin-bottom: 30px !important;
}
.mgn_b40 {
	margin-bottom: 40px !important;
}
.mgn_b60 {
	margin-bottom: 60px !important;
}

.mgn_r0 {
	margin-right: 0px !important;
}
.mgn_r5 {
	margin-right: 5px !important;
}
.mgn_r10 {
	margin-right: 10px !important;
}
.mgn_r20 {
	margin-right: 20px !important;
}
.mgn_r30 {
	margin-right: 30px !important;
}
.mgn_r40 {
	margin-right: 40px !important;
}

.mgn_l0 {
	margin-left: 0px !important;
}
.mgn_l5 {
	margin-left: 5px !important;
}
.mgn_l10 {
	margin-left: 10px !important;
}
.mgn_l20 {
	margin-left: 20px !important;
}
.mgn_l30 {
	margin-left: 30px !important;
}
.mgn_l40 {
	margin-left: 40px !important;
}

.pdg_t0 {
	padding-top: 0px !important;
}
.pdg_t5 {
	padding-top: 5px !important;
}
.pdg_t10 {
	padding-top: 10px !important;
}
.pdg_t20 {
	padding-top: 20px !important;
}
.pdg_t30 {
	padding-top: 30px !important;
}
.pdg_t35 {
	padding-top: 35px !important;
}
.pdg_t40 {
	padding-top: 40px !important;
}
.pdg_b0 {
	padding-bottom: 0px !important;
}
.pdg_b5 {
	padding-bottom: 5px !important;
}
.pdg_b10 {
	padding-bottom: 10px !important;
}
.pdg_b20 {
	padding-bottom: 20px !important;
}
.pdg_b30 {
	padding-bottom: 30px !important;
}
.pdg_b40 {
	padding-bottom: 40px !important;
}
.pdg_b60 {
	padding-bottom: 60px !important;
}

.pdg_r0 {
	padding-right: 0px !important;
}
.pdg_r5 {
	padding-right: 5px !important;
}
.pdg_r10 {
	padding-right: 10px !important;
}
.pdg_r20 {
	padding-right: 20px !important;
}
.pdg_r30 {
	padding-right: 30px !important;
}
.pdg_r40 {
	padding-right: 40px !important;
}
.pdg_r100 {
	padding-right: 100px !important;
}
.pdg_l0 {
	padding-left: 0px !important;
}
.pdg_l5 {
	padding-left: 5px !important;
}
.pdg_l10 {
	padding-left: 10px !important;
}
.pdg_l15 {
	padding-left: 10px !important;
}
.pdg_l20 {
	padding-left: 20px !important;
}
.pdg_l30 {

	padding-left: 30px !important;
}
.pdg_l40 {
	padding-left: 40px !important;
}
.pdg_l100 {
	padding-left: 100px !important;
}

.f10 {
	font-size: 10px !important;
}
.f12 {
	font-size: 12px !important;
}
.f14 {
	font-size: 14px !important;
}
.f16 {
	font-size: 16px !important;
}
.f18 {
	font-size: 18px !important;
}
.f20 {
	font-size: 20px !important;
}
.f21 {
	font-size: 21px !important;
}
.f22 {
	font-size: 22px !important;
}
.f24 {
	font-size: 24px !important;
}
.f26 {
	font-size: 26px !important;
}
.f28 {
	font-size: 28px !important;
}
.f30 {
	font-size: 30px !important;
}
.f36 {
	font-size: 36px !important;
}
.f40 {
	font-size: 40px !important;
}
.bold {
	font-weight: bold !important;
}
.fontnormal {
	font-weight:normal !important;
}
.letter-n{
	letter-spacing:normal !important;
}
.letter-w{
	letter-spacing:0.125em !important;
}
.border{
	border:1px solid #ddd;
	padding:1em 1.5em;
    margin: 0 0 1em;
}
.borderBox{
   margin: 0 auto; /* 外側の余白（上下と中央配置） */
   padding: 2em; /* 内側余白 */
   background-image: 
   linear-gradient(0deg, transparent 19px, #ccc 20px), /* 横のグラデーション */
   linear-gradient(90deg, transparent 19px, #ccc 20px); /* 縦のグラデーション */
   background-size: 20px 20px; /* 方眼のサイズ（縦横20pxのグリッド） */
 background-position: -1px;
}

.nowrap{
	white-space: nowrap;
}
.br{
	display: inline-block;
}
rt{
    font-size:10px;
    font-size:1.0rem;
    font-weight: normal;
}
.marker{
    background: linear-gradient( transparent 60%, #ffeb7c 60% );
    padding:0 0.2em;
}
.vertical-t{
    vertical-align: top !important;
}
.vertical-m{
    vertical-align: middle !important;
}
.vertical-b{
    vertical-align: bottom !important;
}
/* --- 注釈 --- */
.cmt p{
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.cmt i{
	padding-left: 0;
	text-indent: 0;
}
.cmt p::before {
  content: "※";
  padding-right:0.5em;
}

/*---------------------------------------------------------------
共通要素のレイアウト
---------------------------------------------------------------*/
#page {
	position: relative;
}
h1,h2,h3,h4,h5,h6,strong{
    font-weight: 500 !important;
}
/* ヘッダー
----------------------------------------------------*/
header {
  display: flex;
  width: 100%;
  align-items: center;
  height:110px;
}
header h1,header p.logo {
/* padding:10px 5px 8px;*/
  padding: 10px 20px;
  display: inline-block;
}

header nav ul .meanmenuOnly {
    display: none;
}

/* --- nav ---*/
nav{  
margin-left: auto;
margin-right: 10px;
/* width:calc(100% - 380px);*/
}
nav ul:not(header nav ul.sub-menu){
  display: flex;
  justify-content: flex-end;
 align-items: center;
  flex-wrap:nowrap;
}

nav ul li{
/* width:calc(100%/6);*/
/*    min-width: 170px;*/
    margin:0;
    text-align: center;
	font-size:20px;
	font-size:2.0rem;
}
nav ul li a{
  display: block;
  padding:10px 15px;
}
nav ul li.inquiry a{
  background:#257356;
  padding:10px 2em;
 border-radius: 3px;
}
nav ul li+li{
    position: relative;
}
nav ul li+li:not(nav ul li ul li+li):before{
    content: "";
    display: block;
    height: 1em;
    border-left: 1px solid #999;
    position: absolute;
    top: 16px;
    left: 0;
    margin: auto;
}
/* --- 該当ページ　アンダーバー ---*/
header nav ul li a:after {
	display: block;
	content: "";
	width: 0%;
	height: 5px;
	background: #ffeb7c;
	margin: 5px 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;
}
header nav ul li a:hover:after,
header nav ul li.current a:after {
	width: 90%;
} 
/* --- subnav ---*/
header nav ul.sub-menu {
	position: absolute;
	left: 0;
	width: 100%;
	padding-right: 1px;
	z-index: 10000;
	opacity: 0;
	top: 80%;
	visibility: hidden;
	transition: .5s;

}
header nav ul.sub-menu li {
    display:inherit;
	border-right:none;
	width: 160%;
    background: rgba(255,255,255,.9);
	font-size: 18px;
	font-size: 1.8rem;
}
header nav ul.sub-menu li:last-child {
	border-bottom:none;
}
header nav ul li:hover ul.sub-menu {
	display:block;
	top: 100%;
	visibility: visible;
	opacity: 1;
}
header nav ul.sub-menu li a {
	display: block;
	height: auto;
	padding: 10px;
	text-align: left;
	font-weight: normal;
	letter-spacing: 0;
	border-right: none;
	border-bottom:1px solid rgba(0,0,0,.2);
}

header nav ul.sub-menu li a:hover,
header nav ul.sub-menu li a:active,
header nav ul.sub-menu li a:focus {
	color:#d04b4b;
	text-decoration:underline;
}
header nav ul.sub-menu li a:after {
	display: block;
	content: "";
	width: 0%;
	height: 0;
	background-color:none;
	margin:auto;
	transition:0 none;
	-webkit-transition:0 none;
	-moz-transition:0 none;
	-o-transition:0 none;
	-ms-transition:0 none;
} 
header div nav ul .meanmenuOnly {
    display: none;
}

/* メイン
----------------------------------------------------*/
.main {
	clear: both;
	width:100%;	
}
#index section{
	margin-bottom:0;
}
.main section{
    clear: both;
	margin-bottom:40px;
}
.main section.infoArea:not(.main#index section.infoArea){
    clear: both;
	margin-bottom:0px;
    padding-top:40px;
    box-shadow: inset 0 5px 10px -3px rgba(0, 0, 0, 0.1);
}
#index .inner{
	width:100%;
	max-width:1266px;
	margin:0 auto;
	padding:40px 0;
}
.main .inner{
	width:100%;
	max-width:1266px;
	margin:0 auto 60px;
	padding:0;
}
.main#index .infoArea .inner{padding:20px  0 80px;}
.main .infoArea .inner{padding:0px  0 80px;margin:0 auto 0px;}
footer .inner{
	width:100%;
	max-width:1366px;
	margin:0 auto;
	padding:20px 0;
}
/* フッター
----------------------------------------------------*/
footer {
	clear:both;
    text-align: center;

}
footer h2{
	margin:0 0 10px;
	font-size:3.0rem;
	padding:0;
}
footer p{
    margin-bottom: 0em!important;
}
/* --- フッターリンク ページリンク--- */

.ftLink ul{
  display: flex;
  flex-wrap:wrap;
/*  justify-content:space-between;*/
  margin:1em 0;
    font-size:1.6rem;
}
.ftLink ul li{
width:calc(100%/8);
margin:0.5em 0;
letter-spacing: normal;
}
.ftLink ul li+li{
    position: relative;
}
.ftLink ul li+li::before{
    content: "";
    display: block;
    height: 1em;
    border-left: 1px solid rgba(0,0,0,.3);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
footer .copyright {
	font-size:1.4rem;
    line-height: 2.0;
    background: #2c70cb;
    color:#fff;
}
/* --- pagetop --- */
.pagetop{
    position: fixed;
    right: 10px;
    bottom: 40px;
    z-index: 9999;
    margin: 0;
   background: rgba(0,0,0,.3);
    width:60px;
    height:60px;
    border-radius: 100%;
}
 .pagetop a{
   display: inline-block;
  width: 20px;
  height: 20px;
  border-top: 4px solid #fff;
  border-left: 4px solid #fff;
  transform: rotate(45deg);
  position:absolute;
  top:22px;
  right:20px;
}
/* --- パンくず --- */
.main .path {
    padding: 10px 0 0;
    font-size: 14px;
}

.main .path li {
    display: inline-block;
    list-style: none;
    padding: 0;
}
.main .path li:after {
    content: "＞";
    padding-left: 5px;
}
.main .path li:last-child:after {
    content: "";
}
/* 見出し
----------------------------------------------------*/
.pageTitle h1{
    font-size:32px;
	font-size:3.2rem;
    padding:2.5em 0.5em;
    text-align: center;
    text-shadow:0px 0px 5px rgb(255 255 255), 0px 0px 5px rgb(255 255 255), 0px 0px 5px rgb(255 255 255);
}

.main .pageTitle{
background-size:cover;
background-color: rgba(255,255,255,0.4);
background-blend-mode: lighten;
    background-repeat: no-repeat;
}
.main#template .pageTitle{
background-image: url("../images/pt_service.jpg");
background-position:center 60%;
}
.main#service .pageTitle{
background-image: url("../images/pt_service.jpg");
background-position:center 60%;
}
.main#clinic .pageTitle{
background-image: url("../images/pt_clinic.jpg");
background-position:center 60%;
}
.main#access .pageTitle{
background-image: url("../images/pt_access.jpg");
background-position:center 60%;
}
.main#news .pageTitle{
background-image: url("../images/pt_news.jpg");
background-position:center center;
}
.main#dx .pageTitle{
background-image: url("../images/pt_dx.jpg");
background-position:center 60%;
}
.main#privacy .pageTitle{
background-image: url("../images/pt_privacy.jpg");
background-position:center 60%;
}
.main#index{
	margin:0;
}

.main#index h2,.main .infoArea h2{
	font-size: 3.2rem;
    margin-bottom: 1em;
    text-align: center;
}
.main#index h2 i,.main .infoArea h2 i{
    display: block;
    width: 50px;
    margin: 0 auto;
}
.main#index .infoArea h2,.main .infoArea h2{
    margin-bottom: 0em;
}
footer h3{
    font-size:20px;
    font-size:2.0rem;
}

.main h2:not(.main#index h2,.main .infoArea h2){
    clear: both;
    font-size:28px;
	font-size:2.8rem;
	margin:40px -5px 15px;
	padding:1em;
	text-align:left;
    background:#2c70cb url("../images/bg_blue.jpg") left top  repeat;
    color:#fff;
    border-radius: 5px;
}
.main h2:not(.main#index h2,.main .infoArea h2):first-child{
	margin:30px -5px 15px;
}

.main h3{
    clear: both;
	font-size:24px;
	font-size:2.4rem;
	padding:0.5em 0.2em 0.2em;
	margin:1em 0 0.5em;
    border-bottom:2px solid #222;
}
.main  h3 i img{
    height:40px;
    margin: 0 0.5em 0.2em 0;
}
.main .infoArea h3{
    border-bottom:none;
    margin: 0 0 0.5em;
    text-align: center;
}
.main .featuresArea h3{
    border-bottom:none;
    margin: 0 0 0.5em;
}
.main .infoArea h3 span,.main .featuresArea h3 span{
    background: linear-gradient( transparent 60%, #ffeb7c 60% );
}

.main h4:not(.main .infoArea h4) {
	font-size:22px;
	font-size:2.2rem;
	padding:0.5em 1em;
	margin-bottom:0.5em;
	background: #d4eafa;
    border-radius: 5px;
	}
.main .infoArea h4{
    font-size:2.4rem;
    text-align: center;
}
.main h5{
	font-size:20px;
	font-size:2.0rem;
	padding: 0.2em 0.2em 0;
	margin-bottom:0.5em;
    display: inline;
    background: linear-gradient( transparent 60%, #FFFE03 60% );
}

.main p,footer p{
	padding-bottom:1em;
}
/* リスト
----------------------------------------------------*/
.main ul {
	margin-bottom: 1em;
}
.main ul li:not(.medal ul li, ul.path li,.main .pageIndex ul li,.flowWrap ul li) {
	position: relative;
	margin-bottom: 4px;
	padding-left: 20px;
}
.main ul li:not(.medal ul li, ul.path li,.main .pageIndex ul li,.flowWrap ul li):before {
	content: " ";
	position: absolute;
	left: 0.2em;
	top: 0.7em;
	width: 8px;
	height: 8px;
	background:#222;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;	
	border-radius: 4px;
}
.main .mfp ul li:before{
	content:inherit;
	position:inherit;
	left: 0;
	top:0;
	width:0;
	height:0;
	background: none;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	-o-border-radius:0;
	-ms-border-radius:0;	
	border-radius:0;
}

.main ol {
	margin-bottom: 10px;
	padding-left: 1.7em;
}
.main ol li {
	margin-bottom: 5px;
	list-style-type: decimal;
	list-style-position: outside;
}
.main ul.path li:before {
	width: 0;
	height: 0;
}
/* リンク 矢印
----------------------------------------------------*/
a.link {
  margin: 0em auto;
/*    text-align: center;*/
    text-decoration: underline!important;
    position: relative;
    padding-right:20px;
    display: inline-block;
}
a.link:hover,
a.link:active,
a.link:focus
 {
    text-decoration: underline;
/*    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;*/
}

/* 矢印が右に移動 */
.link::after,
.link:link::after,
.link:visited::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top:40%;
    right: 10px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #2c70cb;
    border-right: 2px solid #2c70cb;
    transform: rotate(45deg);
    /*アニメーションの指定*/
    transition: all .3s;
}
/*hoverした際の移動*/
.link:hover::after,
.link:active::after,
.link:focus::after{
    right: 5px;
    border-top: 2px solid #d41c51;
    border-right: 2px solid #d41c51;
}
/* リンクボタン
----------------------------------------------------*/
.btn{
    /*矢印の基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  background:#2c70cb;
  color:#fff;
  padding: 6px 70px 10px 55px;
  border-radius:25px;
 text-align: center;
 outline: none;
 /*アニメーションの指定*/
 transition: ease .3s;
}
/* 矢印が右に移動 */
.btnarrow::after,
.btnarrow:link::after,
.btnarrow:visited::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top:43%;
    right: 20px;
    /*矢印の形状*/
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    /*アニメーションの指定*/
    transition: all .3s;
}
/*hoverした際の移動*/
.btnarrow:hover::after,
.btnarrow:active::after,
.btnarrow:focus::after{
    right: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

/* --- PDF --- */
a[href$=".pdf"]:after {
    content: " ";
    display: inline-block;
    width: 27px;
    height: 24px;
     background: url(/images/pdf.png) no-repeat 3px bottom; 
}
.arrow a[href$=".pdf"]:after,
.thum a[href$=".pdf"]:after,
.download a[href$=".pdf"]:after,
.linkbtArea a[href$=".pdf"]:after{
    content: inherit;
    display: inherit;
    width: 0;
    height: 0;
    background: none;
}
/* --- テーブル --- */
.main table:not(.stylishTable) {
	width: 100%;
    margin-bottom: 20px;
}
.main table:not(.stylishTable) th,
.main table:not(.stylishTable) td {
    padding: 10px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
}
.main table:not(.stylishTable) th {
	text-align: center;
    font-weight: 500;
	white-space: nowrap;
	vertical-align: middle;
    background: #d4eafa;

}
.main table:not(.stylishTable) td {
	vertical-align: top;
    background:#f2f9ff;
}
.vm{
	vertical-align: middle !important;
}
/* --- テーブル-stylishTable --- */
.main table.stylishTable {
	width: 100%;
    margin-bottom: 20px;
}
.main .stylishTable th,
.main .stylishTable td{
    padding: 10px;
}
.main .stylishTable th {
    border-bottom: solid 2px #4d8bb8;
	white-space: nowrap;
    font-weight: 500;
}
.main .stylishTable td {
    padding-left: 1em;
	border-bottom: solid 2px #d4eafa;
}

/* --- テーブル-横幅調整 --- */
.w20{width:20%!important;}
.w30{width:30%!important;}
.w40{width:40%!important;}
.w50{width:50%!important;}
.w60{width:60%!important;}
.w70{width:70%!important;}
.w80{width:80%!important;}
.w90{width:90%!important;}
.wCenter{margin: 0 auto;}


.tb{display:none!important;}
.sp{display:none!important;}
/*---------------------------------------------------------------
トップ
---------------------------------------------------------------*/
/* infoArea
----------------------------------------------------*/
.infoArea {
    position:relative;
     background-image: linear-gradient(to bottom, rgb(255 255 255 / 100%), rgb(255 255 255 / 0%), rgb(255 255 255 / 0%) , rgb(255 255 255 / 0%)),url(../images/bg_info.jpg);
     background-repeat: no-repeat;
     background-position:bottom;
    background-size:cover; 
}
.circleBox{
    width: 300px;
    height: 150px;
    background: #fff;
    display: inline-block;
    border-radius: 50% / 100% 100% 0 0;
    margin: -115px auto 0;
    padding:1em 0.5em 0;
    position: absolute;
    z-index:11;
    text-align: center;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.infoArea p{
    line-height: normal;
}    
.tel{
    text-align: center;
}
.tel p{
    font-size: 3.2rem;
    font-weight: 600;
    padding: 0.2em 0.5em;
    margin:0.5em;
    border-top: 1px solid #2c70cb;
    border-bottom: 1px solid #2c70cb;
    display: inline-block;
}
.reserveBox{
    width: 85%;
    max-width: 800px;
    margin: 1em auto 0;
    padding:1em 0.5em  2em;
    border-radius: 20px;
    background: rgba(255,255,255,.5);
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.specialty{
    text-align: center;
    padding:0.2em 0 0!important;
}
.shinryoubiBox{
    width: 90%;
    margin: 0 auto 2em;
    font-size:2.4rem;
}

/* newsArea
----------------------------------------------------*/
#index .newsArea{
    width: 100%;
    background: #eaf6ff;
}
#index .newsBox{
    background: #fff;
    padding:1em 2em;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 20px;
} 
#index .newsArea dl{
	margin: 0 auto 1.5em;
	overflow: hidden;
}
.newsArea dl dt{
	clear: both;
	float: left;
    padding:1em 0 0;
}
.newsArea dl dd {
	padding: 1em 0 1em 6em;
    text-align: left;
}
time{

}
/* featuresArea
----------------------------------------------------*/
.featuresArea [class*=col-],.featuresArea [class*=col_],.featuresArea [class~=col]{
    padding:0 1rem 6rem;
}
/* serviceArea
----------------------------------------------------*/
#index .serviceArea{
    width: 100%;
    background: #eaf6ff;
}
/* ボタン共通設定 */
.btnBox{
  /*影の基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  text-decoration: none;
  /*  display: inline-block;*/
  display: block;
  text-align: center;
  background: transparent;
  border-radius: 10px;
  /*  border: solid 1px #134666;*/
  outline: none;
  /*アニメーションの指定*/
  transition: all 0.3s ease;
  height:100%;
}
/*hoverをした後のボタンの形状*/
.btnBox:hover{
  border-color:transparent; 
}
/*ボタンの中のテキスト*/
.btnBox div {
  position: relative;
  z-index: 2;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
  /*テキストの形状*/
  display: block;
  padding: 4em 0.5em;
  background:#fff;
  border-radius: 10px;
   /*アニメーションの指定*/
  transition: all 0.3s ease;
  height:100%;
 display: grid;
  place-items: center;
    border:1px solid #2c70cb;
}

/*== 右下に押し込まれる（立体が平面に） */
/*影の設定*/
.btnBox.pushright:before {
  content: "";
  /*絶対配置で影の位置を決める*/
  position: absolute;
  z-index: 1;
  top: 4px;
  left: 4px;
  /*影の形状*/
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background-color: #2c70cb;
}
/*hoverの際にX・Y軸に4pxずらす*/
.btnBox.pushright:hover div {
  background-color: #fff;
  transform: translate(3px, 3px);
}
.btnBox figure img{
    height:60px;
}
.btnBox p{
font-size:2.4rem;
}
.infoArea [class*=col-], .infoArea [class*=col_],.infoArea [class~=col]{
    padding:0 1rem 1rem;
}
.serviceArea [class*=col-], .serviceArea [class*=col_], .serviceArea [class~=col]{
    padding:0 1rem 3rem;
}
.guide [class*=col-], .guide [class*=col_], .guide [class~=col]{
    padding:0 2rem 3rem;
}


/*---------------------------------------------------------------
下層ページ
---------------------------------------------------------------*/

.photo320{
    max-width:320px;
    text-align: center;
    margin: 0 auto 0.5em;
}


.guide figcaption{
    font-size:2.2rem;
    text-align:center;
    color:#2c70cb;
    padding:0.5em 0 0.2em;
}
.guide p{

}

/* pageList
----------------------------------------------------*/
.pageList {
    text-align: center;
    margin: 2em 0;
    clear: both;
}

/* PREV */
.pageList .prev {
    display: inline-block;
    margin: 7px 15px 0 0;
}
.pageList .prev a {
    margin: 0em auto;
    position: relative;
    padding-left:20px;
    color:#2c70cb !important;

}
.pageList .prev a:hover,
.pageList .prev a:active,
.pageList .prev a:focus
 {
     color:#d41c51 !important;
}
/* 矢印が右に移動 */
.pageList .prev a::after,
.pageList .prev a:link::after,
.pageList .prev a:visited::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top:42%;
    left: 10px;
    /*矢印の形状*/
    width: 7px;
    height: 7px;
    border-top: 2px solid #2c70cb;
    border-right: 2px solid #2c70cb;
    transform: rotate(-135deg);
    /*アニメーションの指定*/
    transition: all .3s;
}
/*hoverした際の移動*/
.pageList .prev a:hover::after,
.pageList .prev a:active::after,
.pageList .prev a:focus::after{
    left: 5px;
    border-top: 2px solid #d41c51;
    border-right: 2px solid #d41c51;
}
/* NEXT */
.pageList .next {
    display: inline-block;
    margin: 7px 0 0 15px;
}
.pageList .next a {
    margin: 0em auto;
    position: relative;
    padding-right:20px;
    color:#2c70cb !important;

}
.pageList .next a:hover,
.pageList .next a:active,
.pageList .next a:focus
 {
     color:#d41c51 !important;
}
/* 矢印が右に移動 */
.pageList .next a::after,
.pageList .next a:link::after,
.pageList .next a:visited::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top:42%;
    right: 10px;
    /*矢印の形状*/
    width: 7px;
    height: 7px;
    border-top: 2px solid #2c70cb;
    border-right: 2px solid #2c70cb;
    transform: rotate(45deg);
    /*アニメーションの指定*/
    transition: all .3s;
}
/*hoverした際の移動*/
.pageList .next a:hover::after,
.pageList .next a:active::after,
.pageList .next a:focus::after{
    right: 5px;
    border-top: 2px solid #d41c51;
    border-right: 2px solid #d41c51;
}

/* LIST */
.pageList .list {
    display: inline-block;
}
.pageList .list a,
.pageList .list span {
    display: inline-block;
    width: 40px;
    height: 40px;
    padding-top: 1px;
    color: #222;
    text-align: center;
    vertical-align: top;
    background: #fcfcfc;
    border: 1px solid #222;
    border-radius: 40px;
}
.pageList .list a:hover {
    color: #fff;
    background: #d41c51;
    vertical-align: top;
    border: 1px solid #d41c51;
}
.pageList .list span.current_page {
    color: #fff;
    background: #222;
}

/* pageIndex
----------------------------------------------------*/
.main .pageIndex {
    text-align: center;
    margin-bottom: 30px;
}

.main .pageIndex ul li {
    display: inline-block;
    padding: 0;
}

.main .pageIndex ul li:before {
    content: "│";
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    height: auto;
    background: none;
    color: #ccc;
}
.main .pageIndex ul li:first-child:before {
    content: "";
}
/* 地図
----------------------------------------------------*/
/* グーグルマップ・レスポンシブレイアウト */
.gmap{
    position : relative;
    height : 0;
    padding-bottom : 100%; /* 縦横比の指定 */
    overflow : hidden;
}

.gmap iframe,
.gmap object,
.gmap embed{
    position : absolute;
    top : 0;
    left : 0;
    width : 100%;
    height : 100%;
}
.gcal{
    text-align: center;
}
.gcal iframe {
  width: 100%;
  height: 400px;
}

