@charset "UTF-8";

@font-face{
	font-family: 'Zen Kaku Gothic New';
	src: url('../fonts/ZenKakuGothicNew-Bold.ttf') format('ttf');
	font-display: swap;
	font-weight: 600;
}
@font-face{
	font-family: 'Zen Kaku Gothic New';
	src: url('../fonts/ZenKakuGothicNew-Medium.ttf') format('ttf');
	font-display: swap;
	font-weight: 400;
}

/*全体共通*/
:root, html{ font-size: 10px; } 
*{ box-sizing: border-box; }
body {
	--max-width: 900px;
  --c-base: #F6F6F6;
  --c-main: #F9DB00;
  --c-sub-g: #19C18F;
  --c-sub-b: #1A5DAA;
  --c-accent: #FF7B02;
	--c-dark: #242424;
  --ff-main: 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	--ff-mincho: "游明朝", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  /* --ff-en: var(--ff-main); */

  position: relative;
  width: 100%;
  overflow-x: hidden;
	font-family: var(--ff-main);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
  -webkit-text-size-adjust: 100%;
}
body.-fixed{
	position: fixed;
	left: 0;
	width: 100%;
	height: 100%;
}
/* IE表示用のCSS　*/
@media all and (-ms-high-contrast:none){
	body {font-family: "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans",sans-serif;}
}
a{
	display: inline-block;
	color: inherit;
	font-weight: inherit;
}
a:hover{
	cursor: pointer;
}
body.userAgent-pc a[href^="tel:"]{
	pointer-events: none;
}
img, svg, video{
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
}
select{
  cursor: pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
input, textarea{
	border: none;
	outline: none;
}
::before, ::after{
	box-sizing: border-box;
}

/* .--ff-en{ font-family: var(--ff-en); } */
.--c-red{ color: #e60012 !important; }
.--c-white{ color: #fff !important; }
.--c-yellow{ color: #ffff00 !important; }
.--c-blue{ color: #3372b9 !important; }
.--c-pink{ color: #ff7987 !important; }
.--center{ text-align: center !important; }
.--ta-l{ text-align: left !important; }
.--ta-r{ text-align: right !important; }
.--ta-justify{ text-justify: inter-ideograph; text-align: justify; text-align-last: left; }
.--bold{ font-weight: bold !important; }
.--thin{ font-weight: 100 !important; }
.--nowrap{ white-space: nowrap; }
.--kerning{ font-feature-settings: "palt"; }

.--overflow-ellipsis{
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
a.--h-opacity, .--h-opacity a{ transition: opacity .3s; }
a.--h-opacity:hover, .--h-opacity a:hover{ opacity: .7; }

.--under{ border-bottom: 1px solid #888; }
.--img-cover{ width: 100%; height: 100%; object-fit: cover; }
.--img-contain{ width: 100%; height: 100%; object-fit: contain; }
.--clearfix::after{ content: ""; display: block; clear: both; }
.--d-ib{ display: inline-block !important; }
.--d-n{ display: none !important; }
.--d-f{ display: flex !important; }
.--justify-center{ display: flex; justify-content: center; }
.--absolute{ position: absolute; top: 0; left: 0; }

.--inview.-fadeup{
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s .3s ease-out, transform .6s .3s ease-out;
}
.--inview.-fadeup.active{
  opacity: 1;
  transform: translateY(0);
}

/* PC */
@media (min-width: 900px){
	.--tab{ display: none !important; }
	.--sp{ display: none !important; }
	.--tab-sp{ display: none !important; }

	.--pc_pl-0{ padding: 0 !important; }
	.--pc_pr-0{ padding: 0 !important; }
}
/* TAB */
@media screen and (max-width: 899px) and (min-width: 481px) {
	.--pc{ display: none !important; }
	.--sp{ display: none !important; }
	.--pc-sp{ display: none !important; }

	.--tab_pl-0{ padding: 0 !important; }
	.--tab_pr-0{ padding: 0 !important; }
}
/* SP */
@media screen and (max-width: 480px) {
	.--pc{ display: none !important; }
	.--tab{ display: none !important; }
	.--pc-tab{ display: none !important; }

	.--sp-pl-0{ padding: 0 !important; }
	.--sp-pr-0{ padding: 0 !important; }

	.--sp_fs-14{ font-size: 14px !important; }
	.--sp_fs-16{ font-size: 16px !important; }
	.--sp_fs-18{ font-size: 18px !important; }
}

/* 共通 */
.cntInner,
._Inner,
._Inner-l{
	width: 100%;
	margin: 0 auto;
}
._Inner{
	max-width: 1000px;
}
._Inner-l{
	max-width: 1200px;
}
._Title-c{
	position: relative;
	font-size: 4rem;
	text-align: center;
}
._Title-c .back{
	display: inline-block;
	font-size: 20.5rem;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	white-space: nowrap
}
._Title-c .front{
	position: absolute;
	bottom: 12%;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	font-size: inherit;
	font-weight: 600;
	z-index: 2;
}
._Title-l{
	position: relative;
	font-size: 4rem;
	z-index: 2;
}
._Title-l .back{
	position: relative;
	left: -33px;
	display: block;
	width: calc(100% + 66px);
	/* display: inline-block; */
	/* font-size: 20.5rem; */
	font-size: 22.5rem;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	text-align: left;
	white-space: nowrap;
	z-index: -2;
}
._Title-l .front{
	position: absolute;
	bottom: 13%;
	left: 0;
	display: block;
	font-size: inherit;
	font-weight: 600;
}
._Title-col-c{
	text-align: center;
}
._Title-col-c .small{
	font-size: 2.2rem;
	font-weight: 600;
	display: block;
}
._Title-col-c .large{
	display: block;
	font-size: 9rem;
	font-weight: 600;
	color: var(--c-main);
	margin-top: -10px;
}
._Title-col-l .small{
	font-size: 2.2rem;
	font-weight: 600;
	padding-left: 12px;
	display: block;
}
._Title-col-l .large{
	display: block;
	font-size: 9rem;
	font-weight: 600;
	color: var(--c-main);
	margin-top: -10px;
}
._Title-jp-b .title{
	font-size: 5rem;
	font-weight: 600;
	color: var(--c-sub-b);
}
._Title-jp-b .desc{
	font-size: 2rem;
	font-weight: 600;
}
._Catch{
	display: block;
}
._Catch .border{
	display: inline;
	font-size: 4rem;
	font-weight: 600;
	line-height: 1.75;
	background: linear-gradient(transparent 60%, var(--c-main) 60%);
	padding: 0 20px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
._Text-bg .back{
	display: inline;
	font-size: 3rem;
	font-weight: 600;
	line-height: 2.36;
	background: #fff;
	padding: 6px 15px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
._Btn-circle{
  position: relative;
}
._Btn-circle .txt{
  display: inline-block;
  font-size: 2.3rem;
  letter-spacing: .05em;
  position: relative;
  padding: 0 35px;
  z-index: 1;
}
._Btn-circle .txt::before{
  position: absolute;
  content: "";
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--c-main);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s;
  z-index: -1;
}
._Btn-circle .txt::after{
  position: absolute;
  content: "";
  width: 23px;
  height: 9px;
  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2223.97%22%20height%3D%2210.01%22%20viewBox%3D%220%200%2023.97%2010.01%22%3E%20%3Cg%20transform%3D%22translate(0%200.53)%22%3E%20%3Cpath%20d%3D%22M-13711.2-8382.339h22.91%22%20transform%3D%22translate(13711.197%208386.813)%22%20fill%3D%22none%22%20stroke%3D%22%23242424%22%20stroke-width%3D%221.5%22%2F%3E%20%3Cpath%20d%3D%22M0%2C6.329V0H6.328%22%20transform%3D%22translate(22.909%204.475)%20rotate(135)%22%20fill%3D%22none%22%20stroke%3D%22%23242424%22%20stroke-width%3D%221.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center/contain no-repeat;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s;
}
._Btn-circle:hover .txt::before{
  width: 82px;
  height: 82px;
  transform: translateX(-6px) translateY(-50%);
}
._Btn-circle:hover  .txt::after{
  right: -8px;
}
._Btn-square{
	background: var(--c-main);
	max-width: 230px;
	width: 100%;
	height: 61px;
	display: flex;
	align-items: center;
	padding: 6px 70px 6px 23px;
	position: relative;
	font-size: 1.8rem;
	letter-spacing: .05em;
}
._Btn-square span.txt{
	color: #000;
}
._Btn-square .arrow{
	position: absolute;
	background-color: var(--c-dark);
	width: 43px;
	height: 17px;
	border-radius: 100px;
	top: 50%;
	right: 19px;
	transform: translateY(-50%);
	transition: transform .3s;
}
._Btn-square .arrow::before{
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	width: 15px;
	height: 6px;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215.422%22%20height%3D%226.455%22%20viewBox%3D%220%200%2015.422%206.455%22%3E%20%3Cg%20transform%3D%22translate(0%200.354)%22%3E%20%3Cpath%20d%3D%22M-13711.2-8382.339h14.713%22%20transform%3D%22translate(13711.197%208385.213)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20d%3D%22M0%2C4.064V0H4.064%22%20transform%3D%22translate(14.715%202.874)%20rotate(135)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center/contain no-repeat;
}
._Btn-square:hover .arrow{
	transform: translateX(8px) translateY(-50%);
}
._Btn-tiktok{
	max-width: 231px;
	width: 100%;
	height: 50px;
	border: 1px solid var(--c-dark);
	border-radius: 100px;
	background: #fff;
	padding: 5px;
	display: flex;
	align-items: center;
	gap: 0 5px;
	position: relative;
	transition: opacity .3s;
}
._Btn-tiktok:hover{
	opacity: .6;
}
._Btn-tiktok::before{
	position: absolute;
	content: "";
	width: 5px;
	height: 5px;
	border-right: 1px solid var(--c-dark);
	border-bottom: 1px solid var(--c-dark);
	transform-origin: center;
	right: 11px;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}
._Btn-tiktok .icon{
	width: 40px;
	aspect-ratio: 1/1;
}
._Btn-tiktok .bold{
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0;
}
._Btn-tiktok .id{
	font-size: 1.1rem;
	letter-spacing: .05em;
}
/* 1366px以下 */
@media screen and (max-width: 1366px) {
	._Title-c .back{
		/* font-size: calc(205px - (1366px - 100vw) / (467 / 80)); */
		font-size: 15vw;
	}
	._Title-c,
	._Title-l{
		font-size: calc(40px - (1366px - 100vw) / (467 / 10));
	}
	._Catch .border{
		font-size: calc(40px - (1366px - 100vw) / (467 / 11));
	}
	._Text-bg .back{
		font-size: calc(30px - (1366px - 100vw) / (467 / 5));
	}
	._Title-l .back{
		font-size: 16.4vw;
	}
	._Title-jp-b .title{
		font-size: calc(50px - (1366px - 100vw) / (467 / 10));
		margin-bottom: 7px;
	}
	._Title-col-l .large{
		font-size: calc(90px - (1366px - 100vw) / (467 / 20));
	}
}
/* TAB */
@media screen and (max-width: 899px){
	._Title-c,
	._Title-l{
		font-size: calc(32px - (899px - 100vw) / (419 / 10));
	}
	._Title-c .back{
		font-size: calc(85px - (899px - 100vw) / (419 / 20));
		letter-spacing: -0.03em;
	}
	._Title-c .front{
		bottom: 0;
	}
	._Title-l .back{
		left: -20px;
		width: calc(100% + 40px);
		font-size: calc(85px - (899px - 100vw) / (419 / 20));
	}
	._Title-l .front{
		bottom: 0;
		left: 0;
	}
	._Title-col-c .small{
		font-size: calc(19px - (899px - 100vw) / (419 / 5));
	}
	._Title-col-c .large{
		font-size: calc(50px - (899px - 100vw) / (419 / 5));
		margin-top: 3px;
	}
	._Title-col-l .small{
		font-size: calc(19px - (899px - 100vw) / (419 / 5));
		padding-left: 12px;
	}
	._Title-col-l .large{
		font-size: calc(55px - (899px - 100vw) / (419 / 10));
		margin-top: 3px;
	}
	._Title-jp-b .title{
		font-size: calc(36px - (899px - 100vw) / (419 / 10));
	}
	._Title-jp-b .desc{
		font-size: calc(17px - (899px - 100vw) / (419 / 5));
	}
	._Catch .border{
		font-size: calc(25px - (899px - 100vw) / (419 / 5));
		padding-left: 7px;
		padding-right: 7px;
	}
	._Text-bg .back{
		font-size: calc(23px - (899px - 100vw) / (419 / 5));
		line-height: 2.36;
		padding: 5px 8px;
	}
	._Btn-circle .txt{
		font-size: 1.6rem;
		padding-left: 25px;
		padding-right: 27px;
	}
	._Btn-circle .txt::before{
		width: 50px;
		height: 50px;
	}
	._Btn-circle .txt::after{
		width: 17px;
		height: 7px;
	}
	._Btn-circle:hover .txt::before{
		width: 60px;
		height: 60px;
		transform: translateX(-5px) translateY(-50%);
	}
	._Btn-circle:hover  .txt::after{
		right: -5px;
	}
	._Btn-square{
		font-size: 1.5rem;
		max-width: 160px;
		height: 50px;
		padding: 6px 55px 6px 8px;
	}
	._Btn-square .arrow{
		width: 35px;
		height: 13px;
		right: 10px;
	}
	._Btn-square .arrow::before{
		width: 12px;
		height: 5px;
	}
	._Btn-square:hover .arrow{
		transform: translateX(5px) translateY(-50%);
	}
}
/* SP */
@media screen and (max-width: 480px) {
	._Title-c,
	._Title-l{
		font-size: 2.2rem;
	}
	._Title-c .back{
		/* margin-top: 20px; */
		font-size: 6.5rem;
		line-height: 1.45;
		letter-spacing: -0.03em;
	}
	._Title-c .front{
		bottom: 11px;
	}
	._Title-l .back{
		font-size: 6.5rem;
	}
	._Title-l .front{
		bottom: -2px;
	}
	._Title-col-c .small{
		font-size: 1.4rem;
	}
	._Title-col-c .large{
		font-size: 4.5rem;
	}
	._Title-col-l .small{
		font-size: 1.4rem;
	}
	._Title-col-l .large{
		margin-top: 0;
		font-size: 4.5rem;
	}
	._Title-jp-b .title{
		font-size: 2.6rem;
	}
	._Title-jp-b .desc{
		font-size: 1.2rem;
	}
	._Catch .border{
		font-size: 2rem;
	}
	._Text-bg .back{
		font-size: 1.8rem;
	}
	/* ._Btn-circle .txt{
		font-size: 1.6rem;
		padding-left: 25px;
		padding-right: 27px;
	}
	._Btn-circle .txt::before{
		width: 50px;
		height: 50px;
	}
	._Btn-circle .txt::after{
		width: 17px;
		height: 7px;
	}
	._Btn-circle:hover .txt::before{
		width: 60px;
		height: 60px;
		transform: translateX(-5px) translateY(-50%);
	}
	._Btn-circle:hover  .txt::after{
		right: -5px;
	}
	._Btn-square{
		font-size: 1.5rem;
		max-width: 160px;
		height: 50px;
		padding: 6px 55px 6px 8px;
	}
	._Btn-square .arrow{
		width: 35px;
		height: 13px;
		right: 10px;
	}
	._Btn-square .arrow::before{
		width: 12px;
		height: 5px;
	}
	._Btn-square:hover .arrow{
		transform: translateX(5px) translateY(-50%);
	} */
}

/* ローディング */
#loading{
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
	width: 100%;
	height: 100%;
	z-index: 999;
}

/* メイン */
#mainBox{
	overflow: hidden;
}

/* ヘッダー */
#header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0 20px;
	background: #fff;
	z-index: 100;
}
#header .cntInner{
	/*height: 100px;*/
	padding: 5px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;	
	/*gap: 0 2%;*/
	width: 100%;
	max-width: 1366px;
	margin: 0 auto;
	position: relative;
	flex-wrap: wrap;
}
#header .cntImg-logo{
	flex-shrink: 0;
	width: 10vw;
	max-width: 128px;
}
#header .cntImg-logo a{
	display: block;
}
#header .cntBox{
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
	max-width: 770px;
	justify-content: end;
}
#header .cntList{
	display: flex;
	justify-content: flex-end;
	gap: 0 3%;
	width: 70%;
	max-width: 660px;
	/* margin-right: 30px; */
	font-weight: 600;
	white-space: nowrap;
}
#header .cntBtn{
	background: var(--c-main);
	max-width: 180px;
	/* width: 100%; */
	height: 50px;
	font-weight: 600;
	display: flex;
	align-items: center;
	padding: 6px 5em 6px 12px;
	position: relative;
	white-space: nowrap;
}
#header .cntBtn .arrow{
	position: absolute;
	background-color: var(--c-dark);
	width: 38px;
	height: 17px;
	border-radius: 100px;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	transition: transform .3s;
}
#header .cntBtn .arrow::before{
	position: absolute;
	content: "";
	width: 15px;
	height: 6px;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215.422%22%20height%3D%226.455%22%20viewBox%3D%220%200%2015.422%206.455%22%3E%20%3Cg%20transform%3D%22translate(0%200.354)%22%3E%20%3Cpath%20d%3D%22M-13711.2-8382.339h14.713%22%20transform%3D%22translate(13711.197%208385.213)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20d%3D%22M0%2C4.064V0H4.064%22%20transform%3D%22translate(14.715%202.874)%20rotate(135)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center/contain no-repeat;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
