/* #region CSS Reset and Setup --------------- */
html, body, div,
p, a, img, figure,
dl, dt, dd,
ul, ol, li,
button,
h1, h2, h3, h4, h5, h6,
hr, header, footer, section, article {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

/* Document setup */
html {
	font-size: 62.5%; /* 1rem = 10px */
}

body {
	font-family: 'Kiwi Maru', sans-serif;/* 300 400 500 */
	font-weight: 400;
	font-size: 1.5em; /* default 15px */
	background: #fff;
	color: #3E3A39;
	text-align: center;
}

#bodybox {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background: #FFF9E4;
	overflow-x: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}

ol, ul {
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

svg {
	fill: currentcolor;
	overflow: hidden; /* ie用 */
}

* {
	box-sizing: border-box;
}

main {
	display: block; /* ie用 */
}

.inner {
	display: block;
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 40px;
	/* outline: 1px red dashed; */
}

@media print {
	body {
		width: 1000px;
		-webkit-transform: scale(0.79);
		transform: scale(0.79);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}
}

@media only screen and (max-width: 1024px) {
	body {
		-webkit-text-size-adjust: 100%;
	}
	.inner {
		padding: 0;
	}
}

/* Clearfix  */
.clearfix::after {
	content: '';
	display: block;
	clear: both;
}

/* pc mb */
@media only screen and (min-width: 1025px) {
	.pc {
		display: block;
	}
	.mb {
		display: none!important;
	}
}
@media only screen and (max-width: 1024px) {
	.pc {
		display: none!important;
	}
	.mb {
		display: block;
	}
}

/* .wrapper */
.wrapper {
	display: inline-block;
	position: relative;
}
/* img-box */
.img-box {
	position: relative;
	overflow: hidden;
}
.img-box img {
	position: absolute;
	height: 100%;
	width: 100%;
	margin: auto;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
/* #endregion -------------------------------- */

/* #region General --------------------------- */
.bg-grape {
	background: #B963A4;
	color: #fff;
}
.bg-lilac {
	background: #f5eefc;
}
.bg-white {
	background: #fff;
}
/* .sc-btn01 */
.sc-btn01 {
	display: inline-block;
	position: relative;
	max-width: 310px;
	width: 100%;
	padding: 18px;
	border: 1px solid;
	border-color: #3E3A39;
	border-radius: 16px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0.2em;
	text-align: center;
	overflow: hidden;
}
.sc-btn01::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #3E3A39;
	opacity: 0;
	transition: opacity 0.3s;
	z-index: -1;
}
.sc-btn01:hover {
	color: #FFF9E4;
}
.sc-btn01:hover::before {
	opacity: 1;
}
.bg-grape .sc-btn01 {
	border-color: #fff;
}
.bg-grape .sc-btn01::before {
	background: #fff;
}
.bg-grape .sc-btn01:hover {
	color: #B963A4;
}
.bg-lilac .sc-btn01:hover {
	color: #f5eefc;
}
@media only screen and (max-width: 1024px) {
	.sc-btn01 {
		display: block;
		width: auto;
		margin: 0 auto;
	}
}

/* wave */
.wave-top {
	position: absolute;
	top: -2px;
	left: -990px;
	right: -990px;
	margin: auto;
	z-index: 1;
	transform: rotate(180deg);
	color: #fff9e4;
}
.wave-bottom {
	position: absolute;
	bottom: -2px;
	left: -990px;
	right: -990px;
	margin: auto;
	z-index: 1;
	color: #fff9e4;
}
.wave-top.grape, .wave-bottom.grape {
	color: #B963A4;
}
.wave-top.white, .wave-bottom.white {
	color: #fff;
}
.wave-top.lilac, .wave-bottom.lilac {
	background: #f5eefc;
}
@media only screen and (min-width: 1980px) {
	.wave-top {
		width: 100%;
	}
	.wave-bottom {
		width: 100%;
	}
}

/* .order-icon-link */
.order-icon-link {
	display: inline-block;
	position: relative;
}
.order-icon-link:hover .order-icon-text {
	transform: scale(1.15);
}
.order-icon-text {
	position: relative;
	width: 116px;
	height: 116px;
	padding: 25px 5px;
	background: url('../images/common/order-icon-bg.png') no-repeat center/contain;
	font-weight: 500;
	font-size: 17px;
	letter-spacing: 0.05em;
	line-height: 1.294;
	transition: transform 0.2s;
}
.order-icon-img {
	position: absolute;
	width: 87px;
	z-index: 2;
}

.text-link {
	color: #B963A4;
	text-decoration: underline;
}
.text-link:hover {
	color: #B963A4;
	text-decoration: none;
}
/* #endregion -------------------------------- */

/* #region Header ---------------------------- */
#header {
	position: absolute;
	width: 100%;
	height: 184px;
	background: #FFF9E4;
	z-index: 30;
}
.header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}
.header-logo {
	position: absolute;
	width: 26%;
	min-width: 228px;
	top: -20px;
	left: 40px;
	z-index: 10;
}
.header-logo-link {
	display: block;
	width: 100%;
}
@media only screen and (max-width: 1024px) {
	.header-logo {
		top: 0;
		left: 10px;
	}
}

