@charset "utf-8";


/*mainimg.cssの読み込み*/
@import url(mainimg.css);


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

/*全体の設定
---------------------------------------------------------------------------*/
body,html {width: 100%;height: 100%;}
body {
	margin: 0px;
	padding: 0px;
	color: #666;	/*全体の文字色*/
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	line-height: 2;		/*行間*/
    font-size: 16px;
	background: #fdfdfdb8;	/*背景色*/
	-webkit-text-size-adjust: none;
	overflow-x: hidden;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form,input,textarea {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;border-spacing: 0;width: 95%;margin: 0 auto;}
iframe {width: 100%;}
li {list-style-type:none;}
h2{
	font-size: 34px;
	font-weight: 800;
	letter-spacing: .004em;
	line-height: 1.5;
	margin: 5px 5px 5px 5px;
	text-align:center;
}
#home{
    margin-top: 5%;
}
#main{
    margin-top: 5%;
}
#other{
    margin-top: 5%;
}


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

/*header
---------------------------------------------------------------------------*/
/*headerブロック*/
header {
	z-index: 1;
	position: fixed;	/*スクロールしても固定表示させる指定*/
	top: 0px;			/*上からの配置場所*/
	left: 0px;			/*左からの配置場所*/
	width: 100%;		/*幅*/
	padding: 10px 0;	/*上下、左右へのブロック内の余白*/
	background: #ffffffb5;	/*背景色*/
}
/*トップページでのheaderブロックの追加設定*/
#home header {
    border: none;
    height: 9%;
}
/*トップページでのheaderロゴ画像*/
header #logo {
	width: 30%;	/*幅*/
	float: left;	/*左に回り込み*/
	margin-left: 5%;	/*左側に空けるスペース*/
	margin-top: -5px;
}
/*tel部分*/
header #tel {
	float: right;	/*左に回り込み*/
	color: #fff;
}
/*トップページで表示させている「お知らせ」の１行。*/
header #news {
	float: left;	/*左に回り込み*/
	text-shadow: 1px 1px 2px rgba(0,0,0,0.7), -1px -1px 2px rgba(0,0,0,0.7);	/*テキストの影*/
}
header #news .newicon {text-shadow: none;}
.inner{
	max-width: 1400px;
    margin: 0 auto;
}
/*#mainでのheaderブロックの追加設定*/
#main header {
    background: #ffffff;
	height: 10%;
}
/*#otherでのheaderブロックの追加設定*/
#other header {
    background: #ffffff;
	height: 10%;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	position: relative;
    padding-top: 20px;
    float: right;
}
/*メニュー１個あたりの設定*/
#menubar ul li {
	float: left;	/*左に回り込み*/
	text-align: center;
    font-size: 93%;
}
#menubar ul li a {
	text-decoration: none;
	color: #666;	/*文字色*/
	padding-bottom: 5px;	/*マウスオン時の下線との間にとるスペース*/
}
/*メニューのマウスオン時*/
#menubar ul li a:hover {
	border-bottom: 3px solid #666;	/*下線の幅、線種、色*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

#menubar li a {
	display:  block;text-decoration: none;
	text-align: center;	/*内容をセンタリング*/
}
/*マウスオン時と、現在表示中(current)メニューの設定*/
#menubar li a:hover,
#menubar li.current a {
	color: #666;	/*文字色*/
}

/*ドロップダウンメニュー用
----------------------------------------------------------------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar ul.ddmenu {
	position:absolute;visibility: hidden;z-index: 10;margin-top: 1px;
	width: 9%;	/*幅。上の「#menubar li」と合わせる。*/
    line-height: 70px;
	margin-top: 0.5%;
}
/*メニュー１個あたりの設定*/
#menubar ul.ddmenu li {
	float: none;
	width: 100%;
}
#menubar ul.ddmenu li a {
	width: 100%;border: none;
	background: #4c4c4c;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.7);	/*背景グラデーション。0,0,0は黒の事で0.7は透明度70%の事。*/
	color: #fff;	/*文字色*/
	padding: 0px 0;	/*上下、左右へのボックス内の余白*/
	border-bottom: 1px solid #fff;	/*下の線の幅、線種、色*/
	font-size: 100%;
    letter-spacing: 1px;
}
/*マウスオン時*/
#menubar ul.ddmenu li a:hover {
	background: #345f3b73;	/*背景色*/
}

