﻿/* CSS Document */

* {
	padding:0;
	margin:0;
	outline:none;
	}
html {
	overflow: auto;
	}
body {
	overflow: hidden;
	text-align:center;
	font-family: "Asap" , Helvetica , Arial, 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.8;
	-webkit-text-size-adjust:100%;
	font-optical-sizing: auto;
	color: #636363;
}
.asap {
	font-family: "Asap", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:"wdth" 100;
}
.oswald {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
img {
	vertical-align:top;
	border:0;
	width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
	}
li {
	list-style-type: none;
}
p,a,li,div {
	max-height: 100%;
}

/* --- class and other set --- */
.shadow {
	text-shadow: rgba(0,0,0,.65) -0.2rem 0.2rem 0.38rem;
}
.just {
	text-align: justify;
}
a {
	color: #636363;
	text-decoration: none;
}
.inner { width: 100%; position: absolute; left: 0; top: 0; }
.clearfix::after { content: ""; display: block; clear: both;}
@media only screen and (min-width: 768px) {
	html, body {
		font-size: calc(20*100vw / 1440);
	}
	.sp {
		display: none;
	}
	.contents {
	}
}
@media only screen and (max-width: 767px) {
	html, body {
		font-size: 3.125vw;
	}
	.pc {
		display: none;
	}
	#wrap { width: 100vw; }
	.contents {
		margin: 0 5%;
	}
}
/* --- originals --- */
.link.rnd a, .link.rnd button { border-radius: 1.6em;}
.link span { font-size: 90%; vertical-align: middle; }
@media only screen and (min-width: 768px) {
.link a, .link button { transition: all ease .3s; }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
}/* --- sp --- */

/* --- navi --- */
.naviContainer { width: 100%;}
.naviContainer nav { width: 100%; box-sizing: border-box; position: fixed; left: 0; top: 0;  display:flex; flex-direction: row; justify-content: space-between; align-items: center; background-color:#fff; z-index: 2; }
nav .menubtn { font-size: 0;}
nav .menubtn a { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;}
@media only screen and (min-width: 768px) {
.naviContainer, nav { height: 4rem;}
nav { gap: 0 .5rem;  padding: 0 0 0 1.5rem;}
nav .logo { width: 12%; font-size: 0; }
nav .menubtn { width: 1.7rem; height: 1.7rem; padding: 1.5rem;}
nav .menubtn a { cursor: pointer;}
nav #menu { width: 42%; display: grid; margin-left: auto; margin-right: 0.5rem; grid-auto-flow: column; align-items: center; gap: .25rem; }
nav #menu li a { display: block; font-size: 0.75rem; font-weight: 600; line-height: 2; }
nav #menu li.mordal { position: relative; font-size: 0.85rem;}
nav #menu li.mordal div { visibility: hidden; width: 11em; position: absolute; left: calc(50% - 5.5em); transition: all ease .5s; top: 1.5rem; opacity: 0;;}
nav #menu li.mordal div a { display: block; line-height: 3.6; background-color: #fff; border-left: 1px solid #004fa2; border-right: 0.05rem solid #004fa2;}
nav #menu li.mordal div a:nth-of-type(1) { border-top: 1px solid #004fa2;}
nav #menu li.mordal div a:nth-last-child(1) { border-bottom: 1px solid #004fa2;}
nav #menu li.mordal div a:hover {}
nav #menu li.mordal:hover div { visibility: visible; opacity: 1;}
nav #menu li a span.liner { position: relative; display: inline-block; vertical-align: top; overflow: hidden;}
nav #menu li a span.liner::after { content: ""; display: block; width: 100%; height: 1px; background-color: #636363; position: absolute; left: -100%; top: calc(50% + 0.6em); transition: left ease .3s;}
nav #menu li a:hover span.liner::after { left: 0;}
}/* --- pc --- */


@media only screen and (max-width: 767px) {
.naviContainer, nav { height: 4rem;}
nav { gap: 0 .5rem;  padding: 0 0 0 1rem;}
nav .logo { width: 24%; font-size: 0; }
nav .menubtn { width: 1.7rem; height: 1.7rem; padding: 1.5rem;}
nav #menu { display: none;}
}/* --- sp --- */

/* --- global menu --- */
.global_window {  position: fixed; width: 100%; z-index: 2;  text-align: left;}
.global_window.open { top: 0; left: 0;}
.global_window .naviContainer nav { position: static; background-color: transparent;}
.global_window .naviContainer nav .menubtn { width: 1.2rem; height: 1.2rem; }
.global_window a,
.global_menu a { color: #fff; font-weight: 400;}
@media only screen and (min-width: 768px) {
.global_window { background-color: #404040; color: #fff; padding: 0 0 3.5rem 0; top: -100svh; left: 0; box-sizing: border-box; height: 100svh; transition: top ease .5s; opacity: 0;}
.global_window.open { opacity: 1;}
.global_window .contents { margin: 0 5%;}
.global_window p, .global_window li { font-size: .7rem; }
.global_window a:hover { text-decoration: underline;}
.global_window p.gotop { text-align: center; font-size: .8rem; font-weight: 500; margin: max( 1rem, calc(50svh - 14rem)) 0 3rem;}
.global_menu { width: 100%; display: grid; grid-auto-flow: column; grid-template-columns :17% 18% 16% 12% 13% 14%; gap: 0 2%;}
.global_menu a,.global_menu p,global_window p { line-height: 2rem; }
.global_menu p,.global_menu .unit:not(.pc) p a, p.gotop a { font-weight: 700;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.global_window { background-color: #084b96; color: #fff; padding: 0 0 3.5rem 0; top: 0; left: 100svw; box-sizing: border-box; height: 100svh; transition: left ease .5s;}
.global_window .contents { margin: 0 5%;}
.global_window .unit a { line-height: 1.8; display: block;}
.global_window p.gotop { font-weight: 500; margin: 1rem 0;; font-size: 1.5rem;}
.global_window .unit p { font-size: 1.3rem; margin: 0 0 .5em;}
.global_window ul { margin: 1rem 0;}
.global_window li { font-size: 1.15rem; margin-bottom: 1rem; margin-left: 1.5rem;}
.global_window .policy li { margin-left: 0;}
}/* --- sp --- */




/* --- footer --- */
#footer { background-color: #404040; text-align: left; }
#footer p, #footer a { color: #fff;}
#foot_logogroup p { display: inline-block;}
@media only screen and (min-width: 768px) {
#footer { padding: 3.6rem 3.6rem 1rem 4.8rem }
#footer .shelf { display: flex; justify-content: space-between;}
#footer p, #foot_menu li { font-size: .7rem; }
#footer a:hover { text-decoration: underline;}
#foot_companyinfo div.logo { width: 8.65rem;}
#foot_companyinfo p.strong { font-size: .9rem; font-weight: 900; margin: 2em 0 1em;}
#foot_links { margin-top: 2rem;}
#foot_menu.global_menu { width: 70%; margin-top: 0.25rem; grid-template-columns :22% 24% 15% 15% 14%; gap: 1.5rem 2.5%;}
#foot_menu.global_menu .unit { min-width: 5rem;}
#foot_menu.global_menu .unit:nth-of-type(1) { grid-column: 1 / 2; grid-row: 1 / 2;}
#foot_menu.global_menu .unit:nth-of-type(2) { grid-column: 2 / 3; grid-row: 1 / 2;}
#foot_menu.global_menu .unit:nth-of-type(3) { grid-column: 3 / 4; grid-row: 1 / 2;}
#foot_menu.global_menu .unit:nth-of-type(4) { grid-column: 4 / 5; grid-row: 1 / 2;}
#foot_menu.global_menu .unit:nth-of-type(5) { grid-column: 5 / 6; grid-row: 1 / 2;}
#foot_menu.global_menu .unit:nth-of-type(6) { grid-column: 2 / 3; grid-row: 2 / 3;}
#foot_menu p.global_menu { font-size: .75rem; font-weight: 700; margin-bottom: 1.5em;}
#foot_menu .unit:nth-of-type(6) p { margin-bottom: 1em;}
#foot_menu .unit:last-of-type p a { font-weight: 400;}
#foot_logogroup { width: 100%; display: flex; margin-top: 1.5rem;}
#foot_logogroup p {  font-size: .55rem; margin-left: 5em;}
#foot_logogroup p span { margin-left: -5em;}
#foot_logogroup .unit:nth-of-type(1) { width: 9.4rem;}
#foot_logogroup .unit:nth-of-type(1) img { width: 6.35rem; margin-bottom: .5rem;}
#foot_logogroup .unit:nth-of-type(2) { width: 8.6rem; margin-top: 5.5rem; margin-left: 2rem; display: flex; justify-content: space-between;}
#foot_logogroup .unit:nth-of-type(2) img:nth-of-type(1) { width: 3.85rem; height: 2rem;}
#foot_logogroup .unit:nth-of-type(2) img:nth-of-type(2) { width: 4.25rem; height: 2rem;}
#foot_logogroup .unit:nth-of-type(3) { width: 11.8rem;  margin-top: 4.8rem; margin-left: 1.5rem;}
#footer p.copyright { width: 15rem; font-size: .65rem; text-align: right; margin-top: 8rem;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
#footer { padding: 2rem 5% 2rem; }
#foot_menu p,#foot_menu .unit:not(:last-of-type) p a { font-weight: 700;}
#foot_companyinfo div.logo { width: 24%;}
#foot_companyinfo p.strong { font-size: 1.1rem; font-weight: 700; margin: 2em 0 .5em;}
#foot_logogroup { width: 100%; margin: 3rem 0 1.5rem; display: grid; grid-template-columns: 34% 35%; gap: 1.5rem 4%;}
#foot_logogroup p {font-size: .6rem; margin-left: 5em; margin-right: 47%; display: block;}
#foot_logogroup p span { margin-left: -5em;}
#foot_logogroup .unit:nth-of-type(1) { grid-column: 1 / 3;  grid-row: 1 / 2;}
#foot_logogroup .unit:nth-of-type(1) img { width: 40%; display: block; margin-bottom: .5rem;}
#foot_logogroup .unit:nth-of-type(2) { grid-column: 1 / 2; grid-row: 2 / 3;}
#foot_logogroup .unit:nth-of-type(2) img { vertical-align: top;}
#foot_logogroup .unit:nth-of-type(2) img:nth-of-type(1) { width: 43.5%; margin-right: 4%;}
#foot_logogroup .unit:nth-of-type(2) img:nth-of-type(2) { width: 48.5%;}
#foot_logogroup .unit:nth-of-type(3) { grid-column: 2 / 3;  grid-row: 2 / 3;}
#footer p.copyright { font-size: .7rem;}

}/* --- sp --- */


/* --- head TOP--- */
.toppage #head { position: relative; overflow: hidden; background: linear-gradient(#fff, #fff 10%, #e6f2ff 80%); text-align: left; }
.toppage #head .box p { line-height: 1.4; font-weight: 600; letter-spacing: 0.03em;}
.toppage #head .box p:nth-of-type(1) { color: #004fa3;}
.toppage #head img { position: absolute;}

.toppage #head img {
	transform-origin: 45% 50%;
	animation: typorotate 3s both ease-in-out 2.5s;
}
.toppage #head .box p:nth-of-type(1) {
	animation: titlefadein 2s both ease-out 1s;
}
.toppage #head .box p:nth-of-type(2) {
	animation: titlefadein 2s both ease-out 2.5s;
}
.toppage #head .box p:nth-of-type(3) {
	animation: titlefadein 1.75s both ease-out 4s;
}
@keyframes titlefadein {
0% {
opacity: 0; transform: translateX(-2.5%);
}
100% {
opacity: 1; transform: translateX(0%);
}
}
@keyframes typorotate {
0%{
transform: rotateX(-15deg) rotateZ(-70deg) translateX(120%)  translateY(150%)  scale(3.6); opacity: 0;
}
100%{
transform: rotateX(0deg) rotateZ(0deg) translateX(0%)  translateY(0%)  scale(1) ;
opacity: 1;
}
}

@keyframes typorotate_sp {
0%{
transform: rotateX(-15deg) rotateZ(-90deg) translateX(160%)  translateY(220%)  scale(3.6); opacity: 0;
}
100%{
transform: rotateX(0deg) rotateZ(0deg) translateX(0%)  translateY(0%)  scale(1) ;
opacity: 1;
}
}


@media only screen and (min-width: 768px) {
.toppage #head img {
	transform-origin: 45% 50%;
	animation: typorotate 3s both ease-in-out 2.5s;
}
.toppage #head { height: calc(100svh - 4rem); max-height: min(calc(100svh - 4rem), 42svw);}
.toppage #head img { width: 78.9%; top: -1.8rem; right: -3rem;}
.toppage #head .box { position: absolute; top: 7.5rem; left:6.5rem;}
.toppage #head .box p:nth-of-type(1) {font-size: 2.65rem; margin-left: -0.2rem;}
.toppage #head .box p:nth-of-type(2) {font-size: 2.2rem; }
.toppage #head .box p:nth-of-type(3) { font-size: 1.2rem; margin-top: 1em;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.toppage #head img {
	transform-origin: 45% 50%;
	animation: typorotate_sp 3s both ease-in-out 2.5s;
}
.toppage #head { height: 57svh;}
.toppage #head img { width: 145%; top: calc( 9% + 7rem); right: -5rem;}
.toppage #head .box { position: absolute; top: 8%; left:8%;}
.toppage #head .box p:nth-of-type(1) {font-size: 2.2em; margin-bottom: .2em;}
.toppage #head .box p:nth-of-type(2) {font-size: 2.1rem; }
.toppage #head .box p:nth-of-type(3) { font-size: 1.2rem; margin-top: .75em;}
}/* --- sp --- */