#header .cntBtn:hover .arrow{
	transform: translateX(8px) translateY(-50%);
}
#header .h-firstCnt{
	display: flex;
	gap: 10px;
	align-items: center;
}
#header .line_cta{
	width: 220px;
}
/* 1366px以下 */
@media screen and (max-width: 1366px) {
	#header .cntList,
	#header .cntBtn{
		font-size: calc(16px - (1366px - 100vw) / (467 / 2));
	}
}
/* TAB */
@media screen and (max-width: 899px){
	#header .cntInner{
		/*height: 67px;*/
	}
	#header .cntImg-logo{
		width: 81px;
	}
	#header .h-firstCnt{
		gap:5px;
	}
	#header .line_cta{
		width: 170px;
		padding: 5px 0;
	}
}
/* SP */
@media screen and (max-width: 480px) {
	#header{
		padding-left: 5px;
	}
}

#navbtn{
	position: absolute;
	width: 36px;
	height: 26px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}
#navbtn span{
	position: absolute;
	right: 5px;
	display: inline-block;
	width: 20px;
	height: 2px;
	border-radius: 10px;
	transition: all .3s;
	background: var(--c-dark);

	transition: 0.3s cubic-bezier(0.28, 0.55, 0.385, 1.65);
}
#navbtn span::before{
	position: absolute;
	content: "";
	left: -5px;
	top: 0;
	width: 2.5px;
	height: 2.5px;
	border-radius: 50%;
	transition: all .3s;
	background: var(--c-main);
}
#navbtn span:nth-of-type(1){
	top: 5px;
}
#navbtn span:nth-of-type(2){
	top: 50%;
	transform: translateY(-1px);
}
#navbtn span:nth-of-type(3){
	bottom: 5px;
}
#navbtn.active span::before{
	display: none;
}
#navbtn.active span:nth-of-type(1){
	transform: translateY(7px) rotate(45deg);
}
#navbtn.active span:nth-of-type(2){
	background: #fff;
	width: 2px;
	transform: translateX(-9px) translateY(-1px) rotate(45deg);
	z-index: 2;
}
#navbtn.active span:nth-of-type(3){
	transform: translateY(-7px) rotate(-45deg);
}