/*メインメニューとドロップダウンメニューの設定変更。
上の共通設定で、max-widthを1200pxにしており、1200÷メニュー数になります。
※右に余白を開けるためメニュー数よりwidthを小さく設定
---------------------------------------------------------------------------*/
#menubar li, #menubar ul.ddmenu {
	width: 150px;
}

/*
PCグローバルナビ
-------------------------------------------*/
#g_navi {
	width: 100%;
    padding-left: 50%;
    height: 50px;
    z-index: 1000;
    left: 0px !important;
    bottom: 0px;
    font-size: 16px;
    letter-spacing: 1px;
    margin-bottom: 20px;
	padding-top: 20px;
}

#g_navi ul.navi_base {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	display: block;
}

#g_navi ul li{
	display: inline;
}

#g_navi li a {
    width: 16%;
    padding-top: 15px;
    height: 35px;
    display: block;
    color: #000;
    text-decoration: none;
    text-align: center;
    line-height: 20px;
    position: relative;
    float: left;
    margin: 0 2%;
}

#g_navi li a::before {
	display: block;
	height: 2px;
	position: absolute;
	top: 2px;
	width: 70%;
	left: 15%;
	background-color: #fff;
	content: '';
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

#g_navi li a:hover::before {
	background-color: #000;
	top:0px;
}

#g_navi li a:hover,
#g_navi li a.active,
#g_navi ul li:hover > a {
	color: #000;
}

#g_navi ul li:hover > a.ac_menu,
#g_navi li a.ac_menu:hover {
	position: relative;
}

#g_navi li a.ac_menu::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
 	margin-left: -15px;
  border-right: 15px solid transparent;
    border-bottom: 20px solid #FFF;
  border-left: 15px solid transparent;
 	z-index: 300;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

#g_navi ul li:hover > a.ac_menu::after,
#g_navi li a.ac_menu:hover::after {
  border-bottom: 20px solid #001533;
}

#g_navi ul li div {
	position: absolute;
	z-index: 2000;
	top: 105px;
	left: 0px;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	width: 100%;
	height: auto;
	background-color: #221f1fd1;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	padding-top: 15px;
	padding-bottom: 15px;
}
#g_navi ul li ul{
	width: 100%;
    padding-left: 13%;
    max-width: 1200px;
	float: right;
}

#g_navi li ul li a {
	width: 20%;
	padding-left: 3%;
	padding-top: 14px;
	padding-bottom: 11px;
	line-height: 22px;
	height: auto;
	color: #fff;
	text-align: left;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-left: 1%;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-size: 90%;
}
#g_navi li ul li a::after {
	content: "+";
	color: #fff;
	position: absolute;
	display: block;
	left: 15px;
	top: 14px;
	font-size: 9px;
}
#g_navi li ul li a:hover::after {
	color: #000;
}
#g_navi ul li ul li a:hover{
	color: #000;
	background-color: #FFF;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
}
#g_navi li li a::before {
	display: none;
}

#g_navi ul li:hover div{
  visibility: visible;
  opacity: 1;
}

#g_navi div.ac_list {
	display: block !important;
}


header.fixed #g_navi {
	height: 40px;
}

header.fixed #g_navi ul li div {
	top: 40px;
}

header.fixed #g_navi li a {
	padding-top: 10px;
	height: 30px;
}

header.fixed #g_navi li ul li a {
	padding-top: 14px;
    height: auto;
}


#g_navi ul li a.ac_menu {
	cursor: pointer;
	overflow: hidden;
}


/*各ページ専用サブメニュー（sub_menu_block.phpのスタイル）
---------------------------------------------------------------------------*/
.sub_nav {
	text-align: center;
    padding: 1% 0;
    background: #f5f5f5;
	margin-bottom: 3%;
}
.sub_nav li {
	display: inline-block;
	padding: 0 50px;
}
.sub_nav li::before {
	content: "> ";
	color: #17913B;
	padding: 10px;
}
.sub_nav li a {
    text-decoration: none;
    color: #666;
}

/*各ページ内上部画像（top_img_block.phpのスタイル）
---------------------------------------------------------------------------*/
.img_top {
    height: 300px;
    position: relative;
    background-position: center;
	margin-top: 0%;
	background-repeat: no-repeat;
	letter-spacing: 10px;
    width: 100%;
    object-fit: cover;
}
#img-box{
	position: relative;
}

#img-box-mini{
}

