@charset "utf-8";

/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPMincho&family=Klee+One&family=Kosugi&family=M+PLUS+1p&family=Noto+Sans+JP:wght@100..900&display=swap');

*{
	margin:0;
	padding:0;
}
img{
	width:100%;
	height:auto;
	transition:all ease-in-out 0.5s;
}
html,body{
	width:100%;
	box-sizing: border-box;
}
html {
	/*font-size: 62.5%; /* 1rem = 10px */
	scroll-behavior: smooth;
}
body{
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 1.6rem;
	overflow-x: hidden;
}
h1{
	font-size:3.2rem;
	/*font-family: "Noto Serif JP", serif;*/
}
h2{
	font-size:2.8rem;
	/*font-family: "Noto Serif JP", serif;*/
}
h3,h4{
	font-size:2.8rem;
	/*font-family: "Noto Serif JP", serif;*/
}
p,li,a,span{
	/*font-family: "Klee One", cursive;
  	font-weight: 400;
  	font-style: normal;*/
	/*font-family: "BIZ UDPMincho", serif;
  	font-weight: 400;
  	font-style: normal;*/
	/*font-family: "M PLUS 1p", sans-serif;
  	font-weight: 500;
  	font-style: normal;
	transform: rotate(0.05deg);*/
	/*nt-family: "Kosugi", sans-serif;
  	font-weight: 400;
 	font-style: normal;*/
	font-family: "Noto Sans JP", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 500;
  	font-style: normal;
}
/*------------------------------------------------*/
div.center_box{
	max-width:1470px;
	margin:0 auto;
}
div#article{
	padding:1rem;
	margin:0;
	position: relative;
}
.clearfix::after{
  content: "";
  clear: both;
  display: block;
}
div#header_cvr{
	padding:0;
	margin:0;
}
header{
	padding:0;
	margin:0;
	border-bottom:solid 1px #aaa;
}
header.fixposi{
	position:fixed;
	z-index:200;
	top:0;
	width:100%;
	background:#fff;
}
#title_box{
	display: block;
	width:250px;
	padding:0;
	margin:0;
	float:left;
}
#title_box > a{
	display: block;
	line-height:0;
	padding:0 1rem;
	margin:0;
}


/*グローバルメニューのアコーディオンボタン*/

header > div.center_box > label{
	display:block;
	text-align:center;
}
@media screen and (min-width : 1025px){
	header > div.center_box > label{
		display:none;
		text-align:center;
	}
}
header > div.center_box > input {
    display: none;
}
header > div.center_box > div.menu {
    max-height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
	transition: all ease 0.8s;
}
header > div.center_box > label > ul.menu_button {
	display:block;
	width:5rem;
	height:5rem;
	margin:2rem auto 1rem 2rem;
	padding:0;
	border:solid 1px #aaa;
	position:relative;
	float: right;
}
header > div.center_box > label > ul.menu_button > li{
	display:block;
	line-height:0;
	overflow:hidden;
	width:80%;
	height:0;
	border-bottom:solid 2px #777;
	position:absolute;
	margin:0;
	padding:0;
	transition:all ease-in-out 0.5s;
}
header > div.center_box > label > ul.menu_button > li:nth-child(1){
	top:25%;
	left:10%;
}
header > div.center_box > label > ul.menu_button > li:nth-child(2){
	top:50%;
	left:10%;
}
header > div.center_box > label > ul.menu_button > li:nth-child(3){
	top:75%;
	left:10%;
}
header > div.center_box > input:checked ~ label > ul.menu_button > li:nth-child(1){
	transform:rotate(-225deg);
	top:50%;
}
header > div.center_box > input:checked ~ label > ul.menu_button > li:nth-child(3){
	transform:rotate(225deg);
	top:50%;
}
header > div.center_box > input:checked ~ label > ul.menu_button > li:nth-child(2){
	width:0%;
	left:50%;
}

/*??????*/



ul#grbl_menu{
	width:calc( 100% - 320px );
	float:left;
	font-size:0;
	margin:4rem 0 0 0;
	padding:0 0 0 50px;
}

@media screen and (max-width : 1080px){
	ul#grbl_menu{
	width:calc( 100% - 320px );
	float:right;
	font-size:0;
	margin:4rem 0 0 0;
	padding:0 0 0 0;
	}
}
ul#grbl_menu > li{
	display: inline-block;
    font-size: 1.8rem;
	line-height: 2.2rem;
    margin: 0;
    padding: 0.5rem 1.0rem;
    float: left;
    max-width: 165rem;
    /*border: dotted 1px #aaa;*/
	position: relative;
	transition: all ease-in-out 1.0s;
	box-sizing: border-box;
}
ul#grbl_menu > li > a{
	color: #555;
	text-decoration: none;
}
ul#grbl_menu > li > a:hover{
	color: #555;
	text-decoration: underline;
}
ul#grbl_menu > li.page_item_has_children > ul.children{
	display: block;
	max-height: 0;
	overflow: auto;
	margin:0;
	padding:0;
	position: absolute;
	top:3.24rem;
	left:-10rem;
	background: rgba(255,255,255,0.95);
	z-index: 50;
	transition: all ease-in-out 0.5s;
	/*width:150%;*/
	max-width:50rem;
	min-width:40rem;
	font-size: 1.6rem;
	border: dotted 0px #fff;
}
ul#grbl_menu > li.page_item_has_children > ul.children > li{
	padding:0.2rem 1.0rem;
	display: inline-block;
}
ul#grbl_menu > li.page_item_has_children > ul.children > li > a{
	color:#555;
	text-decoration: none;
}
ul#grbl_menu > li.page_item_has_children:hover > ul.children{
	max-height: 980px;
	/*width:150%;*/
	max-width:50rem;
	min-width:40rem;
	font-size: 1.6rem;
	border: dotted 1px #aaa;
}
ul#grbl_menu > li.page_item_has_children > ul.children > li > a:hover{
	color:#f33;
	text-decoration: underline 1px #f33;
}
/*↓↓↓↓↓↓↓↓↓↓グローバルメニュー部分スマホ・タブレット挙動↓↓↓↓↓↓↓↓↓↓*/
@media screen and (max-width : 1024px){
	header{
	padding:0;
	margin:0;
	border-bottom:none;
	}
	ul#grbl_menu{
		width:calc( 100% );
		float:none;
		font-size:0;
		margin:0 0 0 0;
		padding:0 0 0 0;
		overflow: hidden;
		max-height:0;	
		transition: all ease-in-out 0.5s;
	}
	header > div.center_box > input:checked ~ ul#grbl_menu {
    padding: 0;
    max-height: 300rem;
    opacity: 1;
	}
	ul#grbl_menu > li{
	display: block;
    font-size: 1.8rem;
	line-height: 2.2rem;
    margin: 0;
    padding: 0;
    float: left;
    border: dotted 1px #aaa;
	position: relative;
	transition: all ease-in-out 1.0s;
	width:100%;
	box-sizing: border-box;
	}
	ul#grbl_menu > li > a{
	display: block;
	color: #555;
	text-decoration: none;
	padding:2rem;
	margin:0;
	text-align: center;
	}
	ul#grbl_menu > li > a:hover{
	color: #fff;
	background: #555;
	text-decoration: none;
	}
	ul#grbl_menu > li.page_item_has_children > ul.children{
	display: block;
	max-height: 0;
	overflow: hidden;
	box-sizing: border-box;
	margin:0;
	padding:0;
	position: relative;
	top:auto;
	left:auto;
	background: rgba(255,255,255,0.95);
	z-index: auto;
	transition: all ease-in-out 0.5s;
	/*width:150%;*/
	width:100%;
	max-width:100%;
	min-width:100%;
	max-height: 0;
	font-size: 1.6rem;
	border: none;
	}
	ul#grbl_menu > li.page_item_has_children:hover > ul.children{
	max-height: 3000px;
	/*width:150%;*/
	max-width:100%;
	min-width:100%;
	width:100%;
	padding:0;
	margin:0;
	box-sizing: border-box;
	font-size: 1.6rem;
	border: none;
	}
}

