@charset "utf-8";
/* setting */
:root {
	--vw: 100vw;
	--first-view-height: 100svh;
	--pc-width: 1440px;
	--pc-small-width: 900px;
	--color-white: #fff;
	--color-text: #555;
	--color-head: #222;
	--color-beige: #FFF9F4;
	--color-red: #9A001C;
	--color-navy: #485599;
	--color-brown: #8C6240;
	--color-thin-red: #F4C2CB;
	--color-gray: #ddd;
	--color-middle-gray: #eee;
	--color-thin-gray: #f8f8f8;
	--color-gold: #B69B40;
}
html {
	height: 100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}
@media screen and (min-width:768px) and (min-width:1440px) {
	html {
		font-size: calc(var(--pc-width)/144);
	}
}
@media screen and (min-width:768px) and (max-width:1439px){
	html{
		font-size:calc(var(--vw)/144)
	}
}
@media screen and (max-width:767px){
	html{
		font-size:calc(var(--vw)/393)
	}
}
body {
	background: var(--color-beige);
	line-height: 1;
	font-family: 'Shuei NijimiMGo B';
	font-size: 1.5rem;
	letter-spacing: 0.01em;
	color: var(--color-text);
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-break: break-all;

}
.wrap {
	width: 100%;
	min-height: 100%;
	position: relative;
}
.top-wrap {
	width: 100%;
	min-height: 100%;
	position: relative;
	overflow: hidden;
}
.page {
	width: 80%;
	max-width: var(--pc-width);
	margin: 0 auto;
	padding-top: 57rem;
}
.top {
	margin-top: 16rem;
	padding-top: 0;
}
.page > p {
	line-height: 1.8;
}
.small {
	max-width: var(--pc-small-width);
}
.df-sb-fw {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.df-sb-al-cn {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
h3,h4 {
	color: var(--color-head);
}
h3 > span,
h4 > span,
p > span {
	color: var(--color-red);
}
.lb-r {
	background: var(--color-red);
	color: var(--color-white)
}
.lb-wr {
	background: var(--color-white);
	color: var(--color-red);
}
.lb-wg {
	background: var(--color-white);
	color: var(--color-gold);
}
.lb-g {
	background: var(--color-gold);
	color: var(--color-white);
}
img {
	width: 100%;
	height: auto;
	border: none;
	outline: none;
	vertical-align: bottom;
}
.br16 {
	border-radius: 16px;
}
.br8 {
	border-radius: 8px;
}
a {
	text-decoration: underline;
	color: var(--color-red);
}
.btn {
	display: block;
	background: var(--color-red);
	border-radius: 8px;
	text-decoration: none;
	text-align: center;
	font-weight: 700;
	color: var(--color-white);
	position: relative;
	transition: all .7s;
}
.btn > img {
	display: block;
	width: 1.5rem;
	height: auto;
	margin: .1rem 0 0 .6rem;
}
.main-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 18rem;
	margin: 4.8rem auto 0;
	padding: 1.8rem 0 1.9rem;
}
.top-btn {
	margin: 0;
}
.w-btn {
	border: .2rem solid var(--color-white);
}
.flow-btn {
	width: 18rem;
	height: 4.8rem;
	margin: 0;
}
.map-btn {
	position: absolute;
	right: 3.2rem;
	bottom: 2.4rem;
}
.pc {
	display: block;
}
.sp {
	display: none;
}


@media (hover: hover) {
	a:hover {
		text-decoration: none;
	}
	.pc-nav-inner > ul > li > a:hover > span {
		transition: all .7s;
		transform: rotateX(360deg);
	}
	.btn:hover,
	.shop-sns > li > a:hover {
		opacity: .7;
	}
	.h-btn:hover {
		background: var(--color-white);
		color: var(--color-red);
		opacity: 1;
		transform: scale(.94,.94);
	}
	.top-post-data > p > a:hover {
		opacity: 1;
		transform: scale(.94,.94);
	}
	.main-btn:hover {
		opacity: 1;
		transform: scale(.94,.94);
	}
	.t-scroll-list li a:hover {
		color: var(--color-text);
	}
	.shop-map > a::after {
		position: absolute;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background: var(--color-red);
		bottom: -2px;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform 0.5s;
	} 
	.cat-list > ul > li > a:hover {
		background: var(--color-red);
		color: var(--color-white);
	}
	.cta-inner > ul > li > a:hover {
		background: var(--color-red);
		transform: scale(.94,.94);
	}
	.page-numbers > li > a:hover {
		background: var(--color-red);
		color: var(--color-white);
	}
	.breadcrumbs > span > a::after,
	.f-nav > ul > li > a::after,
	.f-sns > ul > li > a::after {
		position: absolute;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background: var(--color-white);
		bottom: -2px;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform 0.5s;
	}
	.top-post-data > p > a::after {
		position: absolute;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background: var(--color-head);
		bottom: -2px;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform 0.5s;
	}
	.top-post-data > p > a:hover::after,
	.breadcrumbs > span > a:hover::after,
	.shop-map > a:hover::after,
	.f-nav > ul > li > a:hover::after,
	.f-sns > ul > li > a:hover::after {
		transform: scale(1, 1);
		transform-origin: left top;
	}
}


/* loading */
.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 9999;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: fadeOut 1.5s 2.5s forwards;
}
@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}
.loading-logo {
	opacity: 0;
	animation: logo_fade 2s 0.5s forwards;
	width: 18rem;
}
@keyframes logo_fade {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	60% {
		opacity: 1;
		transform: translateY(0);
	}
	100% {
		opacity: 0;
	}
}


/* header */
.header {
	position: relative;
	z-index: 999;
}
.logo {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32rem;
	height: 14rem;
	background: var(--color-beige);
	border-radius: 0 0 24px;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.logo > h1 > a {
	width: 24rem;
}
.logo > h1 > a > img {
	display: block;
	width: 24rem;
	height: auto;
}
.corner {
	width: 24px;
	height: 24px;
	position: absolute;
	z-index: 999;
}
.corner-top {
	top: 3.2rem;
	left: 32rem;
}
.corner-left {
	top: 14rem;
	left: 3.2rem;
}
.pc-nav {
	position: absolute;
	top: 5.4rem;
	right: 5.2rem;
}
.pc-nav-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.pc-nav-inner > ul {
	display: flex;
	margin: -.4rem 1.8rem 0 0;
}
.pc-nav-inner > ul > li {
	margin: 0 1.2rem;
}
.pc-nav-inner > ul > li > a {
	text-decoration: none;
	color: var(--color-white);
} 
.pc-nav-inner > ul > li > a > span {
	display: inline-block;
}
.h-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 13rem;
	height: 7.3rem;
	border-radius: 18px;
}
.menu-trigger-wrap,
.sp-nav,
.sp-btn {
	display: none;
}


/* top */
.top-swiper-wrap {
	color: var(--color-white);
	position: relative;
}
.swiper-container-top {
	width: calc(100vw - 6.4rem);
	height: calc(100vh - 6.4rem);
	margin: -10.8rem auto 0;
	border-radius: 24px;
	overflow: hidden;
}
@keyframes zoom-in {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.15);
	}
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
	animation: zoom-in 10s linear 0s 1 normal both;  
}
.slide-img {
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.slide-img:before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.5);
	position: absolute;
	top: 0;
	left: 0;
}
.slide-img01 {
	background-image: url(../images/top-slide01.jpg);
}
.slide-img02 {
	background-image: url(../images/top-slide02.jpg);
}
.slide-img03 {
	background-image: url(../images/top-slide03.jpg);
}
.main-copy {
	line-height: 1.5;
	position: absolute;
	left: 10.5rem;
	bottom: 6.5rem;
	z-index: 3;
}
.main-copy > p {
	font-size: 4.4rem;
}
.h-name {
	font-size: 1rem;
	writing-mode: vertical-lr;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 5.6rem;
	z-index: 2;
}
.top-post {
	width: 44rem;
	padding: 2.2rem;
	background: var(--color-beige);
	border-radius: 24px 0 0;
	position: absolute;
	right: 3.2rem;
	bottom: 0;
	z-index: 2;
}
.top-post-inner {
	display: flex;
	align-items: center;
}
.top-post-inner > p {
	display: inline-block;
	margin-right: 2rem;
	padding: 1.6rem 2rem;
}
.top-post-data > time {
	font-size: 1.2rem;
	color: var(--color-red);
}
.top-post-data > p {
	margin-top: .9rem;
	font-size: 1.5rem;
}
.top-post-data > p > a {
	transition: all .7s;
	text-decoration: none;
	color: var(--color-head);
	position: relative;
}
.corner-bottom {
	bottom: 0;
	right: 47.2rem;
}
.corner-right {
	bottom: 9.12rem;
	right: 3.2rem;
}
@media screen and (max-width: 1024px){
	.swiper-container-top {
		height: 100rem;
	}
}

