@charset "utf-8";



/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #000;	/*全体の文字色*/
	font-family: "Yu Gothic" ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 16px;	/*文字サイズ*/
	font-weight:500 ;
	line-height: 2;		/*行間*/
	background: #fff;	/*背景色*/
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form,select,input,textarea {margin: 0px;padding: 0px;font-size: 100%;font-weight: 500;}
ul {list-style-type: none;}
ul.disc{list-style:disc ;padding-left:1.5em ;/*overflow: hidden;*/}
ul.decimal{list-style:decimal ;padding-left:1.5em ;/*overflow: hidden;*/}
.ta1 ul.disc,.ta1 ul.decimal,.ta2 ul.disc,.ta2 ul.decimal{padding-left: 0 ;padding-left:0.5em ;margin-left:0 ;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}
video,audio {max-width: 100%;}

/*リンク（全般）設定

---------------------------------------------------------------------------*/
a {
	color: #FF9D00;		/*リンクテキストの色*/
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}
a:hover {
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}
/*マウスオン時の画像*/
a figure{
	background:#5A539B ;
	padding:0 ;
	margin:0 ;
}
a img{
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}
a:hover img {
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
	opacity: 0.7;	/*80%色がついた状態*/
}
a img.a_big{
	-moz-transform: scale(1.0,1.0);
	-webkit-transform: scale(1.0,1.0);
	-o-transform: scale(1.0,1.0);
	-ms-transform: scale(1.0,1.0);
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}
a:hover img.a_big {
	-moz-transform: scale(1.1,1.1);
	-webkit-transform: scale(1.1,1.1);
	-o-transform: scale(1.1,1.1);
	-ms-transform: scale(1.1,1.1);
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	max-width: 1300px;	/*サイトの最大幅*/
	margin: 0 auto;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	z-index: 100;
	position:fixed ;
	width: 94%;
	height: 90px;		/*高さ*/
	top:15px ;
	left:3% ;
	background:rgba(255, 255, 255, 0.9) ;
	color: #000;		/*文字色*/
	border-radius:6px ;
}
/*ロゴ画像*/
header #logo {
	width:250px ;
	float: left;		/*左に回り込み*/
	margin-top: 25px;	/*ロゴの上にあける余白。ヘッダー内の上下の配置バランスをここで調整して下さい。*/
	margin-left: 2%;	/*ロゴの左側にあける余白。*/
}

/*メインメニューのブロック
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	text-align: center;	/*文字を中央に*/
	position: absolute ;
	right: 2%;		/*ヘッダーブロックに対して右から0pxの場所に配置*/
	top: 22px;	/*ヘッダーブロックに対して下から0pxの場所に配置*/
	font-size:110% ;
}
/*メニュー１個あたりの設定*/
#menubar li {
	float: left;	/*左に回り込み*/
	width: auto;	/*メニュー幅*/
	margin:0 0 0 40px ;
	border-bottom:2px solid rgba(255, 255, 255, 0) ;
}
#menubar li a {
	text-decoration: none;
	display: block;
	padding-top: 10px;	/*上に追加する余白*/
	color:#009d80 ;
	font-size:90% ;
	font-weight:bold ;
}
#menubar li a:after {
	content: '';
	width: 0;
	transition: all 0.3s ease;
	border-bottom: 2px solid #009d80;
	display: block;
}
#menubar li a:hover:after {
	width: 100%;
	border-bottom: 2px solid #009d80;
}
/*お問い合わせ*/
#menubar li.contact {
	margin-left:30px ;
}
#menubar li.contact a {
	background:#000 ;
	color:#FFF ;
	border-radius:50px ;
	padding:4px 25px 4px 25px;
	margin-top:5px ;
}
#menubar li.contact a:hover {
	background:#666;
	color:#FFF ;
	border-bottom:none ;
}
/*アクセス*/
#menubar li.access {
	margin-left:30px ;
}
#menubar li.access a {
	background:#009d80 ;
	color:#FFF ;
	border-radius:50px ;
	padding:4px 25px 4px 25px;
	margin-top:5px ;
}
#menubar li.access a:hover {
	background:#00d0aa;
	border-bottom:none ;
}
/*マウスオン時と、現在表示中(current)のメニューの設定*/
#menubar li a:hover, #menubar li.current a {
	/*opacity: 1.0;			/*透過打ち消し*/
	/*color:#359b3e ;*/
}
#menubar li.current a {
	border-bottom: 2px solid #009d80;
}
#menubar li.current a:after ,#menubar li.current a:hover:after,#menubar li.contact a:after ,#menubar li.contact a:hover:after,#menubar li.access a:after ,#menubar li.access a:hover:after {
	border-bottom: none;
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*トップページのメイン画像
---------------------------------------------------------------------------*/
#mainimg{
	position:relative ;
}
#mainimg .copy{
	position:absolute ;
	top: 20%;
	right:20% ;
	color:#403B6F ;
	font-weight:bold ;
	font-size:180% ;
	line-height:2.0 ;
	text-align:left ;
}

