@charset "utf-8";

html {
	overflow-x: hidden;
	scroll-behavior: smooth;		
}

@media (min-width: 769px){
	main{
		min-width: 1140px;
		max-width: 1920px;
		margin-inline: auto;
		overflow: hidden;
	}
}
.fukuharu-2026-header{
	position: relative;
	display: flex;
	align-items: center;
	flex-direction: column;
	height: 523px;
	padding-top: 80px;
	background: url(../images/bg-mv.webp) no-repeat center top;
	overflow: hidden;
}
.period-block{
	margin-top: 90px;
	text-align: center;
	dt {
		width: fit-content;
		margin-inline: auto;
		padding-inline: 20px;
		background-color: #5a3e19;
		color: #ffffff;
		border-radius: 9999px;
	}
	dd{
		margin-top: 20px;
	}
	.period{
		width: 480px;
	}
	p{
		margin-top: 20px;
		font-size: 13px;
	}
}
@media (min-width: 769px){
	.wed_header-fixed{
  	margin-top: 60px;
	}
	.plan-nav-fixed{
		margin-top: 130px;
	}

	.fukuharu-2026-header{
		&::before{
			content: url(../images/tsubaki-mv-lt.webp);
			position: absolute;
			top: -5px;
			left: 50%;
			transform: translateX(-394px);
		}
		&::after{
			content: url(../images/tsubaki-mv-rt.webp);
			position: absolute;
			bottom: -10px;
			right: 50%;
			transform: translateX(387px);
		}
	}
	h1{
		width: 460px;
	}
}
@media (max-width: 768px){
	.wed_header-fixed{
		margin-top: 50px;
	}
	.fukuharu-2026-header{
		justify-content: flex-end;
		height: auto;
		aspect-ratio: 750 / 924;
		padding-top: 0;
		padding-bottom: calc( 30 / 750 * 100vw );
		background-image: url(../images/bg-mv-sp.webp);
		background-size: 100%;
		overflow: initial;
	}
	h1{
		width: calc( 605 / 750 * 100vw );
	}
	.period-block{
		margin-top: calc( 110 / 750 * 100vw );
		dt{
			font-size: calc( 24 / 750 * 100vw );
		}
		dd{
			margin-top: calc( 20 / 750 * 100vw );
		}
		.period{
			width: calc( 610 / 750 * 100vw );
		}
		p{
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			bottom: calc( -295 / 750 * 100vw );
			width: 100%;
			font-size: 10px;
      line-height: 1.4;
		}
	}
}

.ad-copy-wrap{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 180px;
	margin-top: -9px;
	background: url(../images/bg-yabane-red.webp) repeat center top;
}
@media (max-width: 768px){
	.ad-copy-wrap{
		position: relative;
		padding-inline: 20px;
		aspect-ratio: 750 / 205;
		height: auto;
		margin-top: 0;
		&::after{
			content: "";
			position: absolute;
			bottom: calc( -20 / 750 * 100vw );
			left: 0;
			background: url(../images/ad-copy-wrap-btm.webp);
			width: 100%;
			height: calc( 20 / 750 * 100vw );
		}
	}
}

section{
	position: relative;
	padding-block: 100px;
}
h2{
	display: flex;
	justify-content: center;
	margin-bottom: 70px;
	color: #5a3e19;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-weight: bold;
	font-size: 42px;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
	&::before{
		content: url(../images/tsubaki-sm-lt.webp);
		margin-right: 30px;
	}
	&::after{
		content: url(../images/tsubaki-sm-rt.webp);
		margin-left: 15px;
	}
}
[class$="-cassette-image-wrap"]{
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	&::before{
		content: "";
		display: block;
	}
}
.base [class$="-cassette-image"]{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}
@media (min-width: 769px){
	section{
		&::before{
			content: url(../images/tsubaki-lg-lt.webp);
			position: absolute;
			left: -27px;
			top: -80px;
		}
		&::after{
			content: url(../images/tsubaki-lg-rt.webp);
			position: absolute;
			right: -10px;
			top: -80px;
		}
	}
}
@media (max-width: 768px){
	section{
		padding-block: 50px;
	}
	h2{
		/* width: 100vw;
		margin-inline: calc(50% - 50vw); */
		align-items: center;
		margin-bottom: 30px;
		font-size: 24px;
		&::before{
			content: "";
			background: url(../images/tsubaki-sm-lt-sp.webp) no-repeat center center / contain;
			margin-right: 0;
			width: 50px;
			height: auto;
			aspect-ratio: 100 / 110;
		}
		&::after{
			content: "";
			background: url(../images/tsubaki-sm-rt-sp.webp) no-repeat center center / contain;
			margin-left: 0;
			width: 50px;
			height: auto;
			aspect-ratio: 100 / 110;
		}
	}
}
@media (max-width: 375px){
	h2{
		font-size: 22px;
	}
}



