@charset "utf-8";
/* CSS Document */

/*1024px以下の時だけ読み込まれるCSS*/

/* 基本の設定 ----------------------------------*/
body { font-size: 1.4rem; }
.width80 { width: 85%; min-width: 720px; }

.init-h2 { font-size: 2.8rem; }


/*768px以下の時*/
@media (max-width: 768px) {
	.width80 { width: 90%; min-width: 340px; }
}




/* ヘッダーの設定 ----------------------------------*/

/*ヘッダー内ナビゲーション ----------*/
.header-nav { width: 100%; height: 100vh; background: #1f4fa1ee;
	position: fixed; top: 0; left: 0; transition: all 0.3s;
	visibility: hidden; opacity: 0; z-index: -1; }
.header-nav.panelactive { visibility: visible; opacity: 1; z-index: 999; }
.header-nav-list.flex {
	flex-wrap: wrap; width: 100%; position: absolute; top: 50%;
	translate: 0 -50%; }
.header-nav-item { width: 100%; padding: 3vh 5%; }
.header-nav-item p { color: #fff; }
.header-nav-item p.navi-name { font-size: 1.6rem; }

/*トグルボタン ----------*/
.openbtn {
	width: 50px; height: 50px; background: #1f4fa1; border-bottom-left-radius: 5px;
	position: relative; cursor: pointer; z-index: 9999; }
.openbtn.active { background: none; }
.openbtn span {
	display: inline-block; width: 45%; height: 3px; background: #fff;
	border-radius: 2px; position: absolute; left: 14px; transition: all .4s; }
.openbtn span:nth-of-type(1) { top: 15px; }
.openbtn span:nth-of-type(2) { top: 23px; }
.openbtn span:nth-of-type(3) { top: 31px; }
.openbtn.active span:nth-of-type(1) {
	width: 30%; top: 18px; left: 18px; translate: 0 6px; rotate: -45deg; }
.openbtn.active span:nth-of-type(2) { opacity: 0; }
.openbtn.active span:nth-of-type(3) {
	width: 30%; top: 30px; left: 18px; translate: 0 -6px; rotate: 45deg; }




/* フッターの設定 ----------------------------------*/
.contact-text-wrapper .tel-no:after { content: none; }

/*768px以下の時*/
@media (max-width: 768px) {
	.footer-upper.flex-center { flex-wrap: wrap; }
	.footer-banner,
	.nocolumn .footer-banner { width: 100%; max-width: 450px; }
	.footer-banner:first-child { margin-bottom: 56px; }
	.nocolumn .footer-banner:first-child { margin-bottom: 0; }
	.recruit-bnr .footer-bnr-wrapper { height: 230px; }
	.recruit-bnr .init-h2 { margin-top: -3em; }
	.recruit-bnr .init-h2 span { position: static; }
	.recruit-bnr .button {
		width: 16em; position: absolute; left: 50%; bottom: -3.2em;
		translate: -50% 0; }
	.footer-company-info { margin-bottom: 24px; }
	.footer-nav { display: none; }
}
/*428px以下の時*/
@media (max-width: 428px) {
	.footer-banner.recruit-bnr { border-radius: 0 0 4px 4px; }
	.recruit-bnr .ribbon {
		width: 11em; padding-top: 6px; padding-bottom: 4px; font-size: 1.1em;
		clip-path: polygon(0% 0%, 100% 0, 95% 50%, 100% 100%, 0% 100%); left: 0; }
}