/*各コンテンツブロックの背景設定
---------------------------------------------------------------------------*/
/*背景：うすいブルー*/
.bg_blue {
	background: #edf8f6 ;
}
/*背景：うすいブルー2（上記より少し濃い）*/
.bg_blue2 {
	background: #e4f4f1 ;
}

/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
.contents{
	padding: 70px 10% 50px 10%;	/*上、右、下、左への余白*/
	clear:both ;
}
.contents_t{
	padding: 0 10% 70px 10%;	/*上、右、下、左への余白*/
}
/********************
h2タグ
********************/
#contents h2 {
	clear: both;
	/*color:#0e2910 ;*/
	font-size: 200%;		/*文字サイズ*/
	text-align: center;		/*文字を中央に*/
	line-height: 1.2;		/*行間を基準より少し狭くする*/
	font-weight:bold ;
	margin-bottom:45px ;
	font-family: 'Kosugi Maru', sans-serif;
}
/*英字の飾り文字*/
#contents .prts_h2 {
	clear: both;
	position: relative;
	display: inline-block;
	padding: 0 55px;
	color:#009d80 ;
	font-size: 150%;		/*文字サイズ*/
	font-weight:bold ;
	font-family: 'Kosugi Maru', sans-serif;
	text-align: center;		/*文字を中央に*/
	letter-spacing:0.2em ;
	opacity:0.5 ;
}
#contents .prts_h2:before,
#contents .prts_h2:after{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: #009d80;
}
/*文字を白くする場合*/
#contents .prts_h2_white {
	color:#FFF ;
	opacity:1 ;
}
#contents .prts_h2_white:before,
#contents .prts_h2_white:after{
	background-color: #FFF;
}
#contents .prts_h2:before {	left:0;}
#contents .prts_h2:after {	right: 0;}

/*type1のh2タグ*/
#contents .type1_box {
	display: block;
	padding: 200px 10% 100px ;	/*上下、左右へのボックス内の余白*/
	background: url(../images/bg_type1.jpg);
	background-size:cover;
	text-align:center ;
}
#contents h2.type1 {
	margin-bottom:0 ;
	color:#FFF ;
}
/********************
h3タグ
********************/
#contents h3 {
	clear: both;
	position: relative;
	margin-bottom: 30px;	/*下に空けるボックスの外側への余白*/
	font-size: 160%;		/*文字サイズ*/
	font-weight:bold ;
	padding: 10px 20px 10px 0;	/*上下、左右へのボックス内の余白*/
	color: #000;	/*全体の文字色*/
	font-family: 'Kosugi Maru', sans-serif;
}
#contents h3:after {
	content: " ";
	display: block;
	position: absolute;
	bottom: -3px;
	width: 20%;
	border-bottom: solid 3px #66c4b3;
}
/********************
h5タグ
********************/
#contents h5 {
	clear: both;
	color:#009d80;
	font-size:150% ;
	margin-bottom: 10px;
	padding: 0 2%;	/*上下、左右への余白*/
	font-family: 'Kosugi Maru', sans-serif;
}
/********************
段落タグ
********************/
#contents p {
	padding: 0 2% 1.5em;
}
#contents p + p {
	margin-top: -10px;
}
/*section同士の余白*/
#contents section + section {
	/*margin-top: 40px;*/
}
#top #contents section + section {
	margin-top: 0px;	/*トップページはなし*/
}
#contents ul {margin:0 2% 0 ;}