/* ---------------------------------------
	Pick Up!
--------------------------------------- */
.pickup {
	&::before{
		left: 50%;
		transform: translateX(-765px);
		top: -120px;
	}
	&::after{
		right: 50%;
		transform: translateX(750px);
		top: -120px;
	}
}

.pickup-title{
	position: relative;
	&::before{
		display: none;
	}
	&::after{
		content: url(../images/pickup-title-line.webp);
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: -15px;
		display: block;
		line-height: 1;
	}
}
.pickup-cassette-item {
	text-align: center;
}
a.pickup-cassette-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: #776038;
}
.pickup-cassette-image-wrap{
	&::before{
		aspect-ratio: 660 / 438;
	}
}
.pickup-cassette-head {
	height: 40px;
	line-height: 40px;
	color: #ffffff;
	font-size: 20px;
	font-weight: 700;
	border-bottom: 1px solid #ffffff;
	background-color: #5a3e19;
}
.pickup-cassette-desc {
	flex: 1;
	display: flex;
	flex-direction: column;
	position: relative;
	padding: 20px;
	background-color: #f7f3e9;
	border-bottom: 1px solid #d5c8b1;
	border-right: 1px solid #d5c8b1;
	&::after {
		content: "";
		position: absolute;
		width: 0;
		height: 0;
		rotate: -45deg;
		right: -2px;
		bottom: 4px;
		border-left: 15px solid transparent;
		border-right: 15px solid transparent;
		border-top: 15px solid #bca466;
		transition: translate 0.2s;
	}
}
.pickup-cassette-tag-list {
	.plan-mark{
		width: 80px;
		font-size: 18px;
	}
}
.plan-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	padding-block: 5px 4px;	
	border-radius: 9999px;
	font-size: 14px;
	text-align: center;
	line-height: 1;
	&.-直前割 {
		background-color: #4152a0;
		color: #ffffff;
	}
	&.-福春 {
		background-color: #299dc4;
		color: #ffffff;
	}
	&.-福袋 {
		background-color: #dc5122;
		color: #ffffff;
	}
	&.-sm{
		width: 56px;
		font-size: 12px;
	}
}
.plan-mark.-undefined{
	display: none;
}
.pickup-cassette-tag {
	width: fit-content;
	padding: 5px 15px 4px;
	background-color: #776038;
	color: #ffffff;
	font-size: 18px;
	border-radius: 9999px;
  line-height: 1;
}
.pickup-cassette-title {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 15px 0 0;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.2;
}
.pickup-cassette-text {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.2;
	b {
		color: #bf4343;
		font-size: 1.42em;
		span{
			font-size: 1em;
		}
	}
}
.pickup-cassette-price {
	display: flex;
  align-items: baseline;
	justify-content: center;
	margin-top: 5px;
	font-size: 1.5em;
	font-weight: 700;
}
.pickup-cassette-max_price-wrap{
	display: flex;
  align-items: baseline;
}
.pickup-cassette-price-unit {
	font-size: 0.75em;
}
.pickup-cassette-period-text {
	font-size: 0.8125em;
}

@media (min-width: 769px) {
	.pickup-cassette-list {
		gap: 60px 20px
	}
	.pickup-cassette-link {
		&:hover .pickup-cassette-desc::after {
			translate: 2px 2px;
		}
	}
}
@media (max-width: 768px) {
	.pickup{
		padding-top: calc( 170 / 750 * 100vw );
	}
	.pickup-title{
		&::after{
			content: "";
			width: 100%;
			height: 60px;
			background: url(../images/pickup-title-line-sp.webp) no-repeat center center / contain;
			bottom: -10px;
		}
	}
	.pickup-cassette-item {
		width: 100%;
	}
	.pickup-cassette-text {
		b {
			font-size: 1.28em;
			span{
				font-size: 1.55em;
			}
		}
	}
	.cassette-nav {
		/* position: absolute;
		right: 16px;
		bottom: 16px; */
		display: flex;
		gap: 8px;
		z-index: 10;
		margin-right: 0;
		margin-left: auto;
		width: fit-content;
	}
	.cassette-prev,
	.cassette-next {
		width: 40px;
		height: 40px;
		font-size: 1.5rem;
		border-radius: 50%;
		border: none;
		background: #fee100;
		color: #222;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
		cursor: pointer;
	}
}


