@charset "utf-8";


/* ----------------------------------------------------------------------
	mainimg
---------------------------------------------------------------------- */

/* l-home-mainimg */
.l-home-mainimg {
    position: relative;
    margin: 0 0 70px;
}

@media screen and (max-width: 990px) {
	.l-home-mainimg { margin: 0 0 40px; }
}


/* l-home-mainimg-slider__ph */
.l-home-mainimg-slider__ph {
	width: 100vw;
	height: 100vh;
	height: 100svh;
}

.l-home-mainimg-slider__ph::before {
    content: "";
    position: absolute;
	top: 0;
    left: 0;
    z-index: 1;
    background: rgba(32,42,139,0.4);
    width: 100%;
    height: 100%;
    display: block;
}

.l-home-mainimg-slider__ph--01::before { background: rgba(0,0,0,0.4); }

.l-home-mainimg-slider__ph img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


@media screen and (max-width: 990px) and  (orientation: landscape) {
   .l-home-mainimg-slider__ph { height: 900px; }
}


/* l-home-mainimg-catch */
.l-home-mainimg-catch {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%,-50%);
    text-align: center;
	width: 100%;
}

.l-home-mainimg-catch-inner { position: relative; }

.l-home-mainimg-catch-inner::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translate(-50%,-50%);
	background: url("../../img/home/mainimg_catch_zero.svg") center center no-repeat;
	background-size: 400px 560px;
	width: 400px;
	height: 560px;
}

.l-home-mainimg-catch-sub {
	color: var(--color-white);
	font-size: 1.8rem;
	font-weight: bold;
	margin: 2.2em 0 1.4em;
}

@media screen and (max-width: 990px) {
	.l-home-mainimg-catch-main img {
		width: 74.666vw;
		height: auto;
	}
	.l-home-mainimg-catch-inner::before {
		background-size: 66.666vw 94.666vw;
		width: 66.666vw;
		height: 94.666vw;
	}

	.l-home-mainimg-catch-sub { font-size: 1.3rem; }

	.l-home-mainimg-catch__btn a { width: 74.666vw; }
}


.l-home-mainimg-scroll {
	position: absolute;
	right: 40px;
	bottom: 0;
}

.l-home-mainimg-scroll a {
	color: var(--color-white);
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
	padding-left: 16px;
	height: 140px;
	overflow: hidden;
	writing-mode: vertical-lr;
	vertical-align: bottom;
    display: inline-block;
}

.l-home-mainimg-scroll a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 140px;
	background: var(--color-black);
}

.l-home-mainimg-scroll a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 140px;
	background: var(--color-white);
}

.l-home-mainimg-scroll a::after { animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite; }

@keyframes sdl {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

@media screen and (max-width: 990px) {
	.l-home-mainimg-scroll { right: 40px; }
	
	.l-home-mainimg-scroll a,
	.l-home-mainimg-scroll a::after,
	.l-home-mainimg-scroll a::before { height: 100px; }
}


.add-anime { animation: zoom-anime-pc 10s linear 0s normal both; }

@keyframes zoom-anime-pc {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.08); 
    }
}

@keyframes zoom-anime-sp {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.14); 
    }
}


@media screen and (max-width: 990px) {    
    .add-anime {
        animation: zoom-anime-sp 10s linear 0s normal both;
        transform-origin: top center;
    }
}


/* ----------------------------------------------------------------------
	 l-home-strength
---------------------------------------------------------------------- */

.l-home-strength {
    position: relative;
	z-index: 1;
	background: var(--color-white-blue);
	max-width: 1280px;
	margin: 0 auto 110px;
	border-radius: 10px;
}