/* スマホナビ */
#nav{
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: calc(100lvh + 100px);
	padding: 67px 20px 150px;
	background: #fff;
	z-index: 90;
	overflow-y: scroll;
	-ms-overflow-style: none;
  scrollbar-width: none;
	transition: clip-path .6s;
	clip-path: inset(100% 0 0 0);
}
#nav.active{
	clip-path: inset(0 0 0 0);
}
#nav::-webkit-scrollbar {
	display: none;
}
#nav::before{
	position: fixed;
	content: "";
	top: 67px;
	left: 0;
	width: 100%;
	height: 1px;
	background: #D9D9D9;
}
#nav .cntBox{
	padding-top: 31px;
	transform: translateY(50px);
	opacity: 0;
	transition: transform .5s .5s, opacity .5s .5s;
}
#nav.active .cntBox{
	transform: none;
	opacity: 1;
}
#nav .cntList{
	margin-bottom: 31px;
}
#nav .cntList .item{
	display: block;
	padding: 17px 26px 17px 10px;
	border-bottom: 1px solid #E9E9E9;
	position: relative;
}
#nav .cntList .item::before{
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 17px;
	height: 7px;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2223.97%22%20height%3D%2210.01%22%20viewBox%3D%220%200%2023.97%2010.01%22%3E%20%3Cg%20transform%3D%22translate(0%200.53)%22%3E%20%3Cpath%20d%3D%22M-13711.2-8382.339h22.91%22%20transform%3D%22translate(13711.197%208386.813)%22%20fill%3D%22none%22%20stroke%3D%22%23242424%22%20stroke-width%3D%221.5%22%2F%3E%20%3Cpath%20d%3D%22M0%2C6.329V0H6.328%22%20transform%3D%22translate(22.909%204.475)%20rotate(135)%22%20fill%3D%22none%22%20stroke%3D%22%23242424%22%20stroke-width%3D%221.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center/contain no-repeat;
}
#nav .cntList .txt{
	font-size: 1.4rem;
	font-weight: 600;
}
#nav .cntBtn{
	max-width: 230px;
	width: 100%;
	padding: 6px 42px 6px 12px;
	margin: 0 auto;
}
#nav .cntBtn .txt{
	font-size: 1.6rem;
	font-weight: 600;
}
#nav .cntBtn .arrow{
	width: 38px;
	height: 17px;
	right: 16px;
}
#nav .cntBtn .arrow::before{
	width: 15px;
	height: 6px;
}