/* ---------------------------------------
	benefit
--------------------------------------- */
.benefit {
	background: url(../images/bg-yabane.webp);
}
.benefit-list {
	align-items: stretch;
}

.benefit-item {
	max-height: 304px;
	transition: max-height 0.8s;

	display: flex;
	flex-direction: column;
	height: 100%;
	padding-bottom: 20px;
}
.benefit-item-ad-text {
	position: absolute;
	right: 10px;
	top: -55px;
	width: 92px;
	height: 93px;
}
.benefit-item-title {
	position: relative;
	line-height: 110px;
	color: #ffffff;
	font-size: 35px;
	font-weight: 700;
	text-align: center;
}
.benefit-item-label {
	position: absolute;
	top: -15px;
	z-index: 2;
	left: 0;
	right: 0;
	margin: auto;
	width: fit-content;
	line-height: 29px;
	padding: 0 20px;
	background-color: #403937;
	border-radius: 15px;
	color: #ffffff;
	font-size: 1.8rem;
	font-weight: normal;
}
.benefit-item-button {
	position: relative;
	z-index: 1;
	height: 55px;
	line-height: 55px;
	color: #403937;
	font-size: 1.8rem;
	font-weight: bold;
	border: none;
	background-color: #ffffff;
	/* span{
		background-color: #ffffff;
	} */
}
.benefit-item:first-of-type {
	background-color: #d5d9ea;
	.benefit-item-title {
		background-color: #4152a0;
	}
}
.benefit-item:nth-of-type(2) {
	background-color: #c9e6f0;
	.benefit-item-title {
		background-color: #299dc4;
	}
}
.benefit-item:nth-of-type(3) {
	background-color: #f8d5ca;
	.benefit-item-title {
		background-color: #dc5122;
	}
}
.benefit-item-desc {
	height: 120px;
	min-height: 120px;
	padding: 20px;
}
.benefit-item-dl {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: calc( 100% - 40px );
	margin-inline: auto;
	background-color: #ffffff;
	font-size: 1.4rem;
	/* &::after{
		content: "";
		display: block;
		width: 100%;
		height: 15px;
	} */
}
.benefit-item-dt {
	padding: 15px 20px;
	color: #403937;
	font-weight: bold;
}
.benefit-item-dd {
	display: flex;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 0 20px;
	small {
		margin-top: 20px;
		font-size: 1em;
	}
}
.js-accordion-button {
	position: relative;
	cursor: pointer;
	span{
		position: relative;
		z-index: 1;
	}
	&::after {
		content: "＋";
		position: absolute;
		right: 10px;
		top: 8px;
		font-size: 2.4rem;
		font-weight: bold;
	}
}