.l-home-strength-inner {
	margin: 0 auto;
	max-width: 1100px;
	height: 740px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.l-home-strength-figure { position: relative; }

.l-home-strength-figure::before {
	content: "";
    position: absolute;
    top: 50%;
    left: 50%;
	z-index: -1;
    transform: translate(-50%,-50%);
    background: url("../../img/home/strength_bg.svg") center center no-repeat;
    background-size: 650px 740px;
    width: 650px;
    height: 740px;
    display: block;
}

.l-home-strength-block { width: 430px; }

.l-home-strength-philosophy { margin: 0 0 20px; }

.l-home-strength-philosophy-detail { margin: 0 0 3em; }

.l-home-strength-philosophy-detail dl {
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 0.2em;
	display: flex;
	gap: 0 0.5em;
}

.l-home-strength-philosophy-detail dl:last-child { margin: 0; }

.l-home-strength-philosophy-detail dl dt { color: var(--color-blue); }

.l-home-strength-txt01 {
	font-size: 1.8rem;
	margin: 0 0 2em;
}

.l-home-strength-txt02 {
	font-size: 3.2rem;
	line-height: 1.5;
	font-weight: bold;
	margin: 0 0 0.6em;
}

@media screen and (max-width: 990px) {
	.l-home-strength {
		margin: 0 auto 60px;
		border-radius: 0;
	}

	.l-home-strength-inner {
		height: auto;
		display: block;
	}

	.l-home-strength-figure {
		position: relative;
		height: 98.666vw;
	}
	
	.l-home-strength-figure__img {
		position: absolute;
		top: 13.333vw;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		width: 100%;
	}

	.l-home-strength-figure__img img { width: 92vw; }

	.l-home-strength-figure::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		z-index: -1;
		transform: translate(-50%,0);
		background: url("../../img/home/strength_bg_sp.svg") center center no-repeat;
		 background-size: 100vw 98.666vw;
		width: 100vw;
		height: 98.666vw;
		display: block;
	}

	.l-home-strength-block {
		background: #e0ebf5;
		width: auto;
		padding: 12vw 8vw;
	}

	.l-home-strength-philosophy { margin: 0 0 20px; }
	
	.l-home-strength-philosophy img { width: 79vw; }

	.l-home-strength-philosophy-detail { margin: 0 0 2em; }

	.l-home-strength-philosophy-detail dl {
		font-size: 4.266vw;
		margin: 0 0 0.6em;
		display: block;
	}

	.l-home-strength-philosophy-detail dl:last-child { margin: 0; }

	.l-home-strength-philosophy-detail dl dt { color: var(--color-blue); }

	.l-home-strength-txt01 {
		font-size: 4.266vw;
		margin: 0 0 1.2em;
	}

	.l-home-strength-txt02 { font-size: 6.4vw; }
}


/* ----------------------------------------------------------------------
	l-home-page-ttl
---------------------------------------------------------------------- */