/*↑↑↑↑↑↑↑↑↑↑グローバルメニュー部分スマホ・タブレット挙動↑↑↑↑↑↑↑↑↑↑*/

div#container{
	width:100%;
	clear:both;
}
div.center_box{
	width:100%;
	box-sizing: border-box;
	padding: 0 1rem;
	clear: both;
}
ul#news_list{
	display: block;
	margin: 0;
}
ul#news_list > li{
	display: block;
	box-sizing: border-box;
	width:calc( 25% - 2rem );
	padding:0;
	margin:1rem;
	float: left;
	border:solid 1px #aaa;
	position: relative;
}
@media screen and (max-width : 1024px){
	ul#news_list > li{
		width:calc( 33% - 2rem );
	}
	
}
@media screen and (max-width : 720px){
	ul#news_list > li{
		width:calc( 50% - 2rem );
	}
}
@media screen and (max-width : 680px){
	ul#news_list > li{
		width:calc( 100% - 2rem );
	}
}
ul#news_list > li > span.list_base_img{
	line-height:0;
	display: block;
	padding:0;
	margin:0;
}
ul#news_list > li > h2{
	font-weight: normal;
	position: absolute;
	top:0;
	reft:0;
	display: block;
	width:100%;
	height: 100%;
	overflow: hidden;
	margin:0;
	}
ul#news_list > li > h2 > a{
	width:100%;
	height:100%;
	display: block;
	position: relative;
	overflow: hidden;
	margin:0;
}
ul#news_list > li > h2 > a > span.thumbnail_box{
	display: block;
	width:100%;
	height: 100%;
	line-height: 0;
	font-size:1;
	text-indent:-9999px;
	overflow: hidden;
	background-position: center;
	background-size: cover;
	transition: all ease-in-out 0.5s;
	position: absolute;
	top:0;
	left:0;
}
ul#news_list > li > h2 > a:hover > span.thumbnail_box{
	width:110%;
	height: 110%;
	top:-5%;
	left:-5%;
}
ul#news_list > li > h2 > a > span.title_txt{
	display: table-cell;
	width:100%;
	margin: 0;
	vertical-align: middle;
	padding:0.5rem;
	font-size:1.6rem;
	line-height:2.0rem;
	color:#fff;
	position: absolute;
	box-sizing: border-box;
	height:7.0rem;
	left:0;
	top:calc( 100% - 7.0rem );
	background: rgba( 0,0,0,0.7 );
}
/*ページネーション設定*/
div.pagenation_box{
	padding:1rem;
}
div.pagenation_box > div > ul{
	display:block;
	font-size: 0;
}
div.pagenation_box > div > ul > li{
	display:inline-block;
	padding:0;
	text-align:center;
	border:solid 1px #777;
	margin:1rem 0.5rem;
}
div.pagenation_box > div > ul > li.active{
	font-size:1.6rem;
	background: #000;
	height:4.0rem;
	width:4.0rem;
	padding:0.7rem 0;
	box-sizing: border-box;
	color:#fff;
}
div.pagenation_box > div > ul > li > a{
	display: block;
	color:#000;
	text-decoration: none;
	height:4.0rem;
	width:4.0rem;
	padding:0.7rem 0;
	box-sizing: border-box;
	font-size:1.6rem;
	transition: all ease-in-out 0.5s;
}
div.pagenation_box > div > ul > li:hover > a{
	background:#333;
	color:#fff;
}
footer{
	clear:both;
	background:#4B4F56;
	color:#fff;
	height:20rem;
}
footer > div > p#copy{
	display: block;
	text-align:right;
	padding:0.5rem 1rem;
}
footer > div > p#copy > a{
	display: inline-block;
	text-align:left;
	font-size:1.6rem;
	color:#fff;
	text-decoration: none;
}
footer > div{
	text-align: right;
}
footer > div > p#privacy_policy{
	display: inline-block;
	text-align:right;
	padding:0.5rem 1rem;
}
footer > div > p#privacy_policy > a{
	display: inline-block;
	text-align:left;
	font-size:1.6rem;
	color:#fff;
	text-decoration: none;
}
footer > div > p#about{
	display: inline-block;
	text-align:right;
	padding:0.5rem 1rem;
}
footer > div > p#about > a{
	display: inline-block;
	text-align:left;
	font-size:1.6rem;
	color:#fff;
	text-decoration: none;
}
footer > div > p#sitemap{
	display: inline-block;
	text-align:right;
	padding:0.5rem 1rem;
}
footer > div > p#sitemap > a{
	display: inline-block;
	text-align:left;
	font-size:1.6rem;
	color:#fff;
	text-decoration: none;
}

