@charset "utf-8";

/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #333;	/*全体の文字色*/
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 18px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	background: #fff;	/*背景色*/
/*	background:rgba(247,198,209,0.2); */
	background:rgba(211,242,211,0.2);
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}

/* フォント */
.font-s{font-size:85%;}
.font-l{font-size:125%;}
.font-l2{font-size:150%;}
.attention{
	font-weight:bold;
	color:rgba(211,70,97,1);
}
.underline{
	text-decoration:underline;
}
.icnR{
	margin-left:5px;
}
.marker{
	background:linear-gradient(transparent 60%, rgba(247,198,209,1) 60%);
}
.spOnly{
	display:none;
}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #333;		/*リンクテキストの色*/
	transition: 0.2s;	/*マウスオン時の移り変わるまでの時間設定。0.2秒。*/
}
a:hover {
	color: #d34661;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*コンテナー（ホームページを囲むブロック）
---------------------------------------------------------------------------*/
#container {
/*	max-width: 1500px;	slide.cssの「#mainimg, #subimg」と設定と合わせる*/
	max-width: 100%;	
	margin: 0 auto;
	border-top: 4px solid #d34661;	/*一番上に入っているアクセントライン。幅、線種、色。*/
}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: relative;
	z-index: 100;
	height: 140px;	/*ヘッダーの高さ*/
	background: #fff;	/*背景色*/
	display:flex;
}
.page header{
	position:fixed;
	left:0;
	top:0px;
	width:96%;
	padding:0 2%;
	border-top:2px solid rgba(211,70,97,1);
}

/*ロゴ画像*/
header #logo {
	width: calc(100% - 25em);
}
header #logo img {
	width: 368px;	/*画像幅*/
	position: absolute; 
	left: 3%;		/*ヘッダーに対して左から3%の場所に配置*/
	margin-top: 18px;	/*ヘッダーに対して上から38pxの場所に配置*/
}
.home header #logo img {
	width: 448px;	/*画像幅*/
}
#headermenu {
	position: absolute;
	right: 3%;	/*	headerに対して右から3%の場所に配置*/
	bottom: 0;	/*headerに対して下から15pxの場所に配置*/
}
/*メニュー１個あたり*/
#headermenu li {
	display:inline-block;
	line-height:1.15em;
}
#headermenu li a.btn1 {
	padding: 0px 15px 0px 30px;	/*上、右、下、左へのボックス内の余白*/
}
#headermenu strong{
	font-size:125%;
	font-weight:normal;
}
#headermenu strong span{
	font-size:150%;
	font-weight:bold;
}

/*btn1
---------------------------------------------------------------------------*/
/*btn1共通*/
a.btn1 {
	text-decoration: none;
	display: inline-block;
	background: rgba(70,179,211,1) url(../images/arrow1.png) no-repeat 15px center;	/*古いブラウザ用*/
	background: rgba(70,179,211,1) url(../images/arrow1.png) no-repeat 15px center / 6px;	/*背景色、背景の矢印画像の読み込み、左から15pxの場所に配置。幅を6pxに。*/
	color: #FFF !important;
	border-radius: 0.25em;
	letter-spacing:2px;
	padding-left:30px;
	padding-right:1em;
}
/*マウスオン時*/
a.btn1:hover{
	background: rgba(70,179,211,0.7) url(../images/arrow1.png) no-repeat 15px center / 6px;
}
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
#page-top a.btn1 {
/* #contents a.btn1 { */

	text-decoration: none;
	display: inline-block;
	background: #d34661 url(../images/arrow1.png) no-repeat 15px center;	/*古いブラウザ用*/
	background: #d34661 url(../images/arrow1.png) no-repeat 15px center / 6px;	/*背景色、背景の矢印画像の読み込み、左から15pxの場所に配置。幅を6pxに。*/
	color: #FFF !important;
	border: 1px solid #d34661;	/*枠線の幅、線種、色*/
	border-radius: 0.25em;
	letter-spacing:2px;
	padding-left:30px;
	padding-right:1em;

	padding: 0px 35px 0px 50px;	/*上、右、下、左へのボックス内の余白*/
	letter-spacing: 0.2em;		/*文字間隔を広くとる設定*/
}
#page-top a.btn1:hover{
	background: #ff5575 url(../images/arrow1.png) no-repeat 15px center / 6px;
}

/*文字サイズ変更ボタン（※文字サイズを「大」にした時の設定はchange.cssで行う）
---------------------------------------------------------------------------*/
/*ボタンブロック全体*/
#fsize {
	position: absolute;
	right: 2%;		/*ヘッダーブロックに対して右から3%の場所に配置*/
	top: 0px;		/*ヘッダーブロックに対して上から0pxの場所に配置*/
	width: 200px;	/*ブロック幅*/
	background: #fff;	/*背景色*/
	box-shadow: 0px 0px 8px rgba(0,0,0,0.2);	/*影の設定。右へ、下へ、ぼかし幅。rgbaは色設定で0,0,0は黒。0.2は20%色がついた状態の事。*/
	border-radius: 0px 0px 5px 5px;	/*角丸のサイズ。左上、右上、右下、左下への順。*/
	line-height: 40px;	/*高さ*/
	padding: 8px 0px;	/*上下、左右へのボックス内の余白*/
}
/*「文字サイズ」のテキスト*/
#fsize p {
	float: left;
	font-size: 12px;	/*文字サイズ*/
	padding: 0 16px;	/*上下、左右への余白*/
}
/*文字サイズボタン１個あたり*/
#fsize ul li {
	float: left;	/*左に回り込み*/
}
#fsize ul a {
	overflow: hidden;display: block;text-decoration: none;text-align: center;
	color: #fff;	/*文字色*/
}
/*「小」ボタン設定*/
#fsize ul li input[type="button"] {
	border:none;
}
#fsize ul li#small input[type="button"] {
	display: block;
	content: "小";		/*「小」の文字を出力*/
	font-size: 14px;	/*文字サイズ*/
	background: #d34661;	/*背景色*/
	width: 30px;		/*幅*/
	line-height: 30px;	/*高さ*/
	margin-top: 5px;
	margin-right: 10px;
	color:#fff;
}
/*「大」ボタン設定*/
#fsize ul li#large input[type="button"] {
	display: block;
	content: "大";		/*「大」の文字を出力*/
	font-size: 20px;	/*文字サイズ*/
	background: #ccc;	/*背景色*/
	width: 40px;		/*幅*/
	line-height: 40px;	/*高さ*/
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
.current-policy{
	display:none !important;
}

