/* ==========================================================================
	root
========================================================================== */
:root {
	--base-pc-width:1680;
	--base-sp-width:375;
	--vwPC: calc(100vw / 1680);
	--vwSP: calc(100vw / 375);
	--easeInQuad:cubic-bezier(.55, .085, .68, .53);
	--easeOutQuad:cubic-bezier(0.23, 1, 0.32, 1);
	--easeOutQuint:cubic-bezier(.25, .46, .45, .94);
	--easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
	--easeOutCubic:cubic-bezier(0.215, 0.61, 0.355, 1);
	--easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
	--easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
	--easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
	--easeInCirc:cubic-bezier(0.55, 0, 1, 0.45);
	--theme-color:#004161;
	--theme-color02:rgba(0, 65, 97, 0.2);
	--base-text-color:#000;
	--base-bg-color:#EEE5DD;
	--base-bg-color02:#363636;
	--base-bg-color03:rgba(0, 65, 97, 0.15);
	--base-bg-color04:rgba(255, 255, 255, 0.15);
	--base-bg-color05:rgba(0, 0, 0, 0.1);
	--base-bg-color06:#363636;
	--base-bg-color07:rgba(255, 255, 255, 0.5);
	--base-bg-color08:rgba(0, 0, 0, 0.07);
	--base-bg-color09:rgba(255, 255, 255, 0.8);
	--base-bg-color10:rgba(255, 255, 255, 0.75);
	--base-bg-color-end:rgba(0, 65, 97, 0.15);
	--base-border-color:#000;
	--base-border-color02:rgba(0, 0, 0, 0.15);
	--base-border-color03:rgba(255, 255, 255, 0.3);
	--base-border-color04:rgba(255, 255, 255, 0.2);
	--base-border-color05:rgba(0, 0, 0, 0.3);
	--base-border-color06:rgba(0, 0, 0, 0.1);
	--base-border-color07:rgba(255, 255, 255, 0.25);
	--base-color-gray:#666666;
	--base-color-gray02:#E7E7E7;
	--base-color-gray03:#F1EFED;
	--base-color-black:#000;
	--base-color-black02:rgba(0, 0, 0, 0.1);
	--base-color-black03:rgba(0, 0, 0, 0.5);
	--base-color-black04:rgba(0, 0, 0, 0.05);
	--base-color-black05:rgba(0, 0, 0, 0.08);
	--base-color-black06:rgba(0, 0, 0, 0.07);
	--base-color-red:#E51D1D;
	--base-color-red02:#C34545;
	--hanten:scale(-1, -1);
	--hantenX:scale(-1, 1);
	--hantenY:scaleY(-1);
	--transition-scale:transform 0.8s var(--easeOutCubic);
}