/*写真背景リンクボックス「事業案内」「設備紹介」の設定
---------------------------------------------------------------------------*/
figure.list_fig {
  position: relative;
  overflow: hidden;
  width: 50%;
  width: 46%;
  margin-left:2% ;
  margin-right:2% ;
  border-radius:20px ;
  background: #006a56;
  color: #ffffff;
  text-align: center;
  float:left ;
}
figure.list_fig * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.45s ease-in-out;
  transition: all 0.45s ease-in-out;
}
figure.list_fig img {
  max-width: 100%;
  position: relative;
  opacity: 0.5;
  opacity: 0.3;
}
figure.list_fig figcaption {
  position: absolute;
  top: 35%;
   top: 30%;
   top: 25%;
  left: 7%;
  right: 7%;
  bottom: 45%;
  text-align:left ;
}
/*英字の飾り文字*/
#contents .prts_h2 {
	font-size: 120%;		/*文字サイズ*/
}
figure.list_fig h4 {
  margin: 0 auto;
  padding: 0 10px;
  position: relative;
  width: auto;
  text-transform: uppercase;
  font-weight:bold ;
  font-size: 200%;
}
figure.list_fig h4 span {
  font-size: 70%;
}
figure.list_fig a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
figure.list_fig p{
	font-size:110% ;
	font-weight:bold ;
}
/*マウスオーバー時*/
figure.list_fig:hover img,
figure.list_fig.hover img {
  opacity: 0.25;
   opacity: 0.9;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
figure.list_fig:hover h4,
figure.list_fig:hover p,
#contents figure.list_fig:hover .prts_h2 {
  display:none ;
}

/*list（リンクなしの横並びのボックス。基本は2つ並び。）
---------------------------------------------------------------------------*/
/*ブロック１個あたりの設定*/
.list {
	float:left ;
	width:calc(96% - 60px) ;
	margin: 0 2% 30px 2% ;	/*上、右、下、左へのボックスの外側に空けるスペース*/
	padding:30px ;
	background:#edf8f6 ;
	border-radius:20px ;
}
/*画像設定*/
.list figure {
	text-align:center ;
}
.list figure img{
	max-width:300px ;
	max-width:400px ;
}
/*p（段落）設定*/
#contents .list p {
	padding: 0 2% 0;
}
/**************************
3つ並びの場合のみの設定
************************/
.list3  {
	width:calc((88% - 180px) / 3) ;
	min-width:200px ;
}

