@charset "utf-8";

/* font
================================================== */
 @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');


/* reset
================================================== */
*:where(:not(iframe,img,svg):not(svg *)){all:unset;display:revert;}
*,*::before,*::after{box-sizing:border-box;}
body{position:relative;width:100%;line-height:1;color:#000;font-family:'Noto Sans JP',sans-serif;font-weight:700;background:#fff;-webkit-text-size-adjust:100%;}
footer,header,main,section,picture{display:block;}
table{border-collapse:collapse;border-spacing:0;}
ol,ul{list-style:none;}
img{width:100%;height:auto;vertical-align:bottom;}
a{margin:0;padding:0;color:#000;vertical-align:bottom;background:transparent;cursor:pointer;}
a:link,a:visited,a:hover,a:active{text-decoration:none;}


/* AIRcomm LP
================================================== */

/* common
-------------------------------------------------- */
.mobile{display:none;}
.contents-wrapper{width:100%;}
.contents-inner{
	max-width:1280px;
	margin:0 auto;
	padding:0 min(3.125vw,40px);
}
.box{
	border-radius:min(1.5625vw,20px);
	background:#FFF;
}
.box-line{
	border:min(0.390625vw,5px) solid #165AAB;
}
.button{
	width:min(50vw,640px);
	margin:0 auto;
}
.button a{
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
	height:min(6.875vw,88px);
	font-size:min(2.5vw,32px);
	line-height:min(3.28125vw,42px);
	color:#FFF;
	border-radius:min(0.78125vw,10px);
	background:#FF4B6C;
}
.button a::after{
	position:absolute;
	top:50%;
	right:min(4.296875vw,55px);
	display:block;
	width:min(1.71875vw,22px);
	height:min(1.71875vw,22px);
	border-top:1px solid #FFF;
	border-right:1px solid #FFF;
	transform:translateY(-50%) rotate(45deg);
	content:'';
}
@media screen and (max-width:800px){
	.pc{display:none;}
	.mobile{display:block;}
	.contents-inner{
		padding:0 6.25vw;
	}
	.box{
		border-radius:18px;
	}
	.box-line{
		border-width:4px;
	}
	.button{
		width:100%;
	}
	.button a{
		height:54px;
		font-size:20px;
		line-height:30px;
		border-radius:10px;
	}
	.button a::after{
		right:33px;
		width:14px;
		height:14px;
	}
}
@media screen and (max-width:600px){
	.contents-inner{
		padding:0 3.7333vw;
	}
	.button a::after{
		right:min(5.5vw,33px);
	}
}
@media screen and (max-width:374px){
	.button a{
		height:50px;
		font-size:16px;
		line-height:26px;
	}
	.button a::after{
		width:11px;
		height:11px;
	}
}


/* header
-------------------------------------------------- */
header{
	position:fixed;
	top:0;
	left:0;
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:center;
	width:100%;
	padding:0 50px;
	background:#FFF;
	z-index:1000;
}
#header-logo{
	display:grid;
	grid-template-columns:repeat(2,auto);
	align-items:end;
	gap:0 18px;
	width:fit-content;
}
#header-logo h1{
	width:195px;
	height:auto;
	padding-bottom:2px;
}
#header-logo p{
	font-size:18px;
	height:20px;
	color:#165AAB;
	font-weight:900;
}
#header-contents{
	display:grid;
	grid-template-columns:repeat(3,auto);
	align-items:center;
	gap:0 25px;
	justify-self:end;
	padding:30px 0;
}
#header-tel{
	width:558px;
}
#header-contact{
	width:390px;
}
#header-contact a{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:58px;
	font-size:24px;
	line-height:1.2;
	color:#FFF;
	border-radius:29px;
	background:#FF4B6C;
}
#menu{
	position:relative;
	width:64px;
	height:64px;
	border:1px solid #000;
	cursor:pointer;
}
#menu p{
	position:absolute;
	bottom:6px;
	left:50%;
	width:34px;
	transform:translateX(-50%);
}
#menu span{
	position:absolute;
	top:24px;
	left:8px;
	display:block;
	width:46px;
	height:4px;
	background:#000;
}
#menu span:nth-of-type(2){
	margin-top:-13px;
}
#menu span:nth-of-type(3){
	margin-top:13px;
}
#menu.active p{
	display:none;
}
#menu.active span{
	position:absolute;
	top:50%;
	width:46px;
	height:4px;
}
#menu.active span:nth-of-type(1){
	transform:translateY(-50%) rotate(-45deg);
}
#menu.active span:nth-of-type(1)::before{
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:46px;
	height:4px;
	background:#000;
	transform:rotate(90deg);
	content:'';
}
#menu.active span:nth-of-type(2){
	opacity:0;
}
#menu.active span:nth-of-type(3){
	opacity:0;
}
#navigation-wrapper{
	position:relative;
	width:64px;
	height:64px;
}
#navigation{
	position:absolute;
	top:63px;
	right:0;
	display:none;
	width:174px;
	padding:0 14px;
	border:1px solid #000;
	background:#FFF;
}
#navigation.active{
	display:block;
}
#navigation li+li{
	border-top:2px solid #000;
}
#navigation a{
	display:block;
	width:100%;
	padding:3px 0 6px;
	font-size:22px;
	line-height:32px;
	text-align:center;
}
@media screen and (max-width:1680px){
	header{
		padding:0 25px;
	}
	#header-logo{
		grid-template-columns:1fr;
		align-items:unset;
		gap:10px 0;
	}
	#header-logo h1{
		width:214px;
		padding:0;
	}
	#header-logo p{
		font-size:16px;
		height:18px;
	}
	#header-tel{
		width:481px;
	}
	#header-contact{
		width:334px;
	}
	#header-contact a{
		height:50px;
		font-size:20px;
		border-radius:25px;
	}
}
@media screen and (max-width:1280px){
	header{
		padding:0 1.953125vw;
	}
	#header-logo{
		gap:0.78125vw 0;
	}
	#header-logo h1{
		width:16.71875vw;
	}
	#header-logo p{
		font-size:1.25vw;
		height:1.40625vw;
	}
	#header-contents{
		gap:0 1.953125vw;
		padding:2.34375vw 0;
	}
	#header-tel{
		width:37.578125vw;
	}
	#header-contact{
		width:26.09375vw;
	}
	#header-contact a{
		height:3.90625vw;
		font-size:1.5625vw;
		border-radius:1.953125vw;
	}
	#menu{
		width:5vw;
		height:5vw;
	}
	#menu p{
		bottom:0.46875vw;
		width:2.65625vw;
	}
	#menu span{
		top:1.875vw;
		left:0.625vw;
		width:3.59375vw;
		height:0.3125vw;
	}
	#menu span:nth-of-type(2){
		margin-top:-1.015625vw;
	}
	#menu span:nth-of-type(3){
		margin-top:1.015625vw;
	}
	#menu.active span{
		width:3.59375vw;
		height:0.3125vw;
	}
	#menu.active span:nth-of-type(1)::before{
		display:block;
		width:3.59375vw;
		height:0.3125vw;
	}
	#navigation-wrapper{
		width:5vw;
		height:5vw;
	}
	#navigation{
		top:4.921875vw;
		width:13.59375vw;
		padding:0 1.09375vw;
	}
	#navigation a{
		padding:0.234375vw 0 0.46875vw;
		font-size:1.71875vw;
		line-height:2.5vw;
	}
}
@media screen and (max-width:800px){
	header{
		grid-template-columns:1fr;
		justify-items:center;
		gap:3px 0;
		padding:10px 6.25vw 12px;
	}
	#header-logo{
		justify-items:center;
		gap:7px 0;
	}
	#header-logo h1{
		width:132px;
	}
	#header-logo p{
		font-size:12px;
		height:14px;
		font-weight:700;
	}
	#header-contents{
		justify-self:center;
		gap:0 2.25vw;
		padding:0;
	}
	#header-tel{
		align-self:end;
		width:29.75vw;
		padding-bottom:1.25vw;
	}
	#header-contact{
		width:45.25vw;
	}
	#header-contact a{
		height:5.5vw;
		font-size:2.5vw;
		border-radius:2.75vw;
	}
	#menu{
		width:8vw;
		height:8vw;
	}
	#menu p{
		bottom:0.75vw;
		width:4.25vw;
	}
	#menu span{
		top:3vw;
		left:1vw;
		width:5.75vw;
		height:0.5vw;
	}
	#menu span:nth-of-type(2){
		margin-top:-1.625vw;
	}
	#menu span:nth-of-type(3){
		margin-top:1.625vw;
	}
	#menu.active span{
		width:5.75vw;
		height:0.5vw;
	}
	#menu.active span:nth-of-type(1)::before{
		width:5.75vw;
		height:0.5vw;
	}
	#navigation-wrapper{
		width:8vw;
		height:8vw;
	}
	#navigation{
		top:7.875vw;
		width:21.75vw;
		padding:0 1.75vw;
	}
	#navigation a{
		padding:0.375vw 0 0.75vw;
		font-size:2.75vw;
		line-height:4vw;
	}
}
@media screen and (max-width:600px){
	header{
		gap:12px 0;
		padding:10px 3.7333vw 15px;
	}
	#header-contents{
		grid-template-columns:1fr 64px;
		align-items:center;
		gap:10px 5vw;
		width:100%;
	}
	#header-tel{
		grid-row:1/2;
		grid-column:1/2;
		width:100%;
		padding:0;
	}
	#header-contact{
		grid-row:2/3;
		grid-column:1/2;
		width:100%;
	}
	#header-contact a{
		height:36px;
		font-size:16px;
		border-radius:29px;
	}
	#menu{
		width:64px;
		height:64px;
	}
	#menu p{
		bottom:6px;
		width:34px;
	}
	#menu span{
		top:24px;
		left:8px;
		width:46px;
		height:4px;
	}
	#menu span:nth-of-type(2){
		margin-top:-13px;
	}
	#menu span:nth-of-type(3){
		margin-top:13px;
	}
	#menu.active span{
		width:46px;
		height:4px;
	}
	#menu.active span:nth-of-type(1)::before{
		width:46px;
		height:4px;
	}
	#navigation-wrapper{
		grid-row:1/3;
		grid-column:2/3;
		width:64px;
		height:64px;
	}
	#navigation{
		top:63px;
		width:174px;
		padding:0 14px;
	}
	#navigation a{
		padding:3px 0 6px;
		font-size:22px;
		line-height:32px;
	}
}
@media screen and (max-width:375px){
	#header-contact a{
		font-size:4.266vw;
	}
}


