
/* ------------------------------------------------------------------
intial set
------------------------------------------------------------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin:0px;
	padding:0px;
	border:0px;
	outline:0px;
	font-weight:inherit;
	font-style:inherit;
	font-size:100%;
	font-family:inherit;
	vertical-align:baseline;
}

ol, ul {
	list-style:none;
}

.clear{
	clear: both;
}

strong{
	font-weight:bold;
}

/* ------------------------------------------------------------------
clearfix
------------------------------------------------------------------ */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
}

* html .clearfix{
	height: 1%;
}

.clearfix {
	display: block;
}

/* ------------------------------------------------------------------
body
------------------------------------------------------------------ */
html,body{
	height:100%;
}

body{
	font-family		: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, Arial, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	text-align		: center;
	font-size		: 16px;
	font-weight		: 500;
}

@media screen and (max-width: 768px) {
body{
	font-size:12px;
}
}

/* ------------------------------------------------------------------
link
------------------------------------------------------------------ */
a{
	color			: #222222;
	text-decoration	: none;
}
a:link{
/**	text-decoration:none;
	opacity: 0.80;		
	filter: alpha(opacity=80);
	-moz-opacity:0.80; **/

}
a:active{
	color:#1473FD; 
}
a:hover{
	opacity				: 0.5;

}

a:hover img{
	color:#FF801E; 
	opacity				: 0.50;		/* firefox, opera, safari */
	filter				: alpha(opacity=50);	/* ie */
	-moz-opacity		: 0.50; 
	background			: #fff;
}
a:hover #bt{
	padding-left:10px;
}


/* ------------------------------------------------------------------
common
------------------------------------------------------------------ */
.pt50 {
	padding-top			: 50px !important;
}
.pb15 {
	padding-bottom		: 15px !important;
}
.pb20 {
	padding-bottom		: 20px !important;
}
.pb30 {
	padding-bottom		: 30px !important;
}
.pb50 {
	padding-bottom		: 50px !important;
}
.pb80 {
	padding-bottom		: 80px !important;
}
.mr1rem {
	margin-right		: 1rem !important;
}
.aC {
	text-align			: center !important;
}
.w45per {
	width				: 45% !important;
}
.w50per {
	width				: 50% !important;
}
.w55per {
	width				: 55% !important;
}
.w100per {
	width				: 100% !important;
}
/* ------------------------------------------------------------------
base
------------------------------------------------------------------ */
div#Container{
	max-width			: 1240px;
	margin				: 0px auto 0px auto;
	text-align			: left;
	overflow			: hidden;
	line-height			: 1.6;
    font-size			: 14px;
	min-height			: calc(100vh - 250px);
	padding-top			: 70px;
}

/* ------------------------------------------------------------------
header
------------------------------------------------------------------ */
div#header{
	box-shadow			: 0 8px 10px -5px rgba(0, 0, 0, 0.3);
	position			: fixed;
	width				: 100%;
	z-index				: 77;
	background-color	: #ffffff;
}

div#header div#headerInner_pc{
	margin				: 0 auto;
	color				: #222;
	text-align			: left;
	max-width			: 1240px;
	padding-left		: 20px;
}
div#headerLeft{
	width				: 30%;
	color				: #222;
	text-align			: left;
	float				: left;
	font-size			: 20px;
	font-weight			: bold;
	padding-top			: 15px;
	min-width			: 260px;
}
div#headerRight{
	width				: 70%;
	min-width			: 693.45px;
	display				: flex;
	justify-content		: flex-end;
}
div#header div#headerInnerMenu{
	position			: relative;
	margin-top			: 30px;
	text-align			: center;
	font-size			: 16px;
	display				: flex;
	justify-content		: flex-end;
}