.top h2 {
	font-size: 3.6rem;
	color: var(--color-head);
}
.top span {
	font-size: 1.4rem;
}
.top-about {
	margin-bottom: 16rem;
}
.top-about-cont {
	width: 54rem;
	margin-right: 11rem;
}
.top-about-cont > span {
	color: var(--color-red);
}
.top-about-cont > h2 {
	margin: 1.8rem 0 3.2rem; 
	line-height: 1.5;
}
.top-about-cont > p {
	margin-bottom: 4.8rem;
	line-height: 2.2;
	font-size: 1.8rem;
}
.top-about-img {
	width: 68rem;
}

.top-feature {
	width: 100vw;
	margin: 0 calc(50% - 50vw) 16rem;
	color: var(--color-white);
}
.top-feature-inner {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items: center;
	width: calc(100vw - 6.4rem);
	max-width: 144rem;
	margin: 0 auto;
	background: var(--color-red);
	border-radius: 24px;
	position: relative;
}
.top-feature-img {
	display: flex;
	width: 64rem;
	padding-left: 3.2rem;
}
.f-slide {
	width: 100%;
	height: 84rem;
	margin-right: 3.2rem;
	position: relative;
	overflow: hidden;
}
.f-swiper {
	width: 24rem;
	height: 100%;
	position: absolute !important;
}
.f-slide1{
	left: 0;
	top: 0;
}
.f-slide2{
	left: 26rem;
	top: 0;
}
.swiper-wrapper {
	transition-timing-function: linear;
}
.f-swiper-slide > img {
	width: 100%;
	height: 100%;
}
.top-feature-cont {
	width: 82rem;
	padding-right: 34rem;
}
.top-feature-text > h2 {
	margin: 1.8rem 0 3.2rem; 
	line-height: 1.5;
	color: var(--color-white);
}
.top-feature-text > p {
	margin-bottom: 4.8rem;
	font-size: 1.8rem;
	line-height: 2;
}
.en-copy {
	writing-mode: vertical-rl;
	position: absolute;
	top: 6.4rem;
	right: 4rem;
}
.warashibe-icon {
	width: 20.7rem;
	height: auto;
	position: absolute;
	right: 4.8rem;
	bottom: 6.4rem;
}

.top-company,
.top-material {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 5.6rem;
	background: var(--color-white);
	border: .5px solid var(--color-middle-gray);
	border-radius: 24px;
}
.top-material {
	flex-direction: row-reverse;
	margin-top: 6.4rem;
}
.top-company-cont,
.top-material-cont {
	width: 50rem;
	margin-right: 8rem;
}
.top-company-cont {
	padding-left: 3rem;
}
.top-material-cont {
	margin: 0 10rem 0 8rem;
}
.top-company-cont > span,
.top-material-cont > span {
	color: var(--color-red);
}
.top-company-cont > h2,
.top-material-cont > h2 {
	margin: 2rem 0 3.6rem;
}
.top-company-cont >p,
.top-material-cont > p {
	margin-bottom: 4.8rem;
	line-height: 2;
}
.top-column-img {
	width: 70rem;
}