#menubar {
	clear: both;
	position: relative;
	z-index: 1;
	margin-left: 5%;	/*左に空けるスペース*/
	margin-top: 8%;		/*上に空けるスペース。この部分にイメージ画像が表示されます。*/
	padding-top: 100px;;		/*上に空けるスペース。この部分にイメージ画像が表示されます。*/
}
#pageMenubar {
	clear: both;
	z-index: 1;
	margin-left: 0;	/*左に空けるスペース*/
	margin-top: 0;

	position: relative;
	top:70px;
}

/*トップページのメニューブロック*/
body.home #menubar {
	margin-top: 40%;	/*上に空けるスペース。この部分にスライドショーが表示されます。*/
}
body #pageMenubar{
	margin-top: 20px;
}
/*メニュー１個あたりの設定*/
#menubar ul,
#pageMenubar ul{
	display:inline-flex;
	justify-content: center;
	align-items: center;
	align-content:flex-end;
	width:100%;
}
#menubar ul{
	width:95%;
}
#pageMenubar ul{
	height:50px;
	min-height:50px;
	line-height:50px;
}
#menubar li{
/*	float: left;	左に回り込み*/
	display:inline-block;
	width: calc((100% - (2% * 4)) / 4);		/*メニュー幅*/
	margin: 0 0.4%;	/*0.4%はメニュー同士の左右間の余白。*/
}
#pageMenubar li{
	width: calc((100% - (2% * 4)) / 4);
}
#menubar li a,
#pageMenubar li a{
	display:block;
	text-decoration: none;
	position: relative;
	text-align: center;	/*内容をセンタリング*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
	background: #fff;	/*背景色（古いブラウザ用）*/
	background: rgba(255,255,255,0.85);	/*背景色。255,255,255は白の事で0.85は85%色がついた状態の事。*/
}
#pageMenubar li a{
	display:inline-block;

	border: 1px solid #d34661;
	padding: 0;
	width: 100%;
	height:100%;
	vertical-align:middle;
	text-align:center;

	margin: 0 0.4%;
}

/*飾り文字*/
#menubar li span,
#pageMenubar li span{
	display: block;
	font-size: 60%;		/*文字サイズ*/
	line-height:70%;
	color: #d34661;		/*文字色*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
}

#pageMenubar li a span{
	display:none;
}

/*飾り文字のマウスオン時、現在表示中(current)時*/
#menubar li a:hover span,
.home #menubar li.current-home a span,
.service #menubar li.current-service a span,
.about #menubar li.current-about a span,
.medical #menubar li.current-medical a span,
.policy #menubar li.current-policy a span{
	color: #fff;		/*文字色*/
}

/*マウスオン時と、現在表示中(current)メニューの設定*/
.home #menubar li.current-home a,
.service #menubar li.current-service a,
.about #menubar li.current-about a,
.medical #menubar li.current-medical a,
.access #menubar li.current-access a,
.policy #menubar li.current-policy a ,

.home #pageMenubar li.current-home a,
.service #pageMenubar li.current-service a,
.about #pageMenubar li.current-about a,
.medical #pageMenubar li.current-medical a,
.access #pageMenubar li.current-access a,
.policy #pageMenubar li.current-policy a {
	display:block;
	background: #d34661;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
}
.home #pageMenubar li.current-home a,
.service #pageMenubar li.current-service a,
.about #pageMenubar li.current-about a,
.medical #pageMenubar li.current-medical a,
.access #pageMenubar li.current-access a,
.policy #pageMenubar li.current-policy a {
	padding: 0;	/*上下、左右へのボックス内の余白*/
}
.home #pageMenubar li.current-home a span::after,
.service #pageMenubar li.current-service a::after,
.about #pageMenubar li.current-about a span::after,
.medical #pageMenubar li.current-medical a span::after,
.policy #pageMenubar li.current-policy a span::after{
	bottom: -32px;	/*下側に22px下げる*/
}



/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
#page-top {
/* #contents { */
	clear: both;
	overflow: hidden;
	position: relative;
	background: #fff;	/*背景色*/
	padding: 5% 5%;		/*上下、左右へのボックス内の余白*/
	margin: 0 3% 50px;	/*上、左右、下へのボックスの外側への余白*/
}
#page section{
	padding: 5% 10%;		/*上下、左右へのボックス内の余白*/
}

#page .fullwide iframe{
	width:100%;
	height:500px;
}

.page section{
	padding-bottom:3em;
}


/*h2タグ*/
#contents h2 {
	clear: both;
	margin-bottom: 40px;	/*下に空けるボックスの外側への余白*/
	font-size: 250%;		/*文字サイズ*/
	text-align: center;		/*文字を中央に*/
	line-height: 1.5;		/*行間を基準より少し狭くする*/
}
/*h2タグ内のspanタグ（英語の飾り文字）*/
#contents h2 span {
	display: block;
	font-size: 40%;	/*文字サイズ*/
	color: #d34661;	/*文字色*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
}

/*コンテンツh2タグ*/
.page #subimg h2 {
	clear: both;
	font-size: 250%;		/*文字サイズ*/
	text-align: center;		/*文字を中央に*/
	line-height: 1.5;		/*行間を基準より少し狭くする*/
}

.page #subimg h2 {
	font-family: "Rounded Mplus 1c";
/*	color:#fff; */
}
/*h2タグ内のspanタグ（英語の飾り文字）*/
.page #subimg h2 span {
	display: block;
	font-size: 40%;	/*文字サイズ*/
/*	color: #d34661;	文字色*/
	color: rgba(0,0,0,0.8);	/*文字色*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
}
/*h3タグ*/
#contents h3 {
	clear: both;
	margin-bottom: 30px;	/*下に空けるボックスの外側への余白*/
	text-align: center;		/*文字を中央に*/
	font-size: 130%;		/*文字サイズ*/
	border-radius: 50px;	/*角丸のサイズ。この行を削除すれば通常の長方形になります。*/
	border: 1px solid #666;	/*枠線の幅、線種、色*/
	padding: 0 50px;	/*上下、左右へのボックス内の余白*/
	background:#fff;
}