.headerMenuList {
	list-style			: none;
	display				: flex;
	justify-content		: flex-end;
}
.headerContact {
	width				: 90px;
	height				: 70px;
	font-size			: 12px;
	color				: #ffffff;
	background-color	: #1473FD;
	text-align			: center;
}
.headerContact:hover {
	background-color	: #A7DDFF;
}
.headerContact a:hover {
	opacity				: 1.0;
}
.headerContact > a > .contactMail:before{
	display				: block;
	content				: "";
	height				: 50px;
	background-image	: url(../img/mail.svg);
	background-repeat	: no-repeat;
	background-size		: 40px;
	background-position	: center;
	;
}

.headerContact > a{
	color				: #ffffff;
}

.headerMenuList_sub {
    transform			: scaleY(0);
    transform-origin	: center top;
    transition			: all .3s;
	position			: absolute;
	top					: 40px;
	left				: 88px;
}
.headerMenuList_sub li{
	border-top			: 1px solid #ffffff;
	padding				: 5px 40px 5px 10px;
	background-color	: #d6edfc;
	text-align			: left;
}
.headerMenuList > li:hover .headerMenuList_sub {
	transform			: scaleY(1);
}

.headerMenuList > li{
	padding				: 5px 20px;
}

.headerMenuList > li:hover,
.headerMenuList_sub > li:hover{
	 background-color	: #A7DDFF;
}

.headerMenuList > li > a:hover,
.headerMenuList_sub > li > a:hover{
	 color				: #333;
}
div#header div#headerInner_sp{
	display				: none;
}
@media screen and (max-width: 1027px) {
	div#header div#headerInner_pc{
		display			: none;
	}
	div#header div#headerInner_sp{
		display			: block;
		margin			: 0 auto;
		color			: #222;
		text-align		: left;
		max-width		: 1240px;
		padding-left	: 20px;
	}
	div#headerLeft{
		padding-top		: 20px;
		padding-bottom	: 0;
		font-size		: 16px;
		height			: 45px;
	}
	div#Container{
		padding-top		: 65px;
		min-height		: calc(100vh - 320px);
	}
	.headerContact {
		position		: fixed;
		top				: 0;
		right			: 50px;
		display			: flex;
		width			: 50px;
		height			: 50px;
		background-color: #ffffff;
		text-align		: center;
	}
	.headerContact > a > img{
		height			: 30px;
		padding			: 17px 10px;
	}
	.headerContact:hover {
		background			: none;
	}
	.headerContact a:hover {
		opacity				: 0.5;
	}
	.menu-btn {
		position		: fixed;
		top				: 0;
		right			: 0;
		display			: flex;
		height			: 65px;
		width			: 50px;
		justify-content	: center;
		align-items		: center;
		z-index			: 90;
	}
	.menu-btn span,
	.menu-btn span:before,
	.menu-btn span:after {
		content			: '';
		display			: block;
		height			: 3px;
		width			: 25px;
		border-radius	: 3px;
		position		: absolute;
	}
	.menu-btn span:before{
		background-color: #1473FD;
	}
	.menu-btn span{
		background-color: #65a2fd;
	}
	.menu-btn span:after {
		background-color: #aecdfb;
	}
	
	.menu-btn span:before {
	    bottom			: 8px;
	}
	.menu-btn span:after {
	    top				: 8px;
	}
	#menu-btn-check:checked ~ .menu-btn {
	    background-color: #65a2fd;
	}
	#menu-btn-check:checked ~ .menu-btn span {
	    background-color: rgba(255, 255, 255, 0);
	}
	#menu-btn-check:checked ~ .menu-btn span::before {
	    bottom: 0;
		background-color: #ffffff;
	    transform: rotate(45deg);
	}
	#menu-btn-check:checked ~ .menu-btn span::after {
	    top: 0;
		background-color: #ffffff;
	    transform: rotate(-45deg);
	}
	.menu-content {
	    width			: 100%;
	    height			: 100%;
	    position		: fixed;
	    top				: 65px;
	    left			: 100%;
	    z-index			: 80;
	    transition		: all 0.5s;
	}
	.menu-content ul {
	    background-color: #65a2fd;
	}
	.menu-content ul li {
	    border-top: solid 1px #ffffff;
	    list-style: none;
	}
	.menu-content ul li a,
	.menu-content ul li label  {
	    display			: block;
	    width			: 100%;
	    font-size		: 16px;
	    box-sizing		: border-box;
	    color			:#ffffff;
	    text-decoration	: none;
	    padding			: 10px 15px 10px 2.5em;
	    position		: relative;
	    font-weight		: bold;
	}
	.menu-content ul li:hover,
	.menu-content ul li label:hover {
	    background-color: #c9dfff;
	    opacity			: 1.0;
	}
	.menu-content ul li a:hover{
	    opacity			: 1.0;
	}
	#menu-btn-check:checked ~ .menu-content {
	    left: 0;/*メニューを画面内へ*/
	}
	.works_title,
	.works_content {
		-webkit-backface-visibility: hidden;
		backface-visibility	: hidden;
		transform			: translateZ(0);
		transition			: all 0.3s;
	}
	.works_title {
		padding				: 1em;
		display				: block;
		color				: #333;
	}
	.works_title::after,
	.works_title::before {
		content				: "";
		position			: absolute;
		left				: 1.5em;
		top					: 1em;
		width				: 2px;
		height				: 0.75em;
		background-color	: #ffffff;
		transition			: all 0.3s;
	}
	.works_title::after {
		transform			: rotate(90deg);
	}
	.works_content {
		max-height			: 0;
		overflow			: hidden;
	}
	ul.works_content li a{
		background-color	: #aecdfb;
		color				: #333;
	}
	ul.works_content li a:hover{
		background-color	: #e5efff;
		color				: #cccccc;
	}
	#menu-btn-works:checked + .works_title + .works_content {
		max-height			: 500px;
		transition			: all 1.5s;
	}
	#menu-btn-works:checked + .works_title::before {
		transform			: rotate(90deg) !important;
	}
	#menu-btn-check,#menu-btn-works {
		display				: none;
	}
}