.main-nav-logo {
	visibility: hidden;
	position: relative;
	flex: 1 0 200px;
	max-width: 259px;
	margin-right: 90px;
}
.main-nav-logo-link {
	display: block;
	width: 100%;
	height: 100%;
}
#mb-burger-btn {
	display: none;
	cursor: pointer;
	font-size: 12px;
}
#mb-burger-btn #menuiconbar1 {
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	-webkit-transform: translateY(-15px);
	transform: translateY(-15px);
}
#mb-burger-btn #menuiconbar3 {
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	-webkit-transform: translateY(15px);
	transform: translateY(15px);
}

/* .main-nav */
.main-nav {
	display: block;
	/* position: fixed; */
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 790px;
	height: 100%;
	padding: 15px 0 20px;
	top: 0;
	z-index: 5;
}
.main-nav-inner {
	width: 100%;
}

.main-nav-list {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.main-nav-item {
	display: inline-block;
	height: 100%;
	margin: 10px;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 1;
	white-space: nowrap;
}
.main-nav-link {
	position: relative;
	display: block;
}
.main-nav-link::before {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	bottom: -22px;
	left: 0;
	right: 0;
	margin: auto;
	border-radius: 50%;
	background: transparent;
	transition: background 0.2s;
}
.main-nav-link:hover::before {
	background: #d796c0;
}
.main-nav-img {
	display: inline-block;
	height: 54px;
	margin-bottom: 10px;
	transition: transform 0.2s;
}
.main-nav-link:hover .main-nav-img {
	transform: scale(1.2);
}
.m-nav01 .main-nav-img {
	width: 83px;
}
.m-nav02 .main-nav-img {
	width: 46.5px;
}
.m-nav03 .main-nav-img {
	width: 46px;
}
.m-nav04 .main-nav-img {
	width: 60.5px;
}
.m-nav05 .main-nav-img {
	width: 62.5px;
}
.header-order-icon-box {
	display: inline-block;
	margin-left: 5px;
	z-index: 10;
}

/* is-fixed */
#header.is-fixed {
	position: fixed;
	top: 0;
	height: 150px;
}
#header.is-fixed .header-logo {
	display: none;
}
#header.is-fixed .main-nav-logo {
	visibility: visible;
}
#header.is-fixed .header-order-icon-box {
	margin-top: 0px;
}
#header.is-fixed .order-icon-img {
	display: none;
}
@media only screen and (max-width: 1024px) {
	#header {
		height: 100px;
	}
	#header.is-fixed {
		position: fixed;
		top: 0;
		height: 100px;
	}

	#mb-burger-btn {
		display: inline-block;
		position: absolute;
		/* top: 64px; */
		top: 32px;
		right: 25px;
		z-index: 50;
	}

	#header.is-open #mb-burger-btn {
		position: fixed;
	}
	.main-nav-logo {
		margin-left: 30px;
		margin-right: 100px;
		flex: 0 1 180px;
		z-index: 50;
	}
	#header.is-open .main-nav-logo {
		visibility: visible;
		position: fixed;
		top: 0;
		left: 0;
		max-width: 180px;
		height: 100px;
		display: flex;
		align-items: center;
	}
	#header.is-open .main-nav-logo-link {
		height: auto;
	}
	.main-nav {
		display: block;
		position: fixed;
		width: 100%;
		max-width: 100%;
		height: 100%;
		height: auto;
		background: #FFF9E4;
		overflow: scroll;
		z-index: 30;
		opacity: 0;
		pointer-events: none;
	}
	#header.is-open .main-nav {
		opacity: 1;
		pointer-events: auto;
		transition: opacity 0.3s;
	}
	#header.is-close .main-nav {
		transition: opacity 0.3s;
	}
	.main-nav-inner {
		margin: 0 auto;
		max-width: 640px;
		padding: 5% 0;
		padding-top: 100px;
	}

	#header.is-open .main-nav-list {
		width: 100%;
		flex-wrap: wrap;
		align-content: space-between;
	}
	.main-nav-item, #header.is-open .header-order-icon-box {
		flex: 1 1 140px;
		margin: 20px 10px;
	}
	.header-order-icon-box .order-icon-img {
		display: none;
	}
}
@media only screen and (max-width: 440px) {
	#header.is-open .main-nav{
		height: 100vh;
	}
}
/* #endregion -------------------------------- */

/* #region Footer ---------------------------- */
/* .footer-head */
.footer-head {
	position: relative;
}
.home-mainfoot-img {
	width: 100%;
	height: auto;
	min-height: 210px;
}
.home-mainfoot-img::before {
	content: '';
	display: block;
	padding-top: 30%;
}
.home-mainfoot-img img {
	object-position: 78% 35%;
}
/* .footer-main */
.footer-main {
	position: relative;
	padding: 80px 0 40px;
}
.footer-logo {
	display: inline-block;
	width: 276px;
	margin-bottom: 70px;
}

.footer-links {
	display: flex;
	justify-content: space-between;
	width: 630px;
	margin: 0 auto 50px;
}
.footer-links-item {
	display: inline-block;
}
.footer-links-link:hover {
	opacity: 0.7;
}
.footer-order-icon-box {
	position: absolute;
	right: 50px;
	bottom: 100px;
}
.footer-address {
	margin-bottom: 80px;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.2em;
	line-height: 2.214;
}