.page #contents h3 {
	border-radius: 0;
	border:none;
	background-color: none;
	text-align:left;
	color: #000; /* 文字色 */
	padding: 3px 10px; /* 余白 */
	position: relative;
	background:rgba(121,209,214,0.4);
	border-radius: 5px 5px 0 0;
}
.page #contents h3:after {
	background: repeating-linear-gradient(-45deg, #79d1d6, 5px, #fff 0, #fff 10px); /* ストライプ */
	content: '';
	height: 5px; /* ストライプの高さ */
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}
.page #contents h3::before {
  content: "";
  background-color: #fff;
  display: inline-block;
  height: 25px;
  width: 25px;
  -webkit-mask: url("../images/heart-solid.svg");
  mask:url("../images/heart-solid.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  vertical-align: middle;
  margin-right:5px;
  margin-top:-5px;
}


/*h4タグ */
#contents h4 {
	background:none;
}
.page #contents h4 {
	border-bottom: 1px dotted #79d1d6; /* 下線 */
	color: #33989e; /* 文字色 */
	padding: 10px 10px 0px 10px; /* 上・右・下・左の余白 */
	position: relative;
	line-height:1.4em;
	margin-bottom:0.5em;
	font-size:1.25em;
}
.page #contents h4::before {
  content: "";
  background-color: #79d1d6;
  display: inline-block;
  height: 20px;
  width: 20px;
  -webkit-mask: url("../images/dove-solid.svg");
  mask:url("../images/dove-solid.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  vertical-align: middle;
  margin-right:5px;
}

.page #contents .list2 h4 {
	background: rgba(70,179,211,1);
	color:#fff;
	font-size:0.87em;
	letter-spacing:-1px;
	border-bottom:none;
	padding:0.25em;
	padding-top:0.4em;
	border-radius:10px;
}
.page #contents .list2 h4::before {
	display:none;
}

/* PDF、エクセル、ワード アイコン */
a.pdf,
a.word,
a.excel{
	display:inline-block;
	position: relative;
	line-height:20px;
	height:24px;
}
a.pdf{
	color: #900;
}
a.word{
	color: #090;
}
a.excel{
	color: #090;
}
a.pdf::before {
	content: "";
	display: inline-block;
	height: 20px;
	width: 15px;
	-webkit-mask-size: cover;
	mask-size: cover;
	vertical-align: middle;
	margin-right:5px;
	margin-top:-5px;
	background-color: #900;
	-webkit-mask: url("../images/file-pdf-regular.svg");
	mask:url("../images/file-pdf-regular.svg");
}
a.word::before {
	content: "";
	display: inline-block;
	height: 20px;
	width: 15px;
	-webkit-mask-size: cover;
	mask-size: cover;
	vertical-align: middle;
	margin-right:5px;
	margin-top:-5px;
	background-color: #090;
	-webkit-mask: url("../images/file-word-solid.svg");
	mask:url("../images/file-word-solid.svg");
}
a.excel::before {
	content: "";
	display: inline-block;
	height: 20px;
	width: 15px;
	-webkit-mask-size: cover;
	mask-size: cover;
	vertical-align: middle;
	margin-right:5px;
	margin-top:-5px;
	background-color: #090;
	-webkit-mask: url("../images/file-excel-regular.svg");
	mask:url("../images/file-excel-regular.svg");
}



/*段落タグ*/
#contents p {
	padding: 0 20px 40px;
}
#contents p + p {
	margin-top: -10px;
}
/*section同士の余白*/
#contents section + section {
	padding-top: 5em;
}

.page .detailBox{
	margin-left:1.25em;
	margin-bottom:2em;
}
.page .detailBox + .detailBox{
	margin-bottom:0;
}
.page .detailBox li{
	padding: 0px 10px 0px 30px; /* 上・右・下・左の余白 */
	position: relative;
	line-height:1.4em;
	margin-bottom:0.5em;
}
.page .detailBox li:before{
	background-image: linear-gradient(180deg, #79d1d6 0%, #79d1d6 100%); /* 円のグラデーション */
	border-radius: 50%;
	content: '';
	display: block;
	position: absolute;
	top: 0px;
	left: 5px;
	width: 20px; /* 円の幅 */
	height: 20px; /* 円の高さ */
}
.page .detailBox li:after{
	background-color: #fff; /* 白抜き円 */
	border-radius: 50%;
	content: '';
	display: block;
	position: absolute;
	top: 5px;
	left: 10px;
	width:10px; /* 白抜き円の幅 */
	height:10px; /* 白抜き円の高さ */
}
.page .detailBox ol.no-before-mark-bd{
	margin-top:-1.5em;
	padding-top:1.5em;
	border:3px solid rgba(200,200,200,0.1);
}
.page .detailBox ol.no-before-mark-bd li{
	margin-left:1em;
	padding-left:0.5em;
}
.page .detailBox ol.no-before-mark-bd li:before,
.page .detailBox ol.no-before-mark-bd li:after{
	display:none;
}
.page .detailBox img{
	max-width:100%;
	height:auto;
}

.medical .flexBox img{
	border 1px solid #ccc;
}
.medical .detailBox li:before{
	display:none;
	padding-left:0;
	padding-right:0;
}



/*メインコンテンツ
---------------------------------------------------------------------------*/
/*メインコンテンツ*/
#contents .main {
	float: left;	/*左に回り込み*/
	width: 70%;		/*コンテンツ幅*/
}


#contents {
	clear: both;
	position:static;
}

.page #contents{

	box-sizing:border-box;
	clear: both;
	position:relative;
/*	position:static;*/
	background:#fff;
	z-index:1;
	width:80%;
	margin:0 auto;
	border-radius:30px;
	padding:3em 2em;
}



/*サブコンテンツ
---------------------------------------------------------------------------*/
/*サブコンテンツ*/
#contents .sub {
	float: right;	/*右に回り込み*/
	width: 25%;		/*コンテンツ幅*/
}
/*サブコンテンツのh2タグ*/
#contents .sub h2 {
	font-size: 120%;	/*文字サイズ*/
	margin-bottom: 10px;
	text-align: left;
}
/*サブコンテンツのh2タグの１文字目への設定*/
#contents .sub h2::first-letter {
	padding-left: 15px;				/*アクセントラインとテキストとの余白*/
	border-left: 3px solid #d34661;	/*左のアクセントラインの幅、線種、色*/
}
/*サブコンテンツの段落タグ設定*/
#contents .sub p {
	padding: 0;
	font-size: 90%;
}
/*section同士の余白*/
#contents .sub section + section {
	margin-top: 0px;
}