#img-box-title{
	width: 50%;
    top: 16%;
    font-size: 200%;
    color: #fff;
    font-weight: 900;
    left: 8%;
    position: absolute;
    letter-spacing: 9px;
    animation: SlideIn 2.0s;
}
@keyframes SlideIn {
  0% {
    opacity: 0;
    transform: translateX(-64px);
	backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-font-smoothing: antialiased;/* animation時の文字にじみ防止 */
	-moz-osx-font-smoothing: grayscale;/* animation時の文字にじみ防止 */
  }
  100% {
    opacity: 1;
    transform: translateX(0);
	backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-font-smoothing: antialiased;/* animation時の文字にじみ防止 */
	-moz-osx-font-smoothing: grayscale;/* animation時の文字にじみ防止 */
  }
}
#img-box-text{
	font-size: 125%;
    color: #fff;
    position: absolute;
    top: 25%;
    left: 8%;
    width: 50%;
    animation: SlideIn 2.0s;
}
@keyframes SlideIn {
  0% {
    opacity: 0;
    transform: translateX(-64px);
	backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-font-smoothing: antialiased;/* animation時の文字にじみ防止 */
	-moz-osx-font-smoothing: grayscale;/* animation時の文字にじみ防止 */
  }
  100% {
    opacity: 1;
    transform: translateX(0);
	backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-font-smoothing: antialiased;/* animation時の文字にじみ防止 */
	-moz-osx-font-smoothing: grayscale;/* animation時の文字にじみ防止 */
  }
}

/*各記事PageTopアイコン
---------------------------------------------------------------------------*/
.top_icon{
    display: inline-block;
    margin: 0;
    font-size: 10px;
    padding: 4px 5px;
    border-radius: 4px;
    background: #bdbdbd;
    color: #fff;
    margin-left: 94%;
}

/*headerアイコン（facebookやtwitterなどのアイコンブロック）
---------------------------------------------------------------------------*/
/*アイコンを囲むブロック全体の設定*/
header .icon {
	float: right;		/*右側に回り込み*/
	margin-right: 10px;	/*右側に空けるスペース*/
}
/*アイコン１個あたりの設定*/
header .icon li {
	display: inline;	/*横並びにさせる指定*/
}
/*アイコン画像の設定*/
header .icon img {
	width: 30px;		/*画像の幅*/
	margin-left: 5px;	/*画像同士の余白*/
}
/*マウスオン時*/
header .icon a:hover {
	opacity: 0.7;		/*色が70%だけついた状態にする*/
}
/*container
---------------------------------------------------------------------------*/
#container{
	max-width: 1200px;
    margin: 0 auto;
	animation: SlideUp 2s;
}
@keyframes SlideUp {
	0% {
	  opacity: 0;
	  transform: translateY(64px);
	  backface-visibility: hidden;/* animation時のにじみ防止 */
	  -webkit-backface-visibility: hidden;/* animation時のにじみ防止 */
	  -webkit-font-smoothing: antialiased;/* animation時の文字にじみ防止 */
	  -moz-osx-font-smoothing: grayscale;/* animation時の文字にじみ防止 */
	}
	100% {
	  opacity: 1;
	  transform: translateY(0);
	  backface-visibility: hidden;/* animation時のにじみ防止 */
	  -webkit-backface-visibility: hidden;/* animation時のにじみ防止 */
	  -webkit-font-smoothing: antialiased;/* animation時の文字にじみ防止 */
	  -moz-osx-font-smoothing: grayscale;/* animation時の文字にじみ防止 */
	}
  }
/*contents（headerとfooter以外のメインとなるブロック。）
---------------------------------------------------------------------------*/
/*見出し(h2)タグ*/
.contents h2 {
	margin: 1% 0 3%;
	font-size: 160%;	/*文字サイズ*/
	border-bottom: 1px solid #666;	/*枠線の幅、線種、色*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を少しだけ広くとる設定*/
	color: #666;
	font-weight: 500;
}
/*見出し(h2)タグ内のspanタグ。小文字の設定。*/
.contents h2 span {
	 margin-bottom: 10px;
	 display: block;
	 font-size: 13px;		/*文字サイズ*/
	 letter-spacing: 0.5em;	/*文字間隔を少しだけ広くとる設定*/
	 margin-top: -10px;		/*大きな文字との余白が広すぎるので、ちょっと詰める。*/
}
/*見出し(h3)タグ*/
.contents h3 {
	font-size: 190%;
    font-weight: 500;
    color: #fff;
    line-height: 44px;
}
/*見出し(h4)タグ*/
.contents h4 {
	font-size: 110%;
    font-weight: bold;
	padding: 0em 1em;
    color: #666;
    border-left: solid 5px #7FA799;
    margin-top: 1%;
}