/* footer
-------------------------------------------------- */
footer{
	width:fit-content;
	margin:0 auto;
	padding:min(3.90625vw,50px) min(3.125vw,40px) min(4.765625vw,61px);
	text-align:center;
}
footer div{
	width:min(15.625vw,200px);
	margin:0 auto;
}
footer p{
	margin-top:min(1.015625vw,13px);
	font-size:min(1.09375vw,14px);
	line-height:min(1.71875vw,22px);
	color:#165AAB;
}
@media screen and (max-width:800px){
	footer{
		padding:35px 14px 42px;
	}
	footer div{
		width:170px;
	}
	footer p{
		margin-top:12px;
		font-size:12px;
		line-height:18px;
	}
}


/* #page-top
-------------------------------------------------- */
#page-top{
	position:fixed;
	right:min(2.34375vw,30px);
	bottom:min(6.25vw,80px);
	display:none;
	width:min(4.84375vw,62px);
	height:min(4.84375vw,62px);
}
#page-top a{
	position:relative;
	display:block;
	width:100%;
	height:100%;
	border-radius:50%;
	background:#000;
}
#page-top a::before,
#page-top a::after{
	position:absolute;
	left:50%;
	display:block;
	width:min(1.640625vw,21px);
	height:min(1.640625vw,21px);
	border-top:min(0.234375vw,3px) solid #FFF;
	border-left:min(0.234375vw,3px) solid #FFF;
	transform:translateX(-50%) rotate(45deg);
	content:'';
}
#page-top a::before{
	top:min(1.484375vw,19px);
}
#page-top a::after{
	bottom:min(0.703125vw,9px);
}
#page-top a span{
	display:none;
}
@media screen and (max-width:800px){
	#page-top{
		right:15px;
		bottom:65px;
		width:44px;
		height:44px;
	}
	#page-top a::before,
	#page-top a::after{
		width:14px;
		height:14px;
		border-top-width:2px;
		border-left-width:2px;
	}
	#page-top a::before{
		top:14px;
	}
	#page-top a::after{
		bottom:7px;
	}
}
@media screen and (max-width:600px){
	#page-top{
		right:3.7333vw;
	}
}


/* #main_image
-------------------------------------------------- */
#main-image{
	padding-top:124px;
}
#main-image-inner{
	position:relative;
	width:100%;
	height:50.0521vw;
	background:url(../image/main-image_bg.png) no-repeat top center/contain;
}
#main-image-inner p{
	display:none;
}
#main-image-speech-bubble{
	position:absolute;
	bottom:15.7292vw;
	left:35.9375vw;
	width:17.3958vw;
	height:12.65625vw;
	animation:4s shaking infinite;
}
#main-image-button{
	position:absolute;
	bottom:4.5833vw;
	right:18.75vw;
	width:22.7083vw;
	height:3.3333vw;
}
#main-image-button-sp{
	display:none;
}
#main-image-button a,
#main-image-button-sp a{
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	font-size:1.25vw;
	line-height:1.7708vw;
	color:#FFF;
	border-radius:0.5208vw;
	background:#FF4B6C;
}
#main-image-button a::after,
#main-image-button-sp a::after{
	position:absolute;
	top:50%;
	right:1.09375vw;
	display:block;
	width:0.8333vw;
	height:0.8333vw;
	border-top:1px solid #FFF;
	border-right:1px solid #FFF;
	transform:translateY(-50%) rotate(45deg);
	content:'';
}
@media screen and (max-width:1920px){
	#main-image-inner{
		height:961px;
		background-size:1920px 961px;
	}
	#main-image-speech-bubble{
		right:calc(50% - 64px);
		bottom:302px;
		left:unset;
		width:334px;
		height:243px;
	}
	#main-image-button{
		bottom:88px;
		right:unset;
		left:calc(50% + 165px);
		width:436px;
		height:64px;
	}
	#main-image-button a{
		font-size:24px;
		line-height:34px;
		border-radius:10px;
	}
	#main-image-button a::after{
		right:21px;
		width:16px;
		height:16px;
	}
}
@media screen and (max-width:1280px){
	#main-image{
		padding-top:9.6875vw;
	}
	#main-image-inner{
		height:75.078125vw;
		background-size:150vw 75.078125vw;
	}
	#main-image-speech-bubble{
		right:unset;
		bottom:23.59375vw;
		left:28.90625vw;
		width:26.09375vw;
		height:18.984375vw;
	}
	#main-image-button{
		bottom:6.875vw;
		right:3.125vw;
		left:unset;
		width:34.0625vw;
		height:5vw;
	}
	#main-image-button a{
		font-size:1.875vw;
		line-height:2.65625vw;
		border-radius:0.78125vw;
	}
	#main-image-button a::after{
		right:1.640625vw;
		width:1.25vw;
		height:1.25vw;
	}
}
@media screen and (max-width:800px){
	#main-image{
		padding-top:calc(83.28px + 8vw);
	}
	#main-image-inner{
		height:134.25vw;
		background:url(../image/main-image_bg_sp.png) no-repeat top center/cover;
	}
	#main-image-speech-bubble{
		bottom:34.75vw;
		left:6.625vw;
		width:51.125vw;
		height:38.125vw;
	}
	#main-image-button{
		display:none;
	}
	#main-image-button-sp{
		display:block;
		padding:10px 0 17.3333vw;
		width:100%;
		height:64px;
		box-sizing:content-box;
	}
	#main-image-button-sp a{
		font-size:20px;
		line-height:30;
		border-radius:10px;
	}
	#main-image-button a::after,
	#main-image-button-sp a::after{
		right:33px;
		width:14px;
		height:14px;
	}
}
@media screen and (max-width:600px){
	#main-image{
		padding-top:calc(141.28px + 12.89vw);
	}
}
@media screen and (max-width:600px){
	#main-image-button-sp a::after{
		right:min(5.5vw,33px);
	}
}
@media screen and (max-width:374px){
	#main-image-button-sp a{
		height:50px;
		font-size:16px;
		line-height:26px;
	}
	#main-image-button-sp a::after{
		width:11px;
		height:11px;
	}
}
@keyframes shaking{
	0%,100%{
		transform:translateY(10px);
	}
	50%{
		transform:translateY(-20px);
	}
}



