@charset "UTF-8";

/*
Theme Name: 渡辺果樹園
Theme URI: https://watanabefruits.com
Author: 株式会社サードラボ
Author URI: https://third-lab.com/
Description: 
Version: 1.0
*/

:root {
	--color_black: #000000;
	--color_white: #F8F4EB;
	--color_brown: #796A56;
	--color_moca: #614D40;
	--color_red: #C30E23;
	--color_green: #2E5B28;
	--color_pink: #EF877D;
}

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

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

body {
	color: var(--color_moca);
	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: url(./images/beige_bg.jpg) #FAF4EB;
}

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

a {
	color: var(--color_moca);
	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 #FFFFFF;
}

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;
	position: relative;
}

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

.header{
	position: fixed;
	background-color: var(--color_brown);
	padding-top: 27px;
	padding-bottom: 17px;
	z-index: 1000;
	transform: none !important;
}

.header_inner{
	max-width: 1280px;
	display:flex;
	align-items: center;
	gap:16px;
	padding-right:21px;
	margin-left: auto;
  margin-right: auto;
	box-sizing: border-box;
}

.header_logo{
	flex:1 0 auto;
}

.header .gnavi{
	margin-right: 16px;
}

.header .gnavi ul{
	display: flex;
	gap:24px;
}

.header .gnavi ul li{
	margin-bottom: 0;
}

.header .gnavi ul li a{
	color: #ffffff;
}

.header_ec_btn{
	transition: opacity .3s .1s ease;
    opacity: 1;
}

.header.is-open .header_ec_btn{
	opacity: 0;
	pointer-events: none;
}

.header_ec_btn a{
	display: block;
	color: #ffffff;
	text-align:center;
	background: #FF7417;
	padding: 13px 22px;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
	box-shadow: 2px 2px 3px 0px rgba(81, 81, 81, 0.25);
	border-radius: 30px;
}

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

.header_menu_btn span{
	display:block;
	width:22px;
	height:2px;
	background-color: #ffffff;
	position: absolute;
	left:11px;
	transition:.3s;
}

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

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

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

.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: row;
	justify-content: center;
	align-items: center;
	position: fixed;
	top:94px;
	left:0;
	z-index: 999;
	width:100%;
	height: 100svh;
	box-sizing: border-box;
	background: #FAF4EB;
	text-align: center;
	overflow:hidden;
	opacity:0;
	transition: height .4s ease, opacity .3s ease;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	pointer-events: none;
	overflow: auto;
}

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

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

.menu_items{
	margin-bottom: 48px;
}

.menu_item{
	margin-bottom: 16px;
}

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

.menu_btn.btn{
	margin-bottom: 80px;
}

.menu_btn.btn a{
	color: #ffffff;
	background: #FF7417;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
	box-shadow: 2px 2px 3px 0px rgba(81, 81, 81, 0.25);
	border-radius: 30px;
}

.menu_instagram{
	margin-bottom: 16px;
}

.menu_instagram figure{
	display: inline-block;
}

.footer{
	color:#ffffff;
	text-align: center;
	background-color: var(--color_brown);
	margin-top: 80px;
}

.footer_inner{
	max-width: 1280px;
  padding-top: 94px;
	box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
	position:relative;
	padding-top: 90px;
	padding-bottom: 40px;
}

.footer_logo{
	margin-bottom: 24px;
}

.footer address{
	display:inline-block;
	text-align: left;
	margin-bottom: 56px;
}

.footer .post,
.footer .name,
.footer .address{
	display:block;
}

.footer_navi_item{
	margin-bottom: 16px;
}

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

.footer_navi_item a{
	color: #ffffff;
}

.footer_navi_items{
	margin-bottom: 24px;
}

.footer_instagram a{
	display: inline-block;
	background-color: #FFFFFF;
	padding:13px;
	border-radius: 30px;
	margin-bottom: 56px;
}

.footer_illust{
	max-width: 314px;
	position: absolute;
	top:-55px;
	left:-100px;
}

main{
	max-width: 1280px;
	padding-top: 94px;
	margin-left: auto;
	margin-right: auto;
}