/* --- head lower--- */
.lowerpage #head { background-repeat: no-repeat; background-size: cover; background-position: center center; }
.lowerpage #head .contents { display: flex; align-items: center;}
.lowerpage #head .contents h1 { color: #fff; font-weight: 800; text-align: left;}
@media only screen and (min-width: 768px) {
.lowerpage #head .contents { min-height:11.6svw; }
.lowerpage #head .contents h1 { font-size: 1.3rem;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
}/* --- sp --- */
.lowerpage #head .contents { aspect-ratio: 5 / 1; }
.lowerpage #head .contents h1 { font-size: 1.3rem;}

/* --- main --- */

section hgroup { text-align: left; position: relative;}
section hgroup h2 { font-weight: 700; margin-bottom: 0.5rem;}
section#service { background-image: url(../images/top_service.jpg); background-size: cover; color: #fff;}
section#news { background-color:rgba(138, 173, 212, 0.3);}
a.readmore { display: block; background-color: #004fa2; color: #fff; font-weight: 800; background-repeat: no-repeat; background-image: url(../images/arrow.svg); background-size: auto 0.75em; background-position: 85% center; line-height: 3.2; border-radius: 1.6em; box-sizing: border-box; padding: 0 1.5em;  }
.shelf.selector .unit > a { display: block; width: 100%; }
.shelf.selector .unit > a.sel { pointer-events: none;}
.shelf.selector .unit .inner { aspect-ratio: 300 / 190; border-radius: 0.4rem; overflow: hidden; }

.shelf.selector.about .unit .inner.bg.color { background-color: #e4e4e5;   transition: background-color ease .3s;}
.shelf.selector.about .unit .inner.bg.img { background-repeat: no-repeat; opacity: 1;  transition: opacity ease .3s;}
.shelf.selector.about .unit .inner.txt { color: #004fa2; }
.shelf.selector.about .unit .inner.txt p { font-weight: 800; margin-top: 2.2rem; transition: color ease .3s;}
.shelf.selector.about .unit .inner.txt::after,
.shelf.selector.about .unit .inner.txt p span { display: block; width: 50%; position: absolute; left: 25%; top: 52%; opacity: 1;  transition: opacity ease .3s;}
.shelf.selector.about .unit .inner.txt::after {  content: ""; padding-bottom: 21%; background-image: url(../images/logo_white.svg); background-repeat: no-repeat; background-size: 100% auto; background-position: center top; opacity: 0;}
.shelf.selector.about .unit a.sel .inner.bg.color,
.shelf.selector.about .unit a:hover .inner.bg.color { background-color: #004fa2;}
.shelf.selector.about .unit a.sel .inner.bg.img,
.shelf.selector.about .unit a:hover .inner.bg.img { opacity: .2;}
.shelf.selector.about .unit a.sel .inner.txt p,
.shelf.selector.about .unit a:hover .inner.txt p { color: #fff;}
.shelf.selector.about .unit a.sel .inner.txt::after,
.shelf.selector.about .unit a:hover .inner.txt::after { opacity: 1;}
.shelf.selector.about .unit a.sel .inner.txt p span,
.shelf.selector.about .unit a:hover .inner.txt p span { opacity: 0;}
.shelf.selector.about .unit:nth-of-type(1) .inner.bg.img { background-image: url(../images/pct_about_11.svg); background-size: 111%; background-position: center center; }
.shelf.selector.about .unit:nth-of-type(2) .inner.bg.img { background-image: url(../images/pct_about_12.svg); background-size: 105%; background-position: center center; }
.shelf.selector.about .unit:nth-of-type(3) .inner.bg.img { background-image: url(../images/pct_about_13.svg); background-size: 105%; background-position: center center; }
.shelf.selector.about .unit:nth-of-type(4) .inner.bg.img { background-image: url(../images/pct_about_14.svg); background-size: 101%; background-position: -.5rem center; }
.contents.floater { border-bottom: 1px solid #004FA3; margin: 0; padding: 0 10%;}
.float:not(.fix) .contents.floater,
.float.fix.removefix .contents.floater { position: fixed; left: 0; top: 4rem; width: 100%; background-color: #fff; box-sizing: border-box; margin: 0; padding: 1rem 10%; z-index: 1; border-top: 1px solid #004FA3;}
.float.fix .contents.floater { padding: 1rem 10%; }
.float .shelf.selector { margin: 0;}
.float .shelf.selector .unit { aspect-ratio: 344 / 100; border-radius: 0.4rem; overflow: hidden; min-height: 0; }
.float .shelf.selector .unit a { display: flex; align-items: center;}
.float .shelf.selector .unit .inner  { aspect-ratio: 344 / 100;}
.float .shelf.selector .unit a .inner.bg.color { background-color: #e4e4e5; }
.float .shelf.selector .unit a.sel .inner.bg.color,
.float .shelf.selector .unit a:hover .inner.bg.color { background-color: #004fa2;}
.float .shelf.selector .unit a .inner.txt { display: none;}
.float .shelf.selector .unit a p.sub { display: flex; width: 100%; height: 100%; padding: 0; align-items: center; position: absolute; left: 0; top: 0; box-sizing: border-box; padding-left: 1.25em; font-weight: 500;}
.float .shelf.selector .unit a.sel p.sub,
.float .shelf.selector .unit a:hover p.sub { color: #fff;}
.float .shelf.selector.about .unit:nth-of-type(1) .inner.bg.img { background-image: url(../images/pct_about_11_hover.svg); background-size: 20%; background-position: 98% 48%; }
.float .shelf.selector.about .unit:nth-of-type(2) .inner.bg.img { background-image: url(../images/pct_about_12_hover.svg); background-size: 20%; background-position: 103% center; }
.float .shelf.selector.about .unit:nth-of-type(3) .inner.bg.img { background-image: url(../images/pct_about_13_hover.svg); background-size: 22%; background-position: 102% 60%; }
.float .shelf.selector.about .unit:nth-of-type(4) .inner.bg.img { background-image: url(../images/pct_about_14_hover.svg); background-size: 21%; background-position: 103% center; }



.shelf.selector.service .inner { background-color: #fff; }
.shelf.selector.service .inner img { width: 110%; margin: -0.7rem 0 0 .3rem;}
.shelf.selector.service .unit .inner img,
.shelf.selector.company .unit .inner img { transition: all ease .4s;}
.shelf.selector.service .unit a:hover .inner img,
.shelf.selector.company .unit a:hover .inner img { transform: scale(1.2);}
.shelf.selector.news .inner { background-repeat: no-repeat;}
.shelf.selector.news .inner.press { background-image: url(../images/pct_news_press.svg), linear-gradient(85deg, #fff, #fff 15%, #96cf96 65%, #009100); background-size: 32% auto, auto; background-position: 88% 22%, left;}
.shelf.selector.news .inner p { padding: 2.25rem 0 0 1rem; font-weight: 800; text-align: left;}
.shelf.selector.news .inner.press p { color:#009100; line-height: 1.4;}
.shelf.selector.news .inner p span { display: block; color: #9c9a9b; font-weight: 400;}
.shelf.selector.news .inner div { width: 36%; margin: 1.5rem 0 0 1rem;}
.shelf.selector.news p.sub { text-align: justify; line-height: 1.6;}
.shelf.selector.news p.sub strong { display: block; color: #004FA3; font-weight: 800;}

@media only screen and (min-width: 768px) {
section { padding: 4rem 0 5rem;}
.contents { margin: 0 10%;}
section hgroup h2 { font-size: 1.2rem;}
section hgroup p { font-size: .7rem;}
section .readmore { font-size: .55rem; width: 11em;}
section hgroup .readmore { position: absolute; right: 0; bottom: .25rem; }
.shelf.selector { width: 100%; display: flex; justify-content: space-between; margin: 2rem 0 1.5rem; }
.shelf.selector .unit { display: block; width: 22%; position: relative; }
.shelf.selector .unit p { font-size: .7rem;}
.shelf.selector .unit p.sub { padding: 8.5rem 0 0 0.5em; text-align: left; transition: color ease .3s;}
.shelf.selector.about .unit .inner p { font-size: 1rem; line-height: 2rem;}
.shelf.selector.about .unit:nth-of-type(1) .inner p { font-size: 1.05rem;}
.shelf.selector.company .unit:nth-of-type(3) { margin-right: 26%;}
.shelf.selector.news .inner p { font-size: .85rem;}
.shelf.selector.news .inner p span { display: block; font-size: .6rem;}
.slider { text-align: right;}
.slider a { display: inline-block; position: relative; aspect-ratio: 74 / 90; margin: .5rem 0 0 .5em; font-size: .7rem; width: 1em; cursor: pointer;}
.slider a::after { content: ""; display: block; position: absolute; left: 0; top: 0; background-color: #fff; width: 100%; height: 100%;}
.slider a:nth-of-type(1)::after { clip-path: polygon(0 50%, 100% 0, 100% 100%);}
.slider a:nth-of-type(2)::after { clip-path: polygon(0 0%, 100% 50%, 0% 100%);}
.toppage section#service { padding-bottom: 3.5rem;}
.toppage section#service .shelf.selector { width: 126%; margin-left: 0; transition: margin-left ease .5s;}
.toppage section#service .shelf.selector.slide { margin-left: -17.46%;}
.toppage section#service .shelf.selector .unit { width: 17.46%;}

section#recruit { background-image: url(../images/top_recruit.jpg); background-size: cover; color: #fff; box-sizing: border-box; aspect-ratio: 2880 / 986; text-align: center;}
section#recruit hgroup { margin-top: 2.25em; font-size: 0.75rem; text-align: center;}
section#recruit p.comingsoon { background-color: #fff; color: #004FA3; font-weight: 800;  width: 17em; line-height: 3.2; margin: 2rem auto; text-align: center;}

}/* --- pc --- */

@media only screen and (max-width: 767px) {
section { padding: 3rem 0 3rem;}
.contents { margin: 0 5%;}
section hgroup { margin-bottom: 2rem;}
section hgroup h2 { font-size: 1.3rem; margin-bottom: 1em;}
section .readmore { font-size: .6rem; width: 11em;}
section hgroup .readmore { position: absolute; right: 0; top: 0; }

.shelf.selector { width: 100%; display: grid; grid-template-columns: 47% 47%; gap: 1rem 6%; margin: 2rem 0 1.5rem; }
.shelf.selector .unit { display: block; position: relative; }
.shelf.selector .unit p.sub { padding: 8rem 0 0 0.5em; text-align: left; }

.shelf.selector .unit { border-radius: 0.4rem; overflow: hidden; min-height: 0; }
.shelf.selector .unit a { display: flex; align-items: center;}
.shelf.selector .unit a .inner.bg.color { background-color: #e4e4e5; }
.shelf.selector .unit a.sel .inner.bg.color,
.shelf.selector .unit a:hover .inner.bg.color { background-color: #004fa2;} { display: none;}
.shelf.selector .unit a p.sub { display: flex; width: 100%; height: 100%; padding: 0; align-items: center; position: absolute; left: 0; top: 0; box-sizing: border-box; padding-left: 1.25em; font-weight: 500;}
.shelf.selector .unit a.sel p.sub,
.shelf.selector .unit a:hover p.sub { color: #fff;}
.lowerpage #submenu .shelf.selector .unit,
.lowerpage #submenu .shelf.selector .unit .inner { aspect-ratio: 344 / 100;}
.lowerpage #submenu .shelf.selector .unit a .inner.txt,
.lowerpage #submenu .shelf.selector .unit .inner.bg.img,
.lowerpage #submenu .shelf.selector .unit .inner.bg.color img,
.lowerpage #submenu .shelf.selector .unit .inner.bg.overlay { display: none; }


.toppage .shelf.selector .unit p.sub,
.shelf.selector.news .unit p.sub { padding: 9rem 0 0 0.5em;}
.shelf.selector .unit p.sub strong { padding: 0.25em 0;}
.shelf.selector.news { gap: 2rem 6%;}
section#recruit { background-image: url(../images/top_recruit.jpg); background-size: cover; color: #fff; box-sizing: border-box; text-align: center;  aspect-ratio: 2880 / 986; padding: 1rem 0 0;}
section#recruit hgroup { margin-bottom: 0.5em;}
section#recruit hgroup h2 { text-align: center; margin-bottom: 0;}
section#recruit p.comingsoon { background-color: #fff; color: #004FA3; font-weight: 800; font-size: .9rem;  width: 15em; line-height: 3.2; margin: 0 auto; text-align: center;}
section#recruit hgroup { padding-top: 1.5rem;}
}/* --- sp --- */



/* --- main LOWER --- */
.lowerpage section { text-align: left;}
.lowerpage section hgroup { text-align: center;}
.lowerpage section h2 { color: #004FA3;}
@media only screen and (min-width: 768px) {
.lowerpage section h2 { font-size: 1.6rem; margin-bottom: 1.1rem;}
.lowerpage section hgroup { margin-bottom: 3rem;}
.lowerpage section p { font-size: .75rem;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lowerpage section h2 { font-size: 1.6rem; margin-bottom: 1rem;}
.lowerpage section hgroup { margin-bottom: 3rem;}
.lowerpage section p { font-size: 1.1rem;}
}/* --- sp --- */


@media only screen and (min-width: 768px) {
}/* --- pc --- */

@media only screen and (max-width: 767px) {
}/* --- sp --- */