/*トップページメイン画像表示*/
div#main_img_movie_area{
	padding: 0;
	margin: 0;
	background: #000;
}
div.center_box.front_styl{
	max-width:1440px;
	margin:0 auto;
	padding:0.5rem 0;
	width:100%;
}
div.center_box.front_styl > div#article{
	padding:0;
	margin:0;
}
ul#main_img_list{
	display:block;
	margin:0;
	padding:0;
	position:relative;
	overflow:hidden;
}
ul#main_img_list > li{
	display:block;
	padding:0;
	margin:0;
	line-height:0;
	width:100%;
	position:absolute;
	top:0;
	left:0;
}
ul#main_img_list > li.base_img{
	position:relative;
}
ul#main_img_list > li > a{
	display:block;
	padding:0;
	margin:0;
	line-height:0;
}
div#main_img_movie_box {
    position: relative;
	padding:0;
	margin:0;
	overflow:hidden;
}
div#main_img_movie_box > p.mv_base_img {
    display: block;
    position: relative;
    padding: 0;
    margin: 0;
    line-height: 0;
	width:100%;
	height:auto;
}
video.top_mv{
    position: absolute;
    top: 0;
	left:-1%;
}
div.youtube_box{
	margin:0;
	padding:0;
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:100%;
	height:100%;
}
div.youtube_box > div{
	position:relative;
	margin:0;
	padding:0;
	height:100%;
}
div.youtube_box > div > p.youtube_bg{
	display:block;
	padding:0;
	margin:0;
	position:relative;
	height:100%;
}
div.youtube_box > div > iframe{
	position:absolute;
	top:0;
	left:0;
	height:100%;
}
li.alpha0{
	opacity:0.0;
	-webkit-opacity:0.0;
	transition:opacity ease 1.0s;
}

li.alpha100{
	opacity:1.0;
	-webkit-opacity:1.0;
	transition:opacity ease 1.0s;
}
.element_alpha0{
	opacity:0.0;
	-webkit-opacity:0.0;
}
.element_alpha100{
	opacity:1.0;
	-webkit-opacity:1.0;
}
.anime{
	transition:all ease 1.0s;
}


/*トップページニュース一覧表示*/
h2.front_ttl{
	display: block;
	padding:0 2rem;
	font-size: 2.8rem;
	margin:1rem 0 0 0;
}
h3.cat_tab_case{
	display: inline-block;
	line-height: 0;
	border-left:solid 1px #aaa;
	border-right:solid 1px #aaa;
	border-top:solid 1px #aaa;
	border-bottom:solid 1px #aaa;
	background: #eee;
	box-sizing: border-box;
	height:calc( 3.6rem - 1px );
	padding:1.0rem;
	font-size:1.6rem;
	line-height: 1.6rem;
	/*padding-top:1.4rem;*/
	z-index: 50;
	position: relative;
	color:#333;
	margin:1rem 0 0 0;
}
h3.cat_tab_case:nth-child(1){
	margin-left:1rem;
}
h3.cat_tab_case.current_tab{
	border-bottom:none;
	background: #fff;
	color:#333;
}
div#cat_list_box{
	position: relative;
	margin: -1px 0 0 0;
	padding:0;
	height:17rem;
	border-top:solid 1px #777;
	z-index: 0;
}
ul.cat_list_case{
	display: block;
	padding:1rem;
	position: absolute;
	font-size: 1rem;
	background: #fff;
	height:16rem;
	box-sizing: border-box;
	width:100%;
	margin:0;
}
ul.cat_list_case.apear{
	z-index: 100;
}
ul.cat_list_case.disapear{
	z-index: 50;
}
ul.cat_list_case > li{
	display: block;
}
ul.cat_list_case > li > a{
	font-size:1.6rem;
	color:#555;
	display: block;
	text-decoration: none;
	line-height:2.0rem;
	/*height:1.25rem;*/
	padding:0.5rem;
	margin:0;
	overflow: hidden;
	height:2.4rem;
}
ul.cat_list_case > li > a:hover{
	text-decoration: underline;
}
ul#front_business_list{
	display: block;
	padding:1rem;
	font-size:0;
	line-height:0;
	margin:0;
	z-index: 0;
}
ul#front_business_list > li{
	display:block;
	float: left;
	box-sizing: border-box;
	padding:0;
	margin:0.5rem;
	width:calc( 25% - 1rem );
	border:solid 1px #777;
	position: relative;
}
@media screen and (max-width : 1080px){
	ul#front_business_list > li{
		width:calc( 33% - 1rem );
	}
}
@media screen and (max-width : 720px){
	ul#front_business_list > li{
		width:calc( 50% - 1rem );
	}
}
@media screen and (max-width : 680px){
	ul#front_business_list > li{
		width:calc( 100% - 1rem );
	}
}
ul#front_business_list > li > a{
	display: block;
	padding:0;
	margin:0;
	position: relative;
	overflow: hidden;
}
ul#front_business_list > li > a > span.business_list_base_img{
	display: block;
	padding:0;
	margin: 0;
	position: relative;
}
ul#front_business_list > li > a > div.thumb_nail_img_box{
	display: block;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-position: center;
	background-size: cover;
	transition: all ease-in-out 0.5s;
}
ul#front_business_list > li > a:hover > div.thumb_nail_img_box{
	top:-5%;
	left:-5%;
	width:110%;
	height:110%;
}
ul#front_business_list > li > a > span{
	display: block;
	padding: 0;
	box-sizing: border-box;
	background: rgba(0,0,0,0.5);
	color: #fff;
	position: absolute;
	width:100%;
	margin:0;
	top: calc( 100% - 5.2rem );
	left: 0;
	text-align: center;
}
ul#front_business_list > li > a > span > span{
	display: inline-block;
	text-align: left;
	font-size: 1.6rem;
	line-height: 1.8rem;
	padding:0.5rem 0.25rem;
	height:5.2rem;
}
/*ul#front_business_list > li > a{
	font-size: 0.9rem;
	display: block;
	line-height: 1.2rem;
	padding:0.5rem 0.25rem;
	box-sizing: border-box;
	background: rgba(0,0,0,0.5);
	color: #fff;
	position: absolute;
	width:90%;
	margin:0;
	top: calc( 100% - 5rem );
	left: 5%;
}*/
ul.news_list_for_mobile{
	display:block;
	padding:0.5rem;
	margin:0;
}
ul.news_list_for_mobile > li{
	display:block;
	padding:0.5rem;
	border-bottom: dotted 1px #777;
}
ul.news_list_for_mobile > li > a{
	display:block;
	text-decoration: none;
	color:#333;
}