#pheader{
	margin-top: 100px;
	padding: 72px 0 90px;
	position: relative;
	z-index: 1;
}
#pheader::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(../img/common/page_bg.png) center/cover no-repeat;
	z-index: -1;
	/* opacity: 1; */
	mix-blend-mode: overlay;
}
#pheader::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: var(--c-main);
	z-index: -2;
}
#pheader .cntTitle-jp{
	text-align: center;
	/* margin-bottom: 13px; */
	margin-bottom: 5px;
}
#pheader .cntTitle-jp .title{
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.22;
	padding: 0 17px;
	display: inline-block;
	background: #fff;
}
#pheader .cntTitle-en{
	text-align: center;
}
#pheader .cntTitle-en .text{
	display: inline;
	/* line-height: .888; */
	line-height: 1.1;
	font-size: 9rem;
	font-weight: 600;
	color: var(--c-main);
	padding: 0 17px;
	/* background: linear-gradient(#fff 98%, transparent 98%); */
	background: linear-gradient(transparent 20%, #fff 20%, #fff 80%, transparent 80%);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
/* TAB */
@media screen and (max-width: 899px){
	#pheader{
		margin-top: 67px;
		padding: 89px 0 104px;
	}
	#pheader .cntTitle-jp{
		/* margin-bottom: 10px; */
	}
	#pheader .cntTitle-jp .title{
		font-size: 1.4rem;
		line-height: 1.85;
		padding: 0 12px;
	}
	#pheader .cntTitle-en .text{
		/* line-height: .877; */
		font-size: 5.7rem;
		padding: 0 10px;
	}
}
/* SP */
@media screen and (max-width: 480px) {
	#pheader::before{
		background-image: url(../img/common/page_bg-sp.png);
	}
}