.js-accordion-body {
		max-height: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-5px);
	transition: .4s ease-in-out;
}
.is-open{
	.js-accordion-button {
		&::after {
			content: "－";
		}
	}
	.js-accordion-body {
		max-height: 1000px;
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
}

.benefit-item.is-open {
	max-height: 1000px;
	.js-accordion-body {
		padding-block: 15px;
	}
}
.banner-text{
	width: 494px;
	height: 73px;
	padding-top: 7px;
	background: url(../images/bg-banner-text.webp) no-repeat center center / 100%;
	text-align: center;
	font-size: 28px;
	color: #ffffff;
	font-weight: bold;
}
@media (min-width: 769px){
	.benefit-item:first-of-type .js-accordion-button:hover {
		background-color: #eceef3;
	}
	.benefit-item:nth-of-type(2) .js-accordion-button:hover {
		background-color: #ecf6f9;
	}
	.benefit-item:nth-of-type(3) .js-accordion-button:hover {
		background-color: #f9ece8;
	}
}
@media (max-width: 768px){
	.benefit-item {
    max-height: initial;
	}
	.benefit-item-title {
		height: 75px;
		font-size: 28px;
		line-height: 75px;
	}
	.benefit-item-label{
		top: -10px;
		font-size: 14px;
		line-height: 22px;
	}
	.benefit-item-ad-text {
		width: 69px;
		top: -44px;
	}
	.benefit-item-desc{
		display: flex;
    align-items: center;
    height: 110px;
    min-height: 110px;
	}
	.banner-text{
		width: calc( 564px / 2 );
		font-size: 16px;
	}
	.banner-link{
		width: calc( 630px / 2 );
	}
	.banner-text{
		height: 42px;
		padding-top: 3px;
	}
	.benefit-item.is-open {
		height: initial;
    max-height: initial;
		.js-accordion-body {
			padding-top: 5px;
		}
	}
}

.consultation{
	background-color: #f8d5ca;
	h2{
		margin-bottom: 20px;
	}
	.button-common{
		&::after{
			top: 43%;
			right: 20px;
			width: 36px;
			height: 5px;
			border-bottom: solid 1px;
			border-right: solid 1px;
			border-top: none;
			transform: skew(45deg);
			transition: .2s ease-out;
			will-change: transform;
		}
	}
}
.button-common{
	background-color: #5a3e19;
}
@media (min-width: 769px){
	.consultation{
		.button-common:hover{
			&::after{
				right: 16px;
				width: 40px;
			}
		}
	}
}
@media (max-width: 768px){
	.consultation{
		h2{
			letter-spacing: -0.05em;
		}
	}
}

/* ---------------------------------------
	plan
--------------------------------------- */
.plan{
	padding-top: 0;
	background-color: #f4e9e0;
	&::before, &::after{
		display: none;
	}
}
.plan-area-section{
	padding-block: 80px 0;
	&::before, &::after{
		display: none;
	}
}
.plan-title{
	margin-bottom: 50px;
	color: #5a3e19;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	&::after{
		content: url(../images/title-line.webp);
		display: block;
		line-height: 1;
		margin-top: -5px;
	}
}
.plan-tablist{
	position: relative;
	z-index: 100;
	gap: 1px;
	width: 100%;
	max-width: 1920px;
	background-color: #c23c0e;
	[role="tab"]{
		position: relative;
		border: none;
		width: 185px;
		height: 70px;
		background-color: #c23c0e;
		color: #ffffff;
		font-size: 18px;
		cursor: pointer;
		transition: .2s ease-in-out;
	}
	[role="tab"]:last-of-type::after{
		display: none;
	}
	[role="tab"][aria-selected="true"]{
		background-color: #cea754;
		cursor: default;
	}
}
.plan-tablist.is-fixed{
	position: fixed;
	top: 0;
}
.plan-nav-fixed {
	.wed_header.is-fixed{
		top: -70px;
		opacity: 0;
	}
	[role="tab"]{
		height: 45px;
	}
	[role="tab"]{
		line-height: 1;
	}
}
.plan-anchor-nav{
	margin-top: 60px;
	li{
			flex: 1;
	}
}
a.plan-anchor-nav-link{
	color: #584b3a;
}
.plan-anchor-nav-link{
	position: relative;
	display: block;
	width: 100%;
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 18px;
	border-bottom: 1px solid #584b3a;
	text-align: center;
	line-height: 1;
	&::before{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 18px;
		aspect-ratio: 18 / 18;
		background: #584b3a url(../images/arrow.webp) no-repeat center center / auto;
		border-radius: 50%;
	}
	&::after{
		content: "";
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 0;
		height: 1px;
		background-color: #c23c0e;
		transition: .3s ease-in-out;
	}
}
.plan-subtitle{
	position: relative;
	width: fit-content;
	scroll-margin-top: 30px;
	margin: 0 auto 70px;
	padding-top: 80px;
	color: #584b3a;
	font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	&::after{
		content: "";
		position: absolute;
		bottom: -10px;
		left: 50%;
		transform: translateX(-50%);
		display: block;
		width: 98%;
		height: 1px;
		background-color: #c23c0e;
	}
	&::before{
		content: "";
		position: absolute;
		bottom: -15px;
		display: block;
		width: 100%;
		height: 12px;
		background: url(../images/subtitle-line-edge.webp) no-repeat center left / contain, url(../images/subtitle-line-edge.webp) no-repeat center right / contain;
	}
}
.plan-photo{
	.plan-title{
		margin-bottom: 0;
	}
	.plan-mark{
		display: none;
	}
}