table.img_tbl1{
	width:calc( 100% - 2rem );
	max-width: 1280px;
	margin:1rem auto;
	border-collapse: collapse;
}
table.img_tbl1 > tbody > tr > td{
	/*border:solid 1px #aaa;*/
	vertical-align: top;
	padding:0;
	margin:0;
	position: relative;
}
table.img_tbl1 > tbody > tr > td > p.img_box{
	display: block;
	padding:0;
	margin:0;
	position: absolute;
	top:0;
	height:100%;
	width: 100%;
	overflow: hidden;
	text-indent: -9999px;
	font-size:0px;
	/*background: rgba(0,0,0,0.5);*/
}
table.img_tbl1 > tbody > tr > td > p.base_img{
	display: block;
	padding:0;
	margin:0;
	line-height:0;
}
table.img_tbl1 > tbody > tr > td:nth-last-child(1){
	width:0;
	overflow: hidden;
	text-indent:-9999px;
	border: none;
}
table.img_tbl1 > tbody > tr:nth-last-child(1) > td{
	height:0;
	overflow: hidden;
	text-indent:-9999px;
	line-height:0;
	width:calc( 100% / 6 );
	border: none;
}

/*事業内容用画像テーブル*/
/*1*/
ul#business_list_box{
	display: block;
	padding:1rem 0;
	margin:0;
}
ul#business_list_box > li{
	display: block;
	padding:0;
	margin:0;
	position: relative;
	line-height: 0;
	font-size:0;
}
ul#business_list_box > li > div.ttl_txt_box{
	position: absolute;
	background: rgba(255,255,255,0.8);
	height: 60%;
	top: 20%;
	width: 50%;
	left: 25%;
	z-index: 10;
	box-sizing: border-box;
	padding:1rem;
	margin: 0;
	overflow: auto;
}
ul#business_list_box > li > div.ttl_txt_box > h3{
	margin:0;
	padding:0;
	display: block;
	text-align:center;
}
ul#business_list_box > li > div.ttl_txt_box > h3 > span{
	display:inline-block;
	font-size:2.4rem;
	line-height:2.8rem;
	margin:0.5rem;
	text-align: left;
}
ul#business_list_box > li > div.ttl_txt_box > p{
	margin:0;
	padding:0;
	display: block;
	text-align:center;
}
ul#business_list_box > li > div.ttl_txt_box > p.summary > span{
	display:inline-block;
	font-size:1.8rem;
	line-height:2.4rem;
	margin:0.5rem;
	text-align: left;
}
@media screen and (max-width : 980px){
ul#business_list_box > li > div.ttl_txt_box{
	position: absolute;
	background: rgba(255,255,255,0.8);
	height: 70%;
	top: 15%;
	width: 70%;
	left: 15%;
	z-index: 50;
	box-sizing: border-box;
	padding:1.0rem;
	margin: 0;
	overflow: auto;
}
ul#business_list_box > li > div.ttl_txt_box > h3{
	margin:0;
	padding:0;
	display: block;
	text-align:center;
}
ul#business_list_box > li > div.ttl_txt_box > h3 > span{
	display:inline-block;
	font-size:2.0rem;
	line-height:2.4rem;
	margin:0.5rem;
	text-align: left;
}
ul#business_list_box > li > div.ttl_txt_box > p{
	margin:0;
	padding:0;
	display: block;
	text-align:center;
}
ul#business_list_box > li > div.ttl_txt_box > p.summary > span{
	display:inline-block;
	font-size:1.7rem;
	line-height:2.1rem;
	margin:0.5rem;
	text-align: left;
}	
}
@media screen and (max-width : 780px){
ul#business_list_box > li > div.ttl_txt_box{
	position: absolute;
	background: rgba(255,255,255,0.8);
	height: 80%;
	top: 10%;
	width: 70%;
	left: 15%;
	z-index: 50;
	box-sizing: border-box;
	padding:1.0rem;
	margin: 0;
	overflow: auto;
}
ul#business_list_box > li > div.ttl_txt_box > h3{
	margin:0;
	padding:0;
	display: block;
	text-align:center;
}
ul#business_list_box > li > div.ttl_txt_box > h3 > span{
	display:inline-block;
	font-size:1.8rem;
	line-height:2.2rem;
	margin:0.5rem;
	text-align: left;
}
ul#business_list_box > li > div.ttl_txt_box > p{
	margin:0;
	padding:0;
	display: block;
	text-align:center;
}
ul#business_list_box > li > div.ttl_txt_box > p.summary > span{
	display:inline-block;
	font-size:1.6rem;
	line-height:2.0rem;
	margin:0.5rem;
	text-align: left;
}	
}
@media screen and (max-width : 520px){
ul#business_list_box > li > div.ttl_txt_box{
	position: absolute;
	background: rgba(255,255,255,0.8);
	height: 90%;
	top: 5%;
	width: 80%;
	left: 10%;
	z-index: 50;
	box-sizing: border-box;
	padding:1.0rem;
	margin: 0;
	overflow: auto;
}
ul#business_list_box > li > div.ttl_txt_box > h3{
	margin:0;
	padding:0;
	display: block;
	text-align:center;
}
ul#business_list_box > li > div.ttl_txt_box > h3 > span{
	display:inline-block;
	font-size:1.6rem;
	line-height:2.0rem;
	margin:0.5rem;
	text-align: left;
}
ul#business_list_box > li > div.ttl_txt_box > p{
	margin:0;
	padding:0;
	display: block;
	text-align:center;
}
ul#business_list_box > li > div.ttl_txt_box > p.summary > span{
	display:inline-block;
	font-size:1.4rem;
	line-height:1.8rem;
	margin:0.5rem;
	text-align: left;
}	
}
table.business_img_tbl1{
	width:calc( 100% - 2rem );
	max-width: 1280px;
	margin:0 auto;
	border-collapse: collapse;
}
table.business_img_tbl1 > tbody > tr > td{
	/*border:solid 1px #aaa;*/
	vertical-align: top;
	padding:0;
	margin:0;
	position: relative;
}
table.business_img_tbl1 > tbody > tr > td > p.img_box{
	display: block;
	padding:0;
	margin:0;
	position: absolute;
	top:0;
	height:100%;
	width: 100%;
	overflow: hidden;
	text-indent: -9999px;
	font-size:0px;
	background-position: center;
	background-size: cover;
	/*background: rgba(0,0,0,0.5);*/
}
table.business_img_tbl1 > tbody > tr > td > p.base_img{
	display: block;
	padding:0;
	margin:0;
	line-height:0;
}
table.business_img_tbl1 > tbody > tr > td:nth-last-child(1){
	width:0;
	overflow: hidden;
	text-indent:-9999px;
	border: none;
}
table.business_img_tbl1 > tbody > tr:nth-last-child(1) > td{
	height:0;
	overflow: hidden;
	text-indent:-9999px;
	line-height:0;
	width:calc( 100% / 6 );
	border: none;
}
/*2*/
table.business_img_tbl2{
	width:calc( 100% - 2rem );
	max-width: 1280px;
	margin:0 auto;
	border-collapse: collapse;
}
table.business_img_tbl2 > tbody > tr > td{
	/*border:solid 1px #aaa;*/
	vertical-align: top;
	padding:0;
	margin:0;
	position: relative;
}
table.business_img_tbl2 > tbody > tr > td > p.img_box{
	display: block;
	padding:0;
	margin:0;
	position: absolute;
	top:0;
	height:100%;
	width: 100%;
	overflow: hidden;
	text-indent: -9999px;
	font-size:0px;
	background-position: center;
	background-size: cover;
	/*background: rgba(0,0,0,0.5);*/
}
table.business_img_tbl2 > tbody > tr > td > p.base_img{
	display: block;
	padding:0;
	margin:0;
	line-height:0;
}
table.business_img_tbl2 > tbody > tr > td:nth-last-child(1){
	width:0;
	overflow: hidden;
	text-indent:-9999px;
	border: none;
}
table.business_img_tbl2 > tbody > tr:nth-last-child(1) > td{
	height:0;
	overflow: hidden;
	text-indent:-9999px;
	line-height:0;
	width:calc( 100% / 6 );
	border: none;
}
/*3*/
table.business_img_tbl3{
	width:calc( 100% - 2rem );
	max-width: 1280px;
	margin:0 auto;
	border-collapse: collapse;
}
table.business_img_tbl3 > tbody > tr > td{
	/*border:solid 1px #aaa;*/
	vertical-align: top;
	padding:0;
	margin:0;
	position: relative;
}
table.business_img_tbl3 > tbody > tr > td > p.img_box{
	display: block;
	padding:0;
	margin:0;
	position: absolute;
	top:0;
	height:100%;
	width: 100%;
	overflow: hidden;
	text-indent: -9999px;
	font-size:0px;
	background-position: center;
	background-size: cover;
	/*background: rgba(0,0,0,0.5);*/
}
table.business_img_tbl3 > tbody > tr > td > p.base_img{
	display: block;
	padding:0;
	margin:0;
	line-height:0;
}
table.business_img_tbl3 > tbody > tr > td:nth-last-child(1){
	width:0;
	overflow: hidden;
	text-indent:-9999px;
	border: none;
}
table.business_img_tbl3 > tbody > tr:nth-last-child(1) > td{
	height:0;
	overflow: hidden;
	text-indent:-9999px;
	line-height:0;
	width:calc( 100% / 6 );
	border: none;
}