.footer-main-foot {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.footer-sub-links {
	display: inline-block;
	vertical-align: middle;
	margin: 0 -15px;
}
.footer-sub-links-item {
	display: inline-block;
	margin: 0 15px;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.2em;
	line-height: 1;
}
.footer-sub-links-link:hover {
	opacity: 0.7;
}

.copyright {
	vertical-align: bottom;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.2em;
	line-height: 1;
}
@media only screen and (max-width: 1024px) {
	.footer-main {
		padding: 30px 0;
	}
	.footer-logo {
		margin-bottom: 35px;
	}
	.footer-address {
		margin-bottom: 40px;
		line-height: 1.714;
	}
	.footer-main-foot {
		display: block;
	}
	.footer-sub-links {
		display: block;
		margin: 0 0 40px;
	}
	.footer-sub-links-item {
		margin: 10px 15px;
	}
}
/* #endregion -------------------------------- */

/* #region Main ------------------------------ */
#main {
	padding-top: 150px;
}

/* .main-header */
.main-header {
	min-height: 72px;
	padding: 35px 0 15px;
	background: #b963a4;
	color: #fff;
	text-align: left;
}
.page-nav {
	position: relative;
}
.page-nav-title {
	display: inline-block;
	margin-right: 1.2em;
	font-size: 17px;
	letter-spacing: 0.2em;
}
.page-nav-list {
	display: inline-block;
}
.page-nav-item {
	position: relative;
	display: inline-block;
	margin-right: 1em;
	font-size: 14px;
	letter-spacing: 0.1em;
}
.page-nav-link::before {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin-right: 3px;
	border-style: solid;
	border-width: 6px 0 6px 9px;
	border-color: transparent transparent transparent #fff;
}
.page-nav-link:hover {
	opacity: 0.7;
}
@media only screen and (max-width: 1024px) {
	#main {
		padding-top: 100px;
	}
	.main-header-inner {
		width: 86%;
	}
	.page-nav-title {
		margin-bottom: 1em;
	}
	.page-nav-item {
		margin-bottom: 1em;
	}
}


.home-sc, .page-sc {
	position: relative;
}
.sc-title01 {
	display: inline-block;
	margin-bottom: 50px;
	color: #B963A4;
	font-weight: 500;
	font-size: 34px;
	letter-spacing: 0.3em;
	line-height: 1.382;
}
.sc-title02 {
	display: inline-block;
	margin-bottom: 50px;
	padding: 0 0.3em 15px;
	border-bottom: 1px solid rgba(62, 58, 57, 0.5);
	font-weight: 300;
	font-size: 26px;
	letter-spacing: 0.2em;
	line-height: 1.3;
}
@media only screen and (max-width: 1024px) {
	.sc-title02 {
		letter-spacing: 0.1em;
	}
}
/* #endregion -------------------------------- */

/* #region Home ------------------------------ */
.home #main {
	padding-top: 184px;
}
.home-sc-title {
	margin-bottom: 85px;
	font-weight: 300;
	font-size: 28px;
	line-height: 1.6;
	letter-spacing: 0.4em;
}
@media only screen and (max-width: 1024px) {
	.home #main {
		padding-top: 100px;
	}
	.sc-title {
		margin-bottom: 60px;
	}
}

/* .hero-block */
.hero-block {
	position: relative;
	height: 600px;
	margin: auto;
	overflow: hidden;
	animation: fade-in 1s 0.5s linear both;
}
.hero-main {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.hero-slider {
	height: 600px;
}
.hero-slider .img-box {
	position: relative;
	width: 100%;
	height: 600px;
}
.hero-slider .img-box::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.2);
	z-index: 2;
}
.hero-img01 {
	object-position: 34% 35%;
}
.hero-img02 {
	object-position: 58% 100%;
}
.hero-img03 {
	object-position: 58% 100%;
}
.hero-img04 {
	object-position: 78% 0%;
}
.hero-img05 {
	object-position: 100% 50%;
}
.hero-img06 {
	object-position: 60% 50%;
}

.hero-main-inner {
	height: 100%;
}
.hero-contents {
	display: inline-block;
	position: relative;
	height: 600px;
	color: #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.hero-tagline {
	font-weight: 500;
	font-size: 29px;
	letter-spacing: 0.4em;
	line-height: 1.793;
	animation: fade-in 1.2s 1.0s linear both;
}
.hero-text {
	display: inline-block;
	margin: 5em 1em 0;
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.3em;
	line-height: 1.482;
	text-align: left;
	animation: fade-in 1.2s 1.5s linear both;
}

.hero-block .bg-owl-101	{
	position: absolute;
	left: -40px;
	bottom: -25px;
	width: 256px;
}
@media all and (max-width: 1600px) {
	.hero-block .bg-owl-101 {
		display: none;
	}
}
@media only screen and (max-width: 1024px) {
	.hero-contents {
		top: -40px;
	}
}

/* .home-bn-block */
.home-bn-block {
	padding: 20px;
	padding-top: 80px;
}
.home-bn-block .line-bn {
	display: block;
	max-width: 600px;
	margin: 0 auto;
	border-radius: min(30px, 4vw);
	overflow: hidden;
	transition: opacity 0.3s cubic-bezier(0.4, 0.6, 0.6, 1);
}
.home-bn-block .line-bn:hover {
	opacity: 0.6;
}