@media (min-width: 769px){
	.plan-tablist{
		[role="tab"]::after {
			content: "";
			position: absolute;
			right: -1px;
			top: 50%;
			transform: translateY(-50%);
			width: 1px;
			height: 47%;
			background-color: #eee2d3;
		}
		[role="tab"]:hover{
			background-color: #cea754;
		}
	}
	.plan-anchor-nav-link{
		&:hover{
			color: #c23c0e;
			border: none;
			&::before{
				background-color: #c23c0e;
				background-position: top 1px center;
			}
			&::after{
				width: 100%;
			}
		}
	}	
}
@media (max-width: 768px){
	.plan-nav-fixed{
		margin-top: 91px;
	}
	.plan-area-section{
		padding-top: 30px;
	}
	.plan-tablist{
		background-color: transparent;
		[role="tab"]{
			flex: 0 0 calc((100% - 2px) / 3);
		}
		#tab-other{
			font-size: 16px;
		}
	}
	.plan-nav-sticky {
		.wed_header.is-fixed{
			top: -50px;
		}
	}
	.plan-title{
		margin-bottom: 30px;
		font-size: 24px;
		&::after{
			margin-top: -5px;
		}
	}
	.plan-anchor-nav{
		margin-top: 35px;
		li{
			flex: none;
			width: calc( (100% / 2) - 10px );
		}
	}
	.plan-anchor-nav-link{
		font-size: 16px;
	}
	.plan-subtitle{
		scroll-margin-top: 70px;
		margin-bottom: 40px;
		padding-top: 50px;
		font-size: 24px;
		&::before{
			height: 9px;
		}
		&::after{
			bottom: -11px;
		}
	}
}

.plan-mark-dl{
	background-color: #ffffff;
	transition: height .4s ease-in-out;
	.plan-mark{
		width: 70px;
		padding-inline: 0;
	}
}
.plan-mark-dt{
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 25px 40px;
	font-size: 24px;
	line-height: 1;
	font-weight: bold;
	.plan-mark-wrap{
		display: flex;
		gap: 5px;
	}
}
.plan-mark-dd{
	border-top: 1px solid #c5c5c5;
}
.plan-mark-text{
	.plan-mark-wrap{
		display: inline-flex;
    align-items: center;
    gap: 2px;
		vertical-align: middle;
	}
}
.plan-mark-list-item{
	.plan-mark{
		margin-right: 7px;
	}
}
.plan-mark-dt.js-accordion-button {
	&::after {
		right: 35px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 30px;
	}
}
.plan-mark-dl.is-open{
	.plan-mark-dd{
		padding-block: 30px;
	}
}
@media (min-width: 769px){
	.plan-mark-dd{
		width: 1040px;
		margin-inline: auto;
	}
}
@media (max-width: 768px){
	.plan-mark-dt{
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 18px 20px 15px;
		font-size: 16px;
	}
	.plan-mark-dt.js-accordion-button {
		&::after {
			right: 10px;
			font-size: 25px;
		}
	}
	.plan-mark-dd{
		padding-inline: 20px;
	}
	.plan-mark-dl.is-open{
		.plan-mark-dd{
			padding-block: 20px;
		}
	}
	.plan-mark-list{
		.plan-mark{
			display: block;
			margin-bottom: 5px;
		}
	}
}

/* ---------------------------------------
	カセット
--------------------------------------- */
/* .plan [hidden]{
	display: none !important;
} */
.plan-cassette-list {
	display: grid;
	margin-top: 60px;
}
.plan-cassette-item {
	background-color: #ffffff;
	color: #776038;
}
.plan-cassette-image-wrap{
	&::before{
		aspect-ratio: 630 / 418;
	}
}
.plan-cassette-image {
	display: block;
	max-width: none;
}
/* .plan-cassette-tag-list{
	margin-bottom: 10px;
} */
.plan-cassette-title {
	/* flex: 1 1 auto; */
	margin-bottom: 15px;
	font-size: 20px;
	line-height: 28px;
	font-weight: bold;
}
.plan-cassette-period-list{
	font-size: 14px;
	.plan-mark{
		margin-right: 5px;
	}
	li + li{
		margin-top: 5px;
	}
}

