@charset "euc-jp";

/*■■■■■■■■■■■■■■■■■■■■■■■■
　 Goods 用css（ /goods/ ）
　■■■■■■■■■■■■■■■■■■■■■■■■*/

html {
	scroll-behavior: smooth;
}

body {
	font-size: 16px;
	line-height: 1.31;
	font-weight: 400;
	letter-spacing: 0;
	color: #000000;
	font-family: "Zen Maru Gothic", sans-serif;
}

img:not([width]) {
	max-width: 100%;
	zoom: initial;
}

.ib {
	display: inline-block;
}

.inr {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 5vw;
	box-sizing: border-box;
}

@media screen and (min-width: 799px) {
	.inr {
		padding: 0 20px;
	}
}

/* ======================================================
 ttl
====================================================== */
.c_ttl {
	text-align: center;
}

.c_ttl span {
	font-size: min(6vw, 25px);
	font-weight: bold;
	letter-spacing: 0;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 257px;
	height: 70px;
	border-radius: 40px;
	background-color: #F36E8A;
}

/* ======================================================
pagetop
====================================================== */
.pagetop{
	position:fixed;
	z-index:50;
	width:70px;
	height:70px;
	right:30px;
	bottom:30px;
	z-index: 0;
}

.pagetop a {
	display: none;
}

@media screen and (max-width: 800px) {

	.pagetop {
		bottom: 3vw;
		right: 3vw;
	}
}

/* ======================================================
mv
====================================================== */
.mv {
	position: relative;
	padding-bottom: 68px;
}

h2.midasi {
	background-image: url(../img/midasi_bg_smt.jpg);
	background-size: cover;
	padding: 0;
	height: 69vw;
}

@media screen and (min-width: 799px) {
	.mv {
		position: relative;
		padding-bottom: 100px;
	}

	h2.midasi {
		background-image: url(../img/midasi_bg.jpg);
		height: 438px;
	}
}

/* ======================================================
goods-nav
====================================================== */
.goods-nav {
	background-color: #F36E8A;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 10;
}

.goods-nav.is-fixed {
	position: fixed;
	top: 0;
	bottom: initial;
}

.goods-nav ul {
	display: flex;
	justify-content: center;
	padding: 10px 0;
	gap: 5%;
}

.goods-nav ul li {
	max-width: 257px;
	height: 48px;
	flex: 1;
}

.goods-nav ul a {
	font-size: min(6vw, 25px);
	font-weight: bold;
	letter-spacing: 0;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 40px;
}

.goods-nav ul li.is-active a {
	background-color: #EE546F;
}

@media screen and (max-width: 798px) {
	.goods-nav .inr {
		padding: 0 3vw;
	}
}

@media screen and (min-width: 799px) {
	.goods-nav ul {
		padding: 15px 0;
	}

	.goods-nav ul li {
		height: 70px;
	}

	.goods-nav ul a {
		font-size: 25px;
	}
}

/* ======================================================
	intro
====================================================== */
.intro {
	padding: 23px 0 60px;
}

.intro_lead {
	font-size: min(5vw,20px);
	line-height: 1.35;
	text-align: center;
	margin-bottom: 27px;
}

.intro_note {
	font-size: 16px;
	line-height: 1.31;
	text-align: center;
	margin-bottom: 50px;
}

.intro_bnr {
	display: block;
	margin: 0 auto;
}

@media screen and (min-width: 799px) {

	.intro_note {
		margin-bottom: 41px;
	}

	.intro_bnr {
		display: block;
		max-width: 560px;
		margin: 0 auto;
	}
}


/* ======================================================
	goods
====================================================== */
.goods {
    padding: 90px 0 90px;
    margin-top: -100px;
}

.goods .c_ttl {
	margin-bottom: 40px;
}

.goods_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 25vw 3.5%;
}

.goods_img {
	margin-bottom: 13px;
}

.goods_ttl {
	color: #F36E8A;
	font-size: 18px;
	font-weight: bold;
}

.goods_txt {
	margin-bottom: 14px;
	font-weight: 300;
}

.goods_fee {
	font-size: 20px;
	font-weight: bold;
}

.goods_fee span {
	font-size: 16px;
	font-weight: 500;
}

@media screen and (min-width: 799px) {

	.goods {
		padding: 130px 0;
		margin-top: -60px;
	}

	.goods .c_ttl {
		margin-bottom: 87px;
	}

	.goods_list {
		display: flex;
		flex-wrap: wrap;
		gap: 108px 3.5%;
	}

	.goods_list li {
		width: 31%;
        display: flex;
        flex-direction: column;
	}

	.goods_fee {
		margin-top: auto;
	}
}