/* #contents-title
-------------------------------------------------- */
#contents-title{
	overflow:hidden;
}
.contents-title-detailss p{
	position:relative;
	width:100%;
	padding:min(3.125vw,40px) min(22.34375vw,286px) min(7.03125vw,90px) 0;
}
.contents-title-detailss p::after{
	position:absolute;
	right:max(-4.296875vw,-55px);
	bottom:min(0.78125vw,10px);
	display:block;
	width:min(28.90625vw,370px);
	height:min(27.734375vw,355px);
	background:url(../svg/contents_title__illust.svg) no-repeat center center/contain;
	content:'';
}
#business-points{
	margin:0 calc(50% - 50vw);
	padding:min(3.125vw,40px) calc(50vw - 50%) min(3.90625vw,50px);
	background-image:linear-gradient(0deg, transparent calc(100% - 1px), #BCFAFF calc(100% - 1px)),
                   linear-gradient(90deg, transparent calc(100% - 1px), #BCFAFF calc(100% - 1px));
	background-repeat:repeat,repeat;
	background-position:top center,center center;
	background-size:min(1.796875vw,23px) min(1.796875vw,23px),min(1.796875vw,23px) min(1.796875vw,23px);
}
#save-on-replacement{
	display:grid;
	grid-template-columns:min(21.328125vw,273px) 1fr;
	column-gap:min(1.953125vw,25px);
	padding:min(2.734375vw,35px) min(2.34375vw,30px);
}
#save-on-replacement div{
	grid-row:1/3;
}
#save-on-replacement h3{
	font-size:min(2.5vw,32px);
	line-height:min(2.96875vw,38px);
	letter-spacing:0.04em;
}
#save-on-replacement h3 span{
	display:inline-block;
	padding-left:min(0.78125vw,10px);
	font-size:min(2.96875vw,38px);
	color:#165AAB;
	font-weight:900;
}
#save-on-replacement h3 br{
	display:none;
}
#save-on-replacement p{
	margin-top:min(2.03125vw,26px);
	font-size:min(1.71875vw,22px);
	line-height:min(2.5vw,32px);
}
#unique-service{
	margin-top:min(3.515625vw,45px);
	padding:min(1.796875vw,23px) min(3.125vw,40px) min(3.125vw,40px);
	text-align:center;
}
#unique-service h3{
	position:relative;
	width:fit-content;
	margin:0 auto;
	padding:min(1.5625vw,20px) min(1.5625vw,20px) min(1.5625vw,20px) min(18.90625vw,242px);
	font-size:min(2.96875vw,38px);
	color:#165AAB;
	font-weight:900;
	letter-spacing:0.04em;
	border-bottom:min(0.390625vw,5px) solid #165AAB;
}
#unique-service h3::before{
	position:absolute;
	top:0;
	left:min(1.5625vw,20px);
	display:block;
	width:min(15.78125vw,202px);
	height:min(4.765625vw,61px);
	background:url("../image/unique-service_logo.png") no-repeat top left/contain;
	content:'';
}
#unique-service p{
	margin-top:min(1.40625vw,18px);
	font-size:min(1.71875vw,22px);
	line-height:min(3.28125vw,42px);
	letter-spacing:0.04em;
	text-indent:0.04em;
}
#unique-service p span{
	font-size:min(2.5vw,32px);
	color:#FF4B6C;
	font-weight:900;
}
#unique-service .other-company-services{
	position:relative;
	width:min(81.09375vw,1038px);
	margin:min(3.671875vw,47px) auto 0;
	padding-bottom:min(8.59375vw,110px);
}
.other-company-services::after{
	position:absolute;
	bottom:min(1.5625vw,20px);
	left:50%;
	display:block;
	width:min(22.5vw,288px);
	height:min(4.375vw,56px);
	background:url(../image/unique-service_arrow.png) no-repeat top center/contain;
	transform:translateX(-50%);
	content:'';
}
.our-services{
	padding:min(0.234375vw,3px) 0 min(4.375vw,56px);
	border-radius:min(3.515625vw,45px);
	background:#FFFFC7;
}
.our-services h4{
	position:relative;
	width:fit-content;
	margin:0 auto;
	padding:0 min(6.25vw,80px);
	font-size:min(3.125vw,40px);
	line-height:min(3.90625vw,50px);
	color:#165AAB;
	font-weight:900;
}
.our-services h4::before,
.our-services h4::after{
	position:absolute;
	top:max(-2.734375vw,-35px);
	display:block;
	width:min(0.3125vw,4px);
	height:min(8.203125vw,105px);
	background:#45A8FF;
	content:'';
}
.our-services h4::before{
	left:0;
	transform:rotate(-25deg);
}
.our-services h4::after{
	right:0;
	transform:rotate(25deg);
}
#unique-service .our-services p{
	width:min(82.65625vw,1058px);
	margin:min(2.03125vw,26px) auto 0;
}
@media screen and (max-width:800px){
	.contents-title-detailss h2{
		margin-left:-3.375vw;
	}
	.contents-title-detailss p{
		padding:4.5vw 22.75vw 6.75vw 0;
	}
	.contents-title-detailss p::after{
		right:0;
		bottom:3vw;
		width:26.625vw;
		height:41.125vw;
	}
	#business-points{
		padding-top:45px;
		padding-bottom:55px;
		background-size:23px 23px,23px 23px;
	}
	#save-on-replacement{
		grid-template-columns:124px 1fr;
		gap:14px 20px;
		max-width:525px;
		margin:0 auto;
		padding:25px 30px 26px;
	}
	#save-on-replacement div{
		grid-row:1/2;
	}
	#save-on-replacement h3{
		align-self:center;
		font-size:22px;
		line-height:32px;
		letter-spacing:0;
	}
	#save-on-replacement h3 span{
		padding-left:0;
		font-size:26px;
	}
	#save-on-replacement p{
		grid-column:1/3;
		margin-top:0;
		font-size:16px;
		line-height:26px;
	}
	#unique-service{
		max-width:525px;
		margin:25px auto 0;
		padding:10px 30px 30px;
	}
	#unique-service h3{
		width:100%;
		padding:0 0 11px;
		font-size:26px;
		letter-spacing:0;
		border-bottom-width:4px;
	}
	#unique-service h3::before{
		position:relative;
		top:unset;
		left:unset;
		display:inline-block;
		width:148px;
		height:41px;
		margin-bottom:-4px;
		padding-right:10px;
	}
	#unique-service p{
		margin-top:14px;
		font-size:16px;
		line-height:1.625;
		letter-spacing:0;
		text-indent:0;
	}
	#unique-service p span{
		font-size:26px;
	}
	#unique-service .other-company-services{
		width:100%;
		max-width:380px;
		margin-top:38px;
		padding:0 20px 72px;
	}
	.other-company-services::after{
		bottom:15px;
		width:148px;
		height:45px;
	}
	.our-services{
		padding:0 0 12px;
		border-radius:20px;
	}
	.our-services h4{
		padding:0 35px;
		font-size:22px;
		line-height:32px;
	}
	.our-services h4::before,
	.our-services h4::after{
		top:-10px;
		width:2px;
		height:50px;
	}
	#unique-service .our-services p{
		width:100%;
		max-width:380px;
		margin-top:15px;
		padding:0 20px;
	}
}
@media screen and (max-width:600px){
	.contents-title-detailss p{
		padding:4.8vw 24vw 6.666vw 0;
	}
	.contents-title-detailss p::after{
		right:0;
		bottom:2.666vw;
		width:36.5333vw;
		height:34.9333vw;
	}
	#save-on-replacement{
		gap:11px 15px;
		padding:20px 20px 21px;
	}
	#save-on-replacement h3 br{
		display:block;
	}
	#unique-service{
		margin-top:20px;
		padding:5px 20px 35px;
	}
	.our-services{
		padding-bottom:13px;
	}
	.our-services h4{
		padding:0 18px;
		font-size:17px;
		line-height:27px;
	}
	.our-services h4::before,
	.our-services h4::after{
		height:45px;
	}
	#unique-service .our-services p{
		margin-top:12px;
	}
}
@media screen and (max-width:420px){
	#save-on-replacement{
		padding-bottom:20px;
	}
	#save-on-replacement p{
		font-size:15px;
		line-height:1.625;
	}
	#unique-service h3{
		font-size:22px;
	}
	#unique-service h3::before{
		width:123px;
		height:36px;
		margin-bottom:-3px;
		padding-right:5px;
	}
	#unique-service p{
		margin-top:15px;
		font-size:15px;
	}
	#unique-service p span{
		font-size:22px;
	}
	.our-services h4{
		padding:0 15px;
		font-size:15px;
		line-height:25px;
	}
	.our-services h4::before,
	.our-services h4::after{
		height:40px;
	}
}
@media screen and (max-width:374px){
	#save-on-replacement h3{
		font-size:15px;
		line-height:25px;
	}
	#save-on-replacement h3 span{
		font-size:18px;
	}
	#unique-service h3{
		font-size:18px;
	}
	#unique-service h3::before{
		width:105px;
		height:30px;
	}
	#unique-service p br:nth-of-type(1),
	#unique-service p br:nth-of-type(2){
		display:none;
	}
	#unique-service .other-company-services{
		margin-top:28px;
	}
	.our-services{
		padding-top:14px;
	}
	.our-services h4{
		padding:0 12px;
		font-size:14px;
		line-height:14px;
	}
	.our-services h4::before,
	.our-services h4::after{
		content:none;
	}
}


