@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
*,
::before,
::after {box-sizing: border-box;  border-style: solid;  border-width: 0;}

html {line-height: 1.15;  /* 1 */
  -webkit-text-size-adjust: 100%;  /* 2 */
  -webkit-tap-highlight-color: transparent;  /* 3*/
}

body {
    font-family: "Noto Sans JP", sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f5f5dc;
	min-height: 100vh;
    min-height: -webkit-fill-available;
}

ul{list-style: none;}
img{max-width: 100%;}
header {
    position: fixed;
    width: 100%;
    background-color: #FDEB03;
    padding: 10px 0 0;
    z-index: 5;
	box-shadow: 0px 1px 15px 0px rgba(0, 0, 0, 0.10);
}

.header-content {
	position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    margin: 1rem auto;
    padding: 0 10px;
}
.hamburger-menu {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 25px;
    height: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.hamburger-menu span {
    display: block;
    height: 3px;
    width: 100%;
    background-color: #000;
    border-radius: 3px;
    transition: all 0.3s ease;
}

.hamburger-menu.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.hamburger-menu.open span:nth-child(2) {
    opacity: 0;
}

.hamburger-menu.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

.header-content h1 {
    margin: 0;
    font-size: 24px;
}
.social-links{position: absolute;
right: 1vw;}
.social-links img {
    width: 44px;
    height: 44px;
    margin-left: 1vw;
}

nav {

}

nav ul {
	height: 164px;
    position: fixed;
    width: 100%;
    background: #CCBE00;
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.16);
    z-index: 2;
    text-align: center;
    justify-content: center;
    column-gap: 2vw;
    list-style: none;
    display: flex;
    padding: 10px 0;
    font-weight: 500;
    margin: 0 auto;
    right: 0%;
    left: 0%;
}
nav ul.active {
	 max-height: 300px; /* メニュー項目が収まる高さに調整 */
    opacity: 1;
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    background-color: #CCBE00;
    z-index: 5;
}

nav ul li {
	position: relative;
    margin: 0 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}

nav ul li a {
    text-decoration: none;
    color: #000;
    font-size: 18px;
	    display: block;
    text-align: center;
    padding: 10px 0 0;
}

.hero {
    position: relative;
    text-align: center;
    background-color: #fff;
}

.hero img {
    width: 100%;
    height: auto;
}

.hero h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    z-index: 1;
}

