/*
Theme Name: arc_base 2023
Theme URI: 
Version: 1.0
Author: ARCADIA SYSTEMS
Author URI: https://arc-mec.com/

/*	INDEX
-------------------------------------------------
	BASE
	HEADER
	CONTENT
	SIDE BAR
	FOOTER
	MISC
	Mobile
	HACK
*/

/*	BASE
-------------------------------------------------*/
* {margin: 0; padding: 0;box-sizing:border-box;}

html{
	margin: 0;
	padding: 0;
	color: #333333;
	line-height: 1.4;
	font-size:16px;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
body{}
h1, h2, h3, h4, h5, h6 {font-weight:bold;}
a,
a:link {}
a:hover {}
a:visited {}
a:active {}


a img {border:none;}
input[type="email"],
input[type="password"],
input[type="text"]{font-size:1rem;padding:2px;}
input[type="submit"]{font-size:1rem;padding:0.4em;}
textarea{font-size:1rem;padding:0.4em;}
.small{font-size:0.8em;}
.bold{font-weight:bold;}
.align_c{text-align:center;}
.align_r{text-align:right;}
.align_l{text-align:left;}
.pc_none{display:none;}
.bottom_1em{margin-bottom:1em;}
section,
article,
div{}
span.newmark{
	background-color: #fb4647;
	font-size: x-small;
	padding: 0.2em 1em;
	line-height: 1;
	color: #fff;
	display: inline-block;
}
table{
	border-collapse: collapse;
	width:100%;
}
table th,
table td{
	padding:0.6em;
	border:1px solid #ccc;
	box-sizing:border-box;
	margin:0 auto;
}


/*	HEADER
-------------------------------------------------
*/

header{
	position:sticky;
	top:0px;
	left:0px;
	width:100%;
	z-index:1000;
}
header.scroll{background-color:rgba(255,255,255,0.8);}


.header_wrap{
	position:relative;
	padding:1rem;
	display:flex;
	justify-content: space-between;
	align-items: center;
}
.hcontainer h1{font-size:1.5rem;}
.hcontainer h1 a{
	color:#337788;
	text-decoration:none;
	display:flex;
}

/*toppage*/
.front_header{position:fixed;}
.front_header .hcontainer h1 a{
	color:#fff;
	text-shadow:0px 0px 10px #6ab9df;
	filter: drop-shadow(0px 0px 5px #6ab9df);
}


/*	CONTENT
-------------------------------------------------
*/

.breadcrumbs{
	padding:1rem;
	margin:0 0 2rem;
	background-color:#def1fa;
}

main{
	margin:0 auto;
	padding:0;
	min-height:calc(100vh - 125px);
}

div.h2back{
	color:#fff;
	font-size:2rem;
	text-shadow:2px 2px 2px #333;
	padding:8rem 2rem;
	text-align: center;
	background-image: url(../images/header_image.jpg);
	background-position: center;
}

div.h2back h2:before{}

.entry{padding-bottom: 2rem;}


/*	post table
-------------------------------------------------*/

table{}

table caption{}

table th{}

table td{}

table th,
table td{}

table td ul,
table td ol{margin-left:1em;}



/*	post ol ul li
-------------------------------------------------*/
ul,
ol{}

ul li,
ol li{}



/*	TOP
-------------------------------------------------*/
main.top_main{
	background-color:#def1fa;
}
.top_conents{
	margin-top:-70px;
	position:relative;
}


.top_image{
	position:relative;
	overflow:hidden;
}
.top_image .top_image_catch{
	max-width:980px;
	width:90%;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	display: flex;
	justify-content: space-around;
	align-items: center;
	z-index:1;
}
.top_image .top_image_catch img{
	max-width:520px;
	height:auto;
}
.top_image .top_image_catch h2{
	padding:0 1em;
	color:white;
	text-shadow:
		3px 3px 3px #1c7cb8, -3px -3px 3px #1c7cb8,
		-3px 3px 3px #1c7cb8,  3px -3px 3px #1c7cb8
	;
}
.top_image .top_image_catch a:link,
.top_image .top_image_catch a:visited{
	color:#fff;
	text-decoration:none;
	font-weight:bold;
	font-size:1.5rem;
	display:block;
	text-align:center;
	min-width:240px;
	padding:1rem;
	border:2px solid #fff;
	border-radius:1rem;
	background-color:rgba(255,255,255,0.4);
	flex: 0 0 auto;
}


.tc_info{
	display:flex;
	width:80vw;
	margin:0;
	background-color:#fff;
	height: 14em;
}

.tc_info h2.tci_title{
	background-color:#006493;
	color:#fff;
	flex-shrink:0;
	text-align:center;
	padding:2rem 1rem;
}
.tc_info h2.tci_title div{margin:0.5rem 0;}
.tc_info h2.tci_title span{display:block;}
.tc_info .tci_list{
	padding:1rem;
	flex-shrink: 1;
	width: 100%;
	overflow-y: scroll;
}
.tc_info .tci_list ul{list-style:none;}
.tc_info .tci_list ul li{
	margin:0 0 0.5rem;
	padding:0.2rem;
	border-bottom:2px solid #006493;
}
.tc_info .tci_list ul li a:link,
.tc_info .tci_list ul li a:visited{
	color:#333;
	text-decoration:none;
}
.tc_info .tci_list ul li time,
.tc_info .tci_list ul li h3{
	font-size:1rem;
	font-weight:bold;
}
.tc_info .tci_list ul li time{
	display: flex;
	align-items: center;
}
.tc_info .tci_link{
	flex-shrink:0;
}
.tc_info .tci_link a:link,
.tc_info .tci_link a:visited{
	display: flex;
	align-items: center;
	color:#fff;
	text-decoration:none;
	background-color:#006493;
	padding:2rem;
	height: 100%;
}

.tc_link{padding:2rem 2rem;}
.tc_link ul{list-style:none;}
.tc_link ul li{margin:0 0 2rem;}
.tc_link ul li a:link,
.tc_link ul li a:visited{
	color:#333;
	text-decoration:none;
	font-weight:bold;
	display:inline-block;
	border-bottom:2px solid #006493;
	padding:0.2rem 3rem 0.2rem 0.2rem;
	position:relative;
}
.tc_link ul li a:after{
	content: '';
	border-bottom: 2px solid #006493;
	position: absolute;
	width: 2rem;
	transform: rotate(45deg);
	bottom: 10px;
	right: -4px;
}

.tc_link ul#dlbtn{font-size:smaller;}
.tc_link ul#dlbtn li{
	padding:0;
	box-sizing:border-box;
}
.tc_link ul#dlbtn li a:link,
.tc_link ul#dlbtn li a:visited,
.tc_link ul#dlbtn li a:hover,
.tc_link ul#dlbtn li a:active{
	display:flex;
	justify-content: space-between;
	align-items: center;
	padding:0.5em;border:2px solid #00b3b2;
	border-radius:0.5em;
	background-color:#fff;
	text-decoration: none;
	color: #333;
	width: fit-content;
	height: 100%;
	box-sizing: border-box;
	max-width: 640px;
}
.tc_link ul#dlbtn li a:hover,
.tc_link ul#dlbtn li a:active{
	border-color:#fff;
	background-color:#96fbdd;
}
.tc_link ul#dlbtn li a span.badge{
	display:block;
	padding:0.3em;
	border-radius:2em;
	background-color:#00b3b2;
	color: #fff;
	text-align:center;
	margin-left:3em;
}
.tc_link ul#dlbtn li a:after{
	border: none;
	position: static;
	width: auto;
	transform: unset;
	bottom: unset;
	right: unset;
}