/* #subsidized-projects
-------------------------------------------------- */
#subsidized-projects{
	padding:min(5.46875vw,70px) 0;
	background:#95E9F0;
}
#subsidized-projects h2{
	width:min(41.25vw,528px);
	height:auto;
	margin:0 auto;
}
.subsidized-projects-text{
	position:relative;
	width:min(72.34375vw,926px);
	margin:min(1.953125vw,25px) auto 0;
	padding-bottom:min(6.640625vw,85px);
}
.subsidized-projects-text::before{
	position:absolute;
	bottom:min(10vw,128px);
	left:min(0.625vw,8px);
	display:block;
	width:min(13.59375vw,174px);
	height:min(15.390625vw,197px);
	background:url(../svg/subsidized-projects_bill.svg) no-repeat center center/contain;
	content:'';
}
.subsidized-projects-text::after{
	position:absolute;
	right:max(-9.765625vw,-125px);
	bottom:min(3.125vw,40px);
	display:block;
	width:min(23.828125vw,305px);
	height:min(23.4375vw,300px);
	background:url(../svg/subsidized-projects_illust.svg) no-repeat center center/contain;
	content:'';
}
#subsidized-project-details{
	position:relative;
	padding:min(3.90625vw,50px) min(5.078125vw,65px) min(6.171875vw,79px);
}
#subsidized-project-details h3{
	margin-bottom:min(3.671875vw,47px);
	padding:min(1.71875vw,22px) 0 min(2.109375vw,27px);
	font-size:min(3.4375vw,44px);
	line-height:min(4.21875vw,54px);
	color:#165AAB;
	font-weight:900;
	letter-spacing:0.1em;
	text-indent:0.1em;
	text-align:center;
	border-top:min(0.234375vw,3px) dotted #165AAB;
	border-bottom:min(0.234375vw,3px) dotted #165AAB;
}
#subsidized-project-details h4{
	position:relative;
	width:100%;
	font-size:min(2.5vw,32px);
	line-height:min(4.0625vw,52px);
	color:#165AAB;
	font-weight:500;
	letter-spacing:0.1em;
}
#subsidized-project-details h4 span{
	position:relative;
	display:block;
	width:fit-content;
	padding-right:min(0.390625vw,5px);
	background:#FFF;
	z-index:2;
}
#subsidized-project-details h4::before{
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	height:1px;
	background:#165AAB;
	z-index:1;
	content:'';
}
#subsidized-project-details p+h4{
	margin-top:min(3.75vw,48px);
}
#subsidized-project-details p{
	margin-top:min(1.09375vw,14px);
	font-size:min(2.1875vw,28px);
	line-height:min(2.96875vw,38px);
}
#subsidized-project-details p span{
	text-decoration:line-through;
	text-decoration-color:#FF4B6C;
	text-decoration-thickness:min(0.390625vw,5px);
}
.speech-bubble{
	position:absolute;
	right:min(0.78125vw,10px);
	bottom:min(1.953125vw,25px);
	width:min(41.5625vw,532px);
	height:min(22.65625vw,290px);
	z-index:10;
}
@media screen and (max-width:800px){
	#subsidized-projects{
		padding:45px 0;
	}
	#subsidized-projects h2{
		width:100%;
		max-width:388px;
	}
	.subsidized-projects-text{
		width:100%;
		max-width:388px;
		margin-top:20px;
		padding-bottom:30px;
	}
	.subsidized-projects-text::before{
		bottom:32px;
		left:-16px;
		width:70px;
		height:92px;
		background-image:url(../svg/subsidized-projects_bill_sp.svg);
	}
	.subsidized-projects-text::after{
		right:-13px;
		bottom:20px;
		width:118px;
		height:116px;
	}
	#subsidized-project-details{
		max-width:525px;
		margin:0 auto;
		padding:35px 30px 37px;
	}
	#subsidized-project-details h3{
		margin-bottom:19px;
		padding:8px 0 10px;
		font-size:24px;
		line-height:30px;
		letter-spacing:0;
		text-indent:0;
		border-top-width:3px;
		border-bottom-width:3px;
	}
	#subsidized-project-details h4{
		font-size:18px;
		line-height:26px;
		letter-spacing:0;
	}
	#subsidized-project-details h4 span{
		padding-right:5px;
	}
	#subsidized-project-details p+h4{
		margin-top:10px;
	}
	#subsidized-project-details p{
		margin-top:1px;
		font-size:16px;
		line-height:26px;
	}
	#subsidized-project-details p span{
		text-decoration-thickness:3px;
	}
	.speech-bubble{
		right:unset;
		bottom:18px;
		left:370px;
		width:174px;
		height:95px;
	}
}
@media screen and (max-width:600px){

	#subsidized-project-details{
		padding:30px 20px 37px;
	}
	#subsidized-project-details h3{
		margin-bottom:20px;
		padding:8px 0 11px;
		font-size:22px;
		line-height:32px;
	}
	#subsidized-project-details p span{
		text-decoration-thickness:3px;
	}
	.speech-bubble{
		bottom:60px;
		left:220px;
		width:174px;
		height:130px;
	}
}
@media screen and (max-width:420px){
.subsidized-projects-text::before{
	bottom:34px;
	left:-3.7333vw;
	width:16.2667vw;
	height:21.3333vw;
}
.subsidized-projects-text::after{
	right:-3.2vw;
	bottom:22px;
	width:28vw;
	height:27.7333vw;
}
	#subsidized-project-details h3{
		margin-bottom:20px;
	}
	#subsidized-project-details h4{
		font-size:16px;
		line-height:1.4444;
	}
	#subsidized-project-details p+h4{
		margin-top:9px;
	}
	#subsidized-project-details p{
		margin-top:2px;
		font-size:14px;
		line-height:1.625;
	}
	.speech-bubble{
		right:calc(-3.7333vw - 4px);
		bottom:55px;
		left:unset;
	}
}
@media screen and (max-width:374px){
	#subsidized-project-details h3{
		margin-bottom:21px;
		padding:9px 0 11px;
		font-size:19px;
		line-height:29px;
	}
	#subsidized-project-details h4{
		font-size:15px;
	}
	#subsidized-project-details p+h4{
		margin-top:13px;
	}
	#subsidized-project-details p{
		margin-top:4px;
		font-size:11px;
	}
	.speech-bubble{
		bottom:48px;
		width:150px;
		height:112px;
	}
}


