@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 JP'  ,sans-serif;
	--base_font_color: #666666;
	--font_season:"the-seasons", serif;
	--font_noto_sans: 'Noto Sans JP'  ,sans-serif;
	--green: #4D5E17;
	--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: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(--green);
	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:0;
	font-family: var(--font_season);
	font-weight: 400;
}

.lp_section .main_head01{
	font-weight: 300;
	font-size: 28px;
	letter-spacing: 0.01em;
	line-height: 1.2;
} 
.lp_section .main_head02{
	font-size: 72px;
	color:var(--green);
	line-height: 1;
	transform: scaleX(0.85);
	letter-spacing: 0.05em;
} 

.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(--green);
	border-bottom:1px solid var(--green);
}

.lp_section .product_list{
	max-width: 740px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:44px calc(12 / 740 * 100%);
	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;
	max-width: 145px;
	margin-inline: auto;

}

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

.lp_section .product_name{
	width: fit-content;
	margin-inline: auto;
	margin-top: 16px;
	line-height: 1.3;
	display: flex;
	flex-direction: column;
	gap:2px;
	align-items: center;
}

.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(--green);
	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_close.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:72px 32px 40px;
}

.product_pop .product_pop_contents_inner{
	max-width: 640px;
	margin-inline: auto;
}

.product_pop .product_pop_head{
	padding-bottom: 12px;
	border-bottom:1px solid var(--green);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap:8px;
}


.product_pop .product_pop_head_name{
	font-family: var(--font_season);
	font-weight: 300;
	font-size: 48px;
	line-height: 1;
	transform-origin: left;
	transform: scaleX(0.9);
}

.product_pop .product_pop_head_remark{
	font-weight: 400;
	font-size: 20px;
	white-space: nowrap;
}

.product_pop .product_pop_img{
	width: 90%;
	max-width:220px;
	aspect-ratio: 1 / 1;
	margin-inline: auto;
	margin-top: 44px;
}

.product_pop .product_pop_img img{
	width:100%;
	height:100%;
	object-fit: contain;
}

.product_pop .product_pop_text{
	text-align: center;
	line-height: 1.7;
	font-size: 16px;

}

.product_pop .product_pop_shop_button{
	width: 290px;
	min-height: 68px;
	margin-inline: auto;
	padding:8px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
	margin-top: 56px;
	background-color: var(--green);
	color:#fff;
	transition-duration: var(--c_duration);
	transition-property: opacity;
}

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