.contents_container{
	background-color: rgba(255,255,255,0.8);
	margin-right: 16px;
	margin-left: 16px;
}

.contents_container .inner{
	padding-right: 16px;
	padding-left: 16px;
}

.hero_inner.inner{
	padding-top:88px;
	padding-bottom:110px;
}

.hero_img{
	margin-bottom: 72px;
}

.hero_img figure{
	max-width: 274px;
	margin-left: auto;
	margin-right: auto;
}

.scroll{
	color:var(--color_red);
	text-align: center;
	position: relative;
	padding-bottom: 32px;
}

.scroll::after{
	content: "";
	animation: scroll_animation 2s ease-in-out infinite ;
	width: 2px;
	height:24px;
	background-color: var(--color_red);
	position: absolute;
	left:50%;
	bottom:0;
	transform: translateX(-50%);
}

.effect.effect_delay{
	transition-delay:1.5s;
}

section{
	position: relative;
}

section .inner{

}

.illust{}

.illust img{
	width:100%;
	height: auto;
}


.news_inner{
	padding-top:40px;
	padding-bottom: 100px;
	max-width: 640px;
	padding-right: 16px;
	padding-left: 16px;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
}

.news .news_items{
	margin-bottom: 40px;
}

.news .news_item{
	padding-bottom: 24px;
	border-bottom: 1px solid #ABB8C3;
	margin-bottom: 24px;
}

.news .news_item a{
	display: block;
}

.news time{
	display: block;
	color: var(--color_red);
	margin-bottom: 16px;
}

.news_illust{
	position: absolute;
	right: 16px;
	bottom:0;
}

.about{}

.about_inner{
	padding-top: 24px;
	padding-bottom: 100px;
}

.about_item{
	margin-bottom: 80px;
}

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

.about picture{
	display: inline-block;
	clip-path: polygon(32px 0, calc(100% - 32px) 0, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100% ,0 calc(100% - 32px), 0 32px );
  margin-right: 0;
	margin-left: -64px;
}

.about_summary{
	background: rgba(254, 238, 213, 0.79);
	padding:24px 32px 24px 64px;
	clip-path: polygon(32px 0, calc(100% - 32px) 0, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100% ,0 calc(100% - 32px), 0 32px );
  margin-top: -64px;
	margin-right: 32px;
	margin-left: -64px;
	box-shadow: 1px 1px 5px 0px rgba(193, 193, 193, 1);
}

.about_item:nth-child(2n) picture{
	margin-right: -64px;
	margin-left: 0;
}

.about_item:nth-child(2n) .about_summary{
	padding:24px 64px 24px 32px;
	margin-right: -64px;
	margin-left: 64px;
}

.about_summary h3{
	font-size: 20px;
	margin-bottom: 16px;
}

.about_illust{
	max-width: 96px;
	position: absolute;
	bottom:0;
	right: 32px;
}

.philosophy_inner{
	padding-top: 40px;
	padding-bottom: 30px;
}

.philosophy_items{
	counter-reset: number;
}

.philosophy_item{
	margin-bottom: 24px;
}

.philosophy_item h3::before {
	content: counter(number)".";
	counter-increment: number;
	padding-right: 10px;
}

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

.philosophy h3{
	font-size: 18px;
	margin-bottom: 8px;
}

.philosophy picture{
	display: block;
	aspect-ratio: 3 / 2;
	margin-bottom: 8px;
	overflow: hidden;
}

.fruits_inner{
	padding-top: 30px;
	padding-bottom:145px;
}

.fruits_items{
	margin-bottom:80px;
}

.fruits_items:last-child{
	margin-bottom:30px;
}

.fruits_item{
	margin-bottom: 40px;
}

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

.fruits_img_container{
	position: relative;
	margin-bottom: 16px;
}

.fruits_img_container picture{
	display: block;
	clip-path: polygon(32px 0, calc(100% - 32px) 0, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100%, 0 calc(100% - 32px), 0 32px );
  aspect-ratio: 3 / 2;
	overflow: hidden;
}

.fruits_term{
	color: #C85A3A;
	font-size: 14px;
	position: absolute;
	left:0;
	bottom:0;
	background: #FCE8E8;
	padding: 7px 15px;
}