/* 画像 */
.img80p{
	max-width:80%;
	width:80%;
	height:auto;
}
.imgfullw{
	max-width:100%;
	width:100%;
	height:auto;
}
figure{
	text-align:center;
}
figcaption{
	font-size:80%;
}
img.floatR{
	float:right;
	margin-left:2em;
}
img.floatL{
	float:left;
	margin-right:2em;
}

/* 2カラム */
.column02{
	display:flex;
}
.column02 .c2{
	width:calc(100% * (2/3));
}
.column02 .c1{
	width:calc(100% /3);
}
.column02 .cH{
	width:calc(100% /2);
}

.column02 div:first-of-type{
	padding-right:2%;
}
.column02 div:last-of-type{
	padding-left:2%;
}

.column02 .cH img{
	max-width:100%;
	height:auto;
}

/*サブコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
.sub ul.submenu {
	margin-bottom: 20px;	/*メニューブロックの下に空けるスペース*/
	border-top: solid 1px #dcdcdc;	/*上の線の線種、幅、色*/
}
/*メニュー１個ごとの設定*/
.sub ul.submenu li {
	background: #fff;	/*背景色*/
	border-bottom: solid 1px #dcdcdc;	/*下の線の線種、幅、色*/
}
.sub ul.submenu li a {
	text-decoration: none;display: block;
	padding: 5px 10px;	/*メニュー内の余白。上下、左右への設定。*/
}

/*サブコンテンツ内のbox1
---------------------------------------------------------------------------*/
.sub .box1 {
	padding: 15px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: rgba(0,0,0,0.02);	/*背景色。rgbaは色設定で0,0,0は黒。0.02は2%だけ色がついた状態の事。*/
	border: solid 1px #dcdcdc;	/*線の線種、幅、色*/
	box-shadow: 0px 0px 1px 1px #fff inset;	/*ボックスの影。内側に白のラインを入れる。*/
}
/*box1内のメニューの設定*/
.sub .box1 ul.submenu {
	margin-bottom: 0px;
}

/*ページ内専用メニュー（service.htmlの見出しの下で使っています）
---------------------------------------------------------------------------*/
.nav {
	clear: both;
/*	z-index:200;
	position:relative; */

	text-align: left;
	margin-bottom: 3em !important;
/*	background:rgba(247,198,209,1); 
	border-radius:30px;*/
	border-bottom:1px dotted rgba(211,70,97,1);
	padding: 5px 10px;
	width:100%;
	margin:0 auto;
	font-size:0.85em;
}
.nav li {
	display: inline-block;
	padding: 0 10px;
}
.nav a {
	color:rgba(211,70,97,1);
}
.nav li::before {
	content: "> ";
	color: #d34661;
}

/*list（info.htmlで利用している各ボックス）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list {
	overflow: hidden;
	border-top: 1px solid #ccc;	/*上の線の幅、線種、色*/
	padding: 30px;	/*ボックス内の余白*/
}
/*ボックス内のh4（見出し）タグ*/
.list h4 {
	font-size: 180%;	/*文字サイズ*/
	color: #d34661;	/*文字色*/
}
/*ボックス内のp（段落）タグ*/
.list p {
	padding: 0px 0px 20px !important;
}

/*list2（service.htmlで利用している各ボックス）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
ul.flexBox{
	display:inline-block;
	margin:0;
	padding:0;
	display:flex;
}
ul.flexBox li{
	display:inline-block;
}


.listBox{
	display:flex;
	flex-wrap: wrap;
}
.list2 {
	position: relative;
	width: 30%;		
	margin: 0 1.5% 40px;	/*上、左右、下へ、ボックスの外側に空けるスペース*/
	text-align: center;		/*内容を中央よせ*/
}

.listBox .list2{
	display:inline-block;
	width:calc((100% - 3% *4) / 4);
}
.listBox .list2:nth-of-type(4n){
	margin-right:0;
}

/*ボックス内の画像*/
.list2 figure {
	margin-bottom: 20px;	/*画像の下に空けるスペース*/
	border-radius:10px !important;
	height:150px;
	overflow:hidden;
	border:1px solid #ccc;
	text-align:center;
}
.list2 a:hover figure{
	opacity: 0.5;	/*マウスオン時。透明度80%にする。*/
}
.list2 figure img{
	object-fit: cover;
	object-position: 0 0;
	height:100%;
}

.home .list2 {
	margin: 0.25% 0.5%;	/*上、左右、下へ、ボックスの外側に空けるスペース*/
	background:rgba(255,255,255,0.5);
	padding:10px;
}

.home .list2 figure {
	height:150px;
}
.home .list2 figure img{
	object-fit: cover;
	object-position: top center;
	width:100%;
	height: 100%;
}


/*ボックス内のh4（見出し）タグ*/
.list2 h4 {
/*	position: absolute;
	top: 0px; */
	font-weight:bold;
	font-size:1.15em;
	margin-bottom:0.25em;
	width: 100%;	/*幅*/
	background: #fff;	/*背景色（古いブラウザ用）*/
	background: rgba(255,255,255,0.7);	/*背景色。0,0,0は黒の事で0.7は70%色がついた状態。*/
	color: #d34661;	/*文字色*/
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}
.list2 h4 span{
	display:inline-block;
	border-radius:1em;
	font-size:1em;
	background: #d34661;
	width:1.75em;
	line-height:1.75em;
	color: #fff;	/*文字色*/
}
/*ボックス内のp（段落）タグ*/
.list2 a p {
/*	position: absolute;
	bottom: 1em;
	right:0;*/
	text-align:center;
	padding:0 1em;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
	background: #d34661;
	color:#fff;
	border-radius:0.5em;
}
.list2 a:hover p {
	background: #c82443;
}
.list2 a{
	text-decoration:none;
}
.list2 span{
	display:inline-block;
}
.list2 .txt{
	min-height:9em;
	font-size:0.85em;
	text-align:left;
}
.page .list2 p{
	padding:0 !important;
	text-align:left;
	line-height:1.45em;
/*	border:1px solid #ccc; */
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;		/*文字を中央に*/
	font-size: 70%;			/*文字サイズ*/
	background: #d34661;	/*背景色*/
}
/*リンクテキスト*/
footer a {color: #fff;}
footer a:hover {color: #fff;}
/*著作部分*/
footer .pr {display: block;}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	overflow: hidden;
	padding: 20px 3%;	/*上下、左右へのボックス内の余白*/
/*	background: url(../images/icon_logo.png) no-repeat right center / auto 80%;	フッター右側のロゴマークの設定。*/
}
#footermenu ul span{
	display:none;
}
#footermenu ul {
	display:flex;
}
#footermenu ul li,
#footermenu ul li.current-policy{
	display:inline-block !important;
	margin-right:2em;
}