/*画像4つ並び「ギャラリー」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体*/
.gallery{
	padding:0 2% ;
	text-align:center ;
}
/*画像を囲むブロックの設定*/
.gallery figure{
	display:inline ;
	width:calc((100% - 90px) / 4) ;
	height:auto ;
	margin:0 30px 30px 0 ;
}
/*画像の設定*/
.gallery img{
	width:100% ;
}
/*キャプション設定*/
.gallery figcaption{
	line-height:1.2 ;
	margin:15px 0 0;
	font-size:90% ;
}
/**************************
4つ並びの場合のみの設定
************************/
/*4の倍数番目だけ右余白をなくす*/
.gallery4 figure:nth-child(4n){
	margin:0 0 2% 0 ;
}
/**************************
3つ並びの場合のみの設定
************************/
/*画像を囲むブロックの設定*/
.gallery.gallery3 figure{
	width:calc(96% / 3) ;
	margin:0 2% 2% 0 ;
}
/*3の倍数番目だけ右余白をなくす*/
.gallery3 figure:nth-child(3n){
	margin:0 0 2% 0 ;
}
/**************************
2つ並びの場合のみの設定
************************/
/*画像を囲むブロックの設定*/
.gallery.gallery2 figure{
	width:calc(98% / 2) ;
	margin:0 2% 2% 0 ;

	width:calc(96% / 2) ;
	margin:0 4% 4% 0 ;
}
/*2の倍数番目だけ右余白をなくす*/
.gallery.gallery2 figure:nth-child(2n){
	margin:0 0 2% 0 ;
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;		/*文字を中央に*/
	font-size: 90%;			/*文字サイズ*/
	border-top: 1px solid #E5E5E5 ;
}
/*リンクテキスト*/
footer a {color: #009d80;text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/}
/*著作部分*/
footer .pr {display: block;}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	overflow: hidden;
	padding: 40px 10%;	/*上下、左右へのボックス内の余白*/
}
/*リンクテキストの設定*/
#footermenu a {
	display:inline-block ;
}
/*リンクのマウスオン時*/
#footermenu a:hover {
	opacity: 1;		/*透明度。100%の色がついた状態。*/
}
/********************
ロゴと住所の設定
********************/
/*囲むブロック*/
footer #footermenu1{
	float:left ;
	margin-right:30px ;
	text-align:left ;
}
/*ロゴマーク*/
footer #footermenu1 img{
	width:250px ;
	margin-bottom:1em ;
}
/********************
ISOマーク
********************/
footer img.iso{
	float:left ;
	width:150px ;
}
/********************
フッターメニュー
********************/
/*フッターメニューの設定*/
footer #footermenu2 {
	float:right;
	width:calc(100% - 462px);	/*(ロゴ画像250px＋右マージン30px)＋ISOマーク150px＋余白分30px*/
	max-width:600px ;
	text-align:left ;
}
footer .footermenu2 {
	float:left ;
	width:calc((100% - 40px ) / 2) ;
	height:150px ;
	padding-left:15px ;
	border-left:1px solid #c3c3c3 ;
}
footer #footermenu2 a {
	display:block ;
	padding:5px 0 5px 25px;
	background:url(../images/icon_arrow.svg) no-repeat left center / 15px ;
	font-weight:bold ;
}
footer #footermenu2 a:hover {
	color:#00d0aa ;
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	color: #009d80;		/*文字色*/
	line-height:50px ;	/*pagetopのline-heightと合わせる*/
}

/*テーブル1（基本のテーブル）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	padding: 15px;			/*ボックス内の余白*/
	border: 1px solid #CCC;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	background: #b0e0d8 ;
	text-align: left;		/*文字を左寄せ*/
	font-weight: bold;		/*太字に*/
}
/*ta1設定*/
.ta1 {
	table-layout: fixed;
	width: 96%;
	margin: 0 2% 20px;
	margin: 0 2% 0;
	background: #FFF;
}
.ta1, .ta1 td, .ta1 th {
	word-break: break-all;
	padding: 5px 15px;	/*ボックス内の余白*/
	border: 1px solid #CCC;	/*テーブルの枠線の幅、線種、色*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 200px;		/*幅*/
	background:#f4f4f4 ;
	font-weight: bold;
	text-align: left;	/*センタリング*/
	vertical-align:top ;
}
.ta1 th.round_top {
	border-radius:6px 6px 0 0 ;
	background:#f4f4f4 ;
	font-weight: bold;
	text-align: left;	/*センタリング*/
	vertical-align:top ;
}
/*ta1の見出しボックス*/
.ta1 th.tamidashi {
	padding: 15px;			/*ボックス内の余白*/
	border: 1px solid #CCC;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	background: #b0e0d8 ;
	text-align: left;		/*文字を左寄せ*/
	font-weight: bold;		/*太字に*/
}
/*お申込みフォームの場合 ta1の左側ボックス*/
#contact .ta1 th {
	width: 250px;		/*幅*/
}
/***********************
必須アイコン
************************/
.ta1 th span.reqd {
	background: #ff0202 ;
	color: #FFF;
	font-size: 80%;
	font-weight:bold ;
	text-align:center ;
	padding: 1px 10px;
	border-radius: 2px;
	margin: 0px 5px ;
	display: inline-block;
	vertical-align: text-top ;
	line-height:1.5 ;
}