#signinwrap p{margin-bottom:.5em;}
#signinwrap p label{font-weight: bold;}
#signinwrap p.login-username label,
#signinwrap p.login-username #user_login{width: 100%;}
#signinwrap p.login-password{
	display: flex;
	justify-content: space-between;
}
#signinwrap p.login-password label{padding-right:1em;}
#signinwrap p.login-password #user_pass{flex: 1 0 auto;}
#signinwrap p.login-remember,
#signinwrap p.login-submit{text-align: center;}

.getafilelink{
	width: 240px;
	position: sticky;
	right: 1rem;
	bottom: 13vh;
	float: right;
	z-index: 100;
}
.getafilelink a:link,
.getafilelink a:hover,
.getafilelink a:active{
	display: block;
	padding: 1em;
	border-radius: 0.5em;
	background-color: rgba(255,255,255,0.7);
}
.getafilelink a:hover,
.getafilelink a:active{
	background-color: rgba(255,255,255,1);
}


/*	category
-------------------------------------------------*/
article.category {
	width: 90%;
	max-width: 980px;
	margin: 0 auto;
}
article.category .posth3{margin-bottom:2rem;}
article.category .entry ul.newslist {margin-bottom:1em;}
article.category .entry ul.newslist li{
	display: flex;
	list-style-type: none;
	line-height: 1.4;
	border-bottom: dotted medium #def1fa;
	margin-bottom: 0.5em;
	align-items: center;
	justify-content: space-between;
}
article.category .entry ul.newslist li time{
	display: inline-block;
	min-width: 9em;
}
article.category .entry ul.newslist li a:link,
article.category .entry ul.newslist li a:visited,
article.category .entry ul.newslist li a:hover,
article.category .entry ul.newslist li a:active{
	flex: 1 1 100%;
	text-decoration: none;
	color: #0066cc;
}
article.category .entry ul.newslist li a:hover{
	background-color: #0066cc;
	color:#fff;
}
article.category .entry ul.newslist li span{
	background-color:#0066cc;
	color:#fff;
	font-size:x-small;
	font-weight: bold;
	padding:0.1em 1em;
	border-radius: 2em;
	flex: 0 0 auto;
	width: fit-content;
}
article.category .entry ul.newslist li span.newmark{
	background-color:#fb4647;
	border-radius:0;
	margin-right: 1em;
}
article.category .entry .flxbtns{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-around;
}
article.category .entry .flxbtns a:link,
article.category .entry .flxbtns a:visited,
article.category .entry .flxbtns a:hover,
article.category .entry .flxbtns a:active{
	flex: 0 0 auto;
	width: calc(20% - 1em);
	text-decoration: none;
	color: #0066cc;
	border: solid thin #0066cc;
	border-radius: 0.5em;
	margin:0.5em;
	padding: 2em 1em;
	text-align: center;
	font-weight: bold;
	background-color:#0066cc;
	color: #fff;
}
article.category .entry .flxbtns a[aria-current=page],
article.category .entry .flxbtns a:hover{
	color:#0066cc;
	background-color: #fff;
}