/*見出し(h5)タグ*/
.contents h5 {
	font-size: 180%;
    color: #965e0a;
    text-align: left;
    letter-spacing: 0px;
    margin-bottom: 1%;
    font-weight: 500;
    line-height: 44px;
}

/*段落(p)タグ*/
.contents p {
	padding: 0 30px 20px;	/*上、左右、下への余白*/
}
/*他。微調整。*/
.contents p + p {
	margin-top: -5px;
}
.contents h2 + p,
.contents h3 + p {
	margin-top: -10px;
}
.contents section + section {
	clear: both;
	padding-top: 40px;
}
/*#homeブロックの追加設定*/
#home .contents{
	margin-top: 3%;
	margin-bottom: 5%;
}
/*#mainブロックの追加設定*/
#main .contents{
	margin-top: 0%;
	margin-bottom: 5%;
}
/*#otherブロックの追加設定*/
#other .contents{
	margin-top: 13%;
	margin-bottom: 5%;
}

/*背景色設定
---------------------------------------------------------------------------*/
.full {
	margin: 0 calc(50% - 50vw);
    width: 100vw;
}
.bg {
	margin: 0 calc(50% - 50vw);
	padding: 10px calc(50vw - 50% + 0px);
	background-color:#7fa799;
}
.bg2 {
	margin: 0 calc(50% - 50vw);
	padding: 10px calc(50vw - 50% + 0px);
	background-color:#efefef;
}
/*listブロック（works.htmlで使用）
---------------------------------------------------------------------------*/
/*各ボックスの指定*/
.list {
	position: relative;
	float: left;	/*左に回り込み*/
	width: 30%;			/*幅*/
	margin-left: 2.5%;	/*左に空けるスペース*/
	margin-bottom: 20px;	/*下に空けるスペース*/
	background: #000;	/*背景色*/
}
.list a {
	display: block;
	text-decoration: none;
}
/*マウスオン時*/
.list a:hover {
	color: #fff;	/*文字色*/
}
/*リンクを指定した際に右上に出る「→」*/
.list a::after {
	content: "→";	/*この文字を出力します。変更してもかまいませんが機種依存文字は使わないで下さい。*/
	position: absolute;
	right: 10px;	/*右からの配置場所指定*/
	top: 10px;		/*上からの配置場所指定*/
	font-size: 12px;	/*文字サイズ*/
	line-height: 30px;	/*行間。下のwidthと揃えて下さい。*/
	width: 30px;		/*幅。上のline-heightと揃えて下さい。*/
	border-radius: 50%;	/*角丸の指定。円形になります。*/
	background: #ccc;	/*背景色*/
	color: #000;		/*文字色*/
	text-align: center;
}
/*figure画像*/
.list a figure {
	opacity: 0.6;	/*リンクを指定した際は60%だけ色を出す。*/
}
/*マウスオン時のfigure画像*/
.list a:hover figure {
	opacity: 1;		/*リンクを指定した際のマウスオン時に色を100%出す。*/
}
/*h4タグ*/
.list h4 {
	position: absolute;
	bottom: 0px;	/*下からの配置場所指定。*/
	left: 0px;		/*左からの配置場所指定。*/
	width: 100%;
	background: #000;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.5);	/*背景色。0,0,0は黒の事で0.5は色が50%出た状態。*/
	text-align: center;	/*内容をセンタリング*/
	padding: 10px 0;	/*上下、左右への余白*/
}

/*footerブロック
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;
	background-color: #e6e2b8;
}
footer a {text-decoration: none;}
footer .pr {display: block;}

/*footer_areaブロック
---------------------------------------------------------------------------*/
#footer_area {
    clear: both;
    overflow: hidden;
    padding: 2% 20% 2% 20%;
    background-color: rgba(255,255,255,0.6);
    background-blend-mode: lighten;
    color: #666;
}
.half {
    padding: 4% 0 0;
    margin: auto;
}
#footer_area address {
	margin: 18px 0;
    text-align: center;
    font-weight: bold;
    background: #fff0;
    font-style: normal;
    line-height: 41px;
}
#footer_area address .txt_150 {
	font-size:150%;
}
#footer_area contact {
	text-align: center;
	font-weight: bold;
	background: #fff0;
	font-style: normal;
    width: 100%;
}
#footer_area .contact_area {
    background: #fff0;
    border-radius: 10px;
	padding: 10px;
    margin: auto;
	list-style: none;
    overflow: hidden;
	margin-top: 1%;
}
.contact_text{
	font-weight: bold;
	font-size: 106%;
}
.tel_text{
	font-size: 300%;
}
.button-1 {
	display: inline-block;
	padding: 0.4em 2.8em;
    font-size: 0.8em;
    text-decoration: none;
    user-select: none;
    border-radius: 3px;
    transition: 0.4s ease;
    background: #292929;
}
.button-1:hover {
	opacity: 0.7 ;
}