/* #home-news */
#home-news {
	padding: 120px 0;
}
.home-news-list {
	position: relative;
	display: flex;
	justify-content: center;
	margin-bottom: 75px;
	z-index: 1;
}
.home-news-item {
	flex: 0 1 330px;
	margin-right: 8%;
	text-align: left;
}
.home-news-item:last-of-type {
	margin-right: 0;
}
.home-news-img {
	position: relative;
	width: 100%;
	margin-bottom: 23px;
	border-radius: 46px;
	z-index: 1;
	background: #fff;
}
.home-news-link .home-news-img img {
	transition: 0.6s;
}
.home-news-link:hover .home-news-img img {
	transform: scale(1.1);
}
.home-news-img::before {
	content: '';
	display: block;
	padding-top: 66%;
}
.home-news-date {
	margin-bottom: 30px;
	color: #b963a4;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.3em;
}
.home-news-title {
	font-size: 19px;
	line-height: 1.3;
	letter-spacing: 0.2em;
}
.home-news-link:hover .home-news-title{
	text-decoration: underline;
}
@media only screen and (max-width: 1024px) {
	.home-news-inner {
		width: 86%;
	}
	.home-news-list {
		display: block;
		max-width: 560px;
		margin: 0 auto;
	}
	.home-news-item {
		margin: 0 10px 65px;
	}
}

.home-news-list .slick-prev, .home-news-list .slick-next {
	display: block;
	position: absolute;
	width: 50px;
	height: 24px;
	top: 164px;
	/* color: transparent; */
    border: none;
    outline: none;
    background: transparent;
	border-bottom: 2px solid;
	font-size: 0;
	line-height: 0;
    cursor: pointer;
	z-index: 2;
}
.slick-prev {
    left: -13px;
}
.slick-next {
    right: -13px;
}
.home-news-list .slick-prev:before, .home-news-list .slick-next:before {
	content: '';
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	border-bottom: 2px solid;
}
.home-news-list .slick-prev:before {
	left: 0;
	transform: translate(-50%, -70%) rotate(-45deg);
}
.home-news-list .slick-next:before {
	right: 0;
	transform: translate(50%, -70%) rotate(45deg);
}
.slick-prev:hover, .slick-next:hover {
    opacity: 0.3;
}
.slick-prev.slick-disabled, .slick-next.slick-disabled {
    opacity: 0;
}


/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: 50px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
	z-index: 5;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}
.slick-dots li button:before {
    font-family: 'slick';
    font-size: 15px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '●';
    text-align: center;
    opacity: .7;
    color: #c89cbd;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #B963A4;
}

@media only screen and (max-width: 746px) {
	.home-news-list .slick-prev, .home-news-list .slick-next {
		top: 23vw;
	}
}

/* #home-grapes */
#home-grapes {
	padding: 160px 0 140px;
}
#home-grapes .bg-owl-102	{
	position: absolute;
	right: -21px;
	top: -155px;
	width: 233px;
	z-index: 2;
}
@media all and (max-width: 1600px) {
	#home-grapes .bg-owl-102 {
		display: none;
	}
}
.home-grapes-list {
	display: flex;
	justify-content: space-between;
	margin-right: -40px;
	margin-bottom: 120px;
}
.home-grapes-item {
	max-width: 540px;
	margin-right: 40px;
	text-align: justify;
}
.home-grapes-img {
	position: relative;
	width: 100%;
	margin-bottom: 32px;
	border-radius: 84px;
}
.home-grapes-img::before {
	content: '';
	display: block;
	padding-top: 68%;
}
.home-grapes-name {
	margin-bottom: 20px;
	font-weight: 300;
	font-size: 46px;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.home-grapes-name .kana {
	font-size: 0.7em;
}
.home-grapes-text {
	line-height: 1.733;
	letter-spacing: 0.2em;
}
@media only screen and (max-width: 1024px) {
	.home-grapes-inner {
		width: 86%;
	}
	.home-grapes-list {
		display: block;
		margin: 0;
	}
	.home-grapes-item {
		margin: 0 auto;
		margin-bottom: 78px;
	}
	.home-grapes-img {
		border-radius: 53px;
	}
	.home-grapes-name {
		font-size: 38px;
	}
}

/* #home-about */
#home-about {
	position: relative;
	padding: 140px 0;
}
#home-about .bg-owl-103	{
	position: absolute;
	left: -40px;
	bottom: -110px;
	width: 283px;
	z-index: 2;
}
@media all and (max-width: 1600px) {
	#home-about .bg-owl-103 {
		display: none;
	}
}
.home-about .sc-title {
	margin-bottom: 34px;
	font-size: 26px;
}
.home-about-contents {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.home-about-textbox {
	width: 410px;
	margin-right: 40px;
	margin-bottom: 55px;
	text-align: justify;
}
.home-about-text {
	margin-bottom: 60px;
	line-height: 2.266;
	letter-spacing: 0.2em;
}
.home-about-img {
	position: relative;
	width: 717px;
	border-radius: 54px;
}
.home-about-img::before {
	content: '';
	display: block;
	padding-top: 54%;
}
@media only screen and (max-width: 1024px) {
	.home-about-inner {
		width: 86%;
	}
	.home-about-contents {
		display: block;
	}
	.home-about-textbox {
		width: 100%;
	}
	.home-about-textbox .home-sc-title {
		text-align: center;
	}
	.home-about-img {
		width: 100%;
		border-radius: 36px;
	}
}

/* #endregion -------------------------------- */

/* #region Product --------------------------- */
#product-top {
	padding-top: 125px;
}
.product-top-owl {
	width: 157px;
	margin-bottom: 30px;
}
.product-top-title {
	color: #b963a4;
	font-weight: 300;
	font-size: 34px;
	letter-spacing: 0.3em;
	line-height: 1.382;
}
@media only screen and (max-width: 1024px) {
	#product-top {
		padding-top: 58px;
	}
	.product-top-inner {
		width: 86%;
	}
}
/* #grapes */
#grapes {
	padding-top: 150px;
	padding-bottom: 25px;
}
.grapes-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(auto-fill, minmax(50px, 1fr));
	justify-content: center;
	column-gap: min(100px, 6vw);
	/* row-gap: min(155px, 6vw); */
	margin-top: 75px;
	padding-bottom: 130px;
}
.grapes-item {
	position: relative;

	display: grid;
	margin-bottom: 155px;
	grid-row: span 5;
	grid-template-rows: subgrid;
	gap: 0px;
	align-items: start;

	text-align: left;
	z-index: 2;
}