/*inputの設定
---------------------------------------------------------------------------*/
#contents input,
#contents textarea{
	padding:7px ;
}
/*inputボタンにclass="btn"をつけた場合の設定
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	padding:0 ;	/*上のpadding設定を打ち消す*/
	-webkit-appearance: none;	/*iOS独自の装飾仕様をクリアする*/
	border: none;	/*iOS独自の装飾仕様をクリアする*/
	width:300px ;
	display: inline-block;
	margin:0 auto 0;
	color: #FFF;		/*文字色*/
	background:#009d80 ;
	border-radius:50px ;
	font-size: 110% ;	/*文字サイズ*/
	font-weight:bold ;
	text-decoration: none;
	text-align: center;
	line-height:60px ;
	font-family: "Yu Gothic" ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/

}
/*マウスオン時の設定*/
#contents input[type="submit"].btn:hover,
#contents input[type="button"].btn:hover,
#contents input[type="reset"].btn:hover {
	background:#00d0aa ;
	-webkit-appearance: none;	/*iOS独自の装飾仕様をクリアする*/
	border: none;	/*iOS独自の装飾仕様をクリアする*/
}

/*.link（大「リンクボタン」設定）
---------------------------------------------------------------------------*/
p.link {
}
p.link a {
	width:300px ;
	display: inline-block;
	margin:0 auto 0;
	color: #FFF;		/*文字色*/
	background:#009d80 ;
	border-radius:50px ;
	font-weight:bold ;
	text-decoration: none;
	text-align: center;
	line-height:60px ;
}
/*マウスオン時*/
p.link a:hover {
	background:#00d0aa ;
}

/*（ページ共通）お問い合わせボックス
---------------------------------------------------------------------------*/
/*ボックス全体*/
.contact_box {
	font-weight:bold ;
	text-align:center ;
}
/*文章*/
.contact_box div.text{
	margin-bottom:30px ;
}
/*pタグ設定*/
#contents .contact_box p{
	display:inline-block ;
	width:40% ;
	max-width:350px ;
	padding: 0 2% 20px ;
	border-right:1px solid #c3c3c3 ;
	font-weight:bold ;
	vertical-align:middle ;
}
/*電話番号*/
p span.tel{
	padding-left:35px ;
	background: url(../images/icon_tel.svg)no-repeat left center / 25px;
	font-size:200% ;
	font-weight:bold ;
	font-family: 'Kosugi Maru', sans-serif;
}
/*お問い合わせボタン*/
#contents .contact_box p.link {
	border-right:none ;
}
.contact_box p.link a{
	width:200px ;
	padding-left:30px ;
	background:#000 ;
	background:#000 url(../images/icon_mail.png)no-repeat 30px center / 30px;
}
.contact_box p.link a:hover{
	background:#666 ;
	background:#666 url(../images/icon_mail.png)no-repeat 30px 10px / 30px;
}