.information{
	color:#ffffff;
	text-align: center;
	background: #BEA88B;
}

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

.information .ttl{
	margin-bottom: 8px;
}

.information .btn_items{
	margin-top: 32px;
}

.information .btn_item{
	margin-bottom: 24px;
}

.information .btn a{
	background: #F1721D;
}

.information .btn_item:last-child{
	margin-bottom: 0;
}

.information_illust{
	position: absolute;
	top:-65px;
	left:-8px;
}

.instagram_inner{
	padding-top: 60px;
	padding-bottom: 130px;
	max-width: 640px;
	padding-right: 16px;
	padding-left: 16px;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
}

.instagram_feed{
	margin-bottom: 48px;
}

.instagram_illust{
	position: absolute;
	right: 16px;
	bottom: 0;
}

.access_inner.inner{
	padding-top: 50px;
	padding-bottom: 100px;
	padding-top: 60px;
	padding-bottom: 130px;
	max-width: 640px;
	padding-right: 16px;
	padding-left: 16px;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
}

.access_map{
	width:100%;
	margin-bottom: 32px;
}

.access h3{
	font-weight: bold;
	margin-bottom: 8px;
}

.access_illust{
	max-width: 200px;
	position: absolute;
	right:16px;
	bottom:0;
}

.contact{
	text-align: center;
}

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

.contact_tel .icon_tel{
	display: inline-block;
	font-size: 32px;
	margin-top: 16px;
	position: relative;
	padding-left:32px;
}

.contact_tel .icon_tel::before{
	content: "";
	display: block;
	width:24px;
	height: 24px;
	background: url(./images/icon_tel@2x.png) no-repeat center center / cover;
	position: absolute;
	top:50%;
	left:0;
	transform: translateY(-50%);
}

.contact_tel .contact_time{
	display: block;
	font-size: 16px;
}

.contact_btn .icon_mail{
	position:relative;
	padding-left: 32px;
}

.contact_btn .icon_mail::before{
	content: "";
	display: inline-block;
	width:24px;
	height: 24px;
	background: url(./images/icon_mail@2x.png) no-repeat center center / cover;
	position: absolute;
	top:50%;
	left:0;
	transform: translateY(-50%);
}

@keyframes scroll_animation{
	0% {
		transform: scaleY(0%);
		transform-origin:50% 0;
	}
	30% {
		transform: scaleY(100%);
		transform-origin:50% 0;
	}
	40% {
		transform: scaleY(100%);
		transform-origin:50% 100%;
	}
	100% {
		transform: scaleY(0%);
		transform-origin:50% 100%;
	}
}

/*--作物紹介--*/

.fruits_conts{
	padding-top:64px;
}

.fruits_cont{
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}

.accordion_information{
	color:var(--color_red);
	text-align: center;
	margin-top: 60px;
}

.fruits_conts_inner{
	padding-right: 32px;
	padding-left: 32px;
}

.fruits_category{
	padding-top: 40px;
	padding-bottom: 40px;
}

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

.fruits_category_ttl{
	text-align: center;
	cursor: pointer;
}

.fruits_category_items{
	margin: 40px -16px 0 -16px;
}

.fruits_category_item{
	background: rgba(255, 255, 255, 0.5);
	padding:16px;
	margin-bottom: 16px;
	box-shadow: 2px 2px 5px 0px rgba(163, 163, 163, 0.25);
}

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

.fruits_category_img{
	margin-bottom: 8px;
}

.fruits_category h2{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 8px;
}

.fruits_imgs{
	margin-bottom: 16px;
}

.fruits_harvest_detail{
	display: inline-block;
	color: #FFFFFF;
	font-size: 14px;
	background: #C30E23;
  border-radius: 20px;
	padding:8px 16px;
	margin-bottom: 16px;
}

.peach .fruits_harvest_detail{
	background: var(--color_pink); 
}

.fruits_tags{
	margin-bottom:16px;
}

.fruits_tag.yellow_type{
  padding-left: 32px;
	background: url(./images/icon_yellow@2x.png) no-repeat left center / 24px 24px;
}


