@charset "UTF-8";

/*
Theme Name: 木野精和園
Theme URI: https://watanabefruits.com
Author: 株式会社サードラボ
Author URI: https://third-lab.com/
Description: 
Version: 1.0
*/

:root {
	--color_white: #fefcf8;
	--color_brown: #40220F;
	--color_moca: #614D40;
	--color_beige: #C4A265;
	--color_grey: #777777;
	--color_green: #4A7C59;
}

::selection {
	color: var(--color_white);
	background-color: var(--color_brown);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 80px;
}

body {
	color: var(--color_brown);
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,Arial,Helvetica,Verdana,sans-serif,"ＭＳ Ｐゴシック","MS PGothic","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
	font-size: 16px;
	line-height: 1.5;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	background: var(--color_white);
}

header,
main,
footer {
	width: 100%;
}

a {
	color: var(--color_brown);
	text-decoration: none;
	transition: opacity 0.4s ease;
}

a:hover {
	opacity: 0.5;
}

.header .gnavi a,
.footer a{
	padding-bottom: 4px;
	border-bottom: 1px solid transparent;
	transition: border 0.5s ease;
}

.header .gnavi a:hover,
.footer a:hover{
	opacity: 1;
	border-bottom: 1px solid var(--color_brown);
}

figure {
	margin: 0;
}

img,video {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}

p {
	margin-bottom: 1.5em;
}

p:last-child {
	margin-bottom: 0;
}

.wrapper {
  overflow: hidden;
}

/*--汎用--*/

.pc,
.tb {
	display: none;
}

.sp {
	display: block;
}

.inner {
	padding-right: 32px;
	padding-left: 32px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}

.serif{
	font-family: "Noto Serif JP", "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
}

.header{
	padding-top:24px;
	padding-bottom: 24px;
	position: fixed;
	z-index: 1000;
	transform: none !important;
}

.header .inner{
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

.header_container{
	display: flex;
	align-items: center;
	gap: 16px;
}

.header_logo{
	flex-grow: 1;
}

.gnavi{}

.gnavi ul{
	display: flex;
	gap:32px;
}

.header_menu_btn{
	width: 32px;
	height: 32px;
	position:relative;
}

.header_menu_btn span{
	display:block;
	width:22px;
	height:2px;
	background-color: var(--color_brown);
	position: absolute;
	left:6px;
	transition:.3s;
}

.header_menu_btn span:first-child{
	top:7px;
}

.header_menu_btn span:nth-child(2){
	top:50%;
	transform: translatey(-50%);
}

.header_menu_btn span:last-child{
	bottom:7px;
}

.header.is-open .header_menu_btn span:first-child{
	top:50%;
	transform: translateY(-50%) rotate(45deg);
}

.header.is-open .header_menu_btn span:nth-child(2){
	opacity:0;
}

.header.is-open .header_menu_btn span:last-child{
	top:50%;
	transform: translateY(-50%) rotate(-45deg);
}

.sp_menu{
	display: flex;
	flex-direction:column;
	position: fixed;
	top:0;
	left:0;
	z-index: 999;
	width:100%;
	height: 100svh;
	padding-top: 80px;
	padding-bottom: 80px;
	box-sizing: border-box;
	background: var(--color_white);
	text-align: center;
	overflow:hidden;
	opacity:0;
	transition: height .4s ease, opacity .3s ease;
	pointer-events: none;
	overflow: auto;
}

.sp_menu.is-open{
	opacity:1;
	pointer-events:auto;
}

.sp_menu .copyright{
	margin-top: auto;
}

.sp_menu_inner{
	padding-top: 65px;
	padding-bottom: 45px;
}

.sp_menu_items{
	margin-bottom: 48px;
	font-size: 20px;
}

.sp_menu_item{
	margin-bottom: 24px;
}

.sp_menu_item:last-child{
	margin-bottom: 0;
}

.footer{
	padding-top: 60px;
	padding-bottom: 60px;
}

.footer_inner{
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

.footer_conts{
	text-align: center;
}

.footer_logo{
	margin-bottom: 60px;
}

.footer_menu{
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 60px;
}

.footer_menu_item{
	margin-bottom: 16px;
}

.footer_menu_item:last-child{
	margin-bottom: 0;
}

.scroll_top_btn{
	position:fixed;
	right:16px;
	bottom:16px;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}

.scroll_top_btn.show {
	opacity: 1;
	visibility: visible;
}

main{
	padding-top: 80px;
}

main .inner{
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.main_head{
	padding-top: 60px;
}

.main_body{
	padding-bottom: 60px;
}

.main_foot{
	padding-bottom: 60px;
}

.hero{
	padding-bottom: 60px;
}

.hero_inner{
	position: relative;
	padding-bottom: 80px;
}

#splide01-track{
	max-height: calc(100svh - 180px);
	margin-right: -32px !important;;
	margin-left: -32px !important;;
}

#splide01-list,
#splide01-slide01{
	max-height: calc(100svh - 180px);
}

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

.scroll_hint {
	color: var(--color_beige);
	font-size: 12px;
	position: absolute;
	bottom:0;
	left:50%;
  animation: bounce 2s ease-in-out infinite;	
}

.scroll_hint::after {
  content: '';
  display: block;
  width: 1px;
  height: 30px;
  background: var(--color_beige);
  margin: 8px auto 0 auto;
}

@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(6px); }
}