ul#business_list_box > li.mono_alpha0 > table  p.img_box.mono{
	opacity: 0.0;
}
ul#business_list_box > li.mono_alpha0 > div.ttl_txt_box{
	opacity: 1.0;
}
ul#business_list_box > li.mono_alpha70 > table  p.img_box.mono{
	opacity: 0.70;
}
ul#business_list_box > li.mono_alpha70 > div.ttl_txt_box{
	opacity: 0.30;
}
ul#business_list_box > li.mono_alpha80 > table  p.img_box.mono{
	opacity: 0.8;
}
ul#business_list_box > li.mono_alpha80 > div.ttl_txt_box{
	opacity: 0.2;
}
ul#business_list_box > li.mono_alpha90 > table  p.img_box.mono{
	opacity: 0.9;
}
ul#business_list_box > li.mono_alpha90 > div.ttl_txt_box{
	opacity: 0.1;
}
ul#business_list_box > li.mono_alpha100 > table  p.img_box.mono{
	opacity: 1.0;
}
ul#business_list_box > li.mono_alpha100 > div.ttl_txt_box{
	opacity: 0.0;
}
/*事業内容用画像テーブル*/

p.front_page_btn{
	display: block;
	padding:0;
	margin: 0;
	text-align: center;
	font-size: 0;
}
p.front_page_btn > a{
	display: inline-block;
	padding:1.0rem 2rem;
	margin:0;
	border: solid 1px #777;
	text-decoration: none;
	color:#555;
	transition: all ease-in-out 0.5s;
	font-size:1.6rem;
	line-height: 1.8rem;
}
p.front_page_btn > a:hover{
	background: #333;
	color:#fff;
}
ul#pickup_list_box{
	display: block;
	padding:1rem;
	background: #DDD9C3;
	margin:1rem 0;
}
ul#pickup_list_box > li{
	display: block;
	width: calc( ( 100% / 3 ) - 1rem );
	float:left;
	margin:0.5rem;
	padding:0;
	box-sizing: border-box;
	/*border: solid 1px #777;*/
	background: #fff;
	line-height:0;
	position: relative;
	overflow: hidden;
}