.top-news {
	margin: 16rem 0;
	padding: 14rem 0;
	position: relative;
	z-index: 0;
}
.top-news::after {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	margin-left: calc(50% - 50vw);
	background: #FFF3F5;
	border-radius: 0 24px 24px 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.top-news-inner {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}
.top-news-head {
	margin-right: 16rem;
}
.top-news-head > h2 {
	margin: 2rem 0 8rem;
}
.top-news-head > span {
	font-size: 1.4rem;
	color: var(--color-red);
}
.top-news-cont {
	width: 100vw;
}
.top-news-slider {
	width: 100vw;
	margin: 0 calc(50% - 50vw) 0 0;
	padding-right: 43vw;
	position: relative;
}
.swiper-wrapper {
	padding-bottom: 6.4rem;
}
.news-slide {
	width: 34rem;
	height: auto;
	margin-left: 4.4rem;
	background: var(--color-white);
	border: .5px solid var(--color-middle-gray);
}
.news-slide:first-of-type {
	margin-left: 0;
}
.news-slide > a  {
	display: block;
	padding: 2rem 2rem 3rem;
	text-decoration: none;
	transition: all .7s;
}
.news-slide-img {
	margin-bottom: 2.4rem;
	position: relative;
}
.news-slide-img > span {
	padding: 1rem 2rem 1.1rem;
	border-radius: 16px 0;
	font-size: 1.3rem;
	position: absolute;
	right: 0;
	bottom: 0;
}
.news-slide-img > img {
	width: 100%;
	height: 20rem;
	object-fit: cover;
	border-radius: 16px;
}
.news-slide-cont {
	padding: 0 1rem;
}
.news-slide-cont > time {
	font-size: 1.3rem;
}
.news-slide-cont > h3 {
	margin-top: 1rem;
	line-height: 1.5;
	font-size: 1.7rem;
}
.top-news-slider .swiper-scrollbar {
	display: block !important;
	width: 40%;
	height: .6rem;
	background: var(--color-gray);
	position: absolute;
	left: 0;
}
.swiper-scrollbar-drag {
	height: .6rem;
	background: var(--color-red);
	border-radius: 3px;
}
.top-ig {
	padding: 6.4rem;
	background: var(--color-white);
	border: .5px solid var(--color-middle-gray);
	border-radius: 24px;
}
.top-ig-head {
	margin-bottom: 4.3rem;
}
.top-ig-head > h2 {
	margin-top: 1.8rem;
}
.top-ig-head > span {
	color: var(--color-red);
}
.sbi_photo img {
	border-radius: 16px !important;
}
@media screen and (max-width:1680px){
	.top-material-cont > P > br {
		display: none;
	}
}
@media screen and (max-width:1460px){
	.main-copy > p {
		font-size: 4rem;
	}
	.top h2 {
		font-size: 3.2rem;
	}
	.top-feature-cont {
		width: 71rem;
	}
	.top-company-cont,
	.top-material-cont {
		width: 40rem;
		margin-right: 8rem;
	}
	.top-company-cont {
		padding-left: 3rem;
	}
	.top-material-cont {
		margin: 0 3rem 0 8rem;
	}
	.top-column-img {
		width: 56rem;
	}
}


/* page-head */
.page-head {
	height: 54rem;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 24px;
	position: absolute;
	top: 3.2rem;
	right: 3.2rem;
	left: 3.2rem;
	z-index: 0;
}
.page-head::after {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background:rgba(0,0,0,.6);
	border-radius: 24px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.delicious-head {
	background-image: url(../images/delicious-back.jpg);
}
.franchise-head {
	background-image: url(../images/franchise-back.jpg);
}
.shop-head {
	background-image: url(../images/shop-back.jpg);
}
.company-head {
	background-image: url(../images/company-back.jpg);
}
.material-head {
	background-image: url(../images/material-back.jpg);
}
.news-head {
	background-image: url(../images/news-back.jpg);
}
.contact-head {
	background-image: url(../images/contact-back.jpg);
}
.policy-head {
	background-image: url(../images/policy-back.jpg);
}
.page-title {
	position: absolute;
	bottom: 8rem;
	left: 8rem;
	z-index: 2;
	color: var(--color-white);
}
.page-title > h2 {
	margin-top: 2rem;
	font-size: 4.4rem;
}
.corners {
	display: block;
	width: 2.4rem;
  aspect-ratio: 1;
  background: var(--color-beige);
  clip-path: polygon(
    0 100%,
    calc(sin(pi * 0.5 * 0.1) * 100%) calc(cos(pi * 0.5 * 0.1) * 100%),
    calc(sin(pi * 0.5 * 0.2) * 100%) calc(cos(pi * 0.5 * 0.2) * 100%),
    calc(sin(pi * 0.5 * 0.3) * 100%) calc(cos(pi * 0.5 * 0.3) * 100%),
    calc(sin(pi * 0.5 * 0.4) * 100%) calc(cos(pi * 0.5 * 0.4) * 100%),
    calc(sin(pi * 0.5 * 0.5) * 100%) calc(cos(pi * 0.5 * 0.5) * 100%),
    calc(sin(pi * 0.5 * 0.6) * 100%) calc(cos(pi * 0.5 * 0.6) * 100%),
    calc(sin(pi * 0.5 * 0.7) * 100%) calc(cos(pi * 0.5 * 0.7) * 100%),
    calc(sin(pi * 0.5 * 0.8) * 100%) calc(cos(pi * 0.5 * 0.8) * 100%),
    calc(sin(pi * 0.5 * 0.9) * 100%) calc(cos(pi * 0.5 * 0.9) * 100%),
    calc(sin(pi * 0.5 * 1) * 100%) calc(cos(pi * 0.5 * 1) * 100%),
    100% 0,
    100% 100%
  );
	transform: scale(-1, -1);
	position: absolute;
	top: 10.8rem;
	left: 0;
	z-index: 4;
}
.corners-tops {
	top: 0;
	left: 28.8rem;
}
.breadcrumbs {
	font-size: 1.2rem;
	color: #fff;
	position: absolute;
	right: 3.2rem;
	bottom: 3.2rem;
	z-index: 4;
}
.breadcrumbs > span > a {
	text-decoration: none;
	position: relative;
	color: var(--color-white);
	transition: all .7s;
}


/* delicious */
.delicious-box {
	margin-bottom: 14rem;
}
.delicious-head-inner {
	display: flex;
	align-items: end;
	margin-bottom: 5.6rem;
}
.delicious-head-inner > p {
	line-height: 1.8;
}
.delicious-cont-head {
	margin-right: 8.8rem;
}
.delicious-cont-head > p {
	font-size: 1.4rem;
	color: var(--color-red);
}
.delicious-cont-head > h3 {
	margin-top: 2.0rem;
	font-size: 3.6rem;
}
.delicious-cont-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 6.4rem;
	background: var(--color-white);
	border: .5px solid var(--color-middle-gray);
	border-radius: 24px;
}
.delicious-cont {
	width: 47%;
}
.delicious-line {
	width: .1rem;
	height: 16rem;
	border-width: 0;
	background: var(--color-gray);
}
.delicious-cont-img {
	margin-bottom: 3.8rem;
	position: relative;
}
.delicious-cont-img > span {
	width: 6.8rem;
	padding: 2.6rem 0;
	text-align: center;
	position: absolute;
	left: 1.4rem;
	bottom: 1.4rem;
	z-index: 4;
}
.delicious-cont-img > span.cooking {
	right: 1.4rem;
	left: initial;
}
.delicious-cont > h4 {
	margin-bottom: 2.4rem;
	font-size: 2.6rem;
}
.delicious-cont > p {
	line-height: 1.8;
}
.mond-selection {
	margin-top: 16rem;
	padding: 6.4rem ;
	background: var(--color-white);
	border-radius: 24px;
	position: relative;
}
.mond-selection > span {
	padding: 1.4rem 2.8rem;
	font-size: 1.5rem;
	position: absolute;
	top: -2.2rem;
	left: 3.2rem;
}
.mond-selection-cont {
	width: 80rem;
}
.mond-selection-cont > h4 {
	font-size: 3.0rem;
}
.mond-selection-cont > p {
	margin-top: 2.4rem;
	line-height: 1.8;
}
.mond-selection-cont > p:first-of-type {
	margin-top: 3.4rem;
}
.mond-selection-img {
	width: 82rem;
	margin-left: 8rem;
}


/* franchise */
.reason-cont {
	width: 47%;
	margin-bottom: 5.6rem;
	position: relative;
}
.reason-cont:nth-of-type(n+2) {
	margin-bottom: 0;
}
.reason-cont > img {
	margin-bottom: 2.6rem;
}
.reason-cont > h4,
.feature-text > h4 {
	margin-bottom: 1rem;
	line-height: 1.5;
	font-size: 2.6rem;
}
.reason-cont > p,
.feature-text > p {
	line-height: 1.8;
}
.reason-cont > span,
.feature-img > span {
	padding: 1rem 1.8rem 1.1rem;
	font-size: 1.2rem;
	position: absolute;
	top: 1.6rem;
	left: 1.6rem;
}
.feature-cont {
	margin-top: 5.6rem;
}
.feature-img {
	width: 34rem;
	position: relative;
}
.feature-text {
	width: 48rem;
	padding-left: 4rem;
}
.format-point {
	padding: 4.8rem 5.6rem;
	line-height: 2;
	background: var(--color-thin-gray);
	text-align: center;
	font-size: 1.8rem;
	color: var(--color-head);
}
.flow-cont {
	display: flex;
	justify-content: space-between;
	margin-bottom: 4.6rem;
	padding: 5.6rem;
	background: var(--color-thin-gray);
	position: relative;
}
.flow-cont:after {
	display: block;
	content: '';
	width: 1.4rem;
	height: 1.4rem;
	background-image: url(../images/polygon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -3rem;
}
.flow-cont:last-of-type {
	margin: 0;
}
.flow-cont:last-of-type:after {
	display: none;
}
.flow-text {
	flex: 1;
}
.flow-text > h4 {
	display: flex;
	align-items: center;
	font-size: 2.6rem;
}
.flow-text > h4 > span {
	margin-right: 2.2rem;
	padding: 1rem;
	border-radius: 6px;
	font-size: 1.4rem;
}
.flow-text > p {
	margin-top: 2rem;
	line-height: 2;
}
.flow-text > ul {
	display: flex;
	margin-top: 3.2rem;
}
.flow-text > ul > li:first-of-type {
	margin-right: 2rem;
}
.flow-text > ul > li:last-of-type > a {
	background: #00B900;
}
.flow-img {
	width: 23rem;
	margin-left: 6.4rem;
}


/* company */
.column {
	display: flex;
}
.column-main {
	width: 114rem;
	margin-right: calc(50% - 50vw);
	padding: 0 12rem 12rem 12rem;
	background: var(--color-white);
	border: .5px solid var(--color-middle-gray);
	border-radius: 36px;
}
@media screen and (max-width: 1530px) {
	.column-main {
		border-radius: 36px 0 0 36px;
	}
}
.column-side {
	width: 26rem;
}
.side-fixed {
	position: sticky;
	top: 12rem;
}
.t-scroll-list {
	display: block;
	margin-top: 9.6rem;
}
.t-scroll-list li {
	display: flex;
	align-items: center;
	width: auto;
	height: initial;
	margin-bottom: 3.2rem; 
	text-align: left;
	font-size: 1.7rem;
}
.o-scroll-list li {
	line-height: 1.6;
}
.t-scroll-list li::before {
	display: inline;
	content: '';
	width: 1rem;
	height: 1rem;
	margin-right: 1.6rem;
	background: var(--color-red);
	border-radius: 6px;
}
.t-scroll-list li a {
	display: inline;
	padding: 0;
	background: none;
	border: none;
	border-radius: none;
	text-decoration: none;
	color: var(--color-head);
	transition: .7s;
}
.company-box {
	padding-top: 12rem;
}
.company-cont-head {
	margin-bottom: 5.4rem;
}
.company-cont-head > p {
	font-size: 1.3rem;
	color: var(--color-red);
}
.company-cont-head > h3 {
	margin-top: 2.0rem;
	font-size: 3.4rem;
}
.company-philosophy {
	padding: 5.6rem 7.2rem;
	background: var(--color-thin-gray);
}
.company-philosophy > h4 {
	margin-bottom: 3rem;
	line-height: 1.6;
	font-size: 2.8rem;
}
.company-philosophy > p {
	margin-top: 2.0rem;
	line-height: 1.8;
	font-size: 1.65rem;
}
table {
	width: 100%;
	border-top: .1rem solid var(--color-gray);
}
table > tbody > tr {
	padding: 2.0rem;
	border-bottom: .1rem solid var(--color-gray);
}
table > tbody > tr > th,
table > tbody > tr > td {
	padding: 3.6rem;
	line-height: 1.8;
}
table > tbody > tr > th {
	width: 20rem;
	border-right: .1rem solid var(--color-gray);
	color: var(--color-head);
}
.access-box {
	position: relative;
}
.access {
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	position: relative;
}
.access > iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.access-box > p {
	margin-top: 3.6rem;
}


/* cat */
.cat-data {
	display: flex;
	justify-content: space-between;
}
.cat-list > ul {
	display: flex;
}
.cat-list > ul > li {
	margin-left: 1rem;
	font-size: 1.4rem;
	font-weight: 600;
}
.cat-list > ul > li:first-of-type {
	margin: 0;
}
.cat-list > ul > li > a {
	display: flex;
	padding: 1.6rem 3.2rem;
	background: var(--color-white);
	border: .5px solid var(--color-gray);
	border-radius: 6px;
	text-decoration: none;
	color: var(--color-head);
	transition: all .7s;
}
.cat-list > ul > li.cat-current > a {
	background: var(--color-red);
	color: var(--color-white);
}
.cat-select {
	padding: 1.6rem 3.2rem;
	background: var(--color-white);
	border: .5px solid var(--color-gray);
	border-radius: 6px;
	text-align: center;
}
.cat-post-inner {
	display: flex;
	flex-wrap: wrap;
	margin-top: 4.8rem;
}
.cat-post {
	width: 30.5%;
	margin: 0 4.25% 6.4rem 0;
	background: var(--color-white);
	border: .5px solid var(--color-middle-gray);
	border-radius: 16px;
	position: relative;
}
.cat-post:nth-of-type(3n) {
	width: 30.5%;
	margin: 0 0 6.4rem 0;
}
.cat-post > a {
	text-decoration: none;
	transition: all .7s;
}
.cat-post > a > .cat-img {
	position: relative;
}
.cat-post > .shop-img > img,
.cat-post > a > .cat-img > img {
	aspect-ratio: 16 / 9;
	border-radius: 16px 16px 0 0;
	object-fit: cover;
}
.cat-post > a > .cat-img > span {
	padding: 1.1rem 2.4rem 1.3rem;
	background: var(--color-gold);
	border-radius: 16px 0 0 0;
	font-size: 1.3rem;
	color: var(--color-white);
	position: absolute;
	right: 0;
	bottom: 0;
}
.cat-post > a > .cat-cont {
	padding: 2.8rem 3rem;
}
.cat-post > a > .cat-cont > time {
	font-size: 1.2rem;
	color: var(--color-red);
}
.cat-post > a > .cat-cont > h3 {
	margin-top: 1rem;
	line-height: 1.5;
	font-size: 1.8rem;
}
ul.page-numbers {
	display: flex;
	justify-content: center !important;
}
.page-numbers > li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4.4rem;
	height: 4.4rem;
	margin: 0 6px;
	font-size: 1.4rem;
	color: var(--color-white);
}
.page-numbers > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4.4rem;
	height: 4.4rem;
	background: var(--color-gray);
	border-radius: 6px;
	text-decoration: none;
	color: var(--color-head);
	transition: all .7s;
}
.page-numbers > li > span.current {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4.4rem;
	height: 4.4rem;
	background: var(--color-red);
	border-radius: 6px;
	color: var(--color-white);
}
.page-numbers > li > span.dots {
	margin-top: -.9rem;
	color: var(--color-brown);
}


