@charset "utf-8";
/* レイアウトのためのCSS */
body {
    overflow-x: hidden;
    font-family: 'Kosugi Maru', sans-serif;
    color: #333;
    font-size: 1rem;
    line-height: 1.85;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    word-wrap: break-word;
    letter-spacing: 0.2em;
}

* {
    box-sizing: border-box
}
/* font-family */

.header-utility li:last-child a, .school-info li dl, .header-area dl, #news article time, #page-top span, h2 span {
    font-family: 'Lato', sans-serif;
}

h2 {
    text-align: center;
    margin: 0 0 50px 0;
    font-size: 1.1vw;
    line-height: 1.5;
}

h2 span {
    font-size: 3.5vw;
    text-transform: uppercase;
    display: block;
}

@media screen and (max-width: 1130px) {
    h2 {
        font-size: 0.9rem;
    }

    h2 span {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 768px) {
    h2 {
        font-size: 0.8rem;
    }

    h2 span {
        font-size: 2rem;
    }
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.inner {
    width: 100%;
    margin: 0 auto;
    padding: 70px;
    text-align: center ;
}


@media screen and (max-width: 940px) {
    .inner {
        padding: 70px 30px;
    }
}

a {
    text-decoration: none;
    color: #00aaff;
}

a:hover {
    text-decoration: underline;
}

a:visited {
    color: #4ac0b9;
}

img {
    width: 100%;
}

#concept {
    background: url("../img/flag_01.png") no-repeat left top, url("../img/flag_02.png") no-repeat right top;
    background-size: 20% auto;
}

@media screen and (max-width: 1300px) {
    #concept {
        background-size: 200px auto;
    }
}

@media screen and (max-width: 768px) {
    #concept {
        background-size: 150px auto;
    }
}

@media screen and (max-width: 400px) {
    #concept {
        background-size: 130px auto;
    }
}

#concept h2 span {
    color: #00aaff;
}


/* メニュー一覧 */

.menu-wrapper {
    margin-bottom: 60px;
    text-align: center;
    position: relative;
    padding: 80px 0;
}

.menu-item-name {
    line-height: 1.7;
    font-size: 25px;
    margin-top: 15px;
}

@media screen and (max-width: 600px) {
    .menu-item-name {
        font-size: 20px;
    }
}

.price {
    margin: 15px 0;
    font-size: 18px;
}

@media screen and (max-width: 600px) {
    .price {
        font-size: 15px;
    }
}

.menu-items {
    margin-bottom: 60px;
}

.menu-item {
    display: inline-block;
    width: 40%;
    padding: 20px;
    margin-top: 40px;
}

@media screen and (max-width: 600px) {
    .menu-item {
        padding: 5px;
        width: 45%;
    }
}

.menu-item-image {
    border-radius: 5px;
}

.menu-item span {
    font-size: 16px;
}

.review-wrapper {
  text-align: center;
  width: 100%;
  max-width: 400px; /* ← PCでは400px上限 */
  margin: 60px auto;
  overflow-x: hidden;
}

.review-menu-item {
    border-radius: 5px;
    margin: 0 auto;
    padding-bottom: 20px;
    border: 1px solid #dadada;
}

.slide {
    display: none;
}

.active {
    display: block;
}

.thumbnail-btn {
    width: 50px;
    height: 50px;
    object-fit: cover;
}

.review-menu-item img {
    border-radius: 5px 5px 0 0;
}

.review-menu-item .menu-item-type {
    color: #c2c8ce;
    font-size: 16px;
}

.review-menu-item .price {
    font-size: 20px;
}

.review-list-wrapper {
    margin: 50px 0;
    text-align: left;
}

.review-list-title {
    padding-bottom: 10px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(104, 107, 106, 0.15);
}

.review-list-title h4 {
    font-size: 22px;
}

.review-list-item {
    margin-bottom: 30px;
    background: #e5eef6;
    padding: 10px;
    border-radius: 5px;
}

.review-list-title img, .review-list-title h4, .review-list-item img {
    display: inline-block;
    vertical-align: middle;
}

.review-text {
    display: inline-block;
    vertical-align: top;
    margin-top: 16px;
    margin-left: 10px;
    font-size: 15px;
}

.color-sample {
    width: 50px;
    height: 50px;
    border-radius: 5px;
}

.red {
    background-color: red;
}

.yellow {
    background-color: yellow;
}

.blue {
    background-color: blue;
}

.green {
    background-color: green;
}

.black {
    background-color: black;
}