.features, .x_feed, .menu, .toppings, .order, .first, .location {
	text-align: center;
    padding: 20px 10px;
    max-width: 1200px;
    margin: 0 auto;
}
.features ul{display: flex; justify-content: center; column-gap: 2vw; padding-left: 0; position: relative;}
.features ul li img {box-shadow: 1px 1px 10px 0px rgba(0, 0, 0, 0.16);}
.features h2{font-size: 3rem; font-weight: bold; margin:5.625rem auto; }
.features h3{font-size: 2.25rem; font-weight: bold; margin:5.625rem auto 3.75rem; }
.features p{font-size: 1.25rem; line-height: 2rem; max-width: 640px; margin: 0 auto; text-align: left; padding-bottom: 3.75rem; margin-bottom:5.625rem; border-bottom: 1px solid #C6B800;}

.x_feed h3{font-size: 2.25rem; font-weight: bold; margin:0 auto; }
.x_feed p.x_info{font-size: 1.5rem; font-weight: bold; margin-top: 3px; margin-bottom: 3.75rem;}
.x_feed div.x_feed_frame{max-width: 640px; margin: 0 auto;}


.menu h3{font-size: 2.25rem; font-weight: bold; margin:5.625rem auto; }

.menu ul{display: flex; margin: 0 2%; justify-content: space-between; padding-left: 0;}
.menu ul li{display: flex; flex-wrap: wrap; width: 48%; align-content: center; row-gap: 10px;}
.menu ul li img{height: auto;}
.menu ul li ul{width: 100%; display: flex; height: fit-content; padding-left: 0;}
.menu ul li ul li.menu_sb2{width: 120px; height: 60px; background: #B0FEBD; border-radius: 5px; border: 3px solid #31BF49; text-align: center;justify-content: center; align-items: center; font-size: 1.25rem; font-weight: 500;}
.menu ul li ul li.menu_sb2_price{justify-content: flex-end;}
.menu ul li ul li.menu_sb2_price p{text-align: right; font-size: 1.375rem; font-weight: bold; margin: 0 0 0 10px;}
.menu ul li ul li.menu_sb2_price p span{font-size: 1.1rem; font-weight: 400;}
.menu ul li ul li.menu_sb4{width: 120px; height: 60px; background: #EFFF6D; border-radius: 5px; border: 3px solid #EFFF6D; text-align: center;justify-content: center; align-items: center; font-size: 1.25rem; font-weight: 500;}
.menu ul li ul li.menu_sb4_price{justify-content: flex-end;}
.menu ul li ul li.menu_sb4_price p{text-align: right; font-size: 1.375rem; font-weight: bold; margin: 0 0 0 10px;}
.menu ul li ul li.menu_sb4_price p span{font-size: 1.1rem; font-weight: 400;}
.menu ul li ul li.menu_sb1{width: 120px; height: 60px; background: #FFFFFF; border-radius: 5px; border: 3px solid #FFFFFF; text-align: center;justify-content: center; align-items: center; font-size: 1.25rem; font-weight: 500;}
.menu ul li ul li.menu_sb1_price{justify-content: flex-end;}
.menu ul li ul li.menu_sb1_price p{text-align: right; font-size: 1.375rem; font-weight: bold; margin: 0 0 0 10px;}
.menu ul li ul li.menu_sb1_price p span{font-size: 1.1rem; font-weight: 400;}
.menu ul li ul li.menu_lb2{width: 120px; height: 60px; background: #FF0000; border-radius: 5px; border: 3px solid #FF0000; text-align: center;justify-content: center; align-items: center; font-size: 1.25rem; font-weight: 500;}
.menu ul li ul li.menu_lb2_price{justify-content: flex-end;}
.menu ul li ul li.menu_lb2_price p{text-align: right; font-size: 1.375rem; font-weight: bold; margin: 0 0 0 10px;}
.menu ul li ul li.menu_lb2_price p span{font-size: 1.1rem; font-weight: 400;}
.menu ul li ul li.menu_lb4{width: 120px; height: 60px; background: #00A421; border-radius: 5px; border: 3px solid #006A15; text-align: center;justify-content: center; align-items: center; font-size: 1.25rem; font-weight: 500;}
.menu ul li ul li.menu_lb4_price{justify-content: flex-end;}
.menu ul li ul li.menu_lb4_price p{text-align: right; font-size: 1.375rem; font-weight: bold; margin: 0 0 0 10px;}
.menu ul li ul li.menu_lb4_price p span{font-size: 1.1rem; font-weight: 400;}
.menu ul li.menu_sno_img{width: 100%;}
.menu ul li.menu_sno_wd{width: 100%;}
.menu ul li ul li.menu_sno{margin-left: 10px; width: 120px; height: 60px; background: #151185; border-radius: 5px; border: 3px solid #020042; text-align: center; justify-content: center; align-items: center; font-size: 1.25rem; font-weight: 500; color: #fff;}
.menu ul li ul li.menu_sno_price{justify-content: flex-end;}
.menu ul li ul li.menu_sno_price p{text-align: right; font-size: 1.375rem; font-weight: bold; margin: 0 0 0 10px;}
.menu ul li.menu_tm_img{width: 100%;}
.menu ul li.menu_tm_wd{width: 100%;}
.menu ul li ul li.menu_tm{margin-left: 10px; width: 120px; height: 60px; background: #FFBE3E; border-radius: 5px; border: 3px solid #C28100; text-align: center; justify-content: center; align-items: center; font-size: 1.25rem; font-weight: 500;}
.menu ul li ul li.menu_tm_price{justify-content: flex-end;}
.menu ul li ul li.menu_tm_price p{text-align: right; font-size: 1.375rem; font-weight: bold; margin: 0 0 0 10px;}
.menu ul li ul li.menu_tm_price p span{font-size: 1.1rem; font-weight: 400;}

.menu_sp{height: 2.5rem;}

.toppings h3{font-size: 2.25rem; font-weight: bold; margin:5.625rem auto; }
.toppings ul{display: flex; flex-wrap: wrap; padding: 0; margin: 0 1rem;}
.toppings ul li{width: 25%; padding: 30px 0 10px; border: 1px solid #EDE3C5; }
.toppings ul li p{font-size: 1.625rem; font-weight: bold; margin-top:1.875rem; line-height: 2.2rem;}

section#order{margin:5.625rem auto 0; width: 100%; background: #fff; max-width: none;}
.order div{max-width: 1200px; margin: 0 auto 3.75rem;}
.order h3{font-size: 2.25rem; font-weight: bold; margin:3.75rem auto; }
.order ul{display: flex; justify-content: center; flex-wrap: wrap; padding: 0; margin: 0 1rem; column-gap: 2vw;}
.order ul li{width: 40%; }
.order ul li.step1{}
.order ul li.step2{margin-top: 8rem;}
.order ul li.step3{}
.order ul li.step4{margin-top: 10rem;}

.first{}
.first h3{font-size: 2.25rem; font-weight: bold; margin:3.75rem auto 5.625rem; }
.first p{max-width: 640px; margin: 0 auto; text-align: left; margin-bottom: 1rem; line-height: 1.5rem;}
.first div{max-width: 746px; margin: 5.625rem auto;}
.first ul{display: flex; column-gap: 40px; padding-left: 0; margin: 0;}
.first ul li{margin-top: 40px;}
.first p.shop_info{max-width: 426px; margin: 0 auto; text-align: left; margin-bottom: 1rem; font-size: 1.25rem; line-height: 2.2rem; }

section#location{margin:3.75rem auto 5.625rem; width: 100%; max-width: none; padding: 0; text-align: center;}

.location iframe{width: 100%; filter: grayscale(1); margin-bottom: 40px;}
.location iframe:hover{width: 100%; filter: grayscale(0.5);}
.location p{font-size: 0.875rem;}
.feature-item, .menu-item, .topping-item, .order ol, .location p, .location-images, .map {
    margin-bottom: 20px;
}


footer {
    text-align: center;
    background-color: #FDEB03;
    padding: 1px 0;
	font-size: 0.75rem;
}
.totop{position: fixed; bottom: 1vh; right: 2vw;}
.pc_on{display: block;}
.sp_on{display: none;}
@media (max-width: 1200px) {
	header{padding-top: 0;}
	.header-content h1 img{width: 16vw;}
.hamburger-menu {
        display: flex;
	position: absolute;
        left: 2vw;
    }
	nav{height: auto;}
	nav.active{display: block; height: 500px;}
	nav ul {
		 transition: max-height 0.5s ease, opacity 0.5s ease;
		 max-height: 0;
    overflow: hidden;
    opacity: 0;
    }

    nav ul.active {
		position: fixed;
        display: flex;
		 max-height: 800px; /* メニュー項目が収まる高さに調整 */
    opacity: 1;
		z-index: 3;
        padding-top: 12vh;
        height: auto;
		top: 0;
    }
	nav ul li a {
    text-decoration: none;
    color: #000;
    font-size: 18px;
    display: block;
    text-align: left;
    padding: 2vh 0;
}
	.menu ul{flex-wrap: wrap; row-gap: 2rem;}
	.menu ul li{width: 100%;flex-wrap: nowrap;}
	.menu ul li ul{flex-wrap: nowrap;}
	.menu ul li ul li{display: flex; flex-wrap: wrap;}
	.menu_sp {height: 1rem;
}
	
}

@media (max-width: 768px) {
	.header-content h1 img {width: 30vw;}
	.hamburger-menu{left: 5vw;}
	.social-links{right: 5vw;}
	.social-links img{width: 7vw;}
	.hero img {width: 100vw; height: 100vh;}
	.hero h2 { top: 25%; left: 5%; right: 5%; transform: translate(0%, -25%);}
	.features, .x_feed, .menu, .toppings, .order, .first, .location{padding: 0px 5%;}
	.features h2{font-size: 1.5rem;margin: 3rem auto;}
	.features h3{font-size: 1.5rem;margin: 3rem auto;}
	.features p{margin-bottom: 3.75rem;}
	.location-images {
        flex-direction: column;
        align-items: center;
    }
    nav ul {flex-direction: column; }
    nav ul li {margin-left: 5vw; margin-bottom: 2vh;}
	.features ul{height: 40vh;}
	.features ul li{position: absolute; left: 5%; width: 53%;}
	.features ul li:nth-child(even){position: absolute; left: 40%; top: 45%; width: 53%;}
	.x_feed h3{font-size: 1.5rem;margin: 3rem auto 6px;}
	.x_feed p.x_info{font-size: 1rem; margin-bottom: 1.75rem;}
	.menu h3{font-size: 1.5rem;margin: 3rem auto;}
	.menu ul li ul li.menu_sb2{font-size: 1rem;}
	.menu ul li ul li.menu_sb2_price p{font-size: 1rem;}
	.menu ul li ul li.menu_sb4{font-size: 1rem;}
	.menu ul li ul li.menu_sb4_price p{font-size: 1rem;}
	.menu ul li ul li.menu_sb1{font-size: 1rem;}
	.menu ul li ul li.menu_sb1_price p{font-size: 1rem;}
	.menu ul li ul li.menu_lb2{font-size: 1rem;}
	.menu ul li ul li.menu_lb2_price p{font-size: 1rem;}
	.menu ul li ul li.menu_lb4{font-size: 1rem;}
	.menu ul li ul li.menu_lb4_price p{font-size: 1rem;}
	.menu ul li ul li.menu_sno{font-size: 1rem;}
	.menu ul li ul li.menu_sno_price p{font-size: 1rem;}
	.menu ul li ul li.menu_tm{font-size: 1rem;}
	.menu ul li ul li.menu_tm_price p{font-size: 1rem;}
	.toppings ul{margin: 0;}
	.toppings ul li{width: 50%;}
	.toppings ul li p{font-size: 1.125rem; margin-top: 1rem; line-height: 1.5rem;}
	.toppings h3{font-size: 1.5rem;margin: 3rem auto;}
	section#order{margin: 2rem auto 0;}
	.order div{padding-top: 1rem;}
	.order h3{font-size: 1.5rem;margin: 2rem auto;}
	.order ul li {width: 100%;}
	.order ul li.step2 { margin-top: 3rem;}
	.order ul li.step3 { margin-top: 3rem;}
	.order ul li.step4 { margin-top: 3rem; margin-bottom: 3rem}
	.first h3{font-size: 1.5rem;margin: 3rem auto;}
	.first ul{flex-wrap: wrap;}
	.first ul li{width: 100%;margin-top: 30px;}
	.first p.shop_info{font-size: 1rem;}
	.totop{position: fixed; bottom: 1vh; right: 2vw; width: 20vw;}
	
.pc_on{display: none;}
.sp_on{display: block;}
	
}