/* #subsidy-application
-------------------------------------------------- */
#subsidy-application{
	padding:min(4.375vw,56px) 0 min(6.25vw,80px);
}
#subsidy-application h2{
	position:relative;
	width:min(71.71875vw,918px);
	margin:0 auto;
	padding-bottom:min(2.03125vw,26px);
	font-size:min(4.21875vw,54px);
	line-height:min(5vw,64px);
	text-align:center;
	border-bottom:min(0.390625vw,5px) solid #000;
}
#subsidy-application h2::before,
#subsidy-application h2::after{
	position:absolute;
	left:50%;
	display:block;
	border-top:min(2.96875vw,38px) solid #000;
	border-right:min(1.796875vw,23px) solid transparent;
	border-left:min(1.796875vw,23px) solid transparent;
	transform:translateX(-50%);
	content:'';
}
#subsidy-application h2::before{
	bottom:max(-2.96875vw,-38px);
}
#subsidy-application h2::after{
	bottom:max(-2.265625vw,-29px);
	border-top-color:#FFF;
}
#subsidy-application p{
	position:relative;
	width:min(71.71875vw,918px);
	margin:0 auto;
	padding:min(6.484375vw,83px) 0 min(7.5vw,96px);
	font-size:min(2.1875vw,28px);
	line-height:min(3.75vw,48px);
}
#subsidy-application p::after{
	position:absolute;
	right:max(-3.125vw,-40px);
	bottom:min(0.9375vw,12px);
	display:block;
	width:min(25.390625vw,325px);
	height:min(27.109375vw,347px);
	background:url(../svg/subsidy-application_illust.svg) no-repeat center center/contain;
	content:'';
}
#subsidy-application h3{
	margin-top:min(5.078125vw,65px);
	padding:min(1.5625vw,20px) 0 min(1.953125vw,25px);
	font-size:min(2.8125vw,36px);
	line-height:min(3.59375vw,46px);
	color:#165AAB;
	font-weight:900;
	letter-spacing:0.02em;
	text-indent:0.02em;
	text-align:center;
	border-top:min(0.390625vw,5px) solid #165AAB;
	border-bottom:min(0.390625vw,5px) solid #165AAB;
}
#subsidy-application dl{
	display:grid;
	grid-template-columns:repeat(4,auto);
	column-gap:min(0.9375vw,12px);
	width:fit-content;
	margin:min(3.125vw,40px) auto 0;
}
#subsidy-application dt{
	align-self:center;
	padding-right:min(2.96875vw,38px);
	font-size:min(3.90625vw,50px);
	line-height:min(4.6875vw,60px);
	color:#165AAB;
	font-weight:900;
}
#subsidy-application dd{
	display:flex;
	justify-content:center;
	align-items:center;
	width:min(13.90625vw,178px);
	height:min(13.90625vw,178px);
	font-size:min(2.5vw,32px);
	line-height:min(2.96875vw,38px);
	color:#165AAB;
	font-weight:900;
	text-align:center;
	border:min(0.390625vw,5px) solid #165AAB;
	border-radius:50%;
	background:#FFFFAA;
}
#subsidy-application .button{
	margin-top:min(5.078125vw,65px);
}
@media screen and (max-width:800px){
	#subsidy-application{
		padding:40px 0 55px;
	}
	#subsidy-application h2{
		width:100%;
		max-width:388px;
		padding-bottom:11px;
		font-size:24px;
		line-height:32px;
		border-bottom-width:3px;
	}
	#subsidy-application h2::before,
	#subsidy-application h2::after{
		border-top-width:17px;
		border-right-width:10px;
		border-left-width:10px;
	}
	#subsidy-application h2::before{
		bottom:-17px;
	}
	#subsidy-application h2::after{
		bottom:-11px;
	}
	#subsidy-application p{
		width:fit-content;
		padding:35px 116px 32px 0;
		font-size:16px;
		line-height:24px;
	}
	#subsidy-application p::after{
		right:-15px;
		bottom:10px;
		width:156px;
		height:166px;
	}
	#subsidy-application-chartflow{
		max-width:388px;
		margin:0 auto;
	}
	#subsidy-application h3{
		max-width:525px;
		margin:45px auto 0;
		padding:8px 0 10px;
		font-size:24px;
		line-height:30px;
		letter-spacing:0;
		text-indent:0;
		border-top-width:3px;
		border-bottom-width:3px;
	}
	#subsidy-application dl{
		grid-template-columns:repeat(3,auto);
		gap:5px;
		width:fit-content;
		margin-top:19px;
	}
	#subsidy-application dt{
		grid-column:1/4;
		align-self:start;
		padding-right:0;
		font-size:24px;
		line-height:34px;
		text-align:center;
	}
	#subsidy-application dd{
		width:105px;
		height:105px;
		font-size:18px;
		line-height:24px;
		border-width:4px;
	}
	#subsidy-application .button{
		margin-top:45px;
	}
}
@media screen and (max-width:600px){
	#subsidy-application h3{
		padding:9px 0 10px;
		font-size:19px;
		line-height:1.25;
	}
	#subsidy-application dd{
		width:105px;
		height:105px;
		font-size:18px;
		line-height:24px;
		border-width:4px;
	}
}
@media screen and (max-width:420px){
	#subsidy-application p{
		padding:30px 36.8vw 26px 0;
		font-size:15px;
		line-height:1.5;
	}
	#subsidy-application p br:not(.non-break){
		display:none;
	}
	#subsidy-application p::after{
		top:50%;
		right:-2.4vw;
		bottom:unset;
		width:36.8vw;
		height:39.4667vw;
		transform:translateY(-50%);
	}
}
@media screen and (max-width:374px){
	#subsidy-application dd{
		width:95px;
		height:95px;
		font-size:17px;
		line-height:1.3333;
	}
}


/* #supported-devices
-------------------------------------------------- */
#supported-devices{
	padding:min(3.90625vw,50px) 0;
	background:#95E9F0;
}
#supported-devices-details{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	row-gap:min(3.28125vw,42px);
	padding:min(2.734375vw,35px) min(3.90625vw,50px) min(5vw,64px);
}
#supported-devices-details h2{
	padding-top:min(0.15625vw,2px);
	font-size:min(2.5vw,32px);
	line-height:min(3.28125vwvw,42px);
	color:#165AAB;
	letter-spacing:0.1em;
}
#supported-devices-details h3{
	justify-self:end;
	width:min(18.90625vw,242px);
}
#supported-devices-details ul{
	display:grid;
	grid-template-columns:repeat(4,auto);
	grid-column:1/3;
	row-gap:min(4.0625vw,52px);
}
#supported-devices-details dl{
	text-align:center;
}
#supported-devices-details dd{
	margin-top:min(0.46875vw,6px);
	font-size:min(1.40625vw,18px);
	line-height:min(1.71875vw,22px);
	color:#5A5A5A;
}
.supported-devices-item01{
	grid-row:1/2;
	grid-column:1/3;
	justify-self:end;
	width:min(33.75vw,432px);
}
.supported-devices-item02{
	grid-row:1/2;
	grid-column:3/5;
	justify-self:start;
	width:min(26.875vw,344px);
}
.supported-devices-item03{
	width:min(26.09375vw,334px);
	padding-right:min(1.171875vw,15px);
}
.supported-devices-item04{
	width:min(19.21875vw,246px);
}
.supported-devices-item05{
	width:min(25.78125vw,330px);
}
.supported-devices-item06{
	width:min(14.84375vw,190px);
}
.supported-devices-item01 img{width:min(25.546875vw,327px);}
.supported-devices-item02 img{width:min(26.875vw,344px);}
.supported-devices-item03 img{width:min(21.015625vw,269px);}
.supported-devices-item04 img{width:min(17.96875vw,230px);}
.supported-devices-item05 img{width:min(15vw,192px);}
.supported-devices-item06 img{width:min(9.453125vw,121px);}
@media screen and (max-width:800px){
	#supported-devices{
		padding:45px 0;
	}
	#supported-devices-details{
		grid-template-columns:1fr;
		row-gap:20px;
		max-width:525px;
		margin:0 auto;
		padding:19px 30px 29px;
	}
	#supported-devices-details h2{
		padding-top:0;
		font-size:24px;
		line-height:34px;
		letter-spacing:0;
		text-align:center;
	}
	#supported-devices-details h3{
		justify-self:center;
		width:190px;
		padding-bottom:5px;
	}
	#supported-devices-details ul{
		grid-template-columns:1fr;
		grid-column:unset;
		row-gap:34px;
	}
	#supported-devices-details dd{
		margin-top:12px;
		font-size:16px;
		line-height:20px;
	}
	.supported-devices-item01,
	.supported-devices-item02{
		grid-row:unset;
		grid-column:unset;
		justify-self:unset;
	}
	.supported-devices-item01,
	.supported-devices-item02,
	.supported-devices-item03,
	.supported-devices-item04,
	.supported-devices-item05,
	.supported-devices-item06{
		width:100%;
		max-width:475px;
		margin:0 auto;
		padding:0;
	}
	.supported-devices-item01 img,
	.supported-devices-item02 img,
	.supported-devices-item03 img,
	.supported-devices-item04 img,
	.supported-devices-item05 img,
	.supported-devices-item06 img{width:100%;}
}
@media screen and (max-width:600px){
	#supported-devices-details{
		padding:19px 25px 29px;
	}
	#supported-devices-details ul{
		row-gap:33px;
	}
	#supported-devices-details dd{
		margin-top:13px;
		font-size:15px;
		line-height:1.25;
	}
}