/*	page
-------------------------------------------------*/


/*	会社概要
-------------------------------------------------*/


/*	single
-------------------------------------------------*/
article.post{
	max-width:980px;
	padding:0 2rem 2rem;
	margin:0 auto 2rem;
	border-bottom:1px solid #ccc;
}
article.post .posth3{margin-bottom:2rem;}
article.post p{margin-bottom:1rem;}

article.post .postdate{text-align:right;}


.file_wrap{}
.file_wrap .file_inline{margin:0 0 2rem;}
.file_wrap .file_inline iframe,
.file_wrap .file_inline embed{
	width:100%;
	min-height:80vh;
}
.file_wrap .file_link{text-align:center;}
.file_wrap .file_link a:link,
.file_wrap .file_link a:visited{
	font-size:1rem;
	color:#006493;
	text-decoration:none;
	text-align:center;
	font-weight:bold;
	display:inline-block;
	padding:1rem 2rem;
	background-color:#def1fa;
	border:2px solid #006493;
	min-width:6rem;

}
.file_wrap .file_link a:hover,
.file_wrap .file_link a:active{
	color:#fff;
	background-color:#006493;
}

/*	FOOTER
-------------------------------------------------
*/
footer{
	color:#fff;
	text-align:center;
	font-weight:bold;
	padding:2rem;
	border-bottom:3px solid #006493;
	background-color:#006493;
}


/*	新着情報
-------------------------------------------------*/


/*	お問合せフォーム
-------------------------------------------------
*/



/*	MISC
-------------------------------------------------
*/


	figure img{width:100%;height:auto;}

/*	Mobile
-------------------------------------------------
*/
/*PC*/