.button-2 {
	display: inline-block;
    padding: 0.4em 1.6em;
    text-decoration: none;
    user-select: none;
    border-radius: 3px;
    transition: 0.4s ease;
    background: #ee141e;
    float: none;
    font-style: normal;
    font-size: 150%;
    line-height: 2;
    width: auto;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: center;
}
.button-2:hover {
	opacity: 0.7 ;
}
#footer_area .contact_area li a {
    color: #fff;
}
#footer_area .contact_area li .txt_90 {
    font-size:90%;
	vertical-align: middle;
}
.f_border {
    border-top: solid 1px gray;
}

/*footer_area2ブロック
---------------------------------------------------------------------------*/
#footer_area2 {
    clear: both;
    overflow: hidden;
    padding: 0 10%;
    background-color: rgba(255,255,255,0.6);
    background-blend-mode: lighten;
    color: #666;
	display: flex;
}
.half2 {
    padding: 1%;
    margin: auto;
}
footer ul.f_list {
	width: 20%;
    float: left;
    padding-bottom: 43px;
    padding-top: 0px;
    height: 0px;
}
.list_top {
	font-size:100%;
}
footer ul.f_list li a {
    text-decoration: none;
    color: #666;
    display: block;
    padding: 2px;
}

.f_menu{
	width: 100%;
	margin-top: 7%;
}
/*copyrightブロック
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
    text-align: center;
    background: #000000;
    color: #ffffff;
    font-size: 90%;
	padding-top: 0px;
}
#copyright a {text-decoration: none;}
.copyright_text{
	text-align: center;
	color: #fff;
	margin-top: 1%;
	font-weight: bold;
	font-size: 90%;
}
.provide span {
	font-size:70%;
	color:#ffffff;
}

/*news.html
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding: 0px 30px;		/*上下、左右へのブロック内の余白*/
}
/*日付設定*/
#new dt {
	float: left;	/*左に回り込み*/
	width: 16em;	/*dtの幅*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
}
/*日付の右側に出る「お知らせ」などのアイコン。※共通設定。*/
#new dt span {
	letter-spacing: normal;display: inline-block;
	line-height: 1.5;
	margin-left: 1.2em;
	background: #666;	/*背景色*/
	color: #fff;		/*文字色*/
	width: 7em;			/*幅*/
	text-align: center;	/*文字をセンタリング*/
	border-radius: 3px;	/*角丸の指定。この１行を削除すれば、角がとがった通常の四角形になります。*/
}
/*日付の右側に出る「お知らせ」などのアイコン。※bg1*/
#new dt .bg1 {
	background: #e6004c;
}
/*日付の右側に出る「お知らせ」などのアイコン。※bg2*/
#new dt .bg2 {
	background: #0098e6;
}
/*記事設定*/
#new dd {
	padding-left: 17em;	/*左側に空ける余白*/
	border-bottom: 1px solid rgba(255,255,255,0.2);	/*下線の幅、線種、色*/
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブルの見出し（※caption）*/
.ta1 caption {
	border: 1px solid #fff;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	font-weight: bold;		/*太字に*/
	padding: 10px;			/*ボックス内の余白*/
}
/*テーブルの見出し（※tamidashi）*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
}
/*ta1設定*/
.ta1 {
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 30px;
}
.ta1, .ta1 td, .ta1 th {
	word-break: break-all;
	border: 1px solid #fff;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;		/*幅*/
	text-align: center;	/*センタリング*/
}

/*
会社概要テーブル
---------------------------------------------------------------------------*/
table.table_01 {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
}
table.table_01 th,
table.table_01 td {
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: #CCCCCC;
	padding: 20px;
}
table.table_01 th {
	font-size: 16px;
	white-space: nowrap;
	letter-spacing: 1px;
	width: 33%;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
}
table.table_01 td {
	font-size: 98%;
	line-height: 30px;
}
table.table_02 {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	max-width: 820px;
}
table.table_02 th,
table.table_02 td {
	padding: 20px;
	border: 1px dotted #BAB4A9;
}
table.table_02 th {
	font-size: 18px;
	white-space: nowrap;
	letter-spacing: 1px;
	color: #222;
}
table.table_02 td {
	font-size: 16px;
	line-height: 30px;
	background-color: #F4F3F2;
}