.grapes-img {
	position: relative;
	aspect-ratio: 1 / 1.2 ;
	margin-bottom: 30px;
	border-radius: 25px;
}

.grapes-name {
	margin-bottom: 14px;
	font-weight: 300;
	font-size: 28px;
	line-height: 1.3;
}
.grapes-text {
	margin-bottom: 14px;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.714;
}
.grapes-season {
	display: block;
	width: 100%;
	margin-bottom: 15px;
	padding: 6px;
	border-radius: 40px;
	border: 1px solid;
	color: #b963a4;
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: center;
}
.grapes-price-box {
	display: inline-block;
	margin-bottom: 15px;
	font-weight: 300;
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 1.3;
	vertical-align: top;
}


@media only screen and (max-width: 1024px) {
	#grapes {
		padding-top: 150px;
		padding-bottom: 0;
	}
	.grapes-inner {
		width: 86%;
		max-width: 560px;
	}
	.grapes-list {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		row-gap: 80px;
	}
	.grapes-img {
		margin-bottom: 20px;
	}
}

#grapes .bg-owl01 {
	position: absolute;
	right: -14px;
	top: 8%;
	width: 181px;
}
#grapes .bg-owl02 {
	position: absolute;
	left: -16px;
	top: 28%;
	width: 181px;
}
#grapes .bg-owl03 {
	position: absolute;
	right: -15px;
	top: 57%;
	width: 181px;
}
#grapes .bg-owl04 {
	position: absolute;
	right: 22px;
	bottom: -65px;
	width: 329px;
}
@media all and (max-width: 1600px) {
	#grapes .bg-owl01 {
		display: none;
	}
	#grapes .bg-owl02 {
		display: none;
	}
	#grapes .bg-owl03 {
		display: none;
	}
}
@media only screen and (max-width: 1024px) {
	#grapes .bg-owl04 {
		display: none;
	}
}

/* #box-ex */
#box-ex {
	padding-top: 215px;
	padding-bottom: 345px;
}
.box-ex-caption {
	margin-bottom: 80px;
	color: #b963a4;
	font-weight: 300;
	font-size: 29px;
	letter-spacing: 0.3em;
	line-height: 1.6;
}
.box-ex-box {
	position: relative;
	display: flex;
	width: 100%;
	margin-bottom: 40px;
	background: #b963a4;
	color: #fff;
	border-radius: 24px;
	overflow: hidden;
}
.box-ex-img	{
	display: block;
	width: 46%;
}
.box-ex-main {
	position: relative;
	/* width: 54%; */
	flex: 1 0 54%;
	min-height: 340px;
	padding: 40px 5% 90px;
	background: url('../images/product/img-owl-eye01.png') no-repeat right 23px bottom 20px/ 141px;
	text-align: left;
}
.box-ex-title {
	margin-bottom: 15px;
	font-weight: 300;
	font-size: 24px;
	line-height: 1;
}
.box-ex-name {
	padding: 0 10px;
	margin-bottom: 15px;
	font-weight: 300;
	font-size: 30px;
	line-height: 1.166;
}
.box-ex-text {
	border-top: 1px dashed rgba(255, 255, 255, 0.5);
	padding: 15px 10px 0;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.642;
	text-align: justify;
}

.box-ex-others {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 60px;
	padding: 20px 0;
	margin-bottom: 20px;
}
.box-ex-other-item {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.box-ex-other-item .img {
	margin-bottom: 10px;
	border-radius: 20px;
	overflow: hidden;
}
.box-ex-other-item .img img {
	display: block;
	height: min(300px, 25vw);
	width: auto;
	max-width: none;
}
.box-ex-other-item .title {
	font-size: 20px;
	line-height: 1.3;
	text-align: center;
}
.box-ex-fukidashi {
	position: relative;
	padding: 30px 40px;
	margin-bottom: -40px;
	margin-right: 150px;
	background: #fff;
	color: #b963a4;
	border-radius: 16px;
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.1em;
}
.box-ex-fukidashi::after {
	content: "";
	position: absolute;
	bottom: 20px;
	right: -15px;
	transform: translateY(-50%);
	border-width: 15px 0 15px 30px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
}
@media only screen and (max-width: 1024px) {
	#box-ex {
		padding-top: 40px;
		padding-bottom: 160px;
	}
	.box-ex-inner {
		width: 86%;
		max-width: 560px;
	}
	.box-ex-caption {
		margin-bottom: 50px;
	}
	.box-ex-box {
		display: block;
	}
	.box-ex-img	{
		width: 100%;
	}
	.box-ex-img::before {
		content: '';
		display: block;
		padding-top: 62%;
	}
	.box-ex-main {
		width: 100%;
		padding: 25px 5% 120px;
	}
	.box-ex-other-item .img img {
		height: 230px;
	}
	.box-ex-fukidashi {
		margin-bottom: 20px;
		margin-right: 0;
	}
	.box-ex-fukidashi::after {
		bottom: -30px;
		right: 180px;
		transform: translateY(0);
		border-width: 15px 0 15px 30px;
		border-style: solid;
		border-color: #fff transparent transparent transparent;
	}
}