/* shop */
.shop-post-inner {
	display: flex;
	flex-wrap: wrap;
	margin: 4.8rem 0 -6.4rem;
}
.shop-post {
	width: 30.5%;
	margin: 0 4.25% 6.4rem 0;
	background: var(--color-white);
	border: .5px solid var(--color-middle-gray);
	border-radius: 16px;
	position: relative;
}
.shop-post:nth-of-type(3n) {
	width: 30.5%;
	margin: 0 0 6.4rem 0;
}
.shop-cont {
	padding: 2.8rem 3rem 3.4rem;
}
.shop-img {
	position: relative;
}
.shop-img > img {
	border-radius: 16px 16px 0 0;
}
.shop-cont > h3 {
	margin-bottom: 1.2rem;
	line-height: 1.5;
	font-size: 2rem;
}
.shop-cont > p {
	margin-bottom: 1.2rem;
	line-height: 1.5;
	font-size: 1.4rem;
}
.shop-map {
	display: flex;
	align-items: center;
}
.shop-map > img {
	width: 1.2rem;
	height: auto;
	margin-right: .4rem;
}
.shop-map > a {
	text-decoration: none;
	font-size: 1.2rem;
	position: relative;
}
.shop-cat {
	padding: 1.1rem 2.4rem 1.3rem;
	background: var(--color-navy);
	border-radius: 16px 0 0 0;
	font-size: 1.3rem;
	color: var(--color-white);
	position: absolute;
	right: 0;
	bottom: 0;
}
.shop-sns > li > a > img {
	width: 3.2rem;
	height: auto;
}
.shop-sns {
	display: flex;
	position: absolute;
	right: 2.4rem;
	bottom: -1.6rem;
}
.shop-sns > li {
	margin-left: .7rem;
}
.shop-sns > li:first-of-type {
	margin-left: 0;
}
.shop-sns > li > a {
	transition: all .7s;
}


/* material */
.item {
	margin-bottom: 4.8rem;
	padding: 6.4rem;
	background: var(--color-white);
	border: .5px solid var(--color-middle-gray);
}
.item-inner {
	display: flex;
	align-items: center;
}
.item-img {
	width: 34rem;
	margin-right: 6.4rem;
	position: relative;
}
.item-img > img {
	width: 34rem;
}
.item-img > span {
	padding: 1rem 2.4rem 1.2rem;
	font-size: 1.3rem;
	position: absolute;
	top: -1.8rem;
	right: 2.4rem;
}
.item-cont > h3 {
	margin-bottom: 3.8rem;
	font-size: 3.0rem;
}
.item-cont > dl {
	margin-top: 3.2rem;
}
.item-cont > dl > dt {
	margin-bottom: 1.4rem;
	font-size: 1.8rem;
	color: var(--color-red);
}
.item-cont > dl > dd {
	line-height: 1.7;
}


/* single */
.single {
	padding: 5.6rem 6.4rem;
	background: var(--color-white);
	border: .5px solid var(--color-middle-gray);
}
.single-header {
	margin-bottom: 4.8rem;
}
.single-header > h3 {
	line-height: 1.5;
	font-size: 2.8rem;
}
.single-data {
	display: flex;
	align-items: center;
	margin-top: 2.0rem;
}
.single-data > time {
	font-size: 1.4rem;
	color: var(--color-red);
}
.single-data > span {
	display: block;
	margin-left: 1.4rem;
	padding: .5rem 1.8rem .6rem;
	background: var(--color-red);
	font-size: 1rem;
	color: var(--color-white);
}
.single-cont > p {
	margin-bottom: 2.8rem;
	line-height: 2;
}
.single-cont > figure > img {
	margin: 0 0 3.2rem;
	border-radius: 16px;
}