@media screen and (min-width: 801px) {
	:root {
		--vwPC: calc(100vw / 1680);
		--fz11: max(1.1rem, 10px);
		--fz12: max(1.2rem, 11px);
		--fz13: max(1.3rem, 12px);
		--fz14: max(1.4rem, 12px);
		--fz15: max(1.5rem, 13px);
		--fz16: max(1.6rem, 14px);
		--fz17: max(1.7rem, 15px);
		--fz18: max(1.8rem, 16px);
		--fz19: max(1.9rem, 17px);
		--fz20: max(2.0rem, 18px);
		--fz21: max(2.1rem, 18px);
		--fz22: max(2.2rem, 18px);
		--fz23: max(2.3rem, 20px);
		--fz24: max(2.4rem, 20px);
		--fz25: max(2.5rem, 21px);
		--fz26: max(2.6rem, 22px);
		--fz27: max(2.7rem, 23px);
		--fz28: max(2.8rem, 24px);
		--fz30: max(3rem, 26px);
		--fz32: max(3.2rem, 28px);
		--fz34: max(3.4rem, 30px);
		--fz36: max(3.6rem, 32px);
		--fz40: max(4rem, 36px);
		--fz42: max(4rem, 38px);
		--fz44: max(4.4rem, 40px);
		--fz46: max(4.6rem, 42px);
		--fz48: max(4.8rem, 44px);
		--fz50: max(5rem, 48px);
		--fz52: max(5.2rem, 48px);
		--fz56: max(5.6rem, 52px);
		--fz64: max(6.4rem, 60px);
		--fz72: max(7.2rem, 68px);
		--fz96: max(9.6rem, 90px);
	}
}
@media screen and (max-width: 800px) {
	:root {
		--vwSP: calc(100vw / 375);
		--fz10: clamp(10px, calc(10 * var(--vwSP)), 12px);
		--fz11: clamp(11px, calc(11 * var(--vwSP)), 13px);
		--fz12: clamp(12px, calc(12 * var(--vwSP)), 14px);
		--fz13: clamp(13px, calc(13 * var(--vwSP)), 14px);
		--fz14: clamp(14px, calc(14 * var(--vwSP)), 16px);
		--fz15: clamp(15px, calc(15 * var(--vwSP)), 17px);
		--fz16: clamp(16px, calc(16 * var(--vwSP)), 18px);
		--fz17: clamp(17px, calc(17 * var(--vwSP)), 19px);
		--fz18: clamp(18px, calc(18 * var(--vwSP)), 20px);
		--fz19: clamp(19px, calc(19 * var(--vwSP)), 21px);
		--fz20: clamp(20px, calc(20 * var(--vwSP)), 22px);
		--fz21: clamp(21px, calc(21 * var(--vwSP)), 23px);
		--fz22: clamp(22px, calc(22 * var(--vwSP)), 24px);
		--fz24: clamp(24px, calc(24 * var(--vwSP)), 26px);
		--fz25: clamp(25px, calc(25 * var(--vwSP)), 27px);
		--fz26: clamp(26px, calc(26 * var(--vwSP)), 28px);
		--fz27: clamp(27px, calc(27 * var(--vwSP)), 29px);
		--fz28: clamp(28px, calc(28 * var(--vwSP)), 30px);
		--fz30: clamp(30px, calc(30 * var(--vwSP)), 32px);
		--fz32: clamp(32px, calc(23 * var(--vwSP)), 35px);
		--fz34: clamp(34px, calc(34 * var(--vwSP)), 37px);
		--fz35: clamp(35px, calc(25 * var(--vwSP)), 39px);
		--fz36: clamp(36px, calc(36 * var(--vwSP)), 40px);
		--fz38: clamp(38px, calc(38 * var(--vwSP)), 42px);
		--fz40: clamp(40px, calc(40 * var(--vwSP)), 44px);
		--fz44: clamp(44px, calc(44 * var(--vwSP)), 48px);
		--fz45: clamp(45px, calc(45 * var(--vwSP)), 49px);
		--fz48: clamp(48px, calc(48 * var(--vwSP)), 52px);
		--fz56: clamp(56px, calc(56 * var(--vwSP)), 60px);
		--fz64: clamp(64px, calc(64 * var(--vwSP)), 68px);
	}
}
#h_fv {
	margin-top: 0;
	padding-top: 24rem;
}
#h_fv .fix_bnr {
	position: fixed;
	opacity: 0;
	right: 6rem;
	bottom: 5rem;
}
@media screen and (max-width: 1000px) {
	#h_fv .fix_bnr {
		right: 0;
		bottom: 1rem;
	}
}