/* #order */
#order {
	margin-top: -150px;
	padding-top: 150px;
	padding-bottom: 350px;
}
.order-wrapper {
	padding: 105px 13%;
	border-radius: 36px;
}
.order-wrapper dl {
	display: flex;
	margin-bottom: 2em;
	font-weight: 300;
	font-size: 20px;
	line-height: 1.55;
	text-align: justify;
}
.order-wrapper dt {
	position: relative;
	flex: 0 0 200px;
	padding-right: 1em;
	margin-bottom: 0.3em;
	vertical-align: top;
}
.order-wrapper dt::before {
	content: '●';
	color: #b963a4;
}
.order-wrapper dd {
	position: relative;
	vertical-align: top;
}
.order-wrapper dd li {
	position: relative;
	padding-left: 1em;
	margin-bottom: 0.5em;
}
.order-wrapper dd li::before {
	content: '○';
	position: absolute;
	left: 0;
	color: #b963a4;
}
.order-wrapper dd li .memo {
	font-size: 0.9em;
}
.order-wrapper .order-flow-dl {
	display: block;
}
.order-flow-box {
	background: #fff;
	text-align: center;
}
.order-flow-head {
	padding: 10px;
	background: #b963a4;
	color: #fff;
	line-height: 1;
}
.order-flow-main {
	margin-bottom: 30px;
	padding: 30px 35px 35px;
}
.order-flow-item {
	display: block;
}
.order-flow-item .flow-cont {
	position: relative;
	flex-grow: 1;
	flex-shrink: 1;
	padding: 12px 30px;
	background: #f5eefc;
	color: #b963a4;
	font-weight: 400;
	font-size: 21px;
	line-height: 1.2;
}
.order-flow-item .arrow {
	display: inline-block;
	width: 0;
	height: 0;
	margin: 10px;
	border-style: solid;
	border-width: 9px 6px 0 6px;
	border-color: #b963a4 transparent transparent transparent;
}
.order-flow-text {
	margin-top: 15px;
	font-size: 15px;
	line-height: 1.466;
	text-align: justify;
}

#shipping {
	margin-top: -150px;
	padding-top: 150px;
}
.order-wrapper .shipping-dl {
	display: block;
}
.shipping-table {
	width: 100%;
	min-width: 650px;
	font-size: 16px;
}
.shipping-table th {
	padding: 5px 10px;
	background: #b963a4;
	color: #fff;
	font-weight: 300;
}
.shipping-table .price-th {
	text-align: center;
}
.shipping-table td {
	padding: 5px 10px;
	background: #fff;
}
.shipping-table .area-td, .shipping-table th:not(:first-of-type) {
	white-space: nowrap;
}
.shipping-table tr:nth-of-type(odd) td {
	background: #f9f9f9;
}
.shipping-table .area-name {
	margin-right: 1em;
	color: #b963a4;
}
.shipping-table .price-td {
	white-space: nowrap;
	text-align: right;
}
#order .sc-btn01 {
	margin-top: 80px;
}

#order .img-owl02 {
	position: absolute;
    left: -300px;
    bottom: -240px;
	width: 420px;
}
@media all and (max-width: 1600px) {
	#order .img-owl02 {
		display: none;
	}
}
@media only screen and (max-width: 1024px) {
	#order {
		padding-bottom: 80px;
	}
	#order .sc-title {
		max-width: 86%;
	}
	.order-wrapper {
		border-radius: 0;
		padding: 86px 7vw 80px;
	}
	.order-wrapper dl {
		display: block;
	}

	.order-wrapper .shipping-dl dd {
		margin: 0 -7vw;
		overflow-x: scroll;
	}
	.shipping-table {
		padding: 0 7vw;
	}
	/* .order-flow-item {
		display: block;
	}
	.order-flow-item .arrow {
		border-width: 9px 6px 0 6px;
		border-color: #b963a4 transparent transparent transparent;
	} */
}
/* #endregion -------------------------------- */

/* #region About ----------------------------- */
.about-hero {
	position: relative;
	height: 460px;
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('../images/about/about-top-img01.jpg');
	background-repeat: no-repeat;
	background-position: 78% 25%;
	background-size: cover;
}
.about-hero-main-inner {
	height: 100%;
}
.about-hero-contents {
	display: inline-block;
	position: relative;
	height: 460px;
	color: #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.about-hero-tagline {
	font-weight: 500;
	font-size: 34px;
	letter-spacing: 0.4em;
	line-height: 1.764;
}
.about-hero-text {
	display: inline-block;
	margin: 5em 1em 0;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: 0.3em;
	line-height: 2.8;
	text-align: left;
}

/* #about-top */
#about-top {
	margin-top: -150px;
	padding-top: 210px;
	padding-bottom: 200px;
}
.about-top-text {
	font-size: 18px;
	letter-spacing: 0.1em;
	line-height: 3.5;
}
#about-top .owl-illust01 {
	display: block;
	width: 123px;
	margin: 0 auto 35px;
}
#about-top .owl-illust02 {
	position: absolute;
	display: block;
	width: 210px;
	left: 20px;
	bottom: 0;
}
#about-top .owl-illust03 {
	position: absolute;
	display: block;
	width: 261px;
	right: 20px;
	bottom: 0;
}
@media only screen and (max-width: 1024px) {
	#about-top {
		padding-bottom: 100px;
	}
	.about-top-inner {
		width: 86%;
		max-width: 600px;
	}
	.about-top-text {
		text-align: justify;
		line-height: 2.388;
	}
	#about-top .owl-illust02 {
		display: none;
	}
	#about-top .owl-illust03 {
		display: none;
	}
}