/* お問い合わせ */
#_contact{
  padding: 84px 20px 98px;
  background: url(../img/common/contact_bg.jpg) center/cover no-repeat;
}
#_contact .cntTitle{
  margin-bottom: 46px;
}
#_contact .cntTitle .large{
  color: var(--c-sub-b);
}
#_contact .cntText{
  text-align: center;
  margin-bottom: 70px;
}
#_contact .cntBtn{
  width: 100%;
  text-align: center;
}
/* TAB */
@media screen and (max-width: 899px){
  #_contact{
    padding: 50px 20px 60px;
  }
  #_contact .cntTitle{
    margin-bottom: 15px;
  }
  #_contact .cntText{
    margin-bottom: 35px;
  }
}

/* ページナビ */
._List-pages{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	/* display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); */
	gap: 30px 3%;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
._List-pages .item{
	/* max-width: 313px; */
	width: 31%;
	position: relative;
}
._List-pages .item::before{
	position: absolute;
	content: "";
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	border-right: 3px solid var(--c-main);
	border-bottom: 3px solid var(--c-main);
	top: 0;
	left: 0;
	transition: all .3s;
	z-index: 2;
	box-sizing: content-box;
}
._List-pages .image{
	height: 135px;
	/* aspect-ratio: 313/135; */
}
._List-pages .title{
	position: absolute;
	color: #fff;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: .05em;
	background: #242424;
	width: 240px;
	height: 40px;
	padding: 5px 18px;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	transition: width .3s;
}
._List-pages .item:hover .title{
	width: 100%;
}
._List-pages .item:hover::before{
	width: 100%;
	height: 100%;
}
/* TAB */
@media screen and (max-width: 899px){
	._List-pages{
		/* max-width: 600px; */
		gap: 26px 4%;
	}
	._List-pages .item{
		/* max-width: 156px; */
		width: 48%;
		max-width: 250px;
		min-width: 150px;
	}
	._List-pages .item::before{
		width: calc(100% + 5px);
		height: calc(100% + 5px);
		border-right: 2px solid var(--c-main);
		border-bottom: 2px solid var(--c-main);	
	}
	._List-pages .image{
		/* aspect-ratio: 160/90; */
		height: 90px;
	}
	._List-pages .title{
		font-size: 1.6rem;
		width: 9.28em;
		height: 2.14em;
		padding: 5px 0.57em;
	}
}
/* SP */
@media screen and (max-width: 480px) {
	._List-pages{
		
	}
	._List-pages .item{
		width: 48%;
	}
	._List-pages .title{
		font-size: 1.4rem;
	}
}

/* 下層ページナビ */
#pages{
	padding: 71px 20px 68px;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#pages::before{
	position: absolute;
	content: "CONFIDENCE. SATISFACTION. QUALITY.";
	color: #fff;
	font-size: 12.5rem;
	font-weight: 600;
	left: 0;
	bottom: -7px;
	white-space: nowrap;
	z-index: -1;
	line-height: 1;
}

