﻿@charset "utf-8";

/* -----------------------------------------------------------
    ターゲット別3ページ共通
-------------------------------------------------------------- */
header {
	position: absolute !important;
}

@media screen and (min-width: 769px) {
	#wrapper {
		overflow: clip;
	}
}

.page-service .footer {
	background: transparent;
	padding: 70px 0;
}

.page-service footer .f_top_wrap, footer .f_btm_list, footer .f_pmark {
	display: none !important;
}

.page-service footer .f_b_left {
	margin: 0 auto;
}

.page-service footer .f_btm_wrap {
	margin: 0;
	padding: 0;
}

.page-service .f_copy {
	color: #bbbfc4;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: .03em;
}

.page-service .cmn-section-ttl {
	margin-bottom: 0;
}

.cmn-sec-description {
	align-items: center;
	display: flex;
	gap: 50px;
	margin: 40px 0 0;
}

.cmn-sec-description .descript-img {
	border-radius: 6px;
	overflow: hidden;
	flex-shrink: 0;
	width: 550px;
	height: 290px;
}

.cmn-sec-description .descript-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cmn-sec-description .descript-txt p {
	font-size: 1.7rem;
	margin: 18px 0 0;
}

.cmn-sec-description .descript-txt p:first-of-type {
	margin: 0;
}

.cmn-sec-copy {
	text-align: center;
	font-size: 3.4rem;
	font-weight: bold;
	margin: 20px 0 0;
}

@media screen and (max-width: 768px) {
	.page-service .cmn-section-ttl {
		margin-bottom: 15px;
	}

	.cmn-sec-copy {
		font-size: 2.1rem;
		line-height: 1.7;
	}

	.cmn-sec-description {
		flex-direction: column;
		gap: 25px;
		margin: 20px 0 0;
	}

	.cmn-sec-description .descript-img {
		aspect-ratio: 550/290;
		width: 100%;
		height: auto;
		border-radius: 4px;
	}

	.page-service .f_copy {
		margin: 0;
	}

	.page-service .footer {
		padding: 35px 0 90px;
	}

	.cmn-sec-description .descript-txt p {
		font-size: 1.6rem;
		line-height: 2.2;
	}
}

/* -----------------------------------------------------------
    service-mv
-------------------------------------------------------------- */
.service-mv {
	background: url("../img/service-mv-ad-bg.jpg")left top/cover no-repeat;
	height: 500px;
	overflow: hidden;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	.service-mv {
		height: 450px;
	}
}

.service-mv-inner {
	align-items: center;
	justify-content: center;
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
	text-align: center;
}

.service-mv-human {
	position: absolute;
	bottom: 0;
}

#ad .service-mv-human {
	left: -70px;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	#ad .service-mv-human {
		left: -35px;
	}
}

#printing .service-mv-human {
	left: -70px;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	#printing .service-mv-human {
		left: -35px;
	}
}

#other .service-mv-human {
	left: -30px;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	#other .service-mv-human {
		left: -10px;
	}
}

#ad .service-mv-human img {
	width: 445px;
	aspect-ratio: 445/406;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	#ad .service-mv-human img {
		width: 380px;
	}
}

#printing .service-mv-human img {
	width: 445px;
	aspect-ratio: 445/426;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	#printing .service-mv-human img {
		width: 380px;
	}
}

#other .service-mv-human img {
	width: 400px;
	aspect-ratio: 400/426;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	#other .service-mv-human img {
		width: 340px;
	}
}

.service-mv-point {
	position: absolute;
	right: -165px;
	bottom: -65px;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	.service-mv-point {
		right: -100px;
		bottom: -45px;
	}
}

.service-mv-point img {
	width: 585px;
	aspect-ratio: 585/622;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	.service-mv-point img {
		width: 500px;
	}
}

.service-mv-ttl {
	position: relative;
}

.service-mv-ttl .cmn-diamond {
	top: 75px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.service-mv-ttl .ja {
	align-items: center;
	display: flex;
	font-size: 5.4rem;
	font-weight: bold;
	gap: 7px;
	letter-spacing: 0;
	justify-content: center;
}

.service-mv-ttl .ja.cmn-fadeup.cmn-effect-fadeup {
	transform: translateY(0);
}

.service-mv-ttl .ja.cmn-fadeup {
	transform: translateY(50px);
}

.service-mv-ttl .ja .honor {
	font-size: 3.5rem;
	padding: 15px 0 0;
}

.service-mv-ttl .catch {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: .03em;
	padding: 30px 0 0;
	margin: 23px 0 0;
	position: relative;
}

.mv-descript-wrap {
	padding: 55px 0 65px;
}

.mv-descript-inner {
	align-items: center;
	display: flex;
	gap: 25px;
	justify-content: center;
	width: fit-content;
	margin: 0 auto;
	flex-direction: row-reverse;
}

.mv-descript-wrap figure {
	text-align: center;
}

.mv-descript-wrap figcaption {
	color: var(--gray);
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.4;
	margin: 4px 0 0;
}

.mv-descript-wrap figure img {
	width: 50px;
}

.mv-descript {
	background: #f0f3fa;
	letter-spacing: .05em;
	border-radius: 4px;
	font-size: 1.7rem;
	padding: 25px 20px 25px 25px;
	text-align: center;
	position: relative;
}

.mv-descript::before {
	content: "";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 20px 12px 0;
	border-color: transparent #f0f3fa transparent transparent;
	left: -18px;
}

@media screen and (max-width: 768px) {
	.service-mv {
		background: url("../img/service-mv-ad-bg-sp.jpg")left top/cover no-repeat;
		height: 600px;
		overflow: unset;
	}

	.service-mv-inner {
		justify-content: flex-start;
		padding-top: 50px;
		max-width: 450px;
	}

	.service-mv-ttl .cmn-diamond {
		top: 48px;
	}

	.service-mv-ttl .ja {
		font-size: 3.2rem;
		letter-spacing: .05em;
		gap: 3px;
	}

	.service-mv-ttl .ja .honor {
		font-size: 2.3rem;
		padding: 5px 0 0;
	}

	.service-mv-ttl .catch {
		font-size: 1.6rem;
		margin: 18px 0 0;
		padding: 18px 0 0 0;
	}

	.service-mv-human {
		z-index: 2;
	}

	#ad .service-mv-human {
		left: 15px;
	}

	#printing .service-mv-human {
		left: 5px;
	}

	#other .service-mv-human {
		left: 15px;
	}

	#ad .service-mv-human img {
		width: 216px;
	}

	#printing .service-mv-human img {
		width: 195px;
	}

	#other .service-mv-human img {
		width: 190px;
	}

	.service-mv-point {
		position: absolute;
		bottom: 75px;
		right: -35px;
		width: 416px;
	}

	.service-mv-point img {
		aspect-ratio: 832/694;
		width: 100%;
		max-width: unset;
	}

	.mv-descript-wrap {
		padding: 40px 0 35px;
	}

	.mv-descript-inner {
		display: block;
		width: calc(100% - 40px);
		margin: 0 auto;
		position: relative;
	}

	.mv-descript {
		background: #f0f4fe;
		font-size: 1.5rem;
		padding: 58px 15px 20px;
		position: relative;
		text-align: left;
		line-height: 1.8;
	}

	.mv-descript::before {
		display: none;
	}

	.mv-descript-wrap figure {
		position: absolute;
		left: 20px;
		top: -20px;
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.mv-descript-wrap figure img {
		width: 40px;
	}

	.mv-descript-wrap figcaption {
		font-size: 1.5rem;
		margin: 0;
		padding: 30px 0 0
	}
}