.l-home-page-ttl {
	margin: 0 0 2.4em;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.l-home-page-ttl .page-ttl { margin: 0; }

.l-home-page-catch {
	color: var(--color-blue);
	font-size: 2.4rem;
	font-weight: bold;
}

.l-home-page-catch--small { font-size: 1.8rem; }

.page-ttl--white .l-home-page-catch { color: var(--color-white); }

@media screen and (max-width: 990px) {
	.l-home-page-ttl {
		margin: 0 0 1.4em;
		display: block;
	}

	.l-home-page-ttl .page-ttl { margin: 0 0 1.4em; }

	.l-home-page-catch--small { font-size: 2.4rem; }
}


/* ----------------------------------------------------------------------
	 l-home-flow
---------------------------------------------------------------------- */

.l-home-flow { margin: 0 0 100px; }

.l-home-flow .page-ttl { margin: 0 0 3.4em; }

.l-home-flow-deco-en {
	color: var(--color-white-light-blue);
	font-size: 7.2rem;
	text-align: center;
	line-height: 1;
	padding-left: 5px;
}

.l-home-flow-inner {
	position: relative;
	padding: 60px 0;
	margin: -12px auto 0;
	max-width: 1100px;
	border-top: 1px solid var(--color-white-blue);
	border-bottom: 1px solid var(--color-white-blue);
}

.l-home-flow-concierge {
	position: absolute;
	top: 65px;
	right: 0;
	display: flex;
	gap: 0 20px;
}

.l-home-flow-concierge__ph img { border-radius: 50%; }

.l-home-flow-concierge__ph figure {
	display: flex;
	flex-direction: row-reverse;
	gap: 0 20px;
}

.l-home-flow-concierge__ph figcaption {
	font-weight: bold;
	line-height: 1.4;
	writing-mode: vertical-rl;
}

.l-home-flow-concierge__ttl { font-size: 1.4rem; }

.l-home-flow-concierge__name { margin-right: 0.2em; }

@media screen and (max-width: 990px) {
    .l-home-flow { margin: 0 8vw 60px; }

	.l-home-flow .page-ttl { margin: 0 0 2em; }

	.l-home-flow-deco-en {
		font-size: 5.4vw;
		padding-left: 2px;
	}

	.l-home-flow-inner {
		padding: 50px 0;
		margin: -4px auto 0;
	}

	.l-home-flow-concierge {
		position: static;
		margin: 0 0 40px;
		display: block;
	}
	
	.l-home-flow-concierge__ph figure {
		justify-content: center;
		align-items: center;
	}
	
	.l-home-flow-concierge__txt {
		text-align: center;
		margin: 20px 0 0;
	}
	.l-home-flow-concierge__txt img { width: 69.333vw; }
}


/* ----------------------------------------------------------------------
	 l-home-service
---------------------------------------------------------------------- */

.l-home-service { margin: 0 0 100px; }

.l-home-service-inner {
	position: relative;
	background: var(--color-white);
	padding: 50px 50px 0;
	margin: -120px auto 0;
	max-width: 1220px;
	border-radius: 10px 10px 0 0;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items: center;
}

.l-home-service-block { width: 500px; }

.l-home-service-txt {
	line-height: 2;
	margin: 0 0 2.4em;
}

.l-home-service-nav-ttl {
	font-size: 2rem;
	font-weight: bold;
	margin: 0 0 0.6em;
	display: none;
}

.l-home-service-nav { width: 540px; }

.l-home-service-nav li { border-bottom: 1px solid var(--color-border); }
.l-home-service-nav li:first-child { border-top: 1px solid var(--color-border); }

.l-home-service-nav li a {
	position: relative;
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: none;
	padding-right: 30px;
	display: block;
}

.l-home-service-nav li a::before {
	content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: url("../img/icon_a_default_blue.svg") center center no-repeat;
    background-size: 8px 15px;
    width: 8px;
    height: 15px;
    display: block;
}

.l-home-service-nav li a:hover { color: var(--color-light-blue); }
.l-home-service-nav li a:hover img { opacity: 1; }

.l-home-service-nav li figure {
	display: flex;
	align-items: center;
}

.l-home-service-nav li figcaption {
	position: relative;
	padding-left: 90px;
}

.l-home-service-nav li figcaption::before {
	content: "";
    position: absolute;
    top: 50%;
    left: 22px;
    transform: translateY(-50%);
	background-position: center center;
	background-repeat: no-repeat;
    background-size: 50px 48px;
    width: 50px;
    height: 48px;
    display: block;
}

.l-home-service-nav__ec figcaption::before { background-image: url("../../img/home/service_nav_ec_icon.svg"); }
.l-home-service-nav__corporation figcaption::before { background-image: url("../../img/home/service_nav_corporation_icon.svg"); }
.l-home-service-nav__packing figcaption::before { background-image: url("../../img/home/service_nav_packing_icon.svg"); }
.l-home-service-nav__setup figcaption::before { background-image: url("../../img/home/service_nav_setup_icon.svg"); }

@media screen and (max-width: 990px) {
	.l-home-service { margin: 0 0 60px; }

	.l-home-service-inner {
		position: relative;
		background: var(--color-white);
		padding: 12vw 8vw 0;
		margin: 0;
		border-radius: 0;
		display: block;
	}

	.l-home-service-block {
		margin: 0 0 40px;
		width: auto;
	}

	.l-home-service-txt { margin: 0 0 1.4em; }

	.l-home-service-nav-ttl { display: block; }

	.l-home-service-nav { width: auto; }

	.l-home-service-nav li a { padding: 0 30px 0 0; }
	
	.l-home-service-nav li a figure { height: 90px;}
	
	.l-home-service-nav li a img { display: none; }
	
	.l-home-service-nav li figcaption { padding-left: 68px; }
	
	.l-home-service-nav li figcaption::before { left: 0; }
}


/* ----------------------------------------------------------------------
	 l-home-company
---------------------------------------------------------------------- */

.l-home-company {
	position: relative;
	color: var(--color-white);
	padding: 140px 0;
}

.l-home-company::before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
	z-index: -1;
	background: rgba(32,42,139,0.8);
    width: 100%;
    height: 100%;
    display: block
}