/* ------------------------------------------------------------------
Home
------------------------------------------------------------------ */
div#Top {
	margin-top			: 5px;
}
div#Top div#TopPhoto{
	position			:relative;
	max-width			: 1240px;
	margin				: 0 auto;
	text-align			: right;
	background-color	: #1473FD;
}
div#Top div#TopPhoto_sp{
	display				: none;
}
div#Top div#TopPhoto > img {
	filter				: brightness(75%);
	vertical-align		: bottom;
}
div#Top div#TopPhoto > h1 {
	float				: left;
	color				: #ffffff;
	position			: absolute;
	top					: 30px;
	left				: 25px;
	font-size			: 20px;
	z-index				: 10;
}
div#Top div#TopPhoto > h2 {
	float				: left;
	color				: #ffffff;
	position			: absolute;
	top					: 65px;
	left				: 25px;
	font-size			: 20px;
	z-index				: 10;
}
.topMenu {
	width	:100%;
	text-align			: center;
	margin-top			: 150px;
}

.topMenu th{
	width				: 19%;
	vertical-align		: top;
	padding-top			: 10px;
	line-height			: 1.2em;
	font-size			: 18px;
	font-weight			: bold;
}
.topMenu th > span.subtitle{
	font-size			: 14px;
	font-weight			: normal;
}
.topMenu td.works{
	position			: relative;
	width				: 27%
}

