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

:root{
	--base_font_family: "dnp-shuei-gothic-gin-std", 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	--base_font_color: #535353;
	--font_noto_sans: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	--orange: #C1511E;
	--c_duration: 0.4s;
	--c_hover_opa: 0.6;
}



*{
	margin:0;
	padding:0;
	list-style: none;
	box-sizing: border-box;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

*::before,
*::after{
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

html {
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #F3F3F3;
}

input,
select,
textarea{
	font-family:var(--base_font_family);
	color: var(--base_font_color);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	touch-action: manipulation;
	resize: none;
	display: block;
}

button{
	border: none;
	background: none;
	border-radius: 0;
	cursor: pointer;
}

body{
	color: var(--base_font_color);
	font-size: 16px;
	font-weight: 400;
	font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	font-family:var(--base_font_family);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
}


img{
	display: block;
	object-position: center;
	width: 100%;
}

#body_wrap{
	overflow: clip;
}

.grecaptcha-badge { visibility: hidden; }

a{
	color: inherit;
}

.fax a{
	pointer-events: none;
}

@media (any-hover:hover){
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*
------------------------------------
アニメーション関係
------------------------------------
*/

.c_hover_opa{
	transition: var(--c_duration);
}


@media (any-hover:hover){
	.c_hover_opa:hover{
		opacity: var(--c_hover_opa);
	}
	
}


/*
------------------------------------
LP本体
------------------------------------
*/


main{
	padding-top: 120px;
	padding-bottom: 120px;
}

.container{
	width:92%;
	max-width: 880px;
	margin-inline: auto;
}

.container_box{
	border:1px solid var(--orange);
	padding:60px 30px 80px;
}

.lp_section{

}

.lp_section .main_img{
	max-width: 595px;
	margin-inline: auto;
}

.lp_section .main_head{
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:2px;
}

.lp_section .main_head img{
	width: auto;
}

.lp_section .main_head01 img{
	height:37px;
} 
.lp_section .main_head02 img{
	height:96px;
} 

.lp_section .guide_text{
	width: fit-content;
	margin-inline: auto;
	margin-top: 80px;
	line-height: 1.7;
}

.lp_section .product_area{
	margin-top: 88px;
	padding-top: 64px;
	padding-bottom: 64px;
	border-top:1px solid var(--orange);
	border-bottom:1px solid var(--orange);
}

.lp_section .product_list{
	max-width: 740px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:40px 40px;
	align-items: flex-start;
}

.lp_section .product_item{
	cursor: pointer;
	transition-duration: var(--c_duration);
}

.lp_section .product_item:hover{
	opacity: var(--c_hover_opa);
}

.lp_section .product_thumb{
	aspect-ratio: 1 / 1;
	background-color: #fff;
	padding:6px;
}

.lp_section .product_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.lp_section .product_name{
	width: fit-content;
	margin-inline: auto;
	margin-top: 10px;
	line-height: 1.3;
}

.lp_section .back_button{
	width: 290px;
	min-height: 68px;
	margin-inline: auto;
	padding:8px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
	margin-top: 80px;
	background-color: var(--orange);
	color:#fff;
	font-family: var(--font_noto_sans);
}

.product_pop{
	position: fixed;
	top:0;
	left:0;
	z-index: 20;
	width:100%;
	transition-duration: 0.7s;
	opacity: 0;
	pointer-events: none;
	background-color: rgba(0 , 0 , 0 , 0.6);
	height:100dvh;
	overflow-y: auto;
}

.product_pop.show{
	opacity: 1;
	pointer-events: auto;
}

.product_pop .product_pop_inner{
	min-height:100dvh;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 48px;
	padding-bottom: 48px;
}

.product_pop .product_pop_box{
	width:92%;
	max-width: 740px;
	position: relative;
	background-image:url('../img/pop_bg.jpg');
}

.product_pop .product_pop_close{
	cursor: pointer;
	width:270px;
	max-width: 80%;
	aspect-ratio: 1 / calc(81 / 270);
	background-image: url('../img/pop_close02.png');
	background-size: contain;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
}

.product_pop .product_pop_scroll{
	/* max-height: calc(100dvh - 48px); */
	/* max-height: calc(100dvh - 120px);
	overflow-y: auto; */
}

.product_pop .product_pop_contents{
	padding:64px 30px 40px;
}

.product_pop .product_pop_head{
	padding-bottom: 12px;
	border-bottom:1px solid var(--orange);
}

.product_pop .product_pop_head img{
	width:auto;
	max-width: 100%;
	height:44px;
	object-fit: contain;
}

.product_pop .product_pop_text{
	margin-top: 20px;
	line-height: 1.8;
}

.product_pop .product_pop_slide_area{
	width:calc(100% + 30px);
	overflow: hidden;
	margin-top: 36px;
}

.product_pop .product_slide{
	width:300px;
	padding-right: 40px;
}

.product_pop .product_card{
	display: block;
	transition-duration: var(--c_duration);
}

@media(any-hover:hover){
	.product_pop .product_card:hover{
		opacity: var(--c_hover_opa);
	}
}

.product_pop .product_card_thumb{
	aspect-ratio: 1 / 1;
}

.product_pop .product_card_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.product_pop .product_card_info{
	line-height: 1.5;
}

.product_pop .product_bottom_flex{
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap:20px;
}

.product_pop .product_nav_flex{
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	gap:20px;
}

.product_pop .product_nav{
	width:32px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	cursor: pointer;
	background-color: #9A9A9A;
	display: flex;
	justify-content: center;
	align-items: center;
}

.product_pop .product_nav::after{
	content:'';
	width:21px;
	aspect-ratio: 1 / calc(10 / 21);
	background-size: contain;
}

.product_pop .product_nav.prev::after{
	background-image: url('../img/icon_arrow_left_white.svg');
}
.product_pop .product_nav.next::after{
	background-image: url('../img/icon_arrow_right_white.svg');
}

.product_pop .product_nation_list{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap:8px;
}

.product_pop .product_nation_list .swiper-pagination-bullet{
	cursor: pointer;
}

.product_pop .product_nation_list .swiper-pagination-bullet::after{
	display: block;
	content:'';
	width:22px;
	height:2px;
	background-color: #fff;
	transition-duration: 0.4s;
}

.product_pop .product_nation_list .swiper-pagination-bullet-active::after{
	width: 42px;
	background-color: #9A9A9A;
}