/* contact */
.cf-turnstile {
	margin-top: 4rem;
}
.form {
	display: flex;
	justify-content: space-between;
	margin-top: 4.0rem;
}
.form:first-of-type {
	margin-top: 5.6rem;
}
.form > dt {
	width: 28%;
	padding-top: 2rem;
	font-size: 1.7rem;
	color: var(--color-head);
}
.form > dt span {
	margin-left: 1.6rem;
	color: var(--color-red);
}
.form > dd {
	width: 72%;
}
.form > dd input,
.form > dd select,
.form > dd textarea {
	width: 100%;
	padding: 2rem 1.8rem;
	background-color: var(--color-white);
	border: 1px solid var(--color-gray);
	border-radius: 16px;
	font-size: 1.6rem;
	color: var(--color-text);
}
.form > dd select {
	padding: 2.4rem 1.8rem;
}
.form > dd textarea {
	height: 30rem;
}
.policy-check {
	margin-top: 4.8rem;
	padding: 3.6rem 0;
	border-top: 1px solid var(--color-gray);
	border-bottom: 1px solid var(--color-gray);
	text-align: center;
}
.wpcf7-list-item-label {
	color: var(--color-text);
}
.policy-check label input {
	margin: -3px 3px 0 0;
}
.wpcf7-not-valid-tip {
	margin-top: 1.2rem;
	font-size: 1.1rem;
}
.submit-btn {
	width: 32rem;
	height: 8rem;
	margin: 4.8rem auto 0;
	font-size: 1.8rem;
}


/* policy */
.policy-cont {
	margin-top: 4.0rem;
	line-height: 1.8;
}
.policy-cont:first-of-type {
	margin-top: 4.8rem;
}
.policy-cont > h3 {
	margin-bottom: 1.6rem;
	font-size: 2.4rem;
	font-weight: 600;
}
.policy-cont > ol {
	margin: 1.6rem 0 0 2rem;
}
.policy-cont > ol > li {
	line-height: 2;
	list-style-type: circle;
}


/* cta */
.cta {
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	align-items: center;
	width: 100vw;
	height: 42rem;
	margin-top: 18rem;
	background-image: url(../images/cta-back.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
	color: var(--color-white);
	position: relative;
	overflow-x: hidden;
	z-index: 0;
}
.cta:before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.5);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.cta-inner {
	position: relative;
	z-index: 3;
}
.cta-inner > span {
	font-size: 1.8rem
}
.cta-inner > h3 {
	margin: 1.6rem 0 2.4rem;
	font-size: 3.2rem;
	color: var(--color-white);
}
.cta-inner > ul {
	display: flex;
	justify-content: space-between;
	margin-top: 4.0rem;
}
.cta-inner > ul > li {
	width: 28rem;
	margin: 0 1.2rem;
	font-size: 1.6rem;
}
.cta-inner > ul > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2rem 3rem;
	border: .2rem solid var(--color-white);
	border-radius: 8px;
	text-decoration: none;
	color: var(--color-white);
	transition: all .7s;
}
.cta-inner > ul > li > a > img {
	width: auto;
	height: 2rem;
	margin-right: .8rem;
}


/* footer */
.footer {
	padding: 9.6rem 7%;
	background: var(--color-red);
	color: var(--color-white);
	position: relative;
}
.footer a {
	text-decoration: none;
	color: var(--color-white)
}
.f-inner {
	display: flex;
	justify-content: space-between;
}
.f-inner:first-of-type {
	margin-bottom: 14.0rem;
}
.f-logo {
	margin-bottom: 4.8rem;
}
.f-logo > a > img {
	width: 18.8rem;
	height: auto;
}
.f-data > dt {
	margin-bottom: 1.8rem;
}
.f-data > dd {
	line-height: 1.8;
	font-size: 1.3rem;
}
.f-nav {
	display: flex;
}
.f-nav > ul:nth-of-type(2) {
	margin: 0 8.0rem;
}
.f-nav > ul > li {
	margin-bottom: 4.2rem;
}
.f-nav > ul > li > a {
	position: relative;
} 
.f-sns > ul {
	display: flex;
}
.f-sns > ul > li {
	display: flex;
	align-items: center;
	margin-right: 2.4rem;
	font-size: 1.2rem;
}
.f-sns > ul > li > img {
	width: 2.2rem;
	height: auto;
	margin: -.2rem .6rem 0 0;
}
.f-sns > ul > li > a {
	position: relative;
}
.f-copy {
	font-size: 1.1rem;
}
.f-taiyaki {
	width: 31rem;
	height: auto;
	position: absolute;
	bottom: 48rem;
	right: 0;
	z-index: 999;
}


@media screen and (max-width:1280px){
	/* header */
	.logo {
		width: 30rem;
		height: 14rem;
		border-radius: 0 0 20px;
	}
	.logo > h1 > a {
		width: 22rem;
	}
	.logo > h1 > a > img {
		width: 22rem;
	}
	.swiper-container-top,
	.top-feature-inner,
	.top-company,
	.top-material,
	.top-ig,
	.page-head,
	.page-head::after {
		border-radius: 20px;
	}
	.top-news::after {
		border-radius: 0 20px 20px 0;
	}
	.corner {
		width: 20px;
		height: 20px;
	}
	.corner-top {
		top: 3.2rem;
		left: 30rem;
	}
	.corner-left {
		top: 14rem;
		left: 3.2rem;
	}
	.corners {
		width: 20px;
	}
	
	/* delicious */
	.mond-selection-img {
		width: 68rem;
		margin-left: 8rem;
	}
}