.topMenu td.works > a img{
	filter				: brightness(65%);
	width				: 100%;
}
.topMenu td.works > a span.topMenu_item{
	position			: absolute;
	z-index				: 50;
	top					: 52%;
	left				: 44%;
	color				: #ffffff;
	transform: translate(-36%,-50%);
	font-size			: 18px;
	font-weight			: bold;
}
.topMenu td.top_news_data{
	border-top			: dashed 1px #ccc;
	padding				: 8px 8px 8px 15px;
	width				: 65%;
	text-align			: left;
}
.topMenu td.top_news_data img{
	width				: 20px;
	transform			: translateY(24%);
}
.topMenu .top_news_date{
	margin-right		: 50px;
}
.topMenu td.top_news_dummy{
	width				: 16%;
}
@media screen and (max-width: 768px) {
	div#Top div#TopPhoto{
		display				: none;
	}
	div#Top div#TopPhoto_sp{
		display				: block;
		position			: relative;
	}
	div#Top div#TopPhoto_sp > img {
		filter				: brightness(75%);
		object-fit			: cover;
		max-height			: 225px;
	}
	div#Top div#TopPhoto_sp > h1,
	div#Top div#TopPhoto_sp > h2,
	div#Top div#TopPhoto_sp > h3,
	div#Top div#TopPhoto_sp > h4 {
		color				: #ffffff;
		position			: absolute;
		right				: 25px;
		font-size			: 16px;
		z-index				: 10;
	}
	div#Top div#TopPhoto_sp > h1 {
		bottom				: 65px;
	}
	div#Top div#TopPhoto_sp > h2 {
		bottom				: 46px;
	}
	div#Top div#TopPhoto_sp > h3 {
		bottom				: 27px;
	}
	div#Top div#TopPhoto_sp > h4 {
		bottom				: 8px;
	}
	.topMenu th,
	.topMenu td.works {
		width				: 100%;
		display				: block;
	}
	.topMenu th {
		padding-bottom		: 8px;
	}
	.topMenu td.works {
		padding-bottom		: 3px;
	}
	.topMenu td.works > a img{
		filter				: brightness(65%);
		width				: auto;
		height				: 250px;
	}
	.topMenu td.works > a span.topMenu_item{
		top					: 51%;
		left				: 47%;
	}
	div#news {
		margin-left			: 10px;
		margin-right		: 10px;
	}
	.topMenu td.top_news_dummy{
		display				:none;
	}
	.topMenu .top_news_date{
		margin-right		: 1rem;
	}
}
/* ------------------------------------------------------------------
sub
------------------------------------------------------------------ */
div#page-title {
	background-image: url(../img/title_color.jpg);
	padding					: 70px 0 60px 0;
	text-align				: center;
	margin-top				: 5px;
	border-top				: 5px solid #A7DDFF;
}
div#page-title > p{
	color					: #ffffff;
	font-size				: 22px;
	font-weight				: bold;
}
.contents-title {
	position				: relative;
}
p.contents-title {
	font-size				: 18px;
	font-weight				: bold;
	margin-left				: 32px
}
p.contents-title > span{
	border-bottom			: 2px solid #0079f7;
	margin-left				: -32px;
	padding-left			: 28px;
	padding-right			: 1.5rem;
	padding-bottom			: 2px;
}
.contents-title::before {
	content					: '';
	position				: absolute;
	top						: 50%;
	background-position		: center;
	background-repeat		: no-repeat;
	background-size			: contain;
	margin-left				: -32px;
	transform				: translateY(-52%);
	width					: 1.3em;
	height					: 1.3em;
	background-image		: url(../img/contents_title_icon.svg);
}
table.flow-table {
	margin					: 50px auto 80px;
	max-width				: 804px;
	width					: 90%;
}
table.flow-table th{
	padding-bottom			: 10px;
}
table.flow-table td{
	padding-bottom			: 40px;
}
table.flow-table td img{
	border					: 1px solid #cccccc;
	width					: 100%;
}
table.work-table-01 {
	margin					: 0px auto;
	max-width				: 814px;
	width					: 90%;
}
table.work-table-01 th{
	padding-bottom			: 10px;
}
table.work-table-01 td.col-2{
	width					: 50%;
}
table.work-table-01 td.col-3{
	width					: 33.3%;
}
table.work-table-01 .subtitle {
	font-size				: 16px;
	font-weight				: bold;
	margin-left				: 10px;
}
table.work-table-01 .photo-com{
	margin-left				: 15px;
}
table.work-table-01 .img-frame {
	position				: relative;
}
table.work-table-01 .img-frame::after {
	position				: absolute;
	content					: '';
	top						: 0;
	bottom					: 0;
	left					: 0;
	right					: 0;
	box-shadow				: inset 0 0 10px 15px #FFF;
}
table.work-table-01 .flow-frame {
	border					: 1px solid #cccccc;
}
table.work-table-02 {
	margin					: 50px auto 60px;
	max-width				: 814px;
	width					: 90%;
}
table.work-table-02 th{
	padding-bottom			: 20px;
}
.work-comment-r {
	font-size				: 18px;
	font-weight				: bold;
	text-align				: right;
}
table.work-table-02 td {
	width					: 50%;
}
table.work-table-02 .img-frame {
	position				: relative;
}
table.work-table-02 .img-frame::after {
	position				: absolute;
	content					: '';
	top						: 0;
	bottom					: 0;
	left					: 0;
	right					: 0;
	box-shadow				: inset 0 0 10px 15px #FFF;
}
table.work-table-02 td img{
	width					: 100%;
}
table.work-table-03 {
	margin					: 50px auto 50px;
	max-width				: 804px;
	width					: 90%;
}
table.work-table-03 th{
	padding-bottom			: 20px;
}
table.work-table-03 td img.flow{
	border					: 1px solid #cccccc;
	width					: 100%;
}
table.work-table-03 td img.photo{
	width					: 100%;
}
table.work-table-03 .img-frame {
	position				: relative;
}
table.work-table-03 .img-frame::after {
	position				: absolute;
	content					: '';
	top						: 0;
	bottom					: 0;
	left					: 0;
	right					: 0;
	box-shadow				: inset 0 0 10px 15px #FFF;
}
table.work-table-03 .photo-com{
	margin-left				: 15px;
}
table.work-table-04 {
	margin					: 50px auto 50px;
	max-width				: 804px;
	width					: 90%;
}
table.work-table-04 th{
	padding-bottom			: 30px;
}
table.work-table-04 td{
	padding-bottom			: 20px;
}
table.work-table-04 td img{
	width					: 100%;
}
table.work-table-04 .img-frame {
	position				: relative;
}
table.work-table-04 .img-frame::after {
	position				: absolute;
	content					: '';
	top						: 0;
	bottom					: 0;
	left					: 0;
	right					: 0;
	box-shadow				: inset 0 0 10px 15px #FFF;
}
table.work-table-04 .photo-com{
	text-align				: center;
}
table.corp-table-01 {
	width					: 100%;
	max-width				: 700px;
	margin					: 150px auto 80px;
}
table.corp-table-02 {
	width					: 100%;
	max-width				: 900px;
	margin					: 80px auto;
}
table.corp-table-03 {
	width					: 90%;
	max-width				: 700px;
	margin					: 80px auto;
	border-collapse			: collapse;
}
table.corp-table-04 {
	width					: 100%;
	max-width				: 750px;
	margin					: 80px auto 100px;
}
table.corp-table-01 th,
table.corp-table-02 th,
table.corp-table-04 th,
table.corp-table-03 th{
	vertical-align		: top;
	text-align			: center;
	padding-bottom		: 20px;
	line-height			: 1.2em;
	font-size			: 18px;
	font-weight			: bold;
}
table.corp-table-01 th > span.subtitle,
table.corp-table-02 th > span.subtitle,
table.corp-table-03 th > span.subtitle,
table.corp-table-04 th > span.subtitle {
	font-size			: 14px;
	font-weight			: normal;
}
table.corp-table-01 td,
table.corp-table-02 td,
table.corp-table-03 td,
table.corp-table-04 td{
	vertical-align		: top;
}
table.corp-table-02 th.profile {
	text-align			: left;
	padding				: 16px;
	line-height			: 1.2em;
	font-size			: 14px;
	color				: #1473FD;
	width				: 27%;
}
table.corp-table-02 td {
	padding				: 16px 5px;
}
table.corp-table-02 td .address {
	margin-left			: 4.5rem;
}
table.corp-table-02 td .work-h,
table.corp-table-04 td .acs-h {
	font-weight			: bold;
}
table.corp-table-02 td .work-d,
table.corp-table-04 td .acs-d {
	margin-left			: 1.5rem;
}
table.corp-table-02 th.profile, 
table.corp-table-02 td,
table.corp-table-04 td.acs-last-l,
table.corp-table-04 td.acs-last-r { 
	border-top			: 1px dashed #cccccc;
}
table.corp-table-02 th.profile-last, 
table.corp-table-02 td.profile-last{ 
	border-bottom		: 1px dashed #cccccc;
}
table.corp-table-03 td{
	padding				: 16px;
}
table.corp-table-03 td:first-child {
	border-left			: 3px solid #1473FD;
	padding-left		: 2rem;
}
table.corp-table-03 td:first-child:before {
	content				: '●';
	color				: #1473FD;
	position			: absolute;
	margin-left			: -2.6rem;
	font-size			: 18px
}
table.corp-table-04 th.car{
	text-align			: left;
	padding				: 16px 0 8px;
	line-height			: 1.2em;
	font-size			: 16px;
}
table.corp-table-04 th.train {
	text-align			: left;
	padding				: 32px 0 16px;
	line-height			: 1.2em;
	font-size			: 16px;
}
table.corp-table-04 th.car p > span,
table.corp-table-04 th.train p > span {
	margin-left			: 32px;
}
table.corp-table-04 th.car p:before,
table.corp-table-04 th.train p:before {
	content					: '';
	position				: absolute;
	background-position		: center;
	background-repeat		: no-repeat;
	background-size			: contain;
	transform				: translateY(-20%);
	width					: 24px;
	height					: 24px;
}
table.corp-table-04 th.car p:before {
	background-image		: url(../img/corp_car.svg);
}
table.corp-table-04 th.train p:before {
	background-image		: url(../img/corp_train.svg);
}
table.corp-table-04 td .map {
	width					: 400px;
	height					: 300px;
}
table.corp-table-04 td {
	padding-bottom		: 20px;
}
table.corp-table-04 td.acs-last-r,
table.corp-table-04 td.acs-last-l {
	padding-top			: 20px;
}
table.corp-table-04 td .acs-d-2 {
	margin-left			: 6rem;
}
table.corp-table-04 td .traffic {
	width				: 400px;
}
table.corp-table-04 td .traffic img {
	width				: 100%;
	border				: 1px solid #cccccc;
}
p.mailtile {
	text-align			: center;
	font-size			: 16px;
	font-weight			: bold;
	margin				: 50px 0 20px 0;
}
table.newslist-table {
	max-width			: 700px;
	width				: 100%;
	margin				: 100px auto 0;
}
table.newslist-table td{
	padding				: 8px 8px 8px 15px;
	text-align			: left;
}
.newslist-table img {
	width				: 20px;
	transform			: translateY(24%);
}
.newslist-table .news_date {
	margin-right		: 50px;
}
div.pagenavi {
	padding				: 20px 0 50px 0;
}
div.pagenavi .pagination {
	text-align			: center;
}
.pagenavi .pagination li {
	display				: inline;
	margin				: 0 4px;
	padding				: 0;
	display				: inline-block;
	width				: 26px;
	height				: 26px;
	text-align			: center;
	font-size			: 16px;
	position			: relative;
	border-radius		: 26px;
}
.pagenavi .pagination li.no-use {
	border				: 1px solid #999;
}
.pagenavi .pagination li.use {
	border				: 1px solid #1473FD;
}
.pagenavi .pagination li.current {
	border				: 1px solid #1473FD;
	background-color	: #1473FD;
}
.pagenavi .pagination li a,
.pagenavi .pagination li span{
	vertical-align		: middle;
	position			: absolute;
	top					: 0;
	left				: 0;
	width				: 100%;
	height				: 100%;
	text-align			: center;
	text-decoration		: none;
	-webkit-transition	: all 0.3s ease;
	-moz-transition		: all 0.3s ease;
	-o-transition		: all 0.3s ease;
	transition			: all 0.3s ease;
}
.pagenavi .pagination li.use a{
	color				: #1473FD;
}
.pagenavi .pagination li.use a:hover{
	background-color	: #d6edfc;
	border-radius		: 40px;
}
.pagenavi .pagination li.no-use span{
	color				: #999;
}
.pagenavi .pagination li.current span{
	color				: #ffffff;
}
table.newsdtl-table {
	max-width			: 700px;
	width				: 100%;
	margin				: 50px auto ;
}
table.newsdtl-table th{
	padding-bottom		: 20px;
	font-weight			: bold;
	font-size			: 16px;
}
table.newsdtl-table td{
	vertical-align		: top;
}
table.newsdtl-table td.photo {
	padding-bottom		: 40px;
}
table.newsdtl-table td.photo img{
	max-width			: 310px;
	width				: 100%;
}
table.newsdtl-table span.linkbtn{
	padding				: 15px 30px;
	background-color	: #0079f7;
	border-radius		: 15px;
	display				: block;
}
table.newsdtl-table span.linkbtn > a{
	color				: #ffffff;
}
table.newsdtl-table span.linkbtn:hover{
	opacity				: 0.5;
}
table.newsdtl-table .linklist {
	font-size			: 16px;
	font-weight			: bold;
}
table.newsdtl-table .linklist img{
	width				: 32px;
	margin-right		: 5px;
}
table.newsdtl-table .linklist span{
	color				: #cccccc;
}
table.newsdtl-table .linklist a{
	color				: #595959;
}
table.photo-table-01 {
	max-width			: 900px;
	width				: 100%;
	margin				: 10px auto 0;
}
table.photo-table-01 th{
	font-size			: 16px;
	font-weight			: bold;
	vertical-align		: top;
	padding-top			: 10px;
}
table.photo-table-02 {
	max-width			: 920px;
	width				: 100%;
}
table.photo-table-02 th{
	font-size			: 16px;
	font-weight			: bold;
}
table.photo-table-02 td.photo-list{
	margin-top			: 20px;
	vertical-align		: top;
}
table.photo-table-02 td.photo-list img{
	float				: left;
	padding				: 5px;
	max-width			: 300px;
	width				: 100%;
}
table.photo-table-02 td.photo-com{
	padding-bottom		: 150px;
}
@media screen and (max-width: 768px) {
	div#page-title {
		padding					: 40px 0 ;
	}
	div#page-title > p {
	    font-size				: 16px;
	}
	table.work-table-01 td.col-2,
	table.work-table-01 td.col-3,
	table.work-table-02 td,
	table.work-table-03 td,
	table.work-table-04 td,
	table.photo-table-01 th,
	table.photo-table-02 td,
	table.newsdtl-table td {
		width					: 100%;
		display					: block;
	}
	table.work-table-01 .subtitle {
		font-size				: 14px;
	}
	table.work-table-02 td img,
	table.work-table-02 .img-frame,
	table.work-table-04 td img,
	table.work-table-04 .img-frame{
		max-width				: 400px;
		margin-left				: auto;
		margin-right			: auto;
	}
	table.work-table-03 .dummy {
		display					: block;
		width					: 50%;
	}
	table.work-table-03 .img-frame .dummy {
		width					: 50%;
	}
	table.corp-table-01,
	table.corp-table-02,
	table.corp-table-03,
	table.corp-table-04, 
	table.newsdtl-table,
	table.photo-table-01,
	table.photo-table-02 {
		width					: 90%;
	}
	table.corp-table-01{
		margin-top				: 80px;
	}
	table.corp-table-04 {
		max-width				: 400px;
	}
	table.corp-table-02 th.profile {
		padding				: 16px 5px;
	}
	table.corp-table-02 td .address {
		margin-left				: 0;
	}
	table.corp-table-04 td .map {
		width					: 100%;
		max-width				: 400px;
	}
	table.corp-table-04 td .traffic {
		width					: 100%;
		max-width				: 400px;
	}
	table.corp-table-04 td {
		width					: 100%;
		display					: block;
	}
	table.corp-table-04 td.acs-last-r { 
		border					: none;
		padding-top				: 0;
	}
	table.corp-table-04 td {
		padding					: 0 0 15px 0;
	}
	table.corp-table-04 td.acs-last-l {
		padding-top				: 20px;
	}
	.newslist-table .news_date{
		margin-right			: 1rem;
	}
	table.photo-table-02 td.photo-list{
		margin-top			: 0;
		text-align			: center;
	}
	table.photo-table-02 td.photo-list img{
		float				: none;
		padding				: 5px;
		max-width			: 450px;
		width				: 100%;
	}
	p.contents-title,
	.work-comment-r {
		font-size				: 14px;
	}
	p.contents-title{
		margin-left				: 0px;
	}
	p.contents-title > span {
		padding					: 0px 0.5rem;
		margin-left				: 0px;
	}
	.contents-title::before {
		background-image		: none;
	}
	.w45per,
	.w50per,
	.w55per {
		width				: 100% !important;
	}
}
/* ------------------------------------------------------------------
footer
------------------------------------------------------------------ */
div#footer{
	width				: 100%;
	overflow			: hidden;
	padding				: 5px 0 10px 0;
	background-color	: #595959;
}
div#footer div#footerInner{
	max-width			: 1240px;
	margin				: 0 auto;
	padding				: 0 10px;
}
div#footer div#footerInnerTop{
	padding				: 15px 0 0 0;
	text-align			: left;
	font-size			: 20px;
    font-weight			: bold;
	color				: #ffffff;
}
div#footer div#footerInnerAddress{
	margin				: 10px 40px 0 0;
	font-size			: 14px;
    font-weight			: normal;
	color				: #ffffff;
	text-align			: left;
	float				: left;
}
div#footer div#footerInnerCopyRight{
	margin				: 90px auto 5px;
	font-size			: 12px;
    font-weight			: normal;
	color				: #ffffff;
}
@media screen and (max-width: 768px) {
	div#footer div#footerInner{
		width			: 96.75%;
		padding			: 0;
	}
	div#footer div#footerInnerTop{
		width:100%;
		text-align:center;
	}
	div#footer div#footerInnerAddress {
		width:100%;
		text-align:center;
	}
	div#footer div#footerInnerCopyRight{
		margin				: 180px auto 5px;
		font-size			: 12px;
	    font-weight			: normal;
		color				: #ffffff;
	}
}
/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:0.6rem;
  transi tion:all 0.3s;
  background-image	: url(../img/page_top_base.svg);
  background-repeat	: no-repeat;
  background-size		: 80%;
  background-position	: center;  
}
#page-top.floatAnime a{
	width: 60px;
	height: 60px;
    /*背景画像の指定*/
  background-image	: url(../img/page_top.svg);
  background-repeat	: no-repeat;
  background-size		: 40%;
  background-position	: center;  
    /*アニメーションの指定*/
	animation: floatAnime 2s linear infinite;
	opacity: 0;
}

@keyframes floatAnime {
  0% { transform: translateX(0); opacity: 0; }
  25% { transform: translateX(-6px);opacity: 1; }
  50% { transform: translateX(0) }
  100% { transform: translateX(6px);opacity: 1; }
}
#page-top a:hover{
  opacity: 0.5;
}
#page-top span {
  position: absolute;
  bottom: -6px;
  color: #595959;
  font-weight: bold;
  line-height: 1.3;
}
/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  z-index: 2;
    /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}
/*==================================================
アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 900px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1rem;
    font-weight: normal;
    padding: 12px 8px 12px 50px;
    transition: all .5s ease;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
  transform: rotate(45deg);
}

.title.close::after{
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    padding: 0 3%;
}