.plan-cassette-period {
	display: none;
	font-size: 13px;
}
#tabpanel-photo{
	.plan-cassette-period-list{
		display: none
	}
	.plan-cassette-period{
			display: block;
	}
}
.plan-cassette-lead {
	margin-block: 10px 18px;
	padding-top: 10px;
		border-top: 1px solid #e3dcd1;
	font-size: 14px;
	line-height: 24px;
}
.plan-cassette-plan {
	position: relative;
	display: block;
	background-color: #f7f3e9;
	color: inherit;
	&::after {
		content: "";
		position: absolute;
		width: 0;
		height: 0;
		rotate: -45deg;
	}
	&.-soldout {
		pointer-events: none;
		&::before {
			content: "Sold Out";
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			right: 0;
			z-index: 1;
			text-align: center;
			color: #ffffff;
			background-color: hsla(0, 0%, 0%, 0.7);
			font-size: 150%;
			padding-top: 2em;
		}
	}
}
.plan-cassette-tag {
	display: inline-block;
	border-radius: 9999px;
	background-color: #ffffff;
	text-align: center;
}
.plan-cassette-point {
	display: inline-block;
	color: #776038;
}
.plan-cassette-price {
	display: flex;
	align-items: baseline;
	line-height: 1;
	color: #bf4343;
	font-weight: 600;
	text-align: center;
}
.plan-cassette-max_price-wrap{
	display: flex;
	align-items: baseline;
}
.plan-cassette-price-unit {
	font-size: 0.64em;
}
.plan-cassette-footnote {
	line-height: 1.5;
}


@media (min-width: 769px) {
	.plan-cassette-list {
		grid-template-columns: repeat(3, 1fr);
		gap: 60px 20px;
		/* margin-bottom: 30px; */
	}
	.plan-cassette-item {
		display: flex;
		flex-direction: column;
		padding-left: 16px;
		padding-right: 16px;
		padding-bottom: 17px;
		overflow: hidden;
	}
	.plan-cassette-item .plan-cassette-image-wrap {
		width: calc( 100% + 34px );
		margin-left: -16px;
		margin-bottom: 20px;
	}
	.plan-cassette-plan {
		margin-bottom: 15px;
		border-bottom: 1px solid #d5c8b1;
		border-right: 1px solid #d5c8b1;
		padding: 10px;
		&::after {
			right: -2px;
			bottom: 4px;
			border-left: 12px solid transparent;
			border-right: 12px solid transparent;
			border-top: 12px solid #bca466;
			transition: translate 0.2s;
		}
		&:hover::after {
			translate: 2px 2px;
		}
	}
	.plan-cassette-tag {
		/* width: 80px; */
		padding: 4px 1em 3px;
		border: 1px solid #d5c8b1;
		color: #776038;
		font-size: 14px;
		line-height: 1;
	}
	.plan-cassette-point {
		margin-top: 5px;
		font-size: 14px;
		line-height: 22px;
		>b {
			font-size: 16px;
		}
	}
	.plan-cassette-price {
		margin-top: 5px;
		margin-bottom: 8px;
		font-size: 28px;
		letter-spacing: -0.01em;
	}
	.plan-cassette-footnote {
		font-size: 13px;
	}
	.plan-cassette-list-more {
		display: none;
	}
}
@media (max-width: 768px) {
	.plan-cassette-list {
		gap: 30px;
		margin-top: 30px;
		margin-inline: auto;
		max-width: 630px;
	}
	.plan-cassette-item {
		width: calc(100% - 15px);
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 15px;
	}
	.plan-cassette-plan {
		margin-bottom: 10px;
		border-bottom: calc(1 * 100vw / 750) solid #d5c8b1;
		border-right: calc(1 * 100vw / 750) solid #d5c8b1;
		padding: 15px;
	}
	.plan-cassette-item .plan-cassette-image-wrap {
		width: calc(690 * 100vw / 750);
		margin-left: -15px;
    margin-bottom: 20px;
	}
	.plan-cassette-tag {
		/* width: calc(170 * 100vw / 750); */
		border: calc(2 * 100vw / 750) solid #d5c8b1;
		font-size: 15px;
		line-height: 23px;
		padding: 0 1em;
	}
	.plan-cassette-period{
		font-size: 14px;
	}
	.plan-cassette-point {
		margin-top: 8px;
		font-size: 13px;
		line-height: 23px;
		>b {
			font-size: 16px;
		}
	}
	.plan-cassette-price {
		margin-top: 8px;
		margin-bottom: 5px;
		font-size: 26px;
	}
	.plan-cassette-footnote {
		margin-top: 13px;
		font-size: 12px;
	}
	.plan-cassette-list-more {
		display: block;
		width: 90%;
		margin-inline: auto;
		border: 0;
		line-height: calc(90 * 100vw / 750);
		background-color: #2e91d9;
		color: #ffffff;
	}
	.plan-cassette-item {
		&.-sp-hidden {
			display: none;
		}
	}
}