/*１行分の設定*/
#footermenu ul {
/*	float: left;	左に回り込み*/
	width: 100%;		/*幅*/
	padding-right: 1%;	/*左に空ける余白*/
	padding-left: 1%;	/*右に空ける余白*/
	text-align: left;
	line-height: 1.7;	/*行間を狭くする*/
}
/*class="title"とつけた場合の設定*/
#footermenu ul li.title a {
	font-weight: bold;	/*太字にする*/
	opacity: 1;	/*色が100%出た状態にする。この指定がないと、下の0.7が適用される。*/
}
/*リンクテキストの設定*/
#footermenu a {
	text-decoration: none;
	opacity: 0.7;	/*透明度。70%の色がついた状態。*/
}
/*リンクのマウスオン時*/
#footermenu a:hover {
	opacity: 1;		/*透明度。100%の色がついた状態。*/
}
#footermenu ul li {
	float:left;
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	background: #333;	/*背景色*/
	color: #fff;		/*文字色*/
}
#copyright a {text-decoration: none;}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*見出しを含まないお知らせブロック*/
#new dl {
	background: #eee;	/*背景色*/
	padding: 20px;		/*ブロック内の余白*/
	border-radius: 4px;	/*角丸のサイズ*/
}
/*日付設定*/
#new dt {
	float: left;
	width: 9em;		/*幅*/
	color: #d34661;	/*文字色*/
	letter-spacing: 0.1em;
}
/*記事設定*/
#new dd {
	padding-left: 9em;
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption, .ta2 caption {
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	background: #cce6f6;	/*背景色*/
	font-weight: bold;		/*太字に*/
	padding: 10px;	/*ボックス内の余白*/
}
/*ta1,ta2共通設定*/
.ta1,
.ta2 {
	width: 96%;
	table-layout: fixed;
	margin: 0 2% 30px;
}
.ta1, .ta1 td, .ta1 th,
.ta2, .ta2 td, .ta2 th {
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	line-height: 2;
	padding: 10px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 150px;	/*幅*/
	text-align: center;	/*センタリング*/
	background: #f0f0f0;	/*背景色*/
	font-weight: normal;
}
/*ta2の左側ボックス*/
.ta2 th {
	background: #fffeba;	/*背景色*/
}
/*ta2の右側ボックス*/
.ta2 td {
	text-align: center;	/*センタリング*/
}
/*料金ページの追加設定（CMS用）*/
.ta1.price td {
	text-align: right;
}
.ta1.price tr.total th {
	background: #b7e0ee;
	font-size: 150%;
}
.ta1.price tr.total td {
	background: #deeff4;
	font-weight: bold;
	font-size: 150%;
}

/*よく頂く質問ページ
---------------------------------------------------------------------------*/
/*ブロック全体*/
.faq {
	padding: 0px 20px;	/*上下、左右への余白*/
}
/*質問の設定*/
.faq dt {
	color: #d34661;	/*文字色*/
	padding-top: 15px;
	margin-bottom: 10px;
}
/*回答の設定*/
.faq dd {
	border-bottom: 1px solid #ccc;	/*下線の幅、線種、色*/
	overflow: hidden;
	padding-bottom: 15px;
}
/*「Q」と「A」のマーク共通設定*/
.faq dt::before,
.faq dd::before {
	margin-right: 5px;display: inline-block;text-align: center;
	width: 30px;		/*幅*/
	line-height: 30px;	/*高さ*/
}
/*「Q」のマーク追加設定*/
.faq dt::before {
	content: "Q";			/*「Q」の文字を出力する設定*/
	background: #d34661;	/*背景色*/
	color: #fff;			/*文字色*/
}
/*「A」のマーク追加設定*/
.faq dd::before {
	content: "A";		/*「A」の文字を出力する設定*/
	background: #999;	/*背景色*/
	color: #fff;		/*文字色*/
}

/*inputボタンにclass="btn"をつけた場合の設定
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	padding: 5px 10px;		/*上下、左右へのボックス内の余白*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	font-size: 20px;		/*文字サイズ*/
	border-radius: 3px;		/*角丸のサイズ*/
	background: #eee;		/*背景色*/
}
/*マウスオン時の設定*/
#contents input[type="submit"].btn:hover,
#contents input[type="button"].btn:hover,
#contents input[type="reset"].btn:hover {
	border: 1px solid #999;	/*枠線の幅、線種、色*/
	background: #fff;		/*背景色*/
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*ページの上部へボタン「↑」設定
---------------------------------------------------------------------------*/
@keyframes scroll {0% {opacity: 0;}100% {opacity: 1;}}
body .nav-fix-pos-pagetop a {display: none;}
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	z-index: 3;
	position: fixed;
	bottom: 20px;	/*下から20pxの場所に配置*/
	right: 3%;		/*右から3%の場所に配置*/
	background: #666;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.6);	/*背景色。0,0,0は黒の事。0.6は60%色がついた状態。*/
	color: #fff;	/*文字色*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	animation-name: scroll;	/*上のアニメーションで指定しているkeyframesの名前（scroll）*/
	animation-duration: 1S;	/*アニメーションの実行時間*/
	animation-fill-mode: forwards;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;	/*背景色*/
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #ccc;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.p0 {padding:0 !important;}
.clear {clear: both;}
ul.disc {padding: 0em 20px 40px 40px;list-style: disc;}
.color1, .color1 a {color: #d34661 !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.l {text-align: left !important;}
.w50 {overflow: hidden;width: 50%;}
.fl {float: left;}
img.fl {float: left;width:30%;margin-right: 20px;margin-bottom: 20px;}
.fr {float: right;}
img.fr {float: right;width:30%;margin-left: 20px;margin-bottom: 20px;}
.big1 {font-size: 40px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}
.ofh {overflow: hidden;}

/* トップページ */
.home #page-top{
/*	background:rgba(255,255,255,0.5); */
	background:rgba(211,242,211,0);
	background-image:url('../images/rainbowBg.png');
	background-repeat:no-repeat;
	background-position:bottom;
}
.home .area{
	mask-image: url("../images/area-mask.svg");/*マスクレイヤーとして使用する画像*/
	-webkit-mask-image: url("../images/area-mask.svg");

	background:rgba(121,209,214,0.3);
/*	background:rgba(195,121,159,0.2); */
	background-image:url('../images/areaBg-white.png');
	background-repeat:repeat-x;
	background-position:bottom;

	padding-top:6em !important;
	padding-bottom:6em !important;
}