@media (min-width: 960px) {
	.pc_none{display:none!important;}
	/*header*/
	.headermenu{
		display:flex;
		justify-content: space-between;
		align-items: center;
		list-style:none;
	}
	.headermenu li{font-weight:bold;}
	.headermenu li div{
		padding:0.5rem 1rem;
		cursor:pointer;
		min-width:240px;
	}
	.headermenu li.jwwa_menu,
	.headermenu li.jswa_menu{
		margin:0 0.5rem;
		position:relative;
	}
	.headermenu li:hover{
		background-color:rgba(255,255,255,0.4);
	}
	.headermenu li span{margin-left:0.5rem;}

	.sub_menu{
		display:none;
		opacity:0;
		transition: opacity 0.3s ease;
		list-style:none;
		position:absolute;
		top:100%;
		left:0px;
		width:100%;
		border-top:1px solid #fff;
		background-color:rgba(255,255,255,0.4);
		padding:0.5rem;
	}

	.headermenu li:hover .sub_menu{
		display:block;
		opacity:1;
	}

	.sub_menu li{
		border-bottom:1px solid #fff;
	}
	.sub_menu li a:link,
	.sub_menu li a:visited{
		color:#333;
		text-decoration:none;
		display:block;
		padding:0.5rem;
	}
	/*top_page*/
	.top_image{height:100vh;}
	.top_image .top_image_back{
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
	}
	.top_item_jwwa,
	.top_item_jswa{width:80vw;}
	.top_item_jwwa{z-index:2;margin-left:auto;}
	.top_item_jswa{z-index:3;margin-right:auto;}
	.top_item_jswa .tc_link{order:2;}
	.top_item_jswa .tc_image{order:1;}
	.tc_other{display:flex;}
	.tc_other .tc_link,
	.tc_other .tc_image{
		width:50%;
		height:520px;
		height:auto;
	}
	.tc_other figure.tc_image{
		font-size:0;
		position:relative;
		overflow:hidden;
	}
	.tc_other figure.tc_image img{
		position:absolute;
		top:0px;
		width:initial;
		height:initial;
	}
	.top_item_jwwa .tc_other figure.tc_image img{left: 50%;transform: translate(-50%);}
	.top_item_jswa .tc_other figure.tc_image img{right: 50%;transform: translate(50%);}
	.tc_link{padding-bottom:5rem;}
	.tc_other figure.tc_image figcaption{
		font-size: 1rem;
		position: absolute;
		bottom: 80px;
		right: 1em;
		color: #fff;
		text-shadow: 3px 3px 3px #1c7cb8, -3px -3px 3px #1c7cb8, -3px 3px 3px #1c7cb8, 3px -3px 3px #1c7cb8;
	}

}

@media (max-width: 1200px) {
	.hcontainer h1{font-size:1.2rem;}
}
/*SP*/
@media (max-width: 960px) {
	.sp_none{display:none!important;}
	.sp_block{display:block!important;}
	/*header*/
	.header_wrap{
		position:relative;
		padding:1rem;
	}
	.hcontainer h1{font-size:1rem;}
	.spmenu_btn span{display:block;font-size:0;}
	.spmenu_btn span img{width:2rem;}

	#head_nav{
		display:none;
		position:absolute;
		left:0px;
		top:100%;
		width:100%;
		padding:0 1rem;
		background-color:rgba(255,255,255,1);
	}
	#head_nav ul{list-style:none;}
	#head_nav li div{
		text-align:center;
		font-weight:bold;
		background-color:#fff;
		padding:0.5rem;
	}
	#head_nav li .sub_menu li{border-bottom:1px solid #006493;}
	#head_nav li .sub_menu li a{
		color:#006493;
		text-decoration:none;
		font-weight:bold;
		display:block;
		padding:0.5rem;
		background-color:rgba(255,255,255,1);
	}



	/*top_page*/
	.top_image{width:100%;height:80vh;}
	.top_image .top_image_catch{flex-wrap:wrap;}
	.top_image .top_image_catch h2{margin:0 auto 1rem;text-align:center;}
	.top_image .top_image_catch img{width:80%;}
	.top_image .top_image_back{width:auto;height:100%;}

	.tc_info{
		flex-wrap:wrap;
		width:90%;
		margin:0 auto;
		height: auto;
	}
	.tc_info h2.tci_title,
	.tc_info .tci_link{
		width:100%;
		font-size:1rem;
		font-weight:bold;
	}
	.tc_info h2.tci_title{padding:0.5rem;}
	.tc_info .tci_link a:link,
	.tc_info .tci_link a:visited{padding:0.5rem;}

	.tc_info h2.tci_title span{display:inline-block;}

	.tc_link ul{
		display: flex;
		flex-wrap: wrap;
	}
	.tc_link ul li{margin: 0 1rem 2rem;}
	.tc_other figure.tc_image{
		width:100%;
		height:calc(100vw / 4 * 3);
		overflow:hidden;
	}
	.tc_other figure.tc_image img{width:auto;height:100%;}
	.tc_other figure.tc_image figcaption{
		font-size: 0.8rem;
		position: absolute;
		bottom: 80px;
		right: 1em;
		color: #fff;
		text-shadow: 3px 3px 3px #1c7cb8, -3px -3px 3px #1c7cb8, -3px 3px 3px #1c7cb8, 3px -3px 3px #1c7cb8;
	}

	footer{
		padding:0.5rem;
		font-size:0.8rem;
	}
	div.h2back{
		font-size:1rem;
		padding:2rem 1rem;
	}

}



/*	HACK
-------------------------------------------------
*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