/*PAGE 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;z-index: 100;position: fixed;
	width: 50px;		/*幅*/
	line-height: 49.5px;	/*高さ。copyrightのline-heightと合わせる*/
	border-radius:50% ;
	bottom: 3%;		/*下から3%の場所に配置*/
	right: 3%;			/*右から3%の場所に配置*/
	background: #009d80;	/*背景色（古いブラウザ用）*/
	color: #fff;		/*文字色*/
	animation-name: scroll;	/*上のアニメーションで指定しているkeyframesの名前（scroll）*/
	animation-duration: 1S;	/*アニメーションの実行時間*/
	animation-fill-mode: forwards;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #00d0aa;	/*背景色*/
}
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover img{
	opacity:1.0 ;
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #eee;border: 1px solid #ccc;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb45 {margin-bottom: 45px !important;}
.mb60 {margin-bottom: 60px !important;}
.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 20px !important;}
.ml30 {margin-left: 30px !important;}
.mr30 {margin-right: 30px !important;}
.mr30_max600 {margin-right: 30px !important;}
.pl5{padding-left: 5px !important;}
.pl20{padding-left: 20px !important;}
.pr20{padding-right: 20px !important;}
.clear {clear: both;}
.color_g, .color_g a {color: #009d80 !important;}	/*グリーン：標準*/
.red, .red a {color: #ff0000 !important;}
.marker_o {background: linear-gradient(transparent 80%, #fbc372 75%);}/*マーカー：オレンジ*/
.b{font-weight:bold ;}
.b li{font-weight:bold ;}
.pr {font-size: 10px;}
.fs120{font-size:120% ;}
.fs90{font-size:90% ;}
.fs70{font-size:70% ;}
.gfont{font-family: 'Kosugi Maru', sans-serif;}
.wl {width: 96%;}
.ws {width: 50%;min-width:300px ;}
.mw300{max-width:300px ;}
.mw400{max-width:400px ;}
.mw600{max-width:600px ;}
.mw900{max-width:900px ;margin:auto ;}
.c {text-align: center;}
.c2 {text-align: center;}
.c_max600{text-align:center ;}
.r {text-align: right;}
.l {text-align: left;}
.fr {width:40% ;float: right;margin-left: 30px;margin-bottom: 30px;margin:0 2% 30px 2% ;}
.fl {width:40% ;float: left;margin-right: 30px;margin-bottom: 30px;margin:0 2% 30px 2% ;}
figure.fr, figure.fl {margin-left:auto; margin-right:auto ;}
.fr25, .fl25 {width:25% ; /*min-width:200px ;*/}
.fr_text {width:55% ;float: right;}
.fl_text {width:55% ;float: left;}
.fr_text70, .fl_text70{width:70% ;}
img.br20{border-radius:20px ;}
.big1 {font-size: 24px;letter-spacing: 0.2em;}
.mini1 {font-size: 11px;}
.dis_900{display:none ;}
.dis_600{display:none ;}
.border{ border:1px solid #CCC ;}
.border_b_gray{ border-bottom:1px solid #CCC ;}
.gmap{vertical-align:bottom}
.dis_flex{display:flex;flex-wrap: wrap;justify-content: center;}	/*横並びボックスの高さを揃える*/





/*画面幅1301px以上の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:1301px){


}



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


/*メインメニューのブロック
---------------------------------------------------------------------------*/
/*メニュー１個あたりの設定*/
#menubar li {
	margin:0 0 0 30px ;	/*ロゴ画像に被らないように調節*/
}
/*お問い合わせ*/
#menubar li.contact {
	margin-left:20px ;
}
/*アクセス*/
#menubar li.access {
	margin-left:20px ;
}

}



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


/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	height: 60px;		/*高さ*/
	text-align:center ;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
header #logo {
	width:250px ;
	margin-top: 10px;	/*ロゴの上にあける余白。ヘッダー内の上下の配置バランスをここで調整して下さい。*/
	margin-left: 3%;	/*ロゴの左側にあける余白。*/
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明(0%)から色を100%出すアニメーション指定。*/
@keyframes menu1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
/*スマホ用メニューブロック*/
#menubar-s {
	display: block;
	overflow: hidden;
	y-overflow: scroll;
	z-index: 10;
	position: fixed;
	top: 0;	/*上から0pxの場所に配置*/
	width: 100%;
	height: 100vh;
	padding-top:110px ;
	padding-bottom:30px ;
	background:#66c4b3 ;
	text-align:center ;
	animation-name: menu1;		/*上のkeyframesの名前*/
	animation-duration: 0.5S;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*アニメーションの待機中は最初のキーフレームを維持、終了後は最後のキーフレームを維持。*/
}
/*メニュー１個あたりの設定*/
#menubar-s li a {
	display: inline-block;
	text-decoration: none;
	margin-bottom:15px ;
	border-bottom:3px solid transparent ;
	color:#FFF ;
	font-size:120% ;
	font-weight:bold;
}
/*マウスオン時と、現在表示中(current)のメニューの設定*/
#menubar-s li a:hover, #menubar-s li.current a {
	border-bottom:3px solid #009d80;
}
/*PC用メニューを非表示にする*/
#menubar {display: none;}