.home .aboutus{
	background:rgba(248,206,210,0.2);
	background-image:url('../images/aboutusBg.svg');
	background-position:top;
	background-repeat:repeat-x;
}
.home .map{
	margin-top:2em;
}



/*画面幅1040px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1040px){

	/*メインメニュー
	---------------------------------------------------------------------------*/
	/*メニューブロック*/
	#menubar {
		font-size: 70%;	/*メニューのテキストが段落ちするので、文字サイズを縮小する。*/
	}
	#pageMenubar li a,
	.home #pageMenubar li.current-home a,
	.service #pageMenubar li.current-service a,
	.about #pageMenubar li.current-about a,
	.medical #pageMenubar li.current-medical a{
		line-height:1.1em;
		height:2em;
		padding-top:5px;
		padding-bottom:5px;
	}


}


@media screen and (max-width:820px){
	/*ロゴ画像*/
	header #logo {
		width: calc(100% - 25em);
	}
	header #logo img {
		width: 45%;
		position: absolute; 
		left: 3%;		/*ヘッダーに対して左から3%の場所に配置*/
		margin-top: 18px;	/*ヘッダーに対して上から38pxの場所に配置*/
	}
	.home header #logo img {
		width: 45%;	/*画像幅*/
	}
}

/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){

	*{
		box-sizing:border-box;
	}

	.spOnly{
		display:inline-block;
	}
	.pcOnly{
		display:none;
	}

	/*ヘッダー
	---------------------------------------------------------------------------*/
	/*ロゴ画像*/
	header{
		height:100px;
		z-index:998;
		border-top:2px solid rgba(211,70,97,1);
		backgronud:#fff;
	}

	.page header{
	/*	position:fixed; */
		position:absolute;
		top:0;
		width:100%;
		height:70px;
		backgronud:#fff;
	}

	header #logo img {
		display:inline-block;
		top: 10;	/*上から20pxの場所に配置*/
		width:35%;
		min-width:35%;
		max-width:35%;
	}
	.page header #logo img {
		display:inline-block;
		top: 10;	/*上から20pxの場所に配置*/
		width:35%;
	}
	header #headermenu{
		top:30px;
		width:auto;
		margin-right:60px;
	}
	.page header #headermenu{
		top:15px;
		width:auto;
		margin-right:80px;
	}
	.page header #headermenu strong{
		font-size:1.15em;
	}

	/*btn1
	---------------------------------------------------------------------------*/
	/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
	#contents a.btn1 {
		padding: 0px 20px;	/*上、右、下、左へのボックス内の余白*/
		letter-spacing: normal;		/*文字間隔を初期設定に戻す*/
		background: #d34661 url(none);
	}

	/*文字サイズ変更ボタン（※文字サイズを「大」にした時の設定はchange.cssで行う）
	---------------------------------------------------------------------------*/
	/*ボタンブロック全体*/
	#fsize {
		display: none;
	}

	/*メインメニュー
	---------------------------------------------------------------------------*/
	/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。
	透明(opacity: 0;)から色をつける(opacity: 1;)までの指定。*/
	@keyframes menubar {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
	/*スマホ用メニューブロック*/
	#menubar-s {
		display: block;
		overflow: hidden;
		position: absolute;
		z-index: 999;
		top: 0px;
		width: 100%;
		background: rgba(0,0,0,0.8);	/*背景色*/
		border-top: 1px solid #fff;		/*上の線の幅、線種、色*/
		animation-name: menubar;		/*上のkeyframesの名前*/
		animation-duration: 0.5s;	/*アニメーションの実行時間。0.5秒。*/
		animation-fill-mode: both;	/*待機中は最初のキーフレームを、完了後は最後のキーフレームを維持*/
	}
	/*メニュー１個あたりの設定*/
	#menubar-s li a {
		display: block;text-decoration: none;
		padding: 15px;	/*メニュー内の余白*/
		border-bottom: 1px solid #fff;	/*下の線の幅、線種、色*/
		color: #fff;	/*文字色*/
		font-size: 20px;
	}
	/*説明表記（飾り文字）*/
	#menubar-s li a span {
		display: block;
		font-size: 12px;	/*文字サイズ*/
		color: #999;	/*文字色*/
	}
	/*PC用メニューを非表示にする*/
	#menubar,
	#pageMenubar{
		display: none;
	}

	/*３本バーアイコン設定
	---------------------------------------------------------------------------*/
	/*３本バーブロック*/
	#menubar_hdr {
		display: block;
		position: absolute;
	/*	position:fixed; */
		z-index: 999;
		top: 20px;		/*上から20pxの場所に配置*/
		right: 3%;	/*右から3%の場所に配置*/
		border: 1px solid #fff;	/*枠線の幅、線種、色*/
	}
	.home #menubar_hdr{
		position:absolute;
	}

	/*アイコン共通設定*/
	#menubar_hdr.close,
	#menubar_hdr.open {
		width: 50px;	/*幅*/
		height: 50px;	/*高さ*/
	}
	/*三本バーアイコン*/
	#menubar_hdr.close {
		background: #d34661 url(../images/icon_menu.png) no-repeat center top/50px;	/*背景色、背景画像の読み込み、画像の上半分（３本マーク）を表示。幅は50px。*/
	}
	/*閉じるアイコン*/
	#menubar_hdr.open {
		background: #d34661 url(../images/icon_menu.png) no-repeat center bottom/50px;	/*背景色、背景画像の読み込み、画像の下半分（×マーク）を表示。幅は50px。*/
	}

	/*コンテンツ
	---------------------------------------------------------------------------*/
	#contents {
		margin-top: 8%;
	}
	body.home #contents {
		margin-top: 40%;
	}
	#page-top h2{
		text-shadow: 2px 2px 2px #fff;
	}
	.listBox .list2{
		display:inline-block;
		width:calc((100% - 3% *2) / 2);
		margin-top:0;
		margin-bottom:0;
	}
	.listBox .list2:nth-of-type(2n),
	.listBox .list2:nth-of-type(4n){
		margin-right:0;
	}

	/*main,subコンテンツ
	---------------------------------------------------------------------------*/
	#contents .main,
	#contents .sub {
		float: none;
		width: auto;
	}

	.page #contents{
		padding:1.5em 1em;
		width:90%;
		margin-left:3%;
		margin-right:3%;
	}
	.page #contents .nav{
		width:90%;
	}

	#subimg{
		margin-top: 0px;
		height:12em;
	}
	#subimg img{
		margin-top: 70px;
	}

	.connect li.fax a strong{
		font-size:2em;
		line-height:1em;
		color:#000 !important;
	}

	/*その他
	---------------------------------------------------------------------------*/
	body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
	.big1 {font-size: 20px;}
	.w50 {overflow: hidden;width: auto;}
	.fl {float: none;}
	.fr {float: none;}
	.sh {display:block;}
	.pc {display:none;}
}