/* #introduction-results
-------------------------------------------------- */
#introduction-results{
	padding:min(4.375vw,56px) 0 min(6.25vw,80px);
}
#introduction-results h2{
	position:relative;
	width:min(84.375vw,1080px);
	margin:0 auto;
	padding-bottom:min(2.03125vw,26px);
	font-size:min(4.21875vw,54px);
	line-height:min(5vw,64px);
	text-align:center;
	border-bottom:min(0.390625vw,5px) solid #000;
}
#introduction-results h2::before,
#introduction-results h2::after{
	position:absolute;
	left:50%;
	display:block;
	border-top:min(2.96875vw,38px) solid #000;
	border-right:min(1.796875vw,23px) solid transparent;
	border-left:min(1.796875vw,23px) solid transparent;
	transform:translateX(-50%);
	content:'';
}
#introduction-results h2::before{
	bottom:max(-2.96875vw,-38px);
}
#introduction-results h2::after{
	bottom:max(-2.265625vw,-29px);
	border-top-color:#FFF;
}
#introduction-results ul{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	column-gap:min(0.9375vw,12px);
	margin-top:min(5.078125vw,65px);
}
#introduction-results li{
	padding:min(3.125vw,40px) min(1.015625vw,13px) min(2.34375vw,30px);
	text-align:center;
	border-radius:min(1.5625vw,20px);
	background:#95E9F0;
}
#introduction-results dd{
	margin-top:min(1.796875vw,23px);
	font-size:min(2.65625vw,34px);
	line-height:min(3.4375vw,44px);
	color:#165AAB;
}
#introduction-results .button{
	margin-top:min(5.078125vw,65px);
}
.toll-free{
	width:min(66.015625vw,845px);
	margin:min(4.296875vw,55px) auto 0;
}
.toll-free h3{
	font-size:min(5vw,64px);
	line-height:min(5.78125vw,74px);
	color:#FF4B6C;
	font-weight:900;
}
.toll-free p{
	margin-top:min(2.65625vw,34px);
}
@media screen and (max-width:800px){
	#introduction-results{
		padding:39px 0 55px;
	}
	#introduction-results h2{
		width:100%;
		max-width:388px;
		padding-bottom:11px;
		font-size:24px;
		line-height:32px;
		border-bottom-width:3px;
	}
	#introduction-results h2::before,
	#introduction-results h2::after{
		border-top-width:17px;
		border-right-width:10px;
		border-left-width:10px;
	}
	#introduction-results h2::before{
		bottom:-17px;
	}
	#introduction-results h2::after{
		bottom:-11px;
	}
	#introduction-results ul{
		grid-template-columns:repeat(2,1fr);
		gap:8px;
		margin-top:25px;
	}
	#introduction-results li{
		padding:22px 8px 14px;
		border-radius:10px;
	}
	#introduction-results dd{
		margin-top:8px;
		font-size:19px;
		line-height:29px;
	}
	#introduction-results .button{
		margin-top:45px;
	}
	.toll-free{
		width:100%;
		max-width:340px;
		margin-top:39px;
	}
	.toll-free h3{
		font-size:26px;
		line-height:36px;
	}
	.toll-free p{
		margin-top:11px;
	}
}
@media screen and (max-width:600px){
	#introduction-results ul{
		gap:6px;
	}
	.toll-free{
		max-width:296px;
		margin-top:38px;
	}
	.toll-free h3{
		font-size:22px;
		line-height:32px;
	}
}


/* #case-study
-------------------------------------------------- */
#case-study{
	padding:min(5.078125vw,65px) 0 min(6.25vw,80px);
	background:#95E9F0;
}
#case-study h2{
	width:min(15.625vw,200px);
	margin:0 auto;
	padding:min(0.15625vw,2px) 0 min(0.3125vw,4px);
	font-size:min(1.71875vw,22px);
	line-height:min(2.5vw,32px);
	color:#165AAB;
	letter-spacing:0.1em;
	text-indent:0.1em;
	text-align:center;
	border-radius:min(1.484375vw,19px);
	background:#FFF;
}
#case-study h3{
	position:relative;
	width:fit-content;
	margin:min(0.78125vw,10px) auto 0;
	padding:0 min(2.34375vw,30px);
	font-size:min(4.6875vw,60px);
	line-height:min(5.46875vw,70px);
	color:#FFF;
	letter-spacing:0.1em;
	text-indent:0.1em;
}
#case-study h3::before,
#case-study h3::after{
	position:absolute;
	top:min(0.15625vw,2px);
	display:block;
	width:min(0.234375vw,3px);
	height:min(6.25vw,80px);
	background:#FFF;
	content:'';
}
#case-study h3::before{
	left:0;
	transform:rotate(-24deg);
}
#case-study h3::after{
	right:0;
	transform:rotate(24deg);
}
.case-study-details{
	position:relative;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	column-gap:min(5.3125vw,68px);
	margin-top:min(3.671875vw,47px);
}
.case-study-details::after{
	position:absolute;
	bottom:max(-1.640625vw,-21px);
	left:min(9.375vw,120px);
	display:block;
	width:min(20.703125vw,265px);
	height:min(19.609375vw,251px);
	background:url(../svg/case-study_illust.svg) no-repeat center center/contain;
	content:'';
}
.case-study-details>li{
	position:relative;
	padding-bottom:min(3.75vw,48px);
}
.case-study-details>li+li::before{
	position:absolute;
	top:0;
	left:max(-2.734375vw,-35px);
	display:block;
	width:min(0.15625vw,2px);
	height:100%;
	background:#FFF;
	content:'';
}
.case-study-icon{
	display:flex;
	column-gap:min(0.625vw,8px);
	width:fit-content;
}
.case-study-icon>li{
	padding:min(0.15625vw,2px) min(2.34375vw,30px) min(0.234375vw,3px);
	font-size:min(1.171875vw,15px);
	line-height:min(1.953125vw,25px);
	border-radius:min(1.171875vw,15px);
	background:#FFF;
}
.case-study-title{
	margin-top:min(1.40625vw,18px);
	padding:min(0.078125vw,1px) 0 min(0.234375vw,3px) min(0.9375vw,12px);
	font-size:min(2.03125vw,26px);
	line-height:min(2.8125vw,36px);
	color:#165AAB;
	border-left:min(0.9375vw,12px) solid #165AAB;
}
.case-study-customer{
	margin-top:min(0.78125vw,10px);
	font-size:min(2.03125vw,26px);
	line-height:min(2.8125vw,36px);
}
.case-study-info{
	display:grid;
	grid-template-columns:min(19.6875vw,252px) 1fr;
	column-gap:min(2.34375vw,30px);
	margin-top:min(1.171875vw,15px);
}
.case-study-info dt,
.case-study-info dd{
	font-size:min(1.25vw,16px);
	line-height:min(1.71875vw,22px);
}
.case-study-info dt{
	color:#165AAB;
}
.case-study-info dt::before{
	content:'\25CF';
}
.case-study-info dd+dt{
	margin-top:min(0.3125vw,4px);
}
.case-study-text{
	margin-top:min(3.203125vw,41px);
	font-size:min(1.40625vw,18px);
	line-height:min(1.875vw,24px);
}
.case-study-text+.case-study-text{
	margin-top:min(1.875vw,24px);
}
.case-study-text.color{
	color:#165AAB;
}
@media screen and (max-width:800px){
	#case-study{
		padding:45px 0 227px;
	}
	#case-study h2{
		width:136px;
		padding:3px 0;
		font-size:16px;
		line-height:26px;
		letter-spacing:0;
		text-indent:0;
		border-radius:15px;
	}
	#case-study h3{
		margin-top:13px;
		padding:0 20px;
		font-size:38px;
		line-height:48px;
		letter-spacing:0;
		text-indent:0;
	}
	#case-study h3::before,
	#case-study h3::after{
		top:2px;
		width:3px;
		height:50px;
	}
	.case-study-details{
		grid-template-columns:1fr;
		gap:78px 0px;
		max-width:525px;
		margin:26px auto 0;
	}
	.case-study-details::after{
		bottom:-202px;
		left:50%;
		width:188px;
		height:179px;
		transform:translateX(-50%);
	}
	.case-study-details>li{
		padding-bottom:0;
	}
	.case-study-details>li+li::before{
		content:none;
	}
	.case-study-icon{
		column-gap:6px;
	}
	.case-study-icon>li{
		padding:1px 30px;
		font-size:14px;
		line-height:24px;
		border-radius:14px;
	}
	.case-study-title{
		margin-top:20px;
		padding:0 0 2px 10px;
		font-size:22px;
		line-height:32px;
		border-left-width:8px;
	}
	.case-study-title br{
		display:none;
	}
	.case-study-customer{
		margin-top:13px;
		font-size:22px;
		line-height:32px;
		text-align:center;
	}
	.case-study-info{
		grid-template-columns:1fr;
		gap:16px 0;
		margin-top:11px;
		padding:0 45px;
	}
	.case-study-info dt,
	.case-study-info dd{
		font-size:16px;
		line-height:22px;
		text-align:center;
	}
	.case-study-info dd+dt{
		margin-top:14px;
	}
	.case-study-info dd{
		margin-top:4px;
	}
	.case-study-text{
		margin-top:44px;
		font-size:18px;
		line-height:24px;
	}
	.case-study-text+.case-study-text{
		margin-top:19px;
	}
}
@media screen and (max-width:600px){
	.case-study-icon{
		column-gap:5px;
	}
	.case-study-icon>li{
		padding:1px 22px;
	}
	.case-study-info dt,
	.case-study-info dd{
		text-align:left;
	}
	.case-study-info dd+dt{
		margin-top:9px;
	}
	.case-study-info dd{
		margin-top:2px;
	}
	.case-study-text{
		margin-top:41px;
		font-size:17px;
		line-height:1.625;
	}
}