@media screen and (max-width : 1080px){
	ul#pickup_list_box > li{
		width:calc( ( 100% / 3 ) - 1rem );
	}
}
@media screen and (max-width : 720px){
	ul#pickup_list_box > li{
		width:calc( ( 100% / 2 ) - 1rem );
	}
}
@media screen and (max-width : 680px){
	ul#pickup_list_box > li{
		width:calc( ( 100% / 1 ) - 1rem );
	}
}

ul#pickup_list_box > li > span.base_img{
	position: relative;
	margin:0;
	padding:0;
	line-height:0;
}
ul#pickup_list_box > li > span:nth-child(2){
	position: absolute;
	top:0;
	left:0;
	width:100%;
}
ul#pickup_list_box > li > a{
	display: block;
	position: absolute;
	top:0;
	left:0;
	margin:0;
	padding:0;
	line-height:0;
	width:100%;
	transition: all ease-in-out 0.5s;
}
ul#pickup_list_box > li > a:hover{
	width:110%;
	top:-5%;
	left:-5%;
}
/*シングルページ設定*/
h2.cat_ttl{
	margin:0.5rem 0;
}
h2.cat_ttl > span:nth-child(1){
	color:#333;
	padding:0.5rem 1rem 0.5rem 0;
	font-size:3.2rem;
}
h2.cat_ttl > span:nth-child(2){
	color:#AAAAAA;
	padding:0.5rem 1rem 0.5rem 0;
	font-size:3.0rem;
}
h2.news_single_ttl{
	font-size:2.4rem;
	line-height:3.6rem;
	margin:1rem 0;
}
h2.news_single_ttl a{
	color:#333;
	text-decoration: none;
}
h2.news_single_ttl{
	display: table;
}
h2.news_single_ttl > a{
	display: table-row;
	color: #393939;
	text-decoration: none;
}
h2.news_single_ttl > a > span{
	display: table-cell;
	padding:0 1rem;
	vertical-align: middle;
}
h2.news_single_ttl > a > span:nth-child(1){
	line-height: 0;
}