/* ==========================================================================
	intro
========================================================================== */
.intro {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding-top: 12rem;
}
.intro .l-img_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 31.2179487179%;
	aspect-ratio: 486/360;
	margin-top: 7.2rem;
}
.intro .l-img_area .l_img {
	width: 43.8271604938%;
}
.intro .l-img_area .r_img {
	width: 43.8271604938%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.intro h2 {
	display: inline-block;
	width: auto;
	font-size: var(--fz20);
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-top: 4rem;
}
.intro h2 span {
	-webkit-transform: translateY(-10px);
	        transform: translateY(-10px);
	display: inline-block;
	margin-bottom: -8px;
}
.intro .r-img_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 31.1538461538%;
	aspect-ratio: 486/360;
}
.intro .r-img_area .l_img {
	width: 43.8271604938%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.intro .r-img_area .r_img {
	width: 43.8271604938%;
}
.intro figure {
	opacity: 0;
	-webkit-transition: opacity 0.6s var(--easeInOutCubic);
	transition: opacity 0.6s var(--easeInOutCubic);
}
.intro.move figure {
	opacity: 1;
}
.intro.move .l-img_area .l_img {
	-webkit-transition-delay: 0.6s;
	        transition-delay: 0.6s;
}
.intro.move .l-img_area .r_img {
	-webkit-transition-delay: 0.8s;
	        transition-delay: 0.8s;
}
.intro.move .r-img_area .l_img {
	-webkit-transition-delay: 1s;
	        transition-delay: 1s;
}
.intro.move .r-img_area .r_img {
	-webkit-transition-delay: 1.2s;
	        transition-delay: 1.2s;
}

@media screen and (max-width: 900px) {
	.intro {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	.intro .l-img_area,
	.intro .r-img_area {
		display: none;
	}
}
@media screen and (max-width: 800px) {
	.intro {
		padding-top: clamp(28.8px, 12.8vw, 61.44px);
		margin-top: 32px;
	}
	.intro h2 {
		font-size: var(--fz16);
		line-height: 1.8;
		letter-spacing: 0.1em;
		margin-top: 0;
	}
	.intro h2 span {
		-webkit-transform: translateY(-10px);
		        transform: translateY(-10px);
		display: inline-block;
		margin-bottom: -8px;
	}
}
/* ==========================================================================
	catalog_wrap
========================================================================== */
.catalog_wrap {
	padding-top: 16rem;
}
.catalog_wrap + .catalog_wrap {
	margin-top: 16rem;
	border-top: 1px solid var(--base-border-color02);
}
.catalog_wrap h2 {
	width: 100%;
	line-height: 1.4444444444;
	font-weight: 600;
	margin-bottom: 2rem;
}
.catalog_wrap .s_txt {
	position: relative;
	display: block;
	font-size: var(--fz13);
	line-height: 1.4615384615;
	color: var(--base-color-black03);
	margin-top: 1rem;
}
.catalog_wrap .catalog_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	margin-top: 8rem;
}
.catalog_wrap .catalog_area h3 {
	font-size: var(--fz24);
	line-height: 1.4583333333;
	font-weight: 600;
	margin-top: 2rem;
}
.catalog_wrap .catalog_area .n_txt {
	margin-top: 2rem;
}
.catalog_wrap .thumb_area {
	position: sticky;
	top: 105px;
	width: clamp(210px, 15.57%, 243px);
}
.catalog_wrap .material_area {
	width: 73.2704402516%;
	max-width: calc(100% - 230px);
}
.catalog_wrap .material_area figure {
	padding: 6rem;
	background: var(--base-color-black04);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.catalog_wrap .material_area figure img {
	-webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
	        box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
}
.catalog_wrap .material_area figure + figure {
	margin-top: 1rem;
}

@media screen and (max-width: 800px) {
	.catalog_wrap {
		margin-top: clamp(48px, 21.3333333333vw, 102.4px);
		padding-top: clamp(48px, 21.3333333333vw, 102.4px);
		border-top: 1px solid var(--base-border-color02);
	}
	.catalog_wrap + .catalog_wrap {
		margin-top: clamp(48px, 21.3333333333vw, 102.4px);
	}
	.catalog_wrap .thumb_area {
		width: 59.7014925373%;
		max-width: 200px;
		margin: 0 auto 2rem;
	}
	.catalog_wrap .thumb_area.sp_none {
		display: none;
	}
	.catalog_wrap h2 {
		text-align: center;
		font-size: var(--fz32);
		line-height: 1.4375;
		margin-bottom: 2rem;
	}
	.catalog_wrap .n_txt.-midium {
		font-size: var(--fz14);
		line-height: 1.7142857143;
		text-align: center;
	}
	.catalog_wrap .s_txt {
		font-size: var(--fz13);
		line-height: 1.4615384615;
		text-align: center;
	}
	.catalog_wrap .catalog_area {
		display: block;
		margin-top: 4rem;
	}
	.catalog_wrap .catalog_area.-sp_mt {
		margin-top: 8rem;
	}
	.catalog_wrap .catalog_area h3 {
		font-size: var(--fz20);
		line-height: 1.45;
		text-align: center;
	}
	.catalog_wrap .catalog_area .n_txt {
		margin-top: 1rem;
		text-align: center;
		line-height: 1.6923076923;
	}
	.catalog_wrap .thumb_area {
		position: relative;
		top: auto;
		width: 100%;
		max-width: 100%;
	}
	.catalog_wrap .thumb_area figure {
		width: 59.7014925373%;
		max-width: 200px;
		margin: 0 auto 2rem;
	}
	.catalog_wrap .material_area {
		width: 100%;
		max-width: 100%;
		margin-top: 4rem;
	}
	.catalog_wrap .material_area figure {
		padding: 2rem;
	}
	.catalog_wrap .material_area figure + figure {
		margin-top: 0.5rem;
	}
}
/* ==========================================================================
	area
========================================================================== */
.area {
	margin-top: 16rem;
}

@media screen and (max-width: 800px) {
	.area {
		margin-top: clamp(48px, 21.3333333333vw, 102.4px);
	}
}
/* ==========================================================================
	big-link_btn
========================================================================== */
.big-link_btn {
	margin-bottom: 3rem;
}

.n_txt.-center {
	width: 89.3333333333%;
	margin: 0 auto;
}

@media screen and (max-width: 800px) {
	.n_txt.-center {
		text-align: left;
	}
}
/*# sourceMappingURL=catalog.css.map */