/* TAB */
@media screen and (max-width: 899px){
	#pages{
		padding: 40px 20px 43px;
	}
	#pages::before{
		font-size: 6.5rem;
		bottom: -5px;
	}
}

/* フッター */
#top{
	position: fixed;
	bottom: 0;
	right: 0;
	width: 60px;
	height: 60px;
	background: var(--c-dark);
	z-index: 10;
}
#top.absolute{
	position: absolute;
}
#top::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.477%22%20height%3D%2232.847%22%20viewBox%3D%220%200%2013.477%2032.847%22%3E%20%3Cg%20transform%3D%22translate(0.53%2032.847)%20rotate(-90)%22%3E%20%3Cpath%20d%3D%22M-13711.2-8382.339h31.781%22%20transform%3D%22translate(13711.197%208388.547)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.5%22%2F%3E%20%3Cpath%20d%3D%22M0%2C8.78V0H8.78%22%20transform%3D%22translate(31.787%206.208)%20rotate(135)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center/13px 32px no-repeat;
	transition: transform .3s;
}
#top:hover::before{
	transform: translateY(-3px);
}
#footer .cntBox-nav{
	padding: 18px 76px;
	height: 60px;
	background: #fff;
	position: relative;
}
#footer .cntBox-nav .list{
	display: flex;
	justify-content: space-between;
	gap: 0 16px;
	max-width: 840px;
	margin: 0 auto;
}
#footer .cntBox-nav .item{
	padding-left: 20px;
	position: relative;
}
#footer .cntBox-nav .item::before{
	content: "";
	position: absolute;
	top: calc(50% - 9px);
	left: 0;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	border: 5px solid var(--c-main);
}
#footer .cntBox-info{
	background: #F6F6F6;
	padding: 37px 60px 27px;
	position: relative;
}
#footer .cntBox-info .container{
	max-width: 920px;
	width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 340px 244px;
	align-items: center;
}
#footer .cntBox-left .logo{
	width: 85.11%;
}
#footer .cntBox-center{
	letter-spacing: .05em;
	line-height: 1.31;
	border-left: 1px solid var(--c-sub-b);
}
#footer .cntBox-center .texts{
	margin: 26px auto 22px;
	width: 78.23%;
}
#footer .cntBox-center .title{
	margin-bottom: 10px;
}
#footer .cntBox-center .address{
	margin-bottom: 10px;
}
#footer .cntBox-center .tel{
	margin-bottom: 16px;
}
#footer .cntBox-right .box{
	border: 1px solid var(--c-sub-b);
	padding: 18px 33px 23px;
	width: 100%;
	color: var(--c-sub-b);
	font-size: 1.3rem;
	letter-spacing: .05em;
	line-height: 1.846;
	white-space: nowrap;
	text-align: left;
}
#footer .cntText-cc{
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2rem;
	letter-spacing: .05em;
	writing-mode: vertical-rl;
	padding-top: 12px;
	height: 140px;
}
/* TAB */
@media screen and (max-width: 899px){
	#top{
		width: 41px;
		height: 41px;
		right: 0;
		bottom: 0;
	}
	#top::before{
		background-size: 9px 23px;
	}
	#footer .cntBox-nav{
		padding: 18px 15px;
		height: auto;
	}
	#footer .cntBox-nav .list{
		justify-content: space-around;
		flex-wrap: wrap;
		gap: 16px 10px;
	}
	#footer .cntBox-nav .item{
		font-size: 1.4rem;
		font-weight: 600;
	}
	#footer .cntBox-nav .item::before{
		top: calc(50% - 6px);
		width: 12px;
		height: 12px;
		border: 3px solid var(--c-main);
	}
	#footer .cntBox-info{
		padding: 21px 20px 32px;
	}
	#footer .cntBox-info .container{
		grid-template-columns: 37% 63%;
		max-width: 500px;
	}
	#footer .cntBox-left{
		padding-right: 17px;
	}
	#footer .cntBox-left .logo{
		width: 100%;
		max-width: 115px;
		padding-top: 17px;
		margin: 0 auto;
	}
	#footer .cntBox-center{
		font-size: 1.2rem;
		line-height: 1.41;
		margin-bottom: 15px;
		padding: 18px 0 17px 16px;
	}
	#footer .cntBox-center .texts{
		margin: 0 auto;
		width: 100%;
	}
	#footer .cntBox-center .tel{
		margin-bottom: 0;
	}
	#footer .cntBox-right{
		display: flex;
		justify-content: space-around;
		align-items: center;
		gap: 15px 30px;
		flex-wrap: wrap;
		grid-column: 1/3;
	}
	#footer .cntBox-right .box{
		padding: 8px 10px 9px;
		max-width: 200px;
		margin: 0;
		font-size: 1.2rem;
	}
	#footer .cntBox-right .btn{
		margin: 0;
	}
	#footer .cntText-cc{
		right: 11px;
		top: auto;
		bottom: 49px;
		transform: none;
		padding-top: 0;
		height: auto;
	}
}