.news{
	padding-top: 60px;
	padding-bottom: 60px;
}

.news_items{
	margin-bottom: 64px;
}

.news_item{
	padding-bottom: 24px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--color_beige);
}

.news_item:last-child{
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.news_item time{
	color: var(--color_grey);
	margin-bottom: 8px;
}

.story{
	padding-top: 60px;
	padding-bottom: 60px;
}

.story figure{
	margin:0 -16px 48px -16px
}

.story .sub_ttl{
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}

.menu{
	padding-top: 60px;
	padding-bottom: 60px;
}

.menu_ttl{
	font-size: 22px;
	font-weight: bold;
	display: flex;
	align-items: center;
	gap:24px;
	letter-spacing: 0.1em;
	margin-bottom: 32px;
}

.menu_ttl::before,
.menu_ttl::after{
	content: "";
	width: 100%;
	height: 1px;
	background: var(--color_brown);
}

.menu_sub_ttl{
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 32px;
}

.menu_sub_ttl_en{
	
}


.menu_category_items{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap:64px;
	margin-bottom: 64px;
}

.menu_category_items.gelato_sizes{
	grid-template-columns: 120px 120px !important;
	justify-content: center;
}

.menu_category_item{
	text-align: center;
	position: relative;
}

.menu_img{
	margin-bottom: 16px;
}

.menu_img img{
	width: 100%;
}

.menu_name{
	font-size:18px;
}

.menu_name_en{
	display: block;
	font-size: 12px;
}

.menu_temperature{
	font-size: 14px;
	margin-top: 8px;
	margin-bottom: 8px;
}

.menu_item_juices{
	font-size: 12px;
	margin-top: 8px;
	margin-bottom: 8px;
}



.menu_price{
	font-size: 20px;
	margin-top: 16px;
}

.menu_introduction{
	text-align: left;
	font-size: 14px;
	margin-top: 16px;
}

/* PC版（基本設定） */
.menu_feature {
    width: 90px;
    position: absolute;
    top: -16px;
    right: -16px;
}

/* スマホ版（画面幅が880px以下の場合に適用） */
@media screen and (max-width: 880px) {
    .menu_feature {
        width: 65px;
    }
}

.menu_category .note_text{
	font-size: 14px;
	text-align: center;
	margin-top: -40px;
	margin-bottom: 80px;
}

.product_items{}

.product_item{
	text-align:center;
}

.product_item figure{
	margin-bottom: 40px;
}

.product_item .menu_name{
	font-size: 20px;
}

.product_item .menu_name_en{
	font-size: 16px;
	margin-top: 8px;
}

.img_slide{
	padding-top: 60px;
	padding-bottom: 60px;
}

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

.information{
	padding-top: 60px;
	padding-bottom: 60px;
}

.information_img{
	margin:0 -16px 48px -16px;
}

.information_items{
	margin-bottom: 40px;
	display: grid;
	grid-template-columns: auto 1fr;
}

.information_items dt,
.information_items dd{
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom:1px solid var(--color_beige);
}

.information_items dt{
	color: var(--color_green);
	padding-right: 48px;
}

.information_map iframe{
	width: 100%;
	aspect-ratio: 3 / 2;
}

.instagram{
	padding-top: 60px;
	padding-bottom: 60px;
}

.instagram_feed{
	margin-bottom: 48px;
}

.instagram_btn.btn a{
	background: linear-gradient(to right, rgba(247, 207, 0, 1), rgba(246, 37, 2, 1) 45%, rgba(182, 47, 82, 1) 75%, rgba(113, 58, 166, 1));
}

.contact{
	padding-top: 60px;
	padding-bottom: 60px;
}

.contact_conts{
	text-align: center;
}

.contact_tel{
	display: inline-block;
	font-size: 32px;
	background: url(./images/tel_icon@2x.png) no-repeat left center / 32px 32px;
	padding-left: 40px;
}

.contact_btn{
	margin-top: 40px;
}

.post_ttl{
	font-size: 20px;
	border-bottom: 1px solid var(--color_beige);
	border-left: 8px solid var(--color_beige);
	padding: 2px 16px 8px 16px;
	margin-bottom: 16px;
}

.post_date{
	display: block;
	color:var(--color_grey);
	margin-bottom: 32px;
}

.post_conts h1{
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 1em;
}

.post_conts h2{
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 1em;
}

.post_conts h3{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 1em;
}

.post_conts h4{
	font-weight: bold;
	margin-bottom: 1em;
}

.post_conts h5{
	margin-bottom: 1em;
}

.post_conts h6{
}


.post_conts p{
	margin-bottom: 2em;
}

.post_conts ul{
	list-style-type: disc;
	padding-left: 1em;
	margin-bottom: 2em;
}

.post_conts ul li{
	margin-bottom: 1em;
}

.post_conts ul li:last-child{
	margin-bottom: 0;
}

.post_conts figure{
	margin-bottom: 2em;
}

.post_conts *:last-child{
	margin-bottom: 0;
}



.post_nav,
.nav-links{
	display: flex;
	justify-content: space-between;
}

.post_nav > *{
	flex:1;
}

.back{
	text-align: center;
}

.prev_post.arrow a,
.nav-next a{
	display: block;
	text-align: left;
  padding-left: 24px;
	background: url(./images/arrow_prev@2x.png) no-repeat left center / 20px 20px;
}

.next_post.arrow a,
.nav-previous a{
	display: block;
	text-align: right;
  padding-right: 24px;
	background: url(./images/arrow_next@2x.png) no-repeat right center / 20px 20px;
}

.nav-links{
	flex-direction:row-reverse;
}

.nav-previous{
	text-align: left;
}

.nav-next{
	text-align: right;
}


.ttl{
	font-size:24px;
	font-weight:bold;
	text-align:center;
	margin-bottom: 56px;
}

.en_ttl{
	display: block;
	color: var(--color_beige);
	font-size: 12px;
	font-weight:normal;
	letter-spacing:0.08em;
}

.ttl .note{
	display: block;
	font-size: 12px;
	font-weight: normal;
	margin-top: 4px;
}

.sub_ttl{
}

.main_body .sub_ttl{
		font-size: 20px;
	border-bottom: 1px solid var(--color_beige);
	border-left: 8px solid var(--color_beige);
	padding: 2px 16px 8px 16px;
	margin-bottom: 16px;
}

.btn a{
	max-width: 400px;
	display: block;
	color: #ffffff;
	font-size: 18px;
	text-align: center;
	letter-spacing: 0.08em;
	padding: 17px;
	background: var(--color_brown);
	border-radius: 30px;
	margin-right: auto;
	margin-left: auto;
}

.effect{
	opacity:0;
	transform:translateY(30px);
	transition: opacity .8s ease, transform .8s ease;
}

.effect.is-show{
	opacity:1;
	transform:translateY(0);
}

@media screen and (min-width:881px) {
	
	.sp,
	.tb {
		display: none;
	}

	.pc {
		display: block;
	}

	
	.header_container{
		gap: 32px;
	}
	
	.footer_conts{
		display: grid;
		align-items: center;
		grid-template-columns: auto 1fr;
		gap:20px;
	}
	
	.footer_logo{
		grid-row: span 2;
		margin: 0;
	}
	
	.footer_menu{
		display: flex;
		justify-content: right;
		margin-bottom: 0;
		gap:30px;
	}
	
	.footer_menu li{
		margin-bottom: 0;
	}
	
	.copyright{
		text-align: right;
	}
	
}

@media print,
screen and (min-width:1281px) {
	html {
		font-size: 6.25%;
	}
}