table.table_02 .tr_gr th {
	background-color: #E0DDD8;
}
table.table_02 .tr_gr td {
	background-color: #EBE9E6;
}

table.table_02 td .price {
	font-size: 150%;
	white-space: nowrap;
	color: #006384;
	font-weight: bold;
	padding-right: 5px;
	padding-left: 5px;
}
.small {
	font-size: 80%;
	color: #666;
}
.chui {
	color: #F00036;
}
.table_01 th span {
	font-size: 12px;
	color: #CCC;
}

/*お問合わせ
---------------------------------------------------------------------------*/
input , textarea {
	border:0;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	color:#000;
	border:solid 1px #ccc;
	-webkit-border-radius: 3px;	/*角丸にする*/
	-moz-border-radius: 3px;
	border-radius: 3px;
}
.article {
    margin-left: 15px;
}
.need {
    padding-top: 2px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 2px;
    font-size: 11px;
    color: #FFFFFF;
    background-color: #cb0000;
}

/*個人情報保護方針
---------------------------------------------------------------------------*/
hr {
    border: 0 none;
    height: 1px;
    color: #aaaaaa;
    background-color: #aaaaaa;
}

/*サイトマップ
---------------------------------------------------------------------------*/
.sm_list{
    position: relative;
    padding-left: 15px;
    font-size: 16px;
    font-weight: bold;
	color: #666;
    text-decoration: none;
}
.sm_list:before {
content: "";
    position: absolute;
    top: 0.25em;
    left: 0;
    width: 0;
    height: 0;
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent transparent #ee141e;
}
.sm_clist{
    position: relative;
    padding-left: 15px;
    font-weight: bold;
}

.sm_clist:before {
    content: "";
    position: absolute;
    top: .45em;
    left: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 2px solid #a4d690;;
    border-right: 2px solid #a4d690;;
}

/*index設定
---------------------------------------------------------------------------*/
.top_catch {
	position: relative;
    left: 1%;
	bottom: 90%;
    width: 98%;
}
.catch_text {
	font-size: 175%;
    color: #ffffff;
    line-height: 50px;
    font-weight: bold;
    left: 5%;
    position: absolute;
    text-shadow: 1px 3px 1px #000000;
    animation: SlideIn 2.0s;
}
@keyframes SlideIn {
  0% {
    opacity: 0;
    transform: translateX(-64px);
	backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-font-smoothing: antialiased;/* animation時の文字にじみ防止 */
	-moz-osx-font-smoothing: grayscale;/* animation時の文字にじみ防止 */
  }
  100% {
    opacity: 1;
    transform: translateX(0);
	backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-backface-visibility: hidden;/* animation時のにじみ防止 */
	-webkit-font-smoothing: antialiased;/* animation時の文字にじみ防止 */
	-moz-osx-font-smoothing: grayscale;/* animation時の文字にじみ防止 */
  }
}
.arrowWrap {
  position: absolute;
  right: 1%;
  bottom: 0;
  height: 15%;
}
.arrowInner p {
  color: #000;
  font-size: 18px;
  text-align: end;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.arrow {
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #eee;
  position: relative;
  overflow: hidden;
}
.arrow::before {
  content: '';
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #000;
  position: absolute;
  top: -150px;
  left: 0;
  -webkit-animation: arrow 2.5s ease 0s infinite normal;
  animation: arrow 2.5s ease 0s infinite normal;
}
@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  60% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }

  100% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}

/*フォーム関連
---------------------------------------------------------------------------*/
/*ボタン（btn）*/
input[type="submit"].btn,
input[type="button"].btn,
input[type="reset"].btn {
	outline: none;
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	padding: 5px 20px;		/*上下、左右へのボックス内の余白*/
	border-radius: 3px;		/*角丸のサイズ*/
	background: #3f5626;	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#5a743d, #3f5626);/*背景グラデーション*/
	color: #fff;	/*文字色*/
}
/*マウスオン時のボタン（btn）設定*/
input[type="submit"].btn:hover,
input[type="button"].btn:hover,
input[type="reset"].btn:hover {
	background: #3f5626;	/*背景色*/
	color: #fff;		/*文字色*/
}