.fruits_name{
	color:var(--color_brown);
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 8px;
	padding-right:16px;
	padding-left:16px;
}

.fruits_outline{
	font-size: 18px;
	color:var(--color_red);
	padding-right:16px;
	padding-left:16px;
}

.peach .fruits_outline,
.peach .fruits_summary dt{
	color: var(--color_pink);
}

.fruits_summary{
	padding: 16px;
	background: #FAF4EB;
	border-radius: 10px;
}

.fruits_summary dl{
	display: grid;
	grid-template-columns: auto 1fr;
	gap:10px 60px;
	margin-bottom: 24px;
}

.fruits_summary dt{
	color:var(--color_red);
}

.fruits_category_items{
	height:0;
	overflow:hidden;
	opacity:0;
	transition:
		height .4s ease,
		opacity .4s ease;
}

.is-active .fruits_category_items{
	
}

.fruits_category.is-open .fruits_category_items{
	opacity:1;
}

.calendar{
	margin-bottom: 80px;
}

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

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

.fruits_harvest{
	
}

.fruits_harvest_inner{
	padding: 80px 16px;
	border-bottom: 2px solid #ABB8C3;
	margin-right: 16px;
	margin-left: 16px;
}

.fruits_harvest_txt{
	text-align: center;
}

.harvest_calendar{
	display:grid;
	font-size:14px;
}

.calendar_table{
	font-size: 14px;
}

.calendar_head,
.calendar_row{
	display:grid;
	grid-template-columns: 128px repeat(7, 1fr);
	align-items: center;
}

.calendar_head > div,
.calendar_row > div{
	padding:5px;
}

.calendar_head{
	text-align:center;
}

.fruit_name{
	font-weight: bold;
}

.calendar_row .month::after{
	content: "";
	display: block;
	width:100%;
	height: 12px;
	background-color: #E4E4E4;
	border-radius: 6px;
}

.calendar_row .month.is-active::after{
	background-color: var(--color_red);
}

.peach .calendar_row .month.is-active::after{
	background-color: var(--color_pink);
}

.main_inner{}

.main_head{
	padding-top: 40px;
	padding-bottom: 40px;
}

.main_body{
	
}

.post_items{}

.post_item{
	padding-bottom: 24px;
	margin-bottom: 24px;
	border-bottom: 2px solid #ABB8C3;
}

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

.post_item a{
	display: block;
}

.post_item_date{
	display: block;
	color:var(--color_red);
	font-size: 16px;
	margin-bottom: 16px;
}

.post_item_ttl{
	font-size: 16px;
}

.post_ttl{
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 32px;
}

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

.post_conts{
	
}

.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;
}

.main_foot{
	padding-top:60px;
	padding-bottom: 30px;
}

.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: 40px;
}

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

.btn a{
	max-width: 640px;
	display: block;
	color: #ffffff;
	font-size: 18px;
	text-align: center;
	letter-spacing: 0.08em;
	padding: 17px;
	background: #3C7B33;
	border-radius: 30px;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
	box-shadow: 2px 2px 3px 0px rgba(81, 81, 81, 0.25);
	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;
	}
	
	.footer .post{
		margin-right:1em;
		display: inline-block;
	}
	
	.footer .address{
		display: inline-block;
	}
	
	.footer{
		text-align: center;
	}
	
	.footer_conts{
		display: flex;
		justify-content: space-between;
		margin-bottom: 30px;
		padding-left: 100px
}
	
	.footer_information{
		flex:0 0 auto;
		text-align: left;
	}
	
	.footer address{
		margin-bottom: 0;
	}
	
	.footer_instagram{
		margin-left: auto;
		margin-bottom: 0;
	}
	
	.footer_navi{
		flex:0 0 auto;
		text-align: right;
	}
	
	.footer_navi_items{
		display: flex;
		gap:30px;
	}
	
	.about_items{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
	
	.about_item{
		margin-bottom: 0;
	}
	
	.philosophy_items{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 32px;
	}
	
	.philosophy_item{
		margin-bottom: 0;
	}
	
	.fruits_items{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
	
	.fruits_category_items{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
	
	.fruits_category_item{
		margin-bottom: 0;
	}
	
}

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