@media screen and (max-width:420px){
	#case-study{
		padding-bottom:54.0476vw;
	}
	.case-study-details::after{
		bottom:-48.0952vw;
		width:44.8vw;
		height:42.4vw;
	}
}


@media screen and (max-width:374px){
	.case-study-icon>li{
		padding:1px 15px 2px;
		font-size:13px;
		line-height:25px;
	}
	.case-study-title{
		margin-top:18px;
		padding:0 0 0 10px;
		font-size:20px;
		line-height:30px;
	}
	.case-study-customer{
		margin-top:11px;
		font-size:20px;
		line-height:30px;
	}
	.case-study-info{
		margin-top:10px;
		padding:0;
	}
}


/* #faq
-------------------------------------------------- */
#faq{
	padding:min(3.90625vw,50px) 0 min(5.859375vw,75px);
}
#faq h2{
	font-size:min(4.21875vw,54px);
	line-height:min(5vw,64px);
	letter-spacing:0.02em;
	text-indent:0.02em;
	text-align:center;
}
#faq dl{
	display:grid;
	row-gap:min(0.390625vw,5px);
	width:min(75vw,960px);
	margin:min(2.421875vw,31px) auto 0;
}
#faq dt{
	position:relative;
	padding:min(1.640625vw,21px) min(5.78125vw,74px) min(1.796875vw,23px) min(6.25vw,80px);
	font-size:min(2.03125vw,26px);
	line-height:min(2.5vw,32px);
	color:#165AAB;
	letter-spacing:0.02em;
	border:clamp(1px,0.15625vw,2px) solid #165AAB;
	cursor:pointer;
}
#faq dt::before{
	position:absolute;
	top:50%;
	left:min(1.40625vw,18px);
	display:block;
	width:min(3.90625vw,50px);
	height:min(1.71875vw,22px);
	background:url(../svg/faq.svg) no-repeat center center/contain;
	transform:translateY(-50%);
	content:'';
}
#faq dt span{
	position:absolute;
	top:50%;
	right:min(1.5625vw,20px);
	display:block;
	width:min(2.65625vw,34px);
	height:min(2.65625vw,34px);
	border-radius:50%;
	transform:translateY(-50%);
	background:#165AAB;
	transition:.3s;
}
#faq dt span::before,
#faq dt span::after{
	position:absolute;
	top:50%;
	left:50%;
	display:block;
	background:#fff;
	transform:translate(-50%,-50%);
	content:'';
}
#faq dt span::before{
	width:min(1.40625vw,18px);
	height:clamp(1px,0.15625vw,2px);
}
#faq dt span::after{
	width:clamp(1px,0.15625vw,2px);
	height:min(1.40625vw,18px);
}
#faq dt.active span{
	transform:translateY(-50%) rotate(225deg);
}
#faq dd{
	display:none;
	padding:min(1.40625vw,18px) min(1.40625vw,18px) min(1.640625vw,21px);
	font-size:min(1.71875vw,22px);
	line-height:min(2.5vw,32px);
	font-weight:500;
	border:clamp(1px,0.15625vw,2px) solid #45A8FF;
}
@media screen and (max-width:800px){
	#faq{
		padding:32px 0 55px;
	}
	#faq h2{
		font-size:44px;
		line-height:54px;
	}
	#faq dl{
		row-gap:5px;
		width:100%;
		margin-top:22px;
	}
	#faq dt{
		padding:15px 60px 16px 62px;
		font-size:20px;
		line-height:28px;
		letter-spacing:0;
		border-width:2px;
	}
	#faq dt::before{
		left:12px;
		width:40px;
		height:18px;
	}
	#faq dt span{
		right:12px;
		width:30px;
		height:30px;
	}
	#faq dt span::before{
		width:14px;
		height:2px;
	}
	#faq dt span::after{
		width:2px;
		height:14px;
	}
	#faq dd{
		/*display:none;*/
		padding:17px 15px 18px;
		font-size:20px;
		line-height:28px;
		border-width:2px;
	}
}


/* #company-profile
-------------------------------------------------- */
#company-profile{
	position:relative;
	padding:min(7.421875vw,95px) 0 min(7.734375vw,99px);
}
#company-profile::before{
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:100%;
	height:3.75vw;
	background:url(../image/company-profile_bg.png) no-repeat center center/cover;
	content:'';
}
#company-profile h2{
	font-size:min(2.5vw,32px);
	line-height:min(2.96875vw,38px);
	color:#165AAB;
	text-align:center;
}
#company-profile table{
	width:min(54.6875vw,700px);
	margin:min(2.65625vw,34px) auto 0;
}
#company-profile th,
#company-profile td{
	font-size:min(1.40625vw,18px);
	line-height:min(2.5vw,32px);
	font-weight:500;
	vertical-align:top;
}
#company-profile th{
	width:8em;
	white-space:nowrap;
}
#company-profile dl{
	display:grid;
	grid-template-columns:8em auto;
}
#company-profile dt::before{
	content:'\25A0';
}
#company-profile dd br{
	display:none;
}
@media screen and (max-width:1920px){
	#company-profile::before{
		height:72px;
		background-size:1920px 72px;
	}
}
@media screen and (max-width:1280px){
	#company-profile::before{
		height:5.0667vw;
		background-size:contain;
	}
}
@media screen and (max-width:800px){
	#company-profile{
		padding:10vw 0 71px;
	}
	#company-profile::before{
		height:5vw;
		background-image:url(../image/company-profile_bg_sp.png);
		background-size:100vw 4.875vw;
	}
	#company-profile h2{
		font-size:22px;
		line-height:28px;
	}
	#company-profile table{
		width:fit-content;
		margin-top:2px;
	}
	#company-profile th,
	#company-profile td{
		padding-top:15px;
		font-size:16px;
		line-height:26px;
	}
	#company-profile dl{
		grid-template-columns:1fr;
	}
	#company-profile dd+dt{
		margin-top:5px;
	}
}
@media screen and (max-width:600px){
	#company-profile{
		padding-bottom:73px;
	}
	table,tbody,tr,th,td{
		display:block;
	}
	#company-profile table{
		margin-top:13px;
	}
	#company-profile tr+tr{
		margin-top:20px;
	}
	#company-profile th,
	#company-profile td{
		padding-top:0;
		font-size:15px;
		line-height:1.625;
	}
	#company-profile dd+dt{
		margin-top:9px;
	}
	#company-profile dd br{
		display:block;
	}
}