/*パンくずリスト*/
#breadcrumbs{
	position: relative;
	padding: 22px 20px 0;
	z-index: 2;
}
#breadcrumbs .cntList{
	display: flex;
	flex-wrap: wrap;
}
#breadcrumbs .cntList li{
  display: inline;
	font-size: 1.5rem;
	font-weight: 600;
}
#breadcrumbs .cntList li + li::before{
	content: " > ";
	display: inline-block;
  white-space: pre-wrap;
	color: #000;
}
#breadcrumbs .cntList li:last-child{
  pointer-events: none;
	color: var(--c-sub-b);
}
#breadcrumbs .cntList a{
  display: inline;
}
/* TAB */
@media screen and (max-width: 899px){
	#breadcrumbs{
		padding: 10px 20px 0;
	}
	#breadcrumbs .cntList li{
		font-size: 1.2rem;
	}
}

/* 施工事例 */
#works{
  padding: 50px 20px 100px;
}
#works .cntTitle{
  margin-bottom: 30px;
}
#works .cntBox{
  /* margin-top: -30px; */
  /* padding-left: 30px; */
  display: grid;
  grid-template-columns: 510px 1fr;
}
#works .cntBox .texts{
  z-index: 3;
}
#works .cntBox .bgtxt{
  margin-bottom: 43px;
}
#works .cntBox .text{
  max-width: 402px;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 2.166;
  margin-bottom: 54px;
}
#works .cntBox .image{
  position: relative;
}
#works .cntBox .box{
  position: absolute;
  right: 0;
  top: -45px;
  width: calc(100% + 80px);
	max-width: 720px;
  z-index: 2;
  aspect-ratio: 720/450;
}
#works .cntBox .box::before{
  position: absolute;
  content: "";
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  border-right: 5px solid var(--c-main);
  border-bottom: 5px solid var(--c-main);
  top: 0;
  left: 0;
  box-sizing: content-box;
}
/* TAB */
@media screen and (max-width: 899px){
  #works{
    padding: 35px 20px 84px;
  }
  #works .cntTitle{
    /* margin-left: -20px; */
  }
  #works .cntBox{
    margin-top: 14px;
    padding-left: 0;
    grid-template-columns: 1fr;
  }
  #works .cntBox .bgtxt{
    margin-bottom: -15px;
    z-index: 3;
    position: relative;
  }
  #works .cntBox .text{
    max-width: 100%;
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 2.5;
    margin-bottom: 26px;
  }
  #works .cntBox .image{
    margin-right: -20px;
    margin-bottom: 43px;
  }
  #works .cntBox .box{
    position: relative;
    top: 0;
    margin-top: -12px;
    margin-left: auto;
    margin-right: 0;
    width: 81vw;
		max-width: 100%;
    /* max-width: 314px; */
    /* max-width: 700px; */
  }
  #works .cntBox .box::before{
    border-bottom: 2px solid var(--c-main);
    border-left: 2px solid var(--c-main);
    border-right: none;
    left: auto;
    right: 0;
  }
}
/* SP */
@media screen and (max-width: 480px) {
	#works{
		padding-top: 20px;
	}
}