div.block_case.img_right{
	padding:1rem;
}
div.block_case.img_right > div.img_case{
	box-sizing: border-box;
	padding:0.5rem;
	width:calc( 35% - 1rem );
	float:right;
}
div.block_case.img_right > div.txt_case{
	box-sizing: border-box;
	padding:0.5rem;
	width:calc( 65% - 1rem );
	float:left;
}
div.txt_case > h3,div.txt_case > h4{
	margin:1.0rem;
}
div.txt_case > h4{
	color:#777;
}
div.block_case.img_left{
	padding:1rem;
}
div.block_case.img_left > div.img_case{
	box-sizing: border-box;
	padding:0.5rem;
	width:calc( 35% - 1rem );
	float:left;
}
div.block_case.img_left > div.txt_case{
	box-sizing: border-box;
	padding:0.5rem;
	width:calc( 65% - 1rem );
	float:right;
}
@media screen and (max-width : 679px){
div.block_case.img_right{
	padding:1rem;
}
div.block_case.img_right > div.img_case{
	box-sizing: border-box;
	padding:0.5rem;
	width:calc( 100% - 1rem );
	float:none;
}
div.block_case.img_right > div.txt_case{
	box-sizing: border-box;
	padding:0.5rem;
	width:calc( 100% - 1rem );
	float:none;
}
div.block_case.img_left{
	padding:1rem;
}
div.block_case.img_left > div.img_case{
	box-sizing: border-box;
	padding:0.5rem;
	width:calc( 100% - 1rem );
	float:none;
}
div.block_case.img_left > div.txt_case{
	box-sizing: border-box;
	padding:0.5rem;
	width:calc( 100% - 1rem );
	float:none;
}
}
div.block_case  p{
	font-size:1.8rem;
}
p.img_box{
	text-align: center;
	display:block;
	padding:0;
	margin: 0;
	line-height: 0;
	text-align: center;
}
p.img_box > span{
	display: inline-block;
	text-align: left;
	font-size:1.6rem;
	line-height:2.2rem;
	color:#777;
}
ul.img_tbl.clmn6{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn6 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 6 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn5{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn5 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 5 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn4{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn4 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 4 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn3{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn3 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 3 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn2{
	display: block;
	width:60%;
	padding:0;
	margin:0 20%;
}
ul.img_tbl.clmn2 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 2 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn1{
	display: block;
	width:40%;
	padding:0;
	margin:0 30%;
}
ul.img_tbl.clmn1 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 1 ) - 1rem );
	float: none;
}
@media screen and ( max-width : 1080px ){
ul.img_tbl.clmn6 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 3 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn5{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn5 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 3 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn4{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn4 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 2 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn3{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn3 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 3 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn2{
	display: block;
	width:80%;
	padding:0;
	margin:0 10%;
}
ul.img_tbl.clmn2 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 2 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn1{
	display: block;
	width:50%;
	padding:0;
	margin:0 30%;
}
ul.img_tbl.clmn1 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 1 ) - 1rem );
	float: none;
}
}
@media screen and ( max-width : 780px ){
ul.img_tbl.clmn6 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 2 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn5{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn5 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 2 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn4{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn4 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 2 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn3{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn3 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 2 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn2{
	display: block;
	width:100%;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn2 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 2 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn1{
	display: block;
	width:50%;
	padding:0;
	margin:0 30%;
}
ul.img_tbl.clmn1 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 1 ) - 1rem );
	float: none;
}
}
@media screen and ( max-width : 679px ){
ul.img_tbl.clmn6 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 1 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn5{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn5 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 1 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn4{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn4 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 1 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn3{
	display: block;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn3 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 1 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn2{
	display: block;
	width:100%;
	padding:0;
	margin:0;
}
ul.img_tbl.clmn2 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 1 ) - 1rem );
	float: left;
}
ul.img_tbl.clmn1{
	display: block;
	width:100%;
	padding:0;
	margin:0 30%;
}
ul.img_tbl.clmn1 > li{
	display: block;
	padding:0;
	margin:0.5rem;
	width:calc( ( 100% / 1 ) - 1rem );
	float: none;
}
}

p.cat_list{
	display: block;
	padding:1rem;
}
div#company_box{
	padding:0;
	margin:0;
	overflow-y: hidden;
	position: relative;
}
ul#company_list{
	display: block;
	position: relative;
	text-align: center;
	padding: 0;
	margin: 0;
}
ul#company_list > li{
	display:inline-table;
	width:calc( 100% / 2 - 2rem );
	box-sizing: border-box;
	padding: 1rem;
	margin:0;
	/*transition: all ease-in-out 1.0s;*/
}
ul#company_list > li > div.row_box{
	display: table-row;
	padding:0;
	margin:0;
	position: relative;
	/*height: 10rem;*/
}
ul#company_list > li > div.row_box > span.logo_box{
	display:table-cell;
	width:calc( 100% / 6 );
	/*max-width: 160px;*/
	margin:1rem auto;
}
ul#company_list > li > div.row_box > div.campany_info_box{
	display:table-cell;
	vertical-align: top;
	font-size:1.6rem;
	padding:0.5rem;
	width:auto;
}
ul#company_list > li > div.row_box > div.campany_info_box > h4{
	display: block;
	font-size:1.5rem;
	line-height:1.9rem;
	font-weight: 600;
	text-align: left;
	padding:0.5rem;
	margin: 0;
}
ul#company_list > li > div.row_box > div.campany_info_box > h4 > a{
	color:#333;
	text-decoration: none;
}
ul#company_list > li > div.row_box > div.campany_info_box > h4 > a:hover{
	color:#C23F53;
	text-decoration: underline;
}
ul#company_list > li > div.row_box > div.campany_info_box > span{
	display: block;
	text-align: left;
	padding:0.5rem 1rem;
	font-size:1.6rem;
}
@media screen and (max-width : 679px){
	ul#company_list > li{
		display:block;
		width:calc( 100% );
		box-sizing: border-box;
		padding: 1rem 0;
		margin:0;
		/*transition: all ease-in-out 1.0s;*/
	}	
	ul#company_list > li > div.row_box{
		display: block;
		padding:0;
		margin:0;
		position: relative;
	}
	ul#company_list > li > div.row_box > span.logo_box{
		display:block;
		width:calc( 70% );
		max-width: 70%;
		margin:1rem auto;
	}
	ul#company_list > li > div.row_box > div.campany_info_box{
		display:block;
		vertical-align: top;
		font-size:1.6rem;
		padding:0.5rem;
		width:100%;
	}
	ul#company_list > li > div.row_box > div.campany_info_box > h4{
		text-align:center;
		font-size:2.4rem;
		line-height: 3.2rem;
	}
	ul#company_list > li > div.row_box > div.campany_info_box > span{
		display: block;
		text-align: left;
		padding:0;
		font-size:2.1rem;
		text-align: center;
	}
}
ul#company_basic_info_box{
	max-width:1440px;
	display: block;
	padding:0;
	margin:1rem auto;
}
ul#company_basic_info_box > li{
	display: block;
	width:50%;
	float:left;
	margin:0;
	padding:0;
	position: relative;
	box-sizing: border-box;
}
ul#company_basic_info_box > li.map_block > span.base_img{
	display: block;
	position: relative;
	margin:0;
	padding:0;
}
ul#company_basic_info_box > li.map_block > iframe{
	position: absolute;
	top:0;
	left:0;
	margin:0;
	padding:0;
	width:100%;
	height:100%;
}
@media screen and (max-width:680px){
ul#company_basic_info_box > li{
	display: block;
	width:100%;
	float:left;
	margin:0;
	padding:0;
	position: relative;
}
}
ul#company_basic_info_box > li.text_block{
	padding:1rem;
}
ul#company_basic_info_box > li.text_block > ul{
	display:table;
	width:100%;
	margin:0;
	padding:0;
}
ul#company_basic_info_box > li.text_block > ul > li{
	display: table-row;
}
ul#company_basic_info_box > li.text_block > ul > li > span{
	display:table-cell;
	padding:0.5rem;
	border-bottom: dotted 1px #777;
	font-size:1.8rem;
}
ul#company_basic_info_box > li.text_block > ul > li > span:nth-child(1){
	min-width:16rem;
}
div.center_txt{
	padding:1rem;
	text-align: center;
}
div.center_txt > p.back_referer{
	display: inline-block;
	border: solid 1px #333;
	padding:0;
	margin: 0;
	background: #fff;
	transition: all ease-in-out 0.5s;
}
div.center_txt > p.back_referer:hover{
	background: #333;
}
div.center_txt > p.back_referer > a{
	display: block;
	padding:1.8rem 2.6rem;
	font-size:1.8rem;
	line-height: 1.8rem;
	color:#333;
	transition: all ease-in-out 0.5s;
	text-decoration: none;
}
div.center_txt > p.back_referer:hover > a{
	color:#fff;
}
/*沿革ページ設定*/
div#history_list_box{
	padding:1rem 0;
	position: relative;
}
div#history_list_box > span#chacing_line{
	display:block;
	padding:0;
	margin:0;
	width:1px;
	position: absolute;
	top:0;
	left: calc( 50% - 0.5px );
	height:100%;
	background:#777;
	animation-duration: 0.7s;
  	animation-delay: 2s;
	animation: progressBar 0.1s ease;
  	animation-timeline: scroll();
  	transform-origin: top left;
}
@media screen and (max-width : 680px){
	div#history_list_box > span#chacing_line{
		left: calc( 0.5rem + 5px );
	}
}
@keyframes progressBar {
  0% {
    transform: scaleY(0.15);
  }
  100% {
    transform: scaleY(1);
  }
}
ul#history_list{
	display:block;
	padding:1rem;
	margin:0;
}
ul#history_list > li{
	display: block;
	width: calc( 50% + 1px );
	box-sizing: border-box;
	/*border:solid 1px #777;*/
	margin:0;
	padding:0;
}
ul#history_list > li:nth-child(odd){
	float:left;	
}