/* #inquiry-form
-------------------------------------------------- */
#inquiry-form{
	padding:min(3.90625vw,50px) 0 min(6.25vw,80px);
	background:#95E9F0;
}
#inquiry-form form{
	width:min(75vw,960px);
	margin:min(3.90625vw,50px) auto 0;
}
.inquiry-form-lead{
	position:relative;
	text-align:center;
}
.inquiry-form-lead h2{
	width:fit-content;
	margin:0 auto;
	padding:min(0.78125vw,10px) min(6.25vw,80px);
	font-size:min(1.875vw,24px);
	line-height:min(2.65625vw,34px);
	color:#FF4B6C;
	letter-spacing:0.1em;
	text-indent:0.1em;
	border-radius:min(2.109375vw,27px);
	background:#FFFFAA;
}
.inquiry-form-lead h3{
	position:absolute;
	top:max(-6.640625vw,-85px);
	left:min(7.421875vw,95px);
	width:min(14.375vw,184px);
	height:min(14.375vw,184px);
}
.inquiry-form-text{
	margin-top:min(1.796875vw,23px);
	font-size:min(1.71875vw,22px);
	line-height:min(2.5vw,32px);
}
.inquiry-form-notes{
	margin-top:min(1.09375vw,14px);
	font-size:min(1.25vw,16px);
	line-height:min(2.03125vw,26px);
}
.inquiry-form-notes em{
	display:inline-block;
	margin:0 0.2em;
	padding:min(0.15625vw,2px) min(0.78125vw,10px);
	font-size:min(1.171875vw,15px);
	line-height:min(1.71875vw,22px);
	color:#FFF;
	letter-spacing:0.3em;
	text-indent:0.3em;
	border-radius:min(0.9375vw,12px);
	background:#FF4B6C;
}
.inquiry-form-notes span{
	display:none;
}
.inquiry-form-content{
	display:flex;
	flex-wrap:wrap;
	gap:min(1.953125vw,25px) min(1.5625vw,20px);
}
.inquiry-form-content dt{
	padding-bottom:min(0.390625vw,5px);
	font-size:min(1.484375vw,19px);
	line-height:min(2.265625vw,29px);
}
.inquiry-form-content dt em{
	display:inline-block;
	margin-left:min(1.171875vw,15px);
	padding:min(0.15625vw,2px) 0 min(0.3125vw,4px);
	font-size:min(1.40625vw,18px);
	line-height:min(1.875vw,24px);
	color:#FFF;
	border-radius:min(1.171875vw,15px);
}
.inquiry-form-content dt em.required{
	padding-right:min(1.015625vw,13px);
	padding-left:min(1.015625vw,13px);
	letter-spacing:0.3em;
	text-indent:0.3em;
	background:#FF4B6C;
}
.inquiry-form-content dt em.optional-item{
	padding-right:min(1.40625vw,18px);
	padding-left:min(1.40625vw,18px);
	background:#45A8FF;
}
.inquiry-form-content dt em span{
	display:none;
}
.form-parts-name{width:min(29.6875vw,380px);}
.form-parts-company{width:min(43.75vw,560px);}
.form-parts-email{width:min(36.71875vw,470px);}
.form-parts-tel{width:min(36.71875vw,470px);}
.form-parts-text{width:100%;}
input[type=text],
textarea{
	width:100%;
	padding:min(1.09375vw,14px) min(1.171875vw,15px);
	font-size:min(1.5625vw,20px);
	line-height:min(2.34375vw,30px);
	font-family:'Noto Sans JP',sans-serif;
	font-weight:400;
	border:1px solid #aaa;
	background:#FFF;
	resize:none;
}
textarea{
	height:min(23.4375vw,300px);
}
textarea::placeholder{
	color:#A09B9B;
}
textarea:focus::placeholder{
	color:transparent;
}
.form-button{
	width:min(31.25vw,400px);
	margin:min(5.078125vw,65px) auto 0;
}
.form-button a{
	display:flex;
	justify-content:center;
	align-items:center;
	height:min(5vw,64px);
	font-size:min(1.875vw,24px);
	line-height:min(2.65625vw,34px);
	color:#FFF;
	border-radius:min(0.78125vw,10px);
	background:#165AAB;
}
.completion{display:none;}
.contact .error{
	margin-top:min(2.65625vw,34px);
	font-size: min(1.71875vw,22px);
	line-height: min(2.5vw,32px);
	color:#d00000;
	font-weight:700;
}
.contact .error+.error{
	margin-top:0;
}
.contact .error+ul{
	margin-top:min(5.078125vw,65px);
}

@media screen and (max-width:800px){
	#inquiry-form{
		padding:100px 0 55px;
	}
	#inquiry-form form{
		width:100%;
		margin-top:50px;
	}
	.inquiry-form-lead h2{
		padding:7px 70px;
		font-size:20px;
		line-height:30px;
		border-radius:22px;
	}
	.inquiry-form-lead h3{
		position:absolute;
		top:-145px;
		right:calc(100% - 18.6667vw);
		left:unset;
		width:138px;
		height:138px;
	}
	.inquiry-form-text{
		margin-top:19px;
		font-size:20px;
		line-height:30px;
	}
	.inquiry-form-text span{
		display:inline-block;
	}
	.inquiry-form-notes{
		margin-top:14px;
		font-size:16px;
		line-height:26px;
	}
	.inquiry-form-notes em{
		padding:2px 10px;
		font-size:15px;
		line-height:22px;
		border-radius:13px;
	}
	.inquiry-form-content{
		flex-direction:column;
		flex-wrap:nowrap;
		gap:25px 0;
	}
	.inquiry-form-content dt{
		padding-bottom:8px;
		font-size:19px;
		line-height:29px;
	}
	.inquiry-form-content dt em{
		margin-left:10px;
		padding:2px 0 4px;
		font-size:18px;
		line-height:24px;
		border-radius:15px;
	}
	.inquiry-form-content dt em.required{
		padding-right:15px;
		padding-left:15px;
	}
	.inquiry-form-content dt em.optional-item{
		padding-right:20px;
		padding-left:20px;
	}
	.form-parts-name,
	.form-parts-company,
	.form-parts-email,
	.form-parts-tel{width:100%;}
	input[type=text],
	textarea{
		padding:10px 12px;
		font-size:20px;
		line-height:30px;
	}
	textarea{
		height:500px;
	}
	.form-button{
		width:100%;
		margin-top:25px;
	}
	.form-button a{
		height:64px;
		font-size:24px;
		line-height:34px;
		border-radius:10px;
	}
	.contact .error{
		margin-top:10px;
		font-size:18px;
		line-height:26px;
		color:#d00000;
		font-weight:700;
	}
}
@media screen and (max-width:600px){
	.inquiry-form-lead h2{
		width:100%;
		padding:7px 0;
		font-size:20px;
		line-height:30px;
		letter-spacing:0;
		text-indent:0;
		border-radius:22px;
	}
	.inquiry-form-lead h3{
		right:unset;
		left:0;
	}
}