/*画面幅700px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:700px){


	header {
		display:inline-block;
		position: static;
		background: #fff;
		width:100%;
	}


	header #logo {
		display:block;
		width:75%;
		height: auto;
		padding:0;
	}
	header #logo img {
		width: 100%;
		min-width:100%;
		max-width:100%;
		position: static; 
		left: 0;		/*ヘッダーに対して左から3%の場所に配置*/
		margin-top: 0;		/*ヘッダーに対して上から38pxの場所に配置*/
		margin-bottom:0;
		padding-top:5px !important;
		padding-bottom:5px !important;
	}
	.home header #logo img {
		width: 100%;	/*画像幅*/
	}
	#headermenu {
		display:inline-block;
		position: static;
		border-top:1px dotted #e0e0e0;
		margin-right:0 !important;
		text-align:center;
		font-size:1.25em;
		line-height:0.85em;
		width:100%;
		min-width:100%;
		max-width:100%;
		background: #fff;

	}

	/*メニュー１個あたり*/
	#headermenu li {
		display:inline;
	}
	#headermenu li a.btn1 {
		padding: 0px 15px 0px 30px;	/*上、右、下、左へのボックス内の余白*/
	}
	#headermenu strong{
		line-height:2em;
		font-size:2em;
		font-weight:normal;
	}
	#headermenu strong span{
		font-size:150%;
		font-weight:bold;
	}
	#headermenu .font-s{
		line-height:1em;
		font-size:1.25em;
	}

	#menubar_hdr{
		position:absolute;
	}

	/*全体の設定
	---------------------------------------------------------------------------*/
	body {
		font-size: 15px;	/*文字サイズ*/
	}

	/*コンテンツ
	---------------------------------------------------------------------------*/
	/*h3タグ*/
	#contents h3 {
		padding: 0 20px;	/*上下、左右へのボックス内の余白*/
	}

	.connect{
		display: -webkit-flex;
		display:flex;
		position:fixed;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		bottom:0;
		left:0;
		width:100%;
		max-width:100%;
		z-index:999;
		margin:0;
		padding:0
		height:6em;
		border-top:3px solid rgba(211,70,97,1);
		background:#fff;
	}
	.connect li{
		font-size:1em;
		line-height:2em;
		padding-top:5px;
		width:40%;
		background:rgba(245,245,235,1);
		height:6em;
	}
	.connect li.tel{
		width:60%;
		border-right:1px dotted rgba(211,70,97,1);
		background:rgba(211,70,97,1);
		color:#fff;
	}
	.connect li.tel strong:before{
		content: "";
		background-color: #fff;
		display: inline-block;
		height: 1.25rem;
		width: 1.25rem;
		-webkit-mask: url("../images/phone-solid.svg");
		mask: url("../images/phone-solid.svg");
		-webkit-mask-size: cover;
		mask-size: cover;
		vertical-align: middle;
		margin-right:3px;
	}
	.connect li.fax span:before{
		content: "";
		background-color: rgba(0,0,0,1);
		display: inline-block;
		height: 1rem;
		width: 1rem;
		-webkit-mask: url("../images/fax-solid.svg");
		mask: url("../images/fax-solid.svg");
		-webkit-mask-size: cover;
		mask-size: cover;
		vertical-align: middle;
		margin-right:3px;
		margin-top:0.5em;
	}
	.connect li strong{
		font-size:2em;
		font-weight:bold;
	}
	.connect li a{
		display:inline-block;
		width:100%;
		height:6em;
		color:#fff;
		text-decoration:none;
		padding:0.75em 0;
	}
	.connect li.tel a strong{
		font-size:3em;
		color:#fff;
		text-decoration:underline;
	}
	.connect li.fax span{
		padding-bottom:3px;
		display:inline-block;
	}
	.connect li.fax strong{
		font-size:1em !important;
	}


	footer{
		margin-bottom:5em;
	}
	body.is-fixed-pagetop .nav-fix-pos-pagetop a {
		bottom: 4em;
	}

}