/* #qualities */
#qualities {
	margin-top: -150px;
	padding-top: 150px;
	padding-bottom: 300px;
}
.qualities-top-img {
	height: 436px;
	border-radius: 23px;
}
#qualities .owl-illust04 {
	display: block;
	width: 167px;
	margin: -33px auto 35px;
}
.qualities-text {
	font-size: 18px;
	letter-spacing: 0.1em;
	line-height: 2.833;
}
#qualities .product-btn {
	display: block;
	position: absolute;
	width: 148px;
	height: 148px;
	right: 40px;
	bottom: 0;
	padding: 27px 5px;
	background: #B963A4;
	color: #fff;
	border-radius: 50%;
	font-weight: 500;
	font-size: 24px;
	letter-spacing: 0.05em;
	line-height: 1.25;
	transition: transform 0.3s;
}
#qualities .product-btn:hover {
	transform: scale(1.1);
}
@media only screen and (max-width: 1024px) {
	#qualities {
		padding-bottom: 100px;
	}
	.qualities-inner {
		width: 86%;
		max-width: 600px;
	}
	.qualities-top-img {
		height: 290px;
		border-radius: 20px;
	}
	.qualities-text {
		text-align: justify;
		line-height: 2.388;
	}
	#qualities .product-btn {
		position: relative;
		right: 0;
		margin: 70px auto 0;
	}
}

/* #shop */
#shop {
	margin-top: -150px;
	padding-top: 150px;
	padding-bottom: 150px;
}
.shop-contents {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
	margin-bottom: 100px;
}
.shop-img-box {
	flex: 0 0 445px;
	margin-right: 60px;
}
.shop-img {
	width: 100%;
	border-radius: 20px;
}
.shop-img-box .owl-illust05 {
	display: block;
	width: 150px;
	margin: -30px auto 30px;
}
.shop-img::before {
	content: '';
	display: block;
	padding-top: 91%;
}
.shop-info-box {
	text-align: left;
}
.shop-info {
	margin-bottom: 40px;
	font-size: 18px;
	letter-spacing: 0.1em;
	line-height: 2.666;
}
.shop-info .memo {
	display: inline-block;
	font-size: 0.9em;
	line-height: 1.8;
}
.shop-info .sc-btn01 {
	border-radius: 8px;
}
.shop-map-box {
	height: 352px;
	border-radius: 23px;
	overflow: hidden;
}
.shop-map-box iframe {
	width: 100%;
	height: 100%;
}
@media only screen and (max-width: 1024px) {
	#shop {
		padding-top: 150px;
	}
	.shop-inner {
		width: 86%;
		max-width: 600px;
	}
	.shop-contents {
		display: block;
	}
	.shop-img-box {
		margin: 0 auto;
	}
	.shop-info-box {
		text-align: center;
	}
	.shop-info {
		font-size: 16px;
		line-height: 2.388;
		text-align: left;
	}
}
/* #endregion ------------------------ */

/* #region Privacy --------------------------- */
/* #privacy */
#privacy {
	padding-top: 110px;
	padding-bottom: 150px;
}
.privacy-contents {
	max-width: 960px;
	margin: 0 auto;
	font-weight: 300;
	font-size: 17px;
	line-height: 2;
	text-align: justify;
}
.privacy-contents dt {
	margin-bottom: 1em;
	font-size: 20px;
	line-height: 1.55;
}
.privacy-contents dt::before {
	content: '●';
	color: #b963a4;
}
.privacy-contents dd {
	margin-bottom: 4em;
}
@media only screen and (max-width: 1024px) {
	#privacy {
		padding-top: 150px;
	}
	.privacy-inner {
		width: 86%;
	}
}
/* #endregion -------------------------------- */

/* #region Tradelaw -------------------------- */
/* #tradelaw */
#tradelaw {
	padding-top: 110px;
	padding-bottom: 150px;
}
.tradelaw-contents {
	max-width: 960px;
	margin: 0 auto;
}

.tradelaw-contents dl {
	display: flex;
	margin-bottom: 2em;
	font-weight: 300;
	font-size: 17px;
	line-height: 1.529;
	text-align: justify;
}
.tradelaw-contents dt {
	position: relative;
	flex: 0 0 280px;
	padding-right: 1em;
	margin-bottom: 0.3em;
	vertical-align: top;
}
.tradelaw-contents dt::before {
	content: '●';
	color: #b963a4;
}
.tradelaw-contents dd {
	position: relative;
	vertical-align: top;
}
.tradelaw-contents dd li {
	position: relative;
	padding-left: 1em;
	margin-bottom: 0.5em;
}
.tradelaw-contents dd li::before {
	content: '○';
	position: absolute;
	left: 0;
	color: #b963a4;
}
.tradelaw-contents dd li .memo {
	font-size: 0.9em;
}
@media only screen and (max-width: 1024px) {
	#tradelaw {
		padding-top: 150px;
	}
	.tradelaw-inner {
		width: 86%;
	}
	.tradelaw-contents dl {
		display: block;
	}
}
/* #endregion -------------------------------- */