.l-home-company::after {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
	z-index: -2;
	background: url("../../img/home/comoany_bg.webp") center bottom no-repeat;
	background-size: cover;
    width: 100%;
    height: 100%;
    display: block
}


.l-home-company-inner {
	position: relative;
	margin: 0 auto;
	max-width: 1100px;
}

.l-home-company-block { width: 440px; }

.l-home-company-txt {
	line-height: 2em;
	margin: 0 0 2em;
}

.l-home-company-nav li { border-bottom: 1px solid var(--color-white); }

.l-home-company-nav li:first-child { border-top: 1px solid var(--color-white); }

.l-home-company-nav li a {
	position: relative;
	color: var(--color-white);
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: none;
	padding: 25px 30px 25px 0;
	display: block;
}

.l-home-company-nav li a::before {
	content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: url("../img/icon_a_default.svg") center bottom no-repeat;
    background-size: 8px 15px;
    width: 8px;
    height: 15px;
    display: block;
}

.l-home-company-nav li a:hover { color: var(--color-light-blue); }

.l-home-company-nav li a span { font-size: 1.4rem; }

.l-home-company-ph {
	position: absolute;
	top: 50%;
	left: 510px;
	transform: translateY(-50%);
}
.l-home-company-ph-inner {
	position: relative;
	width: 720px;
	height: 670px;
}

.l-home-company-ph01 {
	position: absolute;
	top: 155px;
	left: 0;
}

.l-home-company-ph02 {
	position: absolute;
	top: 0;
	left: 350px;
}

.l-home-company-ph03 {
	position: absolute;
	right: 0;
	bottom: 0;
}

@media screen and (max-width: 990px) {
	.l-home-company { padding: 12vw 8vw 30vw; }

	.l-home-company::after {
		top: inherit;
		left: 0;
		bottom: 0;
		background: url("../../img/home/comoany_bg_sp.webp") center bottom no-repeat;
		background-size: 100% auto;
		width: 100%;
		height: 100%;
	}

	.l-home-company-block { width: auto; }

	.l-home-company-ph {
		position: static;
		margin-top: 50px;
		transform: translateY(0);
	}
	.l-home-company-ph-inner {
		position: relative;
		width: 100%;
		height: 80vw;
	}

	.l-home-company-ph01 { top: 17.333vw; }
	
	.l-home-company-ph01 img { width: 34.666vw; }

	.l-home-company-ph02 {
		left: inherit;
		right: 12vw;
	}

	.l-home-company-ph02 img { width: 30.666vw; }

	.l-home-company-ph03 img { width: 40vw; }
}


/* ----------------------------------------------------------------------
	 l-home-recruit
---------------------------------------------------------------------- */

.l-home-recruit { position: relative; }

.l-home-recruit-block {
	position: absolute;
	top: 50%;
	left: calc((100% + 60px) / 2);
	z-index: 1;
	transform: translateY(calc(-50% - 75px));
	background: var(--color-white);
	width: 520px;
	padding: 50px;
	border-radius: 10px;
}

.l-home-recruit-txt {
	line-height: 2em;
	margin: 0 0 2em;
}

@media screen and (max-width: 990px) {
	.l-home-recruit-slider__ph img { width: 240px; }
	
	.l-home-recruit-block {
		position: static;
		transform: translateY(0);
		width: auto;
		padding: 12vw 8vw 16vw;
		border-radius: 0;
	}

	.l-home-recruit-txt {
		line-height: 2em;
		margin: 0 0 2em;
	}
}


/* l-home-recruit-slider */
.l-home-recruit-slider__ph { width: 640px; }

@media screen and (max-width: 990px) {
	.l-home-recruit-slider__ph { width: 240px; }
}