/*画面幅540px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:540px){


	.home .topBg{
		padding-top:5em;
	}
	.marker{
		line-height:1.25em;
	}
	.marker strong{
		line-height:1.75em;
	}


	/*全体の設定
	---------------------------------------------------------------------------*/
	body {
		font-size: 12px;	/*文字サイズ*/
	}
	.page #contents{
		width:90%;
		margin-left:5%;
		margin-right:5%;
		padding:2em 1em;
	}
	#contents p {
		padding: 0 10px 20px;
	}
	#subimg img{
		margin-top: 0px;
	}


	/*ヘッダー
	---------------------------------------------------------------------------*/
	/*ヘッダーブロック*/

	header {
	/*	position: static; */
		height: 150px;
		display:inline-block;
	}

	header #logo {
		display:block;
		width:75%;
		height: auto;
		padding:0;
	}
	header #logo img {
		width: 100%;
		position:static; 
		left: 3%;
		margin-top: 5px;
	}
	.home header #logo img {
		width: 100%;
	}
	.page header{
		position: relative;
		height: 120px;
	}

	#headermenu {
		display:inline-block;
		width:100%;
		position:static;
		right: 0;
		bottom: 0;
		line-height:2em;
		text-align:center;
		border-top:1px dotted #e0e0e0;
		padding-top:0.5em;
	}
	#headermenu strong{
		line-height:1.5em;
		font-size:1.5em;
		font-weight:normal;
	}
	#headermenu strong span{
		font-size:150%;
		font-weight:bold;
	}
	#headermenu .font-s{
		line-height:1em;
		font-size:1em;
	}

	/*ヘッダー内メニュー（「資料請求・お問い合わせ」と「見学のお申し込み」ボタン）
	---------------------------------------------------------------------------*/
	/*メニューブロック全体*/
	#headermenu {
		position: static;
		overflow: hidden;
		padding-bottom: 10px;
	}
	/*メニュー１個あたり*/
	#headermenu li a.btn1 {
		display: block;
		margin-bottom: 5px;
	}

	/*コンテンツ
	---------------------------------------------------------------------------*/
	/*h2タグ*/
	#contents h2 {
		font-size: 150%;	/*文字サイズ*/
		margin-bottom: 20px;	/*下に空けるボックスの外側への余白*/
	}
	#subimg{
		margin-top: -10px;
		height:5em;
	}
	#subimg h2{
		padding-top: 1em;
	}
	/*h3タグ*/
	#contents h3 {
		font-size: 110%;	/*文字サイズ*/
		margin-bottom: 20px;/*下に空けるボックスの外側への余白*/
		line-height: 1.5;	/*行間を少し狭くする*/
	}
	.page #contents h3:after {
		height: 3px; /* ストライプの高さ */
	}

	.page #contents h3::before {
		height: 10px;
		width: 10px;
	}


	/*段落タグ*/
	#contents p {
		padding: 0px 0px 20px;	/*上、左右、下への段落タグ内の余白*/
		line-height: 1.5;		/*行間を少し狭くする*/
	}
	/*section同士の余白*/
	#contents section + section {
		padding-top: 20px;
	}

	body.home #contents {
		margin-top: 0;
		padding-top: 0;
	}
	body.home #contents .topBg {
		margin-top: 0;
		padding-top: 0;
	}
	.page #contents {
		margin-top: 4em;
	}

	/*btn1
	---------------------------------------------------------------------------*/
	/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
	#contents a.btn1 {
		padding: 0px 10px;	/*上、右、下、左へのボックス内の余白*/
	}

	/*list（info.htmlで利用している各ボックス）
	---------------------------------------------------------------------------*/
	/*各ボックスの設定*/
	.list {
		padding: 10px;	/*ボックス内の余白*/
	}

	/*list2（service.htmlで利用している各ボックス）
	---------------------------------------------------------------------------*/
	/*ボックス内のh4（見出し）タグ*/
	.list2 h4 {
		display: none;	/*スペースが狭くなって見出しの下に画像が隠れてしまうので、見出しを非表示にする。*/
	}

	/*テーブル（ta1）
	---------------------------------------------------------------------------*/
	/*テーブル１行目に入った見出し部分（※caption）*/
	.ta1 caption, .ta2 caption {
		padding: 5px;	/*ボックス内の余白*/
	}
	/*ta1,ta2共通設定*/
	.ta1,
	.ta2 {
		width: 100%;
		margin: 0 0 30px;
	}
	.ta1, .ta1 td, .ta1 th,
	.ta2, .ta2 td, .ta2 th {
		padding: 5px;	/*ボックス内の余白*/
	}
	/*ta1の左側ボックス*/
	.ta1 th {
		width: 100px;
	}

	/*inputボタンにclass="btn"をつけた場合の設定
	---------------------------------------------------------------------------*/
	#contents input[type="submit"].btn,
	#contents input[type="button"].btn,
	#contents input[type="reset"].btn {
		font-size: 12px;		/*文字サイズ*/
	}

	/*よく頂く質問ページ
	---------------------------------------------------------------------------*/
	/*ブロック全体*/
	.faq {
		padding: 0px;	/*余白*/
	}
	/*「Q」と「A」のマーク共通設定*/
	.faq dt::before,
	.faq dd::before {
		width: 20px;		/*幅*/
		line-height: 20px;	/*高さ*/
	}

	/*その他
	---------------------------------------------------------------------------*/
	.ws,.wl {width: 94%;}
	.big1 {font-size: 16px;}
	img.fl {margin-right: 5px;margin-bottom: 5px;}
	img.fr {margin-left: 5px;margin-bottom: 5px;}
	ul.disc {padding: 0em 0px 20px 18px;}

	img.floatR{
		width:30%;
		height:auto;
		margin-left:1em;
	}
	img.floatL{
		width:30%;
		height:auto;
		margin-right:1em;
	}
	/* 2カラム */
	.column02{
		display:block;
	}
	.column02 .c2,
	.column02 .c1,
	.column02 .cH{
		width:100%;
	}
	.column02 .cH:first-of-type{
		margin-bottom:0.5em;
	}
	.column02 div:first-of-type{
		padding-right:0;
	}
	.column02 div:last-of-type{
		padding-left:0;
	}

	.list2 {
		position: relative;
		width: 49%;		
		margin: 0 1% 10px;	/*上、左右、下へ、ボックスの外側に空けるスペース*/
		text-align: center;		/*内容を中央よせ*/
	}

	.listBox .list2{
		display:inline-block;
		width:calc((100% - 2% *2) / 2);
	}
	.listBox .list2:nth-of-type(2n){
		margin-right:0;
	}

	/*ボックス内の画像*/
	.list2 figure {
		margin-bottom: 10px;	/*画像の下に空けるスペース*/
		height:80px;
	}

	/*各ボックスの設定*/
	ul.flexBox{
		display:inline-block;
		margin:0;
		padding:0;
		display:block;
	}
	ul.flexBox li{
		display:inline-block;
	}
	.home .listBox{
		display:flex;
		flex-wrap: wrap;
	}
	.home .list2 {
		position: relative;
		width: 96%;
		margin: 0;	/*上、左右、下へ、ボックスの外側に空けるスペース*/
		text-align: center;		/*内容を中央よせ*/
		text-align:left;
		margin-top:1em;
	}
	.home .list2:first-of-type {
		margin-top:0;
	}
	.home .list2 .txt{
		display:inline;
		height:auto;
		width:98%;
	}
	.home .list2 p{
		margin-top:0.5em;
	}

	.connect li.tel a strong{
		font-size:2em;
	}
	.connect li.fax span{
		padding-bottom:3px;
		display:inline-block;
	}
	.connect li.fax a{
		font-size:1.5em;
		line-height:0.5em;
		color:#000 !important;


}

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.effect {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.effect.on {
  transform: translateY(0);
  opacity: 1.0;
}

@media screen and (max-width:800px){
	#contents .effect:first-of-type {
		animation: none;
		transform: none;
		transition: unset;
		opacity: 1;
	}
}