/*checkブロック。赤い注意書きブロックです。
---------------------------------------------------------------------------*/
p.check {
	background: #e8da00;
	color:#000;
	padding: 10px 25px !important;
	margin-bottom: 20px;
}
p.check a {color: #000;}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
@keyframes scroll {
0% {opacity: 0;}
100% {opacity: 1;}
}
/*通常時のボタンは非表示*/
body .nav-fix-pos-pagetop a {
	display: none;
}
/*fixmenu_pagetop.jsで設定している設定値になったら出現するボタンスタイル*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;text-decoration: none;text-align: center;/*z-index: 100;*/position: fixed;animation-name: scroll;animation-duration: 1s;animation-fill-mode: forwards;
	width: 40px;		/*ボタンの幅*/
	line-height: 40px;	/*ボタンの高さ*/
	bottom: 20px;		/*ウィンドウの下から20pxの場所に配置*/
	right: 3%;			/*ウィンドウの右から3%の場所に配置*/
	background:#b3b2b2;	/*背景色*/
	border-radius: 50%;	/*円形にする指定。この１行を削除すれば正方形になります。*/
}
/*マウスオン時の背景色*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;
}

/*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;
}

/*ul.disc,olタグ
---------------------------------------------------------------------------*/
ul.disc {
	list-style: disc;
	padding: 0 20px 20px 45px;
}
ol {
	padding: 0 20px 20px 45px;
}

/*login_flagのsubmitボタン
---------------------------------------------------------------------------*/
.submit_button {
   font-size: 13px;
    text-align: center;
    padding: 5px 12px;
    background: #ffffff;
    color: #666666;
    line-height: 1em;
    border: 1px solid #bfbfbf;
    margin: 10px 0 5px;
}
.submit_button:hover {
  color         : #ffffff;
  background    : #ccc;
}


/*その他
---------------------------------------------------------------------------*/
.look {background: #222;padding: 5px 10px;border-radius: 4px;border: 1px solid #333;color: #fff;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.clear {clear: both;}
.color1, .color1 a {color: #327C3E !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
.fl {float: left;width: 48%;}
.fr {float: right;width: 48%;}
.fl_2 {width: 30%;}
.fr_2 {width: 77%;}
.big1 {font-size: 40px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.dn {display: none;}
.sh {display: none;}

/*改行
---------------------------------------------------------------------------*/
/*スマートフォンで無効*/
@media screen and (max-width:480px) {
    .br-sp{display: none;}
}


/*画面幅1280px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1280px){
.contents h5 {
	margin-bottom: 0%;
}
#home{
    margin-top: 8%;
}
#menubar {
	margin-right: 5%;
}
#footer_area{
	padding: 2% 5% 2% 5%;
}
#footer_area2 {
	padding: 0 1%;
}
#g_navi ul li div{
	top: 95px;
}
#g_navi ul li ul {
	margin-left: 0%;
}
.list_top {
    font-size: 90%;
}
}

/*画面幅1024px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px){
.contents{
	margin: 0 3% 5%;
}
header #logo {
    margin-top: 0;
}
#g_navi {
	font-size: 15px;
}
.list_top {
	font-size: 70%;
}
#footer_area {
    padding: 2% 3% 2% 3%;
}
}



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

/*header
---------------------------------------------------------------------------*/
/*headerブロック*/
header {
	position: absolute;
	text-align: center;
}
header #logo {
	float: none;
    margin: 0 auto;
    width: 50%;
}
.top_catch {
	bottom: 62%;
}
.arrowWrap {
	display: none;
}



/*トップページで表示させている「お知らせ」の１行。*/
header #news {
	float: none;
}
#home header {
    height: 10%;
    background: #ffffff;
}
#other header #logo {
	float: none;
    margin: 0 auto 10px;
    width: 30%;
}
/*footer_area
---------------------------------------------------------------------------*/
.fl_2 {
	float: none;
    width: 50%;
}
.f_logo {
	margin: 1% 0 1%;
    width: 100%;
}
.fr_2 {
	display: none;
}
#footer_area address {
	font-size: 75%;
    line-height: 27px;
}
.fr {
	width: 50%;
}
.tel_text {
	font-size: 240%;
}
.button-2 {
	font-size: 135%;
}

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

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: fixed;z-index: 50;
	top: 18px;		/*上からの配置場所*/
	right: 10px;	/*右からの配置場所*/
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
	border-radius: 50%;
	border: 1px solid #fff;
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: rgba(0,0,0,0.5) url(../images/icon_menu.png) no-repeat center top/50px;	/*背景色、背景画像の読み込み、画像の上半分（３本マーク）を表示。幅は50px。*/
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: #000 url(../images/icon_menu.png) no-repeat center bottom/50px;	/*背景色、背景画像の読み込み、画像の下半分（×マーク）を表示。幅は50px。*/
}

