@charset "utf-8";
/**************************************************
サイト設定
**************************************************/
/* ==============================
フォント
============================== */

body * {
	font-family: var(--font-family-base);
	font-weight: 600;
}

.font-min {
	font-family: "Shippori Mincho", serif;
}


/* ==============================
pc幅での電話発信しない
============================== */
@media (any-hover: hover) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

a[href^="tel:"] {
	color: inherit;
}


/* ==============================
SP,PC画面幅で出しわけ
============================== */
@media (min-width: 520px) {
	.sp {
		display: none;
	}
}

@media (max-width: 520px) {
	.pc {
		display: none;
	}
}



/**************************************************
アニメーションfade-in設定変更
**************************************************/
.fade-in {
	transition: 1s !important;
}


/**************************************************
追加アニメーション
**************************************************/
/* ==============================
バウンス
============================== */
@keyframes leadFadeIn {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}

.order-in__fadein > * {
	transition: 1s;
}

:is(.order-in__fadein) > * {
	opacity: 0;
}

:is(.order-in__fadein) > *.visible {
	animation-name: leadFadeIn;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-timing-function: linear
}


/* ==============================
バウンス
============================== */
@keyframes Bounds {
	0% {
		scale: 1;
		opacity: 0
	}

	8% {
		scale: 1.07;
		opacity: 1
	}

	17% {
		scale: 1.12;
		opacity: 1
	}

	34% {
		scale: 1;
		opacity: 1
	}

	51% {
		scale: 1.02;
		opacity: 1
	}

	68% {
		scale: 1;
		opacity: 1
	}

	84% {
		scale: 1.01;
		opacity: 1
	}

	100% {
		scale: 1;
		opacity: 1
	}
}

.order-in__bounds > * {
	transition: 1s;
}

:is(.order-in__bounds) > * {
	opacity: 0;
}

:is(.order-in__bounds) > *.visible {
	animation-name: Bounds;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-timing-function: linear
}


/* 吹き出しバージョン */
.order-in__fukidashi > * {
	transition: 1s;
}

:is(.order-in__fukidashi) > * p {
	opacity: 0;
}

:is(.order-in__fukidashi) > *.visible p {
	animation-name: Bounds;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-timing-function: linear
}


/* Tab menu */
.tab-menu {
	position:fixed;
	bottom:40px;
	right:-100vw;
	display:flex;
	flex-wrap: nowrap;
	transition: right var(--transition);
	z-index:3;
}
body.scrolled .tab-menu {
    right:-280px;
}
body.scrolled .tab-menu.open {
	right:0;
}
.tab-menu dt {
	background:var(--color-red);
	border-radius:var(--radius) 0 0 var(--radius);
	width:60px;
	padding:15px 10px;
	cursor: pointer;
    text-align: center;
}
.tab-menu dt img {
    width:24px;
}
.tab-menu dt span {
	display:flex;
	align-items: center;
	justify-content: space-between;
	gap:10px;
	min-height:100px;
	width:40px;
	writing-mode: vertical-lr;
	color:var(--color-white);
	margin-top:10px;
}
.tab-menu dt span:last-of-type {
	display:none;
}
.tab-menu.open dt span:first-of-type {
	display:none;
}
.tab-menu.open dt span:last-of-type {
	display:flex;
}
.tab-menu dt span i {
    font-size:0.6em;
}
.tab-menu dt span:first-of-type i {
    rotate: 180deg;
}
.tab-menu dd {
	background:var(--color-base);
	padding:15px 0 0 15px;
	width:280px;
}
.tab-menu dd > p {
    font-size:0.8em;
}
.tab-menu dd > div:first-of-type {
    font-size:0.9em;
    display:flex;
    align-items: center;
    justify-content: flex-start;
    gap:5px;
    padding-right:10px;
}
.tab-menu dd > div:first-of-type div {
    width:30px;
    height:30px;
    border-radius:100%;
    background:var(--color-red);
    padding:5px;
    display:flex;
    align-items: center;
    justify-content: center;
}
.tab-menu dd > div:first-of-type div img {
    width:100%;
    height:100%;
    object-fit: contain;
}
.tab-menu dd > div:first-of-type strong {
    display:block;
    color:var(--color-red);
    font-family: "Shippori Mincho", serif;
    font-size:2.1em;
    line-height:1;
    white-space: nowrap;
    margin-top:-3px;
}

.tab-menu dd > div:last-of-type {
    padding-right:40%;
    padding-bottom:15px;
    background:url(../_img/common/side-matsumoto.webp) bottom right / 40% no-repeat; 
}
.tab-menu dd > div:last-of-type small {
    display:block;
    font-weight:normal;
    font-size:0.75em;
    line-height:1;
    padding-top:5px;
}
.tab-menu dd > div:last-of-type ul {
    display:flex;
    flex-direction: column;
    gap:5px;
    padding-top:10px;
}
.tab-menu dd > div:last-of-type .button {
    font-size:1em;
    font-weight:500;
    letter-spacing: 0;
    color:var(--color-white);
    min-width: 98%;
    box-shadow: 2px 2px 0 rgba(163, 162, 163, 0.5);
    justify-content: space-between;
    padding:5px 10px;
    border-radius:8px;
    transform: translate(-2px, -2px);
}
.tab-menu dd > div:last-of-type li:first-of-type .button {
    background:var(--color-main);
}
.tab-menu dd > div:last-of-type li:last-of-type .button {
    background:var(--color-orange);
}
.tab-menu dd > div:last-of-type .button::after {
    background-image:url(../_img/common/side_arrow.svg);
    right:10px;
    width:20px;
    height:20px;
}
.tab-menu dd > div:last-of-type .button:hover {
    transform: translate(0, 0);
}
.tab-menu dd > div:last-of-type .button:hover::after {
    transform: translateX(2px);
}

@media (max-width : 820px) {
	.tab-menu {
		display:none;
	}
}