/*お問い合わせ*/
#menubar-s li.contact a {
	width:6em ;
	background:#000 ;
	color:#FFF ;
	border-bottom:none ;
	border-radius:50px ;
	padding:4px 25px 4px 25px;
	margin-top:5px ;
}
#menubar-s li.contact a:hover {
	background:#666;
	border-bottom:none ;
}
/*アクセス*/
#menubar-s li.access a {
	width:6em ;
	background:#009d80 ;
	color:#FFF ;
	border-bottom:none ;
	border-radius:50px ;
	padding:4px 25px 4px 25px;
	margin-top:5px ;
}
#menubar-s li.access a:hover {
	background:#00d0aa;
	border-bottom:none ;
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position:fixed ;
	top: 25px;	/*上から25pxの場所に配置*/
	right: 5%;	/*右から3%の場所に配置*/
	z-index: 101;
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 40px;		/*幅*/
	height: 40px;		/*高さ*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: url(../images/icon_menu.svg) no-repeat center top 5px /40px;	/*背景色、アイコンの読み込み、上半分(top)を表示、幅50px*/
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: url(../images/icon_menu.svg) no-repeat center bottom/40px;	/*背景色、アイコンの読み込み、上半分(bottom)を表示、幅50px*/
}

/*トップページのメイン画像
---------------------------------------------------------------------------*/
#mainimg{
	margin-bottom:0px ;
}
#mainimg .copy{
	top: 15%;
	right:10% ;
	font-size:150% ;
}

/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
.contents {
	padding: 50px 3% 50px 3%;	/*上、右、下、左への余白*/
}
.contents_t{
	padding: 0 3% 50px 3%;	/*上、右、下、左への余白*/
}
/*type1のh2タグ*/
#contents .type1_box {
	padding: 120px 10% 60px ;	/*上下、左右へのボックス内の余白*/
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	padding: 40px 3%;	/*上下、左右へのボックス内の余白*/
}

/*その他
---------------------------------------------------------------------------*/
.non_dis_1100{display:none ;}

}



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

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 15px;	/*文字サイズ*/
}
.ta1 ul.disc,.ta1 ul.decimal,.ta2 ul.disc,.ta2 ul.decimal{padding-left: 0.5em ;padding-left: 1em ;margin-left:0 ;}

/*コンテンツ
---------------------------------------------------------------------------*/
.contents {
	padding: 50px 3% 50px 3%;	/*上、右、下、左への余白*/
}
/*section同士の余白*/
#contents section + section {
	margin-top: 0;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	padding: 40px 3% 20px;	/*上下、左右へのボックス内の余白*/
}
/********************
ロゴと住所の設定
********************/
footer #footermenu1{
	float:none ;
	width:auto ;
	margin-right:0 ;
	margin-bottom:15px ;
	text-align:center ;
}
/********************
ISOマーク
********************/
footer img.iso{
	float:none ;
	margin-bottom:30px ;
}
/********************
フッターメニュー
********************/
/*フッターメニューの設定*/
footer #footermenu2 {
	width:100% ;
	max-width:auto ;
	max-width:initial ;
	text-align:center ;
}
footer .footermenu2 {
	display:inline ;
	float:none ;
	width:auto ;
	height:auto ;
	padding-left:0 ;
	border-left:none ;
}
footer #footermenu2 a {
	display:inline-block ;
	margin-right:2em ;
	padding:5px 0 5px 25px;
}

/*写真背景リンクボックス「事業案内」「設備紹介」の設定
---------------------------------------------------------------------------*/
figure.list_fig p{
	display:none ;
}

/*list（リンクなしの横並びのボックス。）
---------------------------------------------------------------------------*/
.list figure img{
	max-width:initial ;
	max-width:auto ;
}

/*写真4つ並び「ギャラリー」ブロック
---------------------------------------------------------------------------*/
.gallery figure{
	width:46% ;
}