@media (max-width: 768px){
	.splide {
		width: 100vw;
		margin-inline: calc(50% - 50vw);
	}
	.splide__arrow{
		width: 40px;
		height: auto;
		aspect-ratio: 40 / 40;
		background: rgba(64, 57, 55, 0.8);
		transform: translateY(calc(-50% - 20px));
	}
	.splide__arrow svg {
		fill: #ffffff;
		height: 1.6em;
		width: 1.6em;
	}
	.splide__pagination{
		position: static;
		margin-top: 30px;
		gap: 20px;
	}
	.splide__pagination__page{
		width: 10px;
		height: auto;
		aspect-ratio: 10 / 10;
		margin: 0;
	}
	.splide__pagination__page.is-active{
		background-color: #5a3e19;
		transform: scale(1);
	}
	.benefit-slide{
		.splide__track{
			padding-top: 40px;
		}
		.splide__arrow{
			position: static;
			transform: translateY(0);
			background: transparent;
		}
		.splide__arrows {
			position: absolute;
			bottom: -14px;
			left: 50%;
			transform: translateX(-50%);
			width: 180px;
			display: flex;
			justify-content: space-between;
		}
		.splide__arrow svg{
			fill: #5a3e19;
		}
	}
}

.store_contact__container-sp.is-visible{
	z-index: 101;
}


/* ---------------------------------------
	add_section 
--------------------------------------- */
.add_section {
	padding: 75px 0;
	text-align: center;
}
.add_section:nth-child(even) {
	background-color: #f4e9e0;
}
.wedding_area {
	background-color: #ffffff;
}
.wedding_about-item {
	box-shadow: 7px 10px #ede2d5;
	border: 1px solid #c8a376;
}
@media (max-width: 768px) {
	.add_section {
		padding: 50px 0;
	}
}

@media (max-width: 768px) {
	.swiper {
		padding: 0 calc(30 / 750 * 100vw);
		overflow: visible;
	}
	.swiper-pagination {
		position: static;
		display: flex;
		justify-content: center;
		gap: 10px;
		width: fit-content !important;
	}
	.swiper-pagination-bullet{
		width: 10px;
		height: 10px;
	}
	.swiper-pagination-bullet-active {
		background: #403937;
	}
	.pickup{
		.swiper-pagination {
			margin-top: 30px;
			margin-inline: auto;
		}
		.swiper-button-prev,
		.swiper-button-next {
			top: 0;
			width: 40px;
			height: 100%;
			background-image: none;
			span {
				position: relative;
				width: 40px;
				height: 40px;
				background-color: rgba(0, 0, 0, .5);
				border-radius: 20px;
				&::before {
					content: "";
					position: absolute;
					top: 13px;
					right: 15px;
					width: 12px;
					height: 12px;
					border-top: solid 3px #ffffff;
					border-right: solid 3px #ffffff;
					transform: rotate(45deg);
				}
			}
		}
		.swiper-button-prev {
			left: calc(-10 / 750 * 100vw);
			span {
				&::before {
					content: "";
					right: 11px;
					transform: rotate(225deg);
				}
			}
		}
		.swiper-button-next {
			right: calc(-10 / 750 * 100vw)
		}
	}
	.benefit{
		.swiper-pagination-wrap{
			display: flex;
			align-items: baseline;
			justify-content: center;
			gap: 30px;
			margin-top: 30px;
		}
		.swiper-button-prev,
		.swiper-button-next {
			position: relative;
			top: 3px;
			background-image: none;
			width: 15px;
			height: 15px;
			border-top: solid 3px #403937;
			border-right: solid 3px #403937;
			transform: rotate(45deg);
		}
		.swiper-button-prev {
			transform: rotate(225deg);
		}
	}
	.swiper-conteiner {
		margin-top: 70px;
	}
}

.fixed-link{
	display: none;
}