/*headerアイコン（facebookやtwitterなどのアイコンブロック）
---------------------------------------------------------------------------*/
/*アイコンを囲むブロック全体の設定*/
header .icon {
	float: none;
	margin-right: 0;
}

/*contents（headerとfooter以外のメインとなるブロック。）
---------------------------------------------------------------------------*/
/*contentsブロック*/
.contents {
}

/*news.html
---------------------------------------------------------------------------*/
/*日付設定*/
#new dt {
	float: none;
}
/*記事設定*/
#new dd {
	padding-left: 0;
}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
.big1 {font-size: 28px;}
.sh {display:block;}
.pc {display:none;}

#img-box-title {
	top: 15%;
}
#img-box-text {
	top: 23%;
	font-weight: bold;
}
.catch_text {
    font-size: 150%;
    line-height: 38px;
}
}

@media screen and (max-width:700px){
#img-box-text{display: none;}
}

/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){
#home {
    margin-top: 22%;
}
#home .contents {
    margin: 10% 3% 5%;
}
#main header #logo {
	width: 60%;
}
header #logo {
	width: 60%;
}
.top_catch {
    bottom: 70%;
}
.catch_text {
    font-size: 110%;
    line-height: 33px;
}
.arrowWrap {
    height: 24%;
}
.arrow {
    margin: 25px auto 0;
}
#main {
    margin-top: 23%;
}
#main .contents {
    margin: 0 1% 5%;
	padding: 0 1%;
}
#other {
    margin-top: 30%;
}
#other header #logo {
	width: 60%;
}
#other .contents {
    margin: 0 1% 5%;
	padding: 0 1%;
}
#container{
	animation: none;
}

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 16px;
}
/*footer_area
---------------------------------------------------------------------------*/
.fl_2 {
	float: none;
    width: 80%;
}
.fl {
	float: none;
    width: 100%;
}
.fr {
	float: none;
    width: 100%;
}
#footer_area address {
	font-size: 100%;
    line-height: 27px;
    padding: 0 3%;
	margin: 0 auto;
	font-weight: normal;
}

/*contents（headerとfooter以外のメインとなるブロック。）
---------------------------------------------------------------------------*/
/*見出し(h2)タグ*/
.contents h2 {
	font-size: 22px;
    letter-spacing: normal;
    margin: 1% 0 8%;
    padding-bottom: 2%;
}
/*見出し(h2)タグ内のspanタグ。小文字の設定。*/
.contents h2 span {
	font-size: 11px;
	letter-spacing: 0.2em;
}
/*見出し(h3)タグ*/
.contents h3 {
	font-size: 20px;	/*文字サイズ*/
	font-weight: bold;
	text-align: center;
}
/*段落(p)タグ*/
.contents p {
	padding: 0 10px 20px;	/*上、左右、下への余白*/
}
.contents section + section {
	padding-top: 20px;
}
.contents h4 {
	font-size: 100%;
}
.contents h5 {
	font-size: 130%;
}

/*listブロック（works.htmlで使用）
---------------------------------------------------------------------------*/
/*リンクを指定した際に右上に出る「→」*/
.list a::after {
	right: 2px;			/*右からの配置場所指定*/
	top: 2px;			/*上からの配置場所指定*/
	line-height: 20px;	/*行間。下のwidthと揃えて下さい。*/
	width: 20px;		/*幅。上のline-heightと揃えて下さい。*/
}
/*h4タグ*/
.list h4 {
	padding: 0;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目の見出し（※caption）*/
.ta1 caption {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}
table.table_01 {
	margin-bottom: 0px;
}

table.table_01 th,
table.table_01 td {
	width: 100% !important;
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

table.table_01 th {
	background-color: #F6F6F6;
}

/*ul.disc,olタグ
---------------------------------------------------------------------------*/
ul.disc {
	list-style: disc;
	padding: 0 10px 20px 30px;
}
ol {
	padding: 0 10px 20px 30px;
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 20px;}
.img_top {
	height: 100px;
}
#img-box-title {
    font-size: 150%;
	width: 90%;
	animation: none;
}
}