/* ======================================================
	shop
====================================================== */
.shop {
    padding-top: 210px;
    margin-top: -10px;
}

.shop .c_ttl {
    transform: translateY(-170px);
	margin-bottom: -80px;
}

.shop_inr {
	background-color: #FFEFF2;
	padding: 50px 0 30px;
}

.shop_logo {
	width: 175px;
	margin-bottom: 18px;
	display: block;
}

.shop_logo img {
	width: 100%;
}

.shop_address {
	font-weight: 500;
	margin-bottom: 30px;
}

.shop_content {
	flex: 1;
	margin-bottom: 25px;
}

.shop_content dl {
	margin-bottom: 35px;
}

.shop_content dl:last-of-type {
	margin-bottom: 0;
}

.shop_content dl dt {
	width: 114px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	border-radius: 25px;
	margin-bottom: 10px;
	font-weight: bold;
	color: #Fff;
	background-color: #F36E8A;
}

.shop_content dl dd {
	flex: 1;
	line-height: 1.375;
}

.shop_map {
	overflow: hidden;
	position: relative;
}

.shop_map::before {
	content: "";
	padding: 100% 0 0;
	display: block;
}

.shop_map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

.copy {
	color: #A0A0A0;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	padding: 20px;
}

@media screen and (min-width: 799px) {

	.shop {
		padding-top: 80px;
		margin-top: -80px;
	}

	.shop .c_ttl {
		margin-bottom: 90px;
		transform:none;
	}

	.shop_inr {
		padding: 50px 0 60px;
	}

	.shop_logo {
		margin-bottom: 25px;
	}

	.shop_address {
		margin-bottom: 25px;
	}

	.shop_wrap {
		display: flex;
		justify-content: space-between;
		padding: 0 20px;
	}

	.shop_content {
		flex: 1;
		align-self: flex-end;
		padding: 0 3% 15px 0;
		margin: 0;
	}

	.shop_content dl {
		display: flex;
		margin-bottom: 35px;
	}

	.shop_content dl dt {
		margin-bottom: 0;
	}

	.shop_content dl dd {
		padding-left: 20px;
	}

	.shop_map {
		width: 468px;
		width: 40%;
	}

	.copy {
		padding: 13px;
	}

}

/* ======================================================
modal
====================================================== */
.modal {
	display: none;
    position: relative;
    z-index: 1;
}

.modal-overlay {
	position: fixed;
	top: 68px;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	background: rgba(59, 64, 67, 0.3);
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: scroll;
}

.modal.is-open {
	display: block;
	animation: mmfadeIn 0.8s cubic-bezier(0.34, 0.07, 0.095, 0.995);
}

.modal .goos_card {
	background-color: #fff;
	padding: 70px 20px 60px;
	position: relative;
	width: 100%;
	max-width: 968px;
	margin-bottom: 0;
	box-sizing: border-box;
}

.goos_card_inr {
	max-width: 750px;
	margin: 0 auto;
	box-sizing: border-box;
}

.modal .goods_img {
	margin-bottom: 23px;
}

.modal .goods_txt {
	margin-bottom: 9px;
}

.modal-close {
	position: absolute;
    top: 12px;
    right: 12px;
}

.modal-close span {
	display: block;
	width: 48px;
	height: 48px;
	position: relative;
}

.modal-close span::before,
.modal-close span::after {
	content: "";
	display: block;
	width: 24px;
	height: 1px;
	background: #98A6B5;
	transform: rotate(45deg) translateY(-50%);
	transform-origin: 0% 50%;
	position: absolute;
	top: 31%;
	left: 31%;
}

.modal-close span::after {
	transform: rotate(-45deg);
	transform-origin: 100% 50%;
	left: auto;
	right: 31%;
}

@media screen and (min-width: 799px) {
	.modal-overlay {
		top: 0;
        padding-top: 140px;
		align-items: flex-start;
	}

	.modal .goos_card {
		padding: 90px 20px 75px;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes fadeOut {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes modalFadeIn {
	from {
		transform: scale(0.8);
	}

	to {
		transform: scale(1);
	}
}

@keyframes modalFadeOut {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(0.8);
	}
}


#modal[aria-hidden='true'] {
	animation: fadeOut 0.3s ease-out forwards;
}

#modal[aria-hidden='false'] {
	animation: fadeIn 0.3s ease-in forwards;
}

#modal[aria-hidden='true'] .goos_card {
	animation: modalFadeOut 0.3s ease forwards;
}

#modal[aria-hidden='false'] .goos_card {
	animation: modalFadeIn 0.3s ease forwards;
}