ul#history_list > li:nth-child(odd) > div.number_of_years_box{
	margin:0;
	padding:0;
	text-align: right;
	line-height: 0;
}
ul#history_list > li:nth-child(odd) > div.number_of_years_box > span.under-line{
	display: inline-block;
	font-size:0;
	line-height: 0;
	height:1px;
	width:100%;
	background: #777;
	margin:0;
	padding:0;
	transition: width ease 1.0s;
}	
ul#history_list > li:nth-child(even){
	float:right;
}
ul#history_list > li:nth-child(even) > div.number_of_years_box{
	margin:0;
	padding:0;
	text-align: left;
	line-height: 0;
}
ul#history_list > li:nth-child(even) > div.number_of_years_box > span.under-line{
	display: inline-block;
	font-size:0;
	line-height: 0;
	height:1px;
	width:100%;
	background: #777;
	margin:0;
	padding:0;
	transition: width ease 1.0s;
}
@media screen and (max-width : 680px){
ul#history_list > li{
	display: block;
	width: calc( 100% - 1px );
	box-sizing: border-box;
	/*border:solid 1px #777;*/
	margin:0;
	padding:0;
}
ul#history_list > li:nth-child(odd){
	float:none;	
}

ul#history_list > li:nth-child(odd) > div.number_of_years_box{
	margin:0;
	padding:0;
	text-align: left;
	line-height: 0;
}
ul#history_list > li:nth-child(odd) > div.number_of_years_box > span.under-line{
	display: inline-block;
	font-size:0;
	line-height: 0;
	height:1px;
	width:100%;
	background: #777;
	margin:0;
	padding:0;
	transition: width ease 1.0s;
}	
ul#history_list > li:nth-child(even){
	float:none;
}
ul#history_list > li:nth-child(even) > div.number_of_years_box{
	margin:0;
	padding:0;
	text-align: left;
	line-height: 0;
}
ul#history_list > li:nth-child(even) > div.number_of_years_box > span.under-line{
	display: inline-block;
	font-size:0;
	line-height: 0;
	height:1px;
	width:100%;
	background: #777;
	margin:0;
	padding:0;
	transition: width ease 1.0s;
}
}

ul#history_list > li.show > div.number_of_years_box > span.under-line{
	width:100%;
}
ul#history_list > li.hide > div.number_of_years_box > span.under-line{
	width:0%;
}
ul#history_list > li.show{
	opacity: 1.0;
}
ul#history_list > li.hide{
	opacity: 0.0;
}
.animation{
	transition: all ease-in-out 0.5s;
}
ul#history_list > li > div.number_of_years_box > span.years_no{
	font-size:3.2rem;
	font-weight: 700;
	color:#888;
	padding:0.5rem 2.0rem;
	/*border-bottom:solid 2px #777;*/
	display:block;
	line-height: 3.2rem;
}
ul#history_list > li > div.number_of_years_box > span.years_no > span.nengo{
	font-size:2.2rem;
	font-weight:600;
	color:333;
}
ul#history_list > li > ul{
	display: block;
	padding:0.5rem 1rem;
	margin:0;
}
ul#history_list > li > ul > li{
	display: table;
	width:100%;
	padding:0.5rem 1rem;
	margin:0;
	font-size:1.8rem;
	border-bottom: dotted 1px #aaa;
}
ul#history_list > li > ul > li > span{
	display:table-cell;
	padding: 0.5rem;
	vertical-align: top;
}
ul#history_list > li > ul > li > span.thumbnail_box{
	width:30%;
	min-width:160px;
}
ul#history_list > li > ul > li > span.thumbnail_box > a{
	display: block;
	padding:0;
	margin:0;
	line-height: 0;
}
h2.page_ttl{
	display: table;
}
h2.page_ttl > a{
	display: table-row;
	color: #393939;
	text-decoration: none;
}
h2.page_ttl > a > span{
	display: table-cell;
	padding:0 1rem;
	vertical-align: middle;
}
h2.page_ttl > a > span:nth-child(1){
	line-height: 0;
}

ul#next_prev_table{
	display:table;
	margin:0.5rem auto;
	padding:0;	
}
ul#next_prev_table > li{
	display: table-cell;
	padding:0.5rem 1.0rem;
	margin:0;
}
ul#next_prev_table > li > a{
	font-size:2.2rem;
	line-height:2.2rem;
	display: block;
	padding:0.5rem 2rem;
	text-decoration: none;
	border:solid 1px #555;
	color:#555;
	background: none;
	transition:all ease-in-out 0.5s;
}
ul#next_prev_table > li > a:hover{
	color:#fff;
	background: #555;
}
p.date{
	font-size:1.8rem;
	color:#777;
	padding:0.5rem 1rem;
}

div#sitemap{
	padding:0 1rem;
}
div#sitemap > ul{
	display:block;
	padding:0;
	margin:0;
}
div#sitemap > ul > li{
	display:block;
	padding:1rem;
	margin:0;
	//border: solid 1px #777;
}
div#sitemap > ul > li > h3{
	display:block;
	padding:0;
	margin:0;
	font-size:2.8rem;
	line-height:3.2rem;
}
div#sitemap > ul > li > ul{
	display: block;
	margin:0;
	padding:1.0rem;
}
div#sitemap > ul > li > ul > li{
	display:block;
	padding: 1.0rem;
	margin:1.0rem 0;
	border: solid 1px #aaa;
	box-sizing:border-box;
}
div#sitemap > ul > li > ul > li > a{
	color:#263135;
	font-size:2.0rem;
}
div#sitemap > ul > li > ul > li > ul.children{
	display: block;
	margin:0;
	padding:2rem;
	box-sizing: border-box;
}
div#sitemap > ul > li > ul > li > ul > li > a{
	color:#556A70;
	font-size:1.6rem;
}
div#sitemap > ul > li > ul > li > ul::after{
  content: "";
  clear: both;
  display: block;
}
div#sitemap > ul > li > ul > li > ul > li{
	display:block;
	width: calc( ( 100% / 2 ) - 2rem );
	margin:0.5rem 0;
	float:left;
}
@media screen and (max-width:960px){
div#sitemap > ul > li > ul > li > ul.children{
	display: block;
	margin:0;
	padding:2rem 2rem 2rem 4rem;
	box-sizing: border-box;
}
div#sitemap > ul > li > ul > li > ul > li{
	display:block;
	width: calc( ( 100% / 1 ) - 2rem );
	margin:0.5rem 0;
	float:left;
}
}
div#sitemap a{
	text-decoration: none;
}
div#sitemap a:hover{
	text-decoration: underline;
}