@media screen and (max-width:767px){
	html,body {
		overflow-x: hidden;
	}
	body {
		font-size: 15rem;
	}
	.page {
		width: 100%;
		padding: 316rem 16rem 0;
	}
	.top {
		margin-top: 140rem;
		padding-top: 0;
	}
	.page > p {
		line-height: 1.6;
	}
	.page > p > br {
		display: none;
	}
	.df-sb-fw,
	.df-sb-al-cn {
		display: block;
	}
	.br16 {
		border-radius: 10px;
	}
	.br8 {
		border-radius: 6px;
	}
	.btn {
		border-radius: 6px;
		transition: none;
	}
	.main-btn {
		width: 160rem;
		margin: 36rem auto 0;
		padding: 18rem 0;
		font-size: 14rem;
	}
	.btn > img {
		width: 15rem;
		margin: 1rem 0 0 6rem;
	}
	.main-btn {
		width: 170rem;
		margin: 48rem auto 0;
		padding: 18rem 0 19rem;
	}
	.top-btn {
		width: 170rem;
		margin: 0;
	}
	.w-btn {
		border: .2rem solid var(--color-white);
	}
	.flow-btn {
		width: 130rem;
		height: 36rem;
		margin: 0;
	}
	.map-btn {
		position: absolute;
		right: 3.2rem;
		bottom: 2.4rem;
	}
	.pc-btn {
		display: none;
	}
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	
	
	/* loading */
	.loading {
		height: 100svh;
	}
	.loading-logo {
		width: 110rem;
	}
	
	
	/* header */
	.logo {
		width: 164rem;
		height: 74rem;
		padding-top: 4rem;
		border-radius: 0 0 18px;
	}
	.logo > h1 > a,
	.logo > h1 > a > img {
		width: 119rem;
	}
	.corner {
		width: 18px;
		height: 18px;
	}
	.corner-top {
		top: 16rem;
		left: 164rem;
	}
	.corner-left {
		top: 74rem;
		left: 16rem;
	}
	.pc-nav {
		display: none;
	}
	.sp-nav {
		display: none;
		width: 100%;
		height: 100svh;
		background: var(--color-red);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9998;
	}
	.sp-nav-inner {
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		height: 100svh;
	}
	.sp-nav-inner > ul {
		display: block;
		text-align: center;
	}
	.sp-nav-inner > ul > li {
		margin: 0 0 24rem;
	}
	.sp-nav-inner > ul > li > a {
		text-decoration: none;
		color: var(--color-white);
	} 
	.sp-nav-inner > ul > li > a > span {
		display: inline-block;
	}
	.h-btn {
		width: 160rem;
		height: 44rem;
		margin: 16rem auto 0;
		background: var(--color-white);
		border-radius: 10px;
		color: var(--color-red);
	}
	body.fixed {
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: -10;
	}
	.menu-trigger-wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 46rem;
		height: 46rem;
		background: var(--color-red);
		border-radius: 12px;
		position: fixed;
		top: 25rem;
		right: 24rem;
		z-index: 9999;
	}
	.menu-trigger {
		width: 18rem;
		height: 8rem;
		margin: 0 auto;
		position: relative;
		z-index: 999;
	}
	.menu-trigger span {
		width: 100%;
		height: 1.4rem;
		background: var(--color-white);
		position: absolute;
		left: 0;
		transition: transform .5s, opacity .5s;
	}
	.menu-trigger > span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger > span:nth-of-type(2) {
		bottom: 0;
	}
	.menu-trigger.show > span:nth-of-type(1) {
		-webkit-transform: translateY(3.1rem) rotate(-45deg);
		transform: translateY(3.1rem) rotate(-45deg);
		background: var(--color-white);
	}
	.menu-trigger.show > span:nth-of-type(2) {
		-webkit-transform: translateY(-3.5rem) rotate(45deg);
		transform: translateY(-3.5rem) rotate(45deg);
		background: var(--color-white);
	}
	
	
	/* top */
	.swiper-container-top {
		width: calc(100vw - 32rem);
		height: calc(100vh - 32rem);
		margin: -58rem auto 0;
		border-radius: 18px;
	}
	@media screen and (max-width:480px){
		.swiper-container-top {
			height: 560rem;
		}
		.sp-nav-inner > ul > li {
			margin: 0 0 32rem;
		}
	}
	.slide-img01 {
		background-image: url(../images/top-slide01-sp.jpg);
	}
	.main-copy {
		line-height: 1.6;
		left: inherit;
		right: 38rem;
		bottom: 48rem;
	}
	.main-copy > p {
		text-align: right;
		font-size: 24rem;
	}
	.h-name {
		font-size: 12rem;
		right: initial;
		left: 34rem;
	}
	.top-post {
		display: block;
		width: 88vw;
		margin: 0 auto;
		padding: 36rem 22rem 32rem;
		background: var(--color-white);
		border-radius: 18px;
		position: absolute;
		left: 6vw;
		right: 6vw;
		bottom: -90rem;
	}
	.top-post-inner {
		display: block;
		position: relative;
	}
	.top-post-inner > p {
		padding: 10rem 16rem;
		font-size: 12rem;
		position: absolute;
		top: -48rem;
		left: 0rem;
	}
	.top-post-data > time {
		font-size: 12rem;
	}
	.top-post-data > p {
		margin-top: 10rem;
		font-size: 15rem;
	}
	.top-post-data > p > a {
		transition: none;
		text-decoration: none;
	}
	.corner-bottom {
		display: none;
	}
	.corner-right {
		display: none;
	}
	
	.top h2 {
		font-size: 24rem;
	}
	.top span {
		font-size: 11rem;
	}
	.top-about {
		margin-bottom: 64rem;
	}
	.top-about-cont {
		width: 100%;
		margin: 0 0 48rem;
	}
	.top-about-cont > h2 {
		margin: 18rem 0 22rem; 
	}
	.top-about-cont > p {
		margin-bottom: 32rem;
		line-height: 1.8;
		font-size: 15rem;
	}
	.top-about-img {
		width: 100%;
	}
	
	.top-feature {
		margin: 0 calc(50% - 50vw) 64rem;
	}
	.top-feature-inner {
		display: block;
		width: 100%;
		max-width: initial;
		border-radius: 18px 0 0 18px;
	}
	.top-feature-img {
		display: block;
		width: 100%;
		padding-left: 0;
	}
	.f-slide {
		display: block;
		width: 100%;
		height: 368rem;
		margin: 0;
	}
	.f-swiper {
		width: 100%;
		height: 100%;
		position: initial;
	}
	.f-slide1 {
		left: initial;
		top: initial;
	}
	.f-slide2 {
		margin-top: 158rem;
		left: initial;
		top: initial;
	}
	.f-swiper-slide {
		width: 168rem;
	}
	.f-swiper-slide > img {
		width: 100%;
		height: auto;
	}
	.top-feature-cont {
		width: 100%;
		padding: 80rem 28rem 64rem;
	}
	.top-feature-text > h2 {
		margin: 18rem 0 22rem; 
	}
	.top-feature-text > p {
		margin-bottom: 32rem;
		font-size: 16rem;
		line-height: 1.8;
	}
	.en-copy {
		writing-mode: initial;
		font-size: 10rem;
		top: 20rem;
		right:18rem;
	}
	.warashibe-icon {
		width: 200rem;
		top: 68rem;
		right: -54rem;
		bottom: initial;
	}
	
	.top-company,
	.top-material {
		flex-direction: column-reverse;
		padding: 24rem 22rem 24rem;
		border-radius: 18px;
	}
	.top-material {
		margin-top: 64rem;
	}
	.top-company-cont,
	.top-material-cont {
		width: 100%;
	}
	.top-company-cont,
	.top-material-cont {
		padding: 0;
		position: relative;
	}
	.top-company-cont > h2,
	.top-material-cont > h2 {
		margin: 18rem 0 20rem;
	}
	.top-company-cont > p,
	.top-material-cont > p {
		margin-bottom: 28rem;
		line-height: 1.8;
	}
	.top-company-cont > a,
	.top-material-cont > a {
		position: absolute;
		right: 0;
		bottom: -50rem;
	}
	.top-column-img {
		width: 100%;
		margin-bottom: 34rem;
	}
	
	.top-news {
		margin: 88rem 0 64rem;
		padding: 48rem 0 54rem;
	}
	.top-news::after {
		border-radius: 0 18px 18px 0;
	}
	.top-news-inner {
		display: block;
		position: relative;
		z-index: 2;
	}
	.top-news-head {
		margin: 0 0 36rem;
	}
	.top-news-head > h2 {
		margin: 18rem 0 24rem;
	}
	.top-news-cont {
		width: 100vw;
	}
	.top-news-slider {
		width: 100vw;
		margin: 0 calc(50% - 50vw) 0 0;
		padding-right: 32vw;
	}
	.swiper-wrapper {
		padding-bottom: 0;
	}
	.news-slide {
		width: 300rem;
		margin-left: 32rem;
	}
	.news-slide > a  {
		padding: 22rem 22rem 24rem;
		transition: none;
	}
	.news-slide-img {
		margin-bottom: 20rem;
	}
	.news-slide-img > span {
		padding: 10rem 18rem 11rem;
		border-radius: 8px 0;
		font-size: 13rem;
	}
	.news-slide-img > img {
		width: 100%;
		height: 180rem;
		border-radius: 10px;
	}
	.news-slide-cont {
		padding: 0;
	}
	.news-slide-cont > time {
		font-size: 12rem;
	}
	.news-slide-cont > h3 {
		margin-top: 10rem;
		font-size: 16rem;
	}
	.top-news-slider .swiper-scrollbar {
		display: none !important;
	}
	.sp-btn {
		display: inline-flex;
		margin-top: 44rem;
	}
	
	.top-ig {
		padding: 24rem 22rem;
		border-radius: 18px;
	}
	.top-ig-head {
		margin-bottom: 24rem;
	}
	.top-ig-head > h2 {
		margin-top: 18rem;
	}
	.sbi_photo img {
		border-radius: 10px !important;
	}
	
	
	/* page-head */
	.page-head {
		height: 300rem;
		top: 16rem;
		right: 16rem;
		left: 16rem;
		border-radius: 18px;
	}
	.page-head::after {
		border-radius: 18px;
	}
	.delicious-head {
		background-image: url(../images/delicious-back-sp.jpg);
	}
	.franchise-head {
		background-image: url(../images/franchise-back-sp.jpg);
	}
	.shop-head {
		background-image: url(../images/shop-back-sp.jpg);
	}
	.company-head {
		background-image: url(../images/company-back-sp.jpg);
	}
	.material-head {
		background-image: url(../images/material-back-sp.jpg);
	}
	.news-head {
		background-image: url(../images/news-back-sp.jpg);
	}
	.contact-head {
		background-image: url(../images/contact-back-sp.jpg);
	}
	.policy-head {
		background-image: url(../images/policy-back-sp.jpg);
	}
	.page-title {
		bottom: 30rem;
		left: 30rem;
	}
	.page-title > h2 {
		margin-top: 12rem;
		font-size: 26rem;
	}
	.corners {
		width: 18rem;
		top: 57.8rem;
	}
	.corners-top {
		top: 0;
		left: 147rem;
	}
	.breadcrumbs {
		top: 318rem;
		right: 10rem;
		font-size: 11rem;
		color: var(--color-text);
	}
	.breadcrumbs > span > a {
		color: var(--color-red);
	}
	
	
	/* delicious */
	.delicious-box {
		margin-bottom: 64rem;
	}
	.delicious-head-inner {
		display: block;
		margin-bottom: 28rem;
	}
	.delicious-head-inner > p {
		line-height: 1.6;
	}
	.delicious-head-inner > p > br {
		display: none;
	}
	.delicious-cont-head {
		margin: 0 0 20rem;
	}
	.delicious-cont-head > p {
		font-size: 12rem;
	}
	.delicious-cont-head > h3 {
		margin-top: 18rem;
		font-size: 24rem;
	}
	.delicious-cont-inner {
		display: block;
		padding: 24rem 22rem;
		border-radius: 18px;
	}
	.delicious-line {
		display: none;
	}
	.delicious-cont {
		width: initial;
		margin-bottom: 36rem;
	}
	.delicious-cont:nth-of-type(2) {
		margin-bottom: 0;
	}
	.delicious-cont-img {
		margin-bottom: 20rem;
	}
	.delicious-cont-img > span {
		width: 44rem;
		padding: 14rem 0;
		font-size: 13rem;
		left: 14rem;
		bottom: 14rem;
		z-index: 4;
	}
	.delicious-cont-img > span.cooking {
		right: 14rem;
		left: initial;
	}
	.delicious-cont > h4 {
		margin-bottom: 10rem;
		line-height: 1.5;
		font-size: 20rem;
	}
	.delicious-cont > p {
		line-height: 1.6;
	}
	.mond-selection {
		margin-top: 16rem;
		padding: 46rem 22rem 24rem;
		border-radius: 18px;
	}
	.mond-selection > span {
		padding: 10rem 18rem;
		font-size: 15rem;
		top: -16rem;
		left: 20rem;
	}
	.mond-selection-inner {
		display: block;
	}
	.mond-selection-cont {
		width: initial;
	}
	.mond-selection-cont > h4 {
		font-size: 20rem;
	}
	.mond-selection-cont > p {
		margin-top: 18rem;
		line-height: 1.6;
	}
	.mond-selection-cont > p:first-of-type {
		margin-top: 22rem;
	}
	.mond-selection-img {
		width: 100%;
		margin: 28rem 0 0;
	}
	
	
	/* franchise */
	.reason-cont {
		width: 100%;
		margin-bottom: 40rem;
	}
	.reason-cont:nth-of-type(n+2) {
		margin-bottom: 40rem;
	}
	.reason-cont:nth-of-type(4) {
		margin-bottom: 0;
	}
	.reason-cont > img {
		margin-bottom: 24rem;
	}
	.reason-cont > h4,
	.feature-text > h4 {
		margin-bottom: 12rem;
		font-size: 22rem;
	}
	.reason-cont > p,
	.feature-text > p {
		line-height: 1.6;
	}
	.reason-cont > span,
	.feature-img > span {
		padding: 10rem 16rem 10rem;
		font-size: 12rem;
		top: 12rem;
		left: 12rem;
	}
	.feature-cont {
		margin-top: 40rem;
	}
	.feature-cont:first-of-type {
		margin-top: 32rem;
	}
	.feature-img {
		width: 100%;
		margin-bottom: 24rem;
	}
	.feature-text {
		width: 100%;
		padding-left: 0;
	}
	.format-point {
		padding: 24rem 22rem;
		line-height: 1.8;
		font-size: 16rem;
	}
	.flow-cont {
		display: block;
		margin-bottom: 40rem;
		padding: 24rem 22rem;
	}
	.flow-cont:after {
		width: 14rem;
		height: 14rem;
		bottom: -27rem;
	}
	.flow-text {
		flex: 1;
	}
	.flow-text > h4 {
		font-size: 24rem;
	}
	.flow-text > h4 > span {
		margin-right: 12rem;
		padding: 8rem 10rem;
		border-radius: 4px;
		font-size: 12rem;
	}
	.flow-text > p {
		margin-top: 18rem;
		line-height: 1.8;
	}
	.flow-text > ul {
		justify-content: space-between;
		margin: 20rem 0 32rem;
	}
	.flow-text > ul > li:first-of-type {
		margin-right: 0;
	}
	.flow-img {
		width: 100%;
		margin: 24rem 0 0;
	}
	
	
	/* company */
	.column {
		display: block;
	}
	.column-main {
		width: initial;
		margin-right: 0;
		padding: 0 22rem 48rem;
		border-radius: 18px;
	}
	.column-side {
		display: none;
	}
	.company-box {
		padding-top: 56rem;
	}
	.company-box:first-of-type {
		padding-top: 48rem;
	}
	.company-cont-head {
		margin-bottom: 32rem;
	}
	.company-cont-head > p {
		font-size: 11rem;
	}
	.company-cont-head > h3 {
		margin-top: 18rem;
		font-size: 24rem;
	}
	.company-philosophy {
		padding: 24rem 22rem 28rem;
		border-radius: 8px;
	}
	.company-philosophy > h4,
	.management-philosophy-cont > h4 {
		margin-bottom: 18rem;
		font-size: 22rem;
	}
	.company-philosophy > p,
	.management-philosophy-cont > p {
		margin-top: 18rem;
		line-height: 1.6;
		font-size: 15rem;
	}
	.company-philosophy > p > br,
	.management-philosophy-cont > p > br {
		display: none;
	}
	.management-philosophy {
		display: block;
	}
	.management-philosophy-img {
		width: initial;
		margin-bottom: 32rem;
		border-radius: 16rem;
	}
	.management-philosophy-img > img {
		width: 100%;
		height: 340rem;
		border-radius: 16rem;
		object-fit: cover;
		object-position: top;
	}
	.management-philosophy-cont {
		width: initial;
		padding-left: 0;
	}
	.management-philosophy-cont > h4 {
		line-height: 1.6;
	}
	table {
		display: block;
		width: 100%;
		border-top: 1rem solid #ddd;
	}
	table > tbody > tr {
		border-bottom: 1rem solid #ddd;
	}
	table > tbody > tr > th,
	table > tbody > tr > td {
		display: block;
		width: 100%;
		padding: 8rem 0 20rem;
		line-height: 1.6;
	}
	table > tbody > tr > th {
		width: 100%;
		padding: 16rem 0 0 0;
		border-right: none;
	}
	.access {
		padding-top: 80%;
		position: relative;
	}
	.access > iframe {
		border-radius: 10px;
	}
	.access-box > p {
		margin-top: 24rem;
		text-align: center;
		font-size: 13rem;
	}
	.map-btn {
		margin-top: 28rem;
		position: initial;
	}
	
	
	/* shop */
	.shop-post-inner {
		display: block;
		margin: 32rem 0 -6.4rem;
	}
	.shop-post {
		width: 100%;
		margin: 0 0 44rem 0;
		border-radius: 10px;
	}
	.shop-post:nth-of-type(3n) {
		width: 100%;
		margin: 0 0 44rem 0;
	}
	.shop-img > img {
		border-radius: 10px 10px 0 0;
	}
	.shop-cont {
		margin-bottom: 44rem;
		padding: 26rem 28rem 0rem;
	}
	.shop-cont > h3 {
		margin-bottom: 12rem;
		font-size: 18rem;
	}
	.shop-cont > p {
		margin-bottom: 12rem;
		font-size: 13rem;
	}
	.shop-map > img {
		width: 12rem;
		margin: 0 4rem 0 0;
	}
	.shop-map > a {
		font-size: 12rem;
	}
	.shop-cat {
		padding: 11rem 20rem 13rem;
		border-radius: 10px 0 0 0;
		font-size: 12rem;
	}
	.shop-sns > li > a > img {
		width: 32rem;
	}
	.shop-sns {
		right: 18rem;
		bottom: -16rem;
	}
	.shop-sns > li {
		margin-left: 7rem;
	}
	.shop-sns > li > a {
		transition: none;
	}

	
	/* material */
	.item {
		margin-bottom: 36rem;
		padding: 24rem 22rem;
	}
	.item-inner {
		display: block;
	}
	.item-img {
		width: 100%;
		margin: 0 0 24rem;
	}
	.item-img > img {
		width: 100%;
	}
	.item-img > span {
		padding: 10rem 20rem;
		border-radius: 4px;
		font-size: 11rem;
		top: -15rem;
		right: 12rem;
	}
	.item-cont > h3 {
		line-height: 1.5;
		font-size: 22rem;
	}
	.item-cont > dl {
		margin-top: 18rem;
	}
	.item-cont > dl > dt {
		margin-bottom: 8rem;
		font-size: 16rem;
	}
	.item-cont > dl > dd {
		line-height: 1.5;
		font-size: 15rem;
	}
	
	
	/* cat */
	.cat-data {
		display: block;
	}
	.cat-list > ul {
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.cat-list > ul > li {
		width: 48.5%;
		margin: 0 0 12rem;
		text-align: center;
		font-size: 14rem;
	}
	.cat-list > ul > li > a {
		display: block;
		padding: 16rem 32rem;
		border: 1px solid var(--color-gray);
		border-radius: 4px;
		transition: none;
	}
	.cat-select {
		width: 100%;
		padding: 16rem 32rem;
		border: 1px solid var(--color-gray);
		border-radius: 4px;
	}
	.cat-post-inner {
		display: block;
		margin-top: 40rem;
	}
	.cat-post {
		width: 100%;
		margin: 0 0 36rem 0;
		border-radius: 10px;
	}
	.cat-post:nth-of-type(3n) {
		width: 100%;
		margin: 0 0 36rem 0;
	}
	.cat-post > a {
		transition: none;
	}
	.cat-post > .shop-img > img,
	.cat-post > a > .cat-img > img {
		border-radius: 10px 10px 0 0;
	}
	.cat-post > a > .cat-img > span {
		padding: 11rem 20rem 13rem;
		border-radius: 10px 0 0 0;
		font-size: 12rem;
	}
	.cat-post > a > .cat-cont {
		padding: 26rem 28rem;
	}
	.cat-post > a > .cat-cont > time {
		font-size: 11rem;
	}
	.cat-post > a > .cat-cont > h3 {
		margin-top: 8rem;
		line-height: 1.5;
		font-size: 16rem;
	}
	.page-numbers > li {
		width: 36rem;
		height: 36rem;
		margin: 0 5rem;
		font-size: 14rem;
	}
	.page-numbers > li > a {
		width: 36rem;
		height: 36rem;
		border-radius: 4px;
		transition: none;
	}
	.page-numbers > li > span.current {
		width: 36rem;
		height: 36rem;
		border-radius: 4px;
	}
	.page-numbers > li > span.dots {
		margin-top: 0;
	}
	
	
	/* single */
	.single {
		padding: 32rem 20rem 16rem;
	}
	.single-header {
		margin-bottom: 32rem;
	}
	.single-header > h3 {
		font-size: 18rem;
	}
	.single-data {
		margin-top: 14rem;
	}
	.single-data > time {
		font-size: 12rem;
	}
	.single-data > span {
		margin-left: 10rem;
		padding: 5rem 14rem 6rem;
		border-radius: 6px;
		font-size: 10rem;
	}
	.single-cont > p {
		margin-bottom: 18rem;
		line-height: 1.7;
	}
	.single-cont > figure > img {
		margin: 0 0 24rem;
		border-radius: 10px;
	}
		
	
	/* contact */
	.cf-turnstile {
		margin-top: 32rem;
	}
	.form {
		display: block;
		margin-top: 36rem;
	}
	.form:first-of-type {
		margin-top: 44rem;
	}
	.form > dt {
		display: flex;
		align-items: start;
		width: initial;
		margin-bottom: 18rem;
		padding-top: initial;
		font-size: 18rem;
	}
	.form > dt span {
		margin-left: 12rem;
		font-size: 12rem;
	}
	.form > dd {
		width: initial;
	}
	.form > dd input,
	.form > dd select,
	.form > dd textarea {
		width: 100%;
		padding: 16rem;
		border-radius: 10px;
		font-size: 16rem;
	}
	.form > dd select {
		padding: 20rem 16rem;
	}
	.form > dd textarea {
		height: 220rem;
	}
	.policy-check {
		margin-top: 40rem;
		padding: 32rem 0;
		border-top: 1px solid var(--color-gray);
		border-bottom: 1px solid var(--color-gray);
		text-align: center;
	}
	.policy-check label input {
		margin: -2px 3px 0 0;
	}
	.wpcf7-not-valid-tip {
		margin-top: 1.2rem;
		font-size: 1.1rem;
	}
	.submit-btn {
		width: 260rem;
		height: 64rem;
		margin: 40rem auto 0;
		font-size: 16rem;
	}
	
	
	/* policy */
	.policy-cont {
		margin-top: 36rem;
		line-height: 1.8;
	}
	.policy-cont:first-of-type {
		margin-top: 40rem;
	}
	.policy-cont > h3 {
		margin-bottom: 14rem;
		line-height: 1.5;
		font-size: 20rem;
	}
	.policy-cont > ol {
		margin: 16rem 0 0 16rem;
	}
	.policy-cont > ol > li {
		line-height: 1.8;
	}
	

	/* cta */
	.cta {
		height: 500rem;
		margin-top: 96rem;
		background-image: url(../images/cta-back.jpg);
	}
	.cta-inner {
		width: 78%;
	}
	.cta-inner > span {
		font-size: 15rem;
	}
	.cta-inner > h3 {
		margin: 16rem 0 24rem;
		font-size: 26rem;
	}
	.cta-inner > p {
		line-height: 1.8;
	}
	.cta-inner > ul {
		display: block;
		width: 100%;
		margin: 38rem auto 0;
	}
	.cta-inner > ul > li {
		width: 100%;
		margin: 0 1.2rem;
		font-size: 16rem;
	}
	.cta-inner > ul > li:first-of-type {
		margin-bottom: 16rem;
	}
	.cta-inner > ul > li > a {
		padding: 20rem 24rem;
		border: 2rem solid var(--color-white);
		border-radius: 8rem;
		transition: none;
	}
	.cta-inner > ul > li > a > img {
		width: auto;
		height: 18rem;
		margin-right: 10rem;
	}
	
	
	/* footer */
	.footer {
		padding: 88rem 9% 96rem;
	}
	.f-inner {
		display: block;
	}
	.f-inner:first-of-type {
		margin-bottom: 14.0rem;
	}
	.f-logo {
		margin-bottom: 40rem;
	}
	.f-logo > a > img {
		width: 140rem;
	}
	.f-data > dt {
		margin-bottom: 14rem;
	}
	.f-data > dd {
		line-height: 1.8;
		font-size: 13rem;
	}
	.f-nav {
		display: block;
		margin: 64rem 0 44rem;
	}
	.f-nav > ul:nth-of-type(2) {
		margin: 0;
	}
	.f-nav > ul > li {
		margin-bottom: 28rem;
	}
	.f-sns > ul > li {
		margin-right: 28rem;
		font-size: 12rem;
	}
	.f-sns > ul > li > img {
		width: 21rem;
		margin: -2rem 8rem 0 0;
	}
	.f-copy {
		margin-top: 80rem;
		font-size: 10rem;
	}
	.f-taiyaki {
		width: 180rem;
		top: -62rem;
		bottom: initial;
	}
}