/*.link（大「リンクボタン」設定）
---------------------------------------------------------------------------*/
p.link a {
	width:250px ;
}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
.big1 {font-size: 20px;}
.w50 {overflow: hidden;width: auto;}
.fr, .fl {width:96% ;float: none;margin:0 2% 30px ;}
.fr_text, .fl_text{width:100% ;float: none;}
.dis_900{display:inline;}
.non_dis_900{display:none ;}
.c_900{text-align:center ;}


}



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

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	height: 50px;		/*高さ*/
}
/*ロゴ画像*/
header #logo {
	width:200px ;
}

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

/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
#contents h2 {
	font-size: 160%;		/*文字サイズ*/
}
#contents h2 img{
	top:10px ;
	height:30px ;
}
/*type1のh2タグ*/
#contents .type1_box {
	display: block;
	background: url(../images/bg_type1.jpg);
	background-size:cover;
}
/*type1のh2タグ*/
#contents h2.type1 {
	padding: 0px 0px;	/*上下、左右へのボックス内の余白*/
}
#contents h3 {
	font-size: 140%;		/*文字サイズ*/
}
#contents h5 {
	font-size: 130%;		/*文字サイズ*/
}
.contents {
	padding: 30px 20px ;	/*上、右、下、左への余白*/
	width:auto ;
}

/*写真背景リンクボックス「事業案内」「設備紹介」の設定
---------------------------------------------------------------------------*/
figure.list_fig {
  float:none ;
  width: 96%;
  margin:30px  2% ;
}
figure.list_fig figcaption {
  top: 10%;
}
figure.list_fig h4 {
  font-size: 170%;
}
figure.list_fig p{
	display:block ;
}

/*テーブル1（基本のテーブル）　※th とtdを縦並びにする
---------------------------------------------------------------------------*/
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;		/*幅*/
	background:#f4f4f4 ;
}
/***********************
横並びを縦並びにするテーブル
************************/
.ta1.ta_vertically {
    border:none ;
}
.ta1.ta_vertically th,.ta1.ta_vertically td , #contact .ta1.ta_vertically th{
    display: block;
    width: 100%;
    width:calc(100% - 32px) ;
    padding: 15px 15px;	/*ボックス内の余白*/
    padding: 10px 15px;	/*ボックス内の余白*/
    border-bottom: none;
}
/*一番下のtrに下線をつける*/
.ta1 tr:last-child {
    border-bottom: solid 1px #ccc;
}

 /*（ページ共通）お問い合わせボックス
---------------------------------------------------------------------------*/
/*文章*/
.contact_box div.text{
	margin-bottom:15px ;
}
/*pタグ設定*/
#contents .contact_box p{
	display:block ;
	width:auto ;
	max-width:auto ;
	max-width:initial ;
	margin-bottom:15px ;
	border-right:none ;
}
/*お問い合わせボタン*/
#contents .contact_box p.link {
	margin-bottom:0 ;
}

/*その他
---------------------------------------------------------------------------*/
.mr30_max600 {margin-right: 0px !important;}
.ws {width: 96%;min-width:unset ;}
.non_dis_600{	display:none ;}
.dis_600{display:inline ;}
.c2 {text-align:left ;}
.c_max600{text-align:left ;}

}



/*画面幅480px以下の設定

------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*コンテンツ
---------------------------------------------------------------------------*/
/*h2タグ*/
#contents h2 {
	font-size: 140%;	/*文字サイズ*/
}
/*h3タグ*/
#contents h3 {
	font-size: 120%;	/*文字サイズ*/
	margin-bottom: 20px;/*下に空けるボックスの外側への余白*/
}
/*h5タグ*/
#contents h5 {
	padding: 0 ;	/*上下、左右への余白*/
}
/*段落タグ*/
#contents p {
	padding: 0px 0px 20px;	/*上、左右、下への段落タグ内の余白*/
	line-height: 1.7;		/*行間を少し狭くする*/
}

/*写真4つ並び「ギャラリー」ブロック
---------------------------------------------------------------------------*/
.gallery figure{
	width:44% ;
}

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

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



}