/* #region Contact --------------------------- */
/* #contact */
#contact {
	padding-top: 126px;
	padding-bottom: 200px;
}
#formtop {
	margin-top: -150px;
	padding-top: 150px;
}
.contact-btn01 {
	display: inline-block;
	max-width: 310px;
	width: 100%;
	height: 47px;
	padding: 12px;
	margin: 0 20px 35px;
	background: rgba(185, 99, 164, 1);
	border-radius: 8px;
	color: #fff;
	font-weight: 500;
	font-size: 19px;
	letter-spacing: 0.05em;
	line-height: 1;
	cursor: pointer;
}
.contact-btn01:hover {
	background: rgba(185, 99, 164, 0.6);
}
#backbtn.contact-btn01 {
	background: rgba(164, 164, 164, 1);
}
#backbtn.contact-btn01:hover {
	background: rgba(164, 164, 164, 0.6);
}
.contact-top {
	margin-bottom: 90px;
}
.contact-owl01 {
	display: block;
	width: 204px;
	margin: 0 auto 30px;
}
.contact-top .sc-title01 {
	letter-spacing: 0;
}
.contact-top-tel {
	margin-bottom: 30px;
	font-weight: 500;
	font-size: 36px;
	letter-spacing: 0.025em;
	line-height: 1.258;
}
.contact-top-tel .num {
	margin: 0 0.5em;
}
.contact-top-text {
	font-size: 14px;
	line-height: 1.928;
}


#formbox02, #formbox03 {
	display: none;
}
.form-wrapper {
	max-width: 910px;
	margin: 0 auto;
	padding: 60px 0;
	text-align: left;
}
#formbox03 .form-wrapper {
	text-align: center;
}

.form-table {
	padding: 60px 0;
	border-top: 1px solid rgba(62, 58, 57, 0.25);
}
.form-tr {
	display: flex;
	margin-bottom: 22px;
}
.cellname {
	flex: 1 0 250px;
	padding: 4px 0;
	font-size: 17px;
	line-height: 1.5;
}
.cellname::before {
	content: '●';
	color: #b963a4;
}
.required {
	height: 17px;
	margin-left: 0.5em;
	padding: 0 8px;
	border-radius: 4px;
	background: #b963a4;
	color: #fff;
	font-size: 14px;
	line-height: 17px;
}
.cellvalue {
	flex: 0 1 950px;
	padding: 4px 0;
}
.longvalue {
	width: 100%;
	padding: 4px 8px;
	border: 1px solid #B5B5B6;
	font-size: 17px;
	line-height: 1.823;
}
.datevalue {
	width: 100%;
	max-width: 10em;
	padding: 4px 8px;
	border: 1px solid #B5B5B6;
	font-size: 17px;
	line-height: 1.823;
}
.selectvalue {
	width: 100%;
	max-width: 10em;
	padding: 4px 8px;
	background: #fff;
	border: 1px solid #B5B5B6;
	font-size: 17px;
	line-height: 1.823;
}
.check-item {
	width: 100%;
	font-size: 17px;
}
textarea {
	resize: none;
}

.form-btn-box {
	text-align: center;
}
.form-text {
	margin-bottom: 40px;
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 1.722;
}
@media only screen and (max-width: 1024px) {
	.contact-inner {
		width: 86%;
	}
	.contact-btn01 {
		width: auto;
		min-width: 45%;
		margin: 0 2% 35px;
	}
	.contact-top {
		margin-bottom: 60px;
	}
	.contact-top-tel .num {
		display: block;
		margin-bottom: 5px;
	}
	.contact-top-text {
		text-align: justify;
	}
	#formbox03 .form-wrapper {
		text-align: justify;
	}
	.form-table {
		padding: 40px 0;
	}
	.form-tr {
		display: block
	}

}
@media only screen and (max-width: 480px) {
	.contact-top-tel .num {
		font-size: 7vw;
	}
}
/* #endregion -------------------------------- */

/* #region animation ------------------------- */
.is-effect-list > *:nth-child(1) {
	transition-delay: 0.0s;
}
.is-effect-list > *:nth-child(2) {
	transition-delay: 0.2s;
}
.is-effect-list > *:nth-child(3) {
	transition-delay: 0.4s;
}
.is-effect-list > *:nth-child(4) {
	transition-delay: 0.6s;
}
.is-effect-list > *:nth-child(5) {
	transition-delay: 0.8s;
}
.is-effect-list > *:nth-child(6) {
	transition-delay: 1.0s;
}

@media only screen {
	.is-effect-list > *, .is-effect01 {
		opacity: 0;
		transform: translateY(50px);
		transition: 2s cubic-bezier(0.2, 1, 0.2, 1);
		transition-property: opacity, transform;
	}
	.is-effect-list.is-anime > *, .is-effect01.is-anime {
		opacity: 1;
		transform: translateY(0px);
	}
}

@media only screen and (max-width: 1024px) {
	.is-effect-list > *, .is-effect01 {
		transition-property: opacity;
	}
}
/* keyframes */
@keyframes fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.is-slide-fadezoom {
	animation: fadezoom 10s 0s forwards;
}
@keyframes fadezoom {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.1);
	}
}

.is-motion01 {
	animation: motion01 steps(2, end) 0.9s infinite alternate;
}
@keyframes motion01 {
	0% {
		transform: rotate(-6deg);
	}
	100% {
		transform: rotate(6deg);
	}
}
/* @keyframes move-up {
	0% { transform: translate(0, 100%);
	}
	100% {
		transform: translate(0, 0);
	}
} */
/* #endregion -------------------------------- */