/*
Theme Name: astec
Author: astecf
Description: astec様専用のWordPressテーマです
Version: 1.0

*/

/* リセット */
* {
	box-sizing: border-box;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

fieldset, img {
	border: 0
}

address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal
}

ol, ul {
	list-style: none
}

caption, th {
	text-align: left
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal
}

q:before, q:after {
	content: ''
}

abbr, acronym {
	border: 0;
	font-variant: normal
}

sup {
	vertical-align: text-top
}

sub {
	vertical-align: text-bottom
}

input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}

legend {
	color: #000
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.aligncenter {
    display: block;
    margin: 0 auto;
}
.alignright { float: right; }
.alignleft { float: left; }

.align-center {
	text-align: center;
}

.align-left {
	text-align: left;
}

.align-right {
	text-align: right;
}

.mb15 {
	margin-bottom: 15px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb400 {
	margin-bottom: 400px;
}
@media screen and (max-width: 768px) {
	.mb80 {
		margin-bottom: 40px;
	}
	.mb400 {
		margin-bottom: 30px;
	}
}

@media screen and (min-width: 769px) {
	.pc-none {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.sp-none {
		display: none;
	}
}

/* スマホメニュー */

@media screen and (max-width: 768px) {
	nav.NavMenu {
		position: fixed;
		z-index: 2;
		top: 0;
		left: 0;
		background: #fff;
		color: #000;
		text-align: center;
		width: 100%;
		height: 100%;
		overflow-y: scroll;
		transform: translateY(-100%);
		transition: all 0.6s;
	}
	nav.NavMenu ul {
		background: #293789;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		color: #fff;
		z-index: 1;
	}
	nav.NavMenu ul li {
		font-size: 1.1em;
		list-style-type: none;
		padding: 10px 0;
		width: 100%;
		/*border-bottom: 1px dotted #333;*/
		border-bottom: 1px dotted #fff;
		/*height: 52px;*/
		display: flex;
		align-items: center;
		text-align: center;
		margin: 0 auto;
		justify-content: center;
	}
	nav.NavMenu ul li ul {
		display: none;
		margin-top: 20px;
	}
	nav.NavMenu ul li ul.is-active {
		display: block;
	}
	nav.NavMenu ul li ul li {
		border-bottom: none;
		margin-bottom: 10px;
	}
	nav.NavMenu ul li .nav-sp-parent,
	nav.NavMenu ul li .nav-sp{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
	/*	padding: 10px 0;*/
	}
	nav.NavMenu ul li:last-child {
		border-bottom: none;
	}
	nav.NavMenu ul li:hover{
		display: block;
	}
	nav.NavMenu ul li a {
		display: inline-block;
		color: #fff;
		/*padding: 1em 0;*/
		text-decoration: none;
	}
	nav.NavMenu ul li .nav-sp-parent,
	nav.NavMenu ul li .nav-sp-link{
		width: 100%;
		height: auto;
		padding: 10px 0;
	}
	nav.NavMenu.active {
		transform: translateY(0%);
	}
.aftericonsp > a{
	display: block;
	position: relative;
	width: 100%;
}
.aftericonsp > a::after {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	background: url("./common/img/ico_link_w.png") top right no-repeat ;
	background-size: 14px 14px;
	display: inline-block;
	top: 9px;
}

	.Toggle {
		display: block;
		position: fixed;
		right: 13px;
		top: 12px;
		width: 42px;
		height: 42px;
		cursor: pointer;
		z-index: 3;
		background-color: rgba(255, 255, 255, 0.5);
	}
	.Toggle span {
		display: block;
		position: absolute;
		width: 30px;
		border-bottom: solid 3px #000;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		left: 6px;
	}
	.Toggle span:nth-child(1) {
		top: 9px;
	}
	.Toggle span:nth-child(2) {
		top: 18px;
	}
	.Toggle span:nth-child(3) {
		top: 27px;
	}
	.Toggle.active span:nth-child(1) {
		top: 18px;
		left: 6px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.Toggle.active span:nth-child(2), .Toggle.active span:nth-child(3) {
		top: 18px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
}


/* 共通CSS */

html {
	font-size: 62.5%;
}

body {
	position: relative;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
	font-size: 1.5rem;
	line-height: 1.8;
	overflow-x: hidden;
	color: #000;
	word-break: break-all;
}

@media screen and (max-width: 768px) {
	body {
		background: none;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1;
}

figure {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

img {
	height: auto;
	line-height: 0;
	max-width: 100%;
}

a {
	color: #000;
}

a:hover {
	text-decoration: underline;
}

a:hover img {
	opacity: 0.8;
}

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}

.tx-c {
	text-align: center;
}

.tx-r {
	text-align: right;
}

.tx-l {
	text-align: left;
}

@media screen and (min-width: 768px) {
	.sp_br {
		display: none;
	}
}
.inner {
	padding: 0 100px;
}

@media screen and (max-width: 768px) {
	.inner {
		padding: 0 15px;
	}
	section {
		margin: 0 auto 30px;
	}
}



/* header */

header {
	position: relative;
	line-height: 0;
	width: 100%;
	margin-bottom: 30px;
}

header .site-header {
	padding: 50px 30px 15px;
	display: flex;
	justify-content: space-between;
}

header .header-left .logo {
	width: 300px;
}
@media screen and (max-width: 768px) {
	header {
		margin-bottom: 20px;
	}
	header .site-header {
		margin: 0;
		padding: 0;
	}
	header .header-left .logo {
		margin: 20px 0 0 20px;
		height:46px;
	}
}

header .nav-list {
	display: -webkit-box;
	margin-top: 20px;
	color: #f7a631;
}

header .nav-list li {
	font-size: 16px;
	font-weight: bold;
	margin-left: 30px;
	position: relative;
	color: #000c4a;
}



header .nav-list li a{
	text-decoration: none;
	color: #000c4a;
}

header .nav-list li a:hover{
	text-decoration: none;
	color: #f8ad41;
}
header .nav-list li ul li a{
	display: block;
}

header .header-right .btn-entry {
	position: relative;
	top: -36px;
}

header .nav-list li.btn-entry a ,
header .nav-list li.btn-entry a:hover {
	text-decoration: none;
	color: #fff;
}


header .nav-list li ul{
	position: absolute;
	top: 60%;
	left: 0;
	background-color: #fff;
	border-radius: 20px;
	filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.2));
}
header .nav-list li:last-child ul{
	left: -100%;
	width: 100%;
}
header .nav-list li ul li{
	overflow: hidden;
	width: 200%;
	height: 0;
	line-height: 1.5;
	color: #fff;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
}
header .nav-list li ul li a{
	/*padding: 20px 5px;*/
	padding: 8px 5px;
	/*width:380px;*/
	width: 400px;
}
header .nav-list li:hover ul li{
	overflow: visible;
	height: 45px;
}
header .header-right nav .nav-list li ul li{
	margin-left: 16px;
}
.aftericon{
	margin-right: 20px;
}
.aftericon > a{
	display: block;
	position: relative;
	width: 100%;
}
.aftericon > a::after {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	background: url("./common/img/ico_link.png") top right no-repeat ;
	background-size: 14px 14px;
	display: inline-block;
	top: -7px;
}
.aftericon > a:hover::after {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	background: url("./common/img/ico_link_hover.png") top right no-repeat ;
	background-size: 14px 14px;
	display: inline-block;
	top: -7px;
}

/*header追従*/
.site-header{
	z-index: 100;
	position: fixed;
	width: 100%;
	transition: .5s
}
.site-header.transform{
	background: rgba(255,255,255,0.8);
	padding-top: 30px;
	padding-bottom: 10px;
	display: flex;
	margin: 0;
	position: fixed;
	justify-content: space-between;
	width: 100%;
	height: 102px;
	transition: .5s;
}
@media screen and (max-width: 768px) {
	.site-header{
		position: static;
	}
	.site-header.transform{
		background: rgba(255,255,255,0.0);
		padding: 0;
		position: static;
		height: auto;
	}
}


/* entry */

.btn-entry-white a:hover,
.btn-entry a:hover{
	opacity: 0.8;
}
.btn-entry a{
	width: 200px;
	height: 72px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #182A86;
	border-radius: 40px;
	font-size: 18px;
	margin: 0 auto;
}
.btn-entry-white a{
	color: #182A86;
	text-decoration:none;
	width: 200px;
	height: 72px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border-radius: 40px;
	font-size: 18px;
	margin: 0 auto;
}

/* recruit */

#recruit {
	margin: 50px 0 70px;
}

.recruit-box {
	max-width: 1240px;
	height: 308px;
	padding: 18px 53px;
	background: url(./common/img/bg-recruit.png) no-repeat center top;
	background-size: cover;
	color: #333333;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 40px;
	border-radius: 50px;
}

.recruit-box h2 {
	color: #fff;
	font-size: 32px;
	display: block;
}

section .recruit-box .text-box p {
	color: #fff;
	display: block;
}


@media screen and (max-width: 768px) {
	#recruit {
		padding: 20px 0;
		margin: 0;
		background-color: #feb744;
	}
	#recruit .inner {
		padding: 0;
	}
	.recruit-box {
		max-width: 100%;
		height: auto;
		padding: 50px 20px;
		background: url(./common/img/bg-recruit.png) no-repeat center top;
		background-size: cover;
		color: #333333;
		display: block;
		justify-content: center;
		align-items: center;
		margin: 0 15px;
	}
}


/* footer */

footer {
	padding: 55px 0 50px;
}

footer p#copyright {
	font-family: Arial, 'ＭＳ Ｐゴシック', sans-serif;
	color: #4e576e;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	margin: 50px 0 0px;
}

@media screen and (max-width: 768px) {
	footer {
		padding: 15px;
	}
	footer p#copyright {
		margin: 20px 0 0px;
		font-size: 11px;
	}
}
