@charset "utf-8";
/******************************************************************
Theme Name: DENI
Description:  WordPressのテンプレート
Author: 匿名
Version: 1.0
******************************************************************/

:root {
    --linear: cubic-bezier(0, .0, 1, 1.0);
    --easeInSine: cubic-bezier(.47, 0, .745, .715);
    --easeOutSine: cubic-bezier(.39, .575, .565, 1);
    --easeInOutSine: cubic-bezier(.445, .05, .55, .95);
    --easeInQuad: cubic-bezier(.55, .085, .68, .53);
    --easeOutQuad: cubic-bezier(.25, .46, .45, .94);
    --easeInOutQuad: cubic-bezier(.455, .03, .515, .955);
    --easeInCubic: cubic-bezier(.55, .055, .675, .19);
    --easeOutCubic: cubic-bezier(.215, .61, .355, 1);
    --easeInOutCubic: cubic-bezier(.645, .045, .355, 1);
    --easeInQuart: cubic-bezier(.895, .03, .685, .22);
    --easeOutQuart: cubic-bezier(.165, .84, .44, 1);
    --easeInOutQuart: cubic-bezier(.77, 0, .175, 1);
    --easeInQuint: cubic-bezier(.755, .05, .855, .06);
    --easeOutQuint: cubic-bezier(.23, 1, .32, 1);
    --easeInOutQuint: cubic-bezier(.86, 0, .07, 1);
    --easeInExpo: cubic-bezier(.95, .05, .795, .035);
    --easeOutExpo: cubic-bezier(.19, 1, .22, 1);
    --easeInOutExpo: cubic-bezier(1, 0, 0, 1);
    --easeInCirc: cubic-bezier(.6, .04, .98, .335);
    --easeOutCirc: cubic-bezier(.075, .82, .165, 1);
    --easeInOutCirc: cubic-bezier(.785, .135, .15, .86);
    --easeInBack: cubic-bezier(.6, -.28, .735, .045);
    --easeOutBack: cubic-bezier(.175, .885, .32, 1.275);
    --easeInOutBack: cubic-bezier(.68, -.55, .265, 1.55);
    --fontMincho: 'Noto Serif JP', 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
}

/**************************************
base
**************************************/
/*--- reset ---*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    background: transparent;
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

html {
    font-size: 62.5%;
}

body {
    font-family: var(--fontMincho);
    -webkit-font-smoothing: antialiased;
    /*font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'verdana', sans-serif;*/
    /*font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    line-height: 1;/*
    /*font-family: 'ヒラギノ丸ゴ Pro W4', 'ヒラギノ丸ゴ Pro', 'Hiragino Maru Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'HG丸ｺﾞｼｯｸM-PRO', 'HGMaruGothicMPRO';*/
    font-weight: normal;
    letter-spacing: .1rem;
}

/* フッター下部固定用 */
body, #wrapper {
    color: #4c4948;
    display: flex;
    flex-direction: column;
    line-height: 1em;
    min-height: 100vh;
}

footer {
    margin-top: auto;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: inherit;
}

a {
    background: transparent;
    margin: 0;
    padding: 0;
    text-decoration: none;
    vertical-align: baseline;
}

ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input, select {
    vertical-align: middle;
}

/* 共有 */
body {
    overflow: hidden auto;
}

body:not(.home) {
    padding-top: 90px;
}

@media screen and (max-width: 640px) {
    body:not(.home) {
        padding-top: 0;
        /* padding-top: 70px; */
    }
}

.contents {
    width: 100%;
}

.inner {
    margin: 0 auto;
    max-width: 1100px;
    padding: 100px 0;
    width: 93%;
}

.pl-17 {
    padding-left: 17.3%;
}

.inner1024 {
    margin: 0 auto;
    max-width: 1024px;
    width: 100%;
}

.inner720 {
    margin: 0 auto;
    max-width: 720px;
    padding: 100px 0;
    width: 100%;
}

.inner_top {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 0;
    text-align: right;
    width: 100%;
}

.inner_top>div:nth-of-type(1) {
    min-width: 240px;
    padding-top: 200px;
    text-align: center;
    ;
}

.inner_top>div:nth-of-type(1) h1 {
    display: inline-block;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.4em;
    text-align: right;
    width: 80%;
}

.inner_top>div:nth-of-type(1) span {
    display: block;
    font-size: 60%;
    font-weight: normal;
}

.inner_top>div:nth-of-type(2) {
    border-bottom-left-radius: 60px;
    /* border-top-left-radius: 60px; */
    overflow: hidden;
    width: 860px;
}

.ff-ss {
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}

.fc_blue {
    color: #0091db;
}

.btn_list {
    background-color: #4c4948;
    border-radius: 4px;
    color: #ffffff;
    display: inline-block;
    font-family: Verdana, Helvetica, Arial, sans-serif;
    font-size: 1.2rem;
    line-height: 1em;
    padding: 15px 30px 14px;
}

.section-all {
    padding-left: 120px;
}

.section-all h2 {
    background: url(img/logomark.svg) no-repeat left 4px;
    background-size: 36px auto;
    border-bottom: solid 1px #4c4948;
    font-size: 2.1rem;
    height: 24px;
    margin-bottom: 25px;
    padding-left: 50px;
    padding-top: 10px;
    position: relative;
}

.section-all h2 a:nth-of-type(1) {
    color: #4c4948;
}

.section-all h2 a:nth-of-type(2) {
    position: absolute;
    right: 0;
    top: 5px;
}

.section-all h2 a:nth-of-type(2) img {
    height: auto;
    width: 25px;
}

.section-all h2+div>ul {
    width: calc(100% - 330px);
}

.section-all h2+div>ul li span {
    display: inline-block;
    margin-right: 15px;
    width: 90px;
}

.section-all h3 {
    display: inline-block;
}

#main-logo.move-start, #main-logo.move-back, logo-text-1.fade-out, .logo-text-1.fade-in, .logo-text-2.fade-out, .logo-text-2.fade-in {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.logo-text-2 {
    opacity: 0;
}

.insert-image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/**************************************
header
**************************************/
.header {
    align-items: center;
    /* background-color: #ffffff; */
    color: #4c4948;
    display: flex;
    height: 90px;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
    transition: background-color .5s ease;
}

.header:has(.move-start) {
    background-color: rgba(255, 255, 255, .5);
}

.header img {
    display: block;
    height: 48px;
}

.header .inner {
    padding: 0 !important;
    position: relative;
}

.header #main-logo {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}

.header #main-logo a {
    display: inline-block;
}

.header #main-logo span {
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    font-size: 1.6rem;
    -webkit-font-smoothing: antialiased;
    font-weight: inherit;
    margin-left: 50px;
}

.header #main-logo.underpage,
.header #main-logo.underpage .logo-text-1,
.header #main-logo.underpage .logo-text-2 {
    -webkit-animation-delay: 0s !important;
    animation-delay: 0s !important;
    -webkit-animation-duration: 0s !important;
    animation-duration: 0s !important;
}

button.rmp_menu_trigger {
    overflow: unset !important;
}

#rmp_menu_trigger-6 {
    cursor: pointer;
}

#rmp_menu_trigger-6 .rmp-trigger-label.rmp-trigger-label-bottom {
    margin-top: 8px !important;
    padding-left: 2px !important;
}

.header #main-logo .logo-text-2 {
    bottom: -70%;
    font-size: 1rem;
    left: 2%;
    line-height: 1.3em;
    margin-left: 0;
    position: absolute;
    text-align: center;
}

/* メインロゴアニメーション */
#main-logo.move-start {
    -webkit-animation: moveStart .5s ease 0s 1 forwards;
    animation: moveStart .5s ease 0s 1 forwards;
}

#main-logo.move-back {
    -webkit-animation: moveBack .5s ease 0s 1 forwards;
    animation: moveBack .5s ease 0s 1 forwards;
}

.logo-text-1.fade-in, .logo-text-2.fade-in {
    -webkit-animation: fadeIn .5s ease 0s 1 forwards;
    animation: fadeIn .5s ease 0s 1 forwards;
}

.logo-text-1.fade-out, .logo-text-2.fade-out {
    -webkit-animation: fadeOut .5s ease 0s 1 forwards;
    animation: fadeOut .5s ease 0s 1 forwards;
}

@-webkit-keyframes moveStart {
    0% {
        transform: scale(1);
        transform-origin: left top;
    }

    100% {
        transform: scale(.6);
        transform-origin: left top;
    }
}

@keyframes moveStart {
    0% {
        transform: scale(1);
        transform-origin: left top;
    }

    100% {
        transform: scale(.6);
        transform-origin: left top;
    }
}

@-webkit-keyframes moveBack {
    0% {
        transform: scale(.6);
        transform-origin: left top;
    }

    100% {
        transform: scale(1);
        transform-origin: left top;
    }
}

@keyframes moveBack {
    0% {
        transform: scale(.6);
        transform-origin: left top;
    }

    100% {
        transform: scale(1);
        transform-origin: left top;
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.header-nav {
    transform: translateX(100%);
    opacity: .1;
    display: flex;
    flex-direction: column;
    gap: 100px;
    color: #fff;
    transition: all .5s var(--easeOutCubic);
    position: fixed;
    right: 0;
    top: 0;
    background-color: #4c4948;
    z-index: 1000;
    height: 100%;
    padding: 20px 40px 40px;
    box-sizing: border-box;
    max-width: 700px;
}

@media screen and (max-width: 499px) {
    .header-nav {
        gap: 50px;
        width: 100%;
        max-width: 90%;
        padding: 20px;
    }
}

body.is-menu .header-nav {
    transform: translateX(0);
    opacity: 1;
}

.header-nav-head {
    width: 100%;
}

.header-nav-body {
    width: 100%;
    overflow: auto;
}

.header-nav-logo {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.header-nav-logo-img {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
    display: block;
    max-width: 100%;
    width: 100px;
    margin: auto;
    height: auto !important;
}

.header-nav-logo-text {
    color: #fff;
    font-size: 10px;
    font-feature-settings: "palt";
    letter-spacing: 0;
}

.header-nav-list {
    display: flex;
    flex-direction: column;
}

.header-nav-list>li {
    border-top: solid 1px #fff;
    box-sizing: border-box;
}

.header-nav-list>li:last-child {
    border-bottom: solid 1px #fff;
    box-sizing: border-box;
}

.header-nav-link {
    display: flex;
    gap: 50px;
    width: 100%;
    padding: 15px 60px 15px 30px;
    color: #fff;
    position: relative;
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .header-nav-link {
        gap: 20px;
        padding: 15px 30px 15px 10px;
    }
}

.header-nav-link::before {
    content: '';
    display: block;
    position: absolute;
    right: 10px;
    bottom: 0;
    top: 0;
    margin-top: auto;
    margin-bottom: auto;
    -webkit-clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
    clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
    height: 16px;
    aspect-ratio: 1;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .header-nav-link::before {
        height: 14px;
        right: 6px;
    }
}

.header-nav-link-1 {
    width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .header-nav-link-1 {
        width: 70px;
    }
}

.header-nav-link-thumb {
    width: 100%;
    display: block;
    max-width: 100%;
    height: auto !important;
    border-radius: 5px;
}

.header-nav-link-2 {
    display: flex;
    flex-direction: column;
    gap: 7px;
    justify-content: center;
    align-items: flex-start;
    width: calc(100% - 100px - 50px);
}

@media screen and (max-width: 768px) {
    .header-nav-link-2 {
        width: calc(100% - 70px - 20px);
    }
}

.header-nav-link-text1 {
    font-size: 1.3rem;
    letter-spacing: .4em;
    word-break: break-word;
    line-height: 1.2;
}

.header-nav-link-text2 {
    font-size: .8rem;
    line-height: 1.2;
}

.header-nav-foot {
    margin-top: auto;
    width: 100%;
}

.header-nav-foot-link {
    color: #fff;
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 7px;
    margin-left: auto;
    padding-left: 40px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.header-nav-foot-link::before {
    content: '';
    display: block;
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
    position: absolute;
    left: 0;
    top: 0;
    width: 29px;
    height: 100%;
    background: url('img/logomark.svg') left top/auto no-repeat;
}

.header-nav-foot-link-text1 {
    font-size: 1.3rem;
    letter-spacing: .4em;
    word-break: break-all;
    line-height: 1.2;
}

.header-nav-foot-link-text2 {
    font-size: .8rem;
    line-height: 1.2;
}

.header-btn {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 35px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1000;
}

@media screen and (max-width: 768px) {
    .header-btn {
        transform: scale(.8);
        gap: 1px;
        top: 2px;
    }

    #main-logo {
        top: 9px;
    }
}

body.is-menu .header-btn {
    right: 30px;
    top: 20px;
}

@media screen and (max-width: 768px) {
    body.is-menu .header-btn {
        right: 20px;
        top: 5px;
    }
}

body.is-menu .header>.inner {
    position: static;
}

.header-btn-btn {
    width: 100%;
    height: 30px;
    position: relative;
}

.header-btn-line {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 2px;
    background-color: #4c4948;
    border-radius: 4px;
}

body.is-menu .header-btn-line {
    background-color: #fff;
}

.header-btn-line:nth-child(1) {}

.header-btn-line:nth-child(2) {
    transform: translateY(-10px);
}

.header-btn-line:nth-child(3) {
    transform: translateY(10px);
}

body.is-menu .header-btn-line:nth-child(1) {
    transform: translateY(0) rotate(45deg);
}

body.is-menu .header-btn-line:nth-child(2) {
    transform: translateY(0) rotate(45deg);
}

body.is-menu .header-btn-line:nth-child(3) {
    transform: translateY(0) rotate(-45deg);
}

.header-btn-text::before {
    content: 'menu';
}

.header-btn-text {
    color: #4c4948;
    font-size: 12px;
    text-align: center;
}

body.is-menu .header-btn-text {
    color: #fff;
}

body.is-menu .header-btn-text::before {
    content: 'close';
}

/**************************************
スライダー
**************************************/
.catch-1, .catch-2 {
    text-align: center;
    line-height: 1.4;
}

.catch-1 {
    font-size: 2.3rem;
    letter-spacing: .6em;
    margin-bottom: 30px;
    padding-top: 30px;
}

.catch-2 {
    font-size: 1.6rem;
    font-weight: lighter;
    letter-spacing: 1.5em;
    margin-top: 20px;
}

.n2-ss-slider .n2-ss-slider-controls-below {
    bottom: -100px;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
}

#concept-head.inner_top>div:nth-of-type(2) {
    overflow: unset;
}

#concept-head div#n2-ss-3 .n2-ss-slider-2 {
    border-bottom-left-radius: 60px;
}

#concept-head .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls {
    bottom: -50px;
}

/**************************************
INDEX
**************************************/
/* NEWS & TOPICS */
#section-1 {
    margin-top: 120px;
}

#section-1 h2+div>div:nth-of-type(1) {
    margin-right: 30px;
    max-width: 300px;
    width: 100%;
}

#section-1 h2+div>div:nth-of-type(1) p:nth-of-type(1) {
    margin-bottom: 8px;
}

#section-1 h2+div>div:nth-of-type(1) p:nth-of-type(1) img {
    width: 100%;
}

#section-1 h2+div>div:nth-of-type(1) p:nth-of-type(2) {
    text-align: center;
}

#section-1 li {
    margin-bottom: 20px;
}

#section-1 li a {
    color: #4c4948;
    font-size: 1.5rem;
    line-height: 1.5em;
}

.section-all h2+div>ul.for_index {
    width: 100%;
}

#cate-list.for_index>li {
    align-items: center;
    margin: 0 0 10px 0;
}

#cate-list.for_index .thumbnail {
    width: 33%;
}

#cate-list.for_index .text {
    width: calc(70% - 25px);
}

#cate-list.for_index .text>div:nth-of-type(1) {
    border-bottom: unset;
    margin-bottom: unset;
    padding-bottom: unset;
}

.section-all h2+div>ul.for_index+p {
    margin-top: 15px;
    text-align: center;
}

/* CONCEPT */
#section-2 h3 {
    display: block;
    font-size: 2rem;
    font-weight: normal;
    margin: 30px 0 35px;
}

#section-2 h3+div {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
}

#section-2-1 {
    margin-bottom: 100px;
}

#section-2-1-1 {
    font-size: 15px;
    line-height: 220%;
    margin-right: 8%;
    text-align: justify;
    width: calc(92% - 314px);
}

#section-2-1-1 p:nth-of-type(2) {
    margin-top: 15px;
    text-align: right;
}

#section-2-1-2 {
    width: 314px;
}

#section-2-1-2 div {
    width: 100%;
    /*横幅*/
}

#section-2-1-2 div p {
    padding-top: 130%;
    /*縦の比率*/
    position: relative;
    width: 100%;
}

#section-2-1-2 div p img {
    border-radius: 10px;
    height: 100%;
    left: 0;
    -o-object-fit: none;
    object-fit: none;
    /*中央揃え*/
    position: absolute;
    top: 0;
    width: 100%;
}

#section-2-2-2 {
    font-size: 15px;
    line-height: 220%;
    text-align: justify;
    width: calc(100% - 438px);
}

#section-2-2-2 p:nth-of-type(2) {
    margin-top: 15px;
}

/* lineup */
#section-3 {
    margin-bottom: 70px;
}

.section-3-inner {
    padding-top: 30px;
}

.section-3-inner>div {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 40px;
}

.section-3-inner>div:nth-last-of-type(1) {
    margin-bottom: 0;
}

.section-3-inner>div>div:nth-of-type(1) {
    border-right: solid 1px #4c4948;
    margin-right: 50px;
    position: relative;
    width: 100px;
}

.section-3-inner>div>div:nth-of-type(1) strong {
    background-color: #4c4948;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    color: #ffffff;
    display: inline-block;
    font-size: 1.8rem;
    font-weight: normal;
    padding: 20px 0;
    position: absolute;
    right: 49px;
    text-align: center;
    top: 0;
    transform: rotate(-90deg);
    transform-origin: right top;
    width: 150px;
}

#section-3-1 ul {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: calc(100% - 151px);
}

#section-3-1 li {
    margin-bottom: 35px;
    width: 48%;
}

#section-3-1 li a, #section-3-2 li a {
    align-items: center;
    color: #4c4948;
    display: flex;
    flex-wrap: nowrap;
    font-size: 2.4rem;
    justify-content: left;
    line-height: 1.2em;
}

@media (max-width: 999px) {
    #section-3-1 li a, #section-3-2 li a {
        flex-direction: column-reverse;
        gap: 5px;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
}

#section-3-1 li a p:nth-of-type(1) {
    margin-right: 25px;
    text-align: center;
    width: 160px;
}

@media (max-width: 999px) {
    #section-3-1 li a p:nth-of-type(1) {
        margin-right: 0;
    }
}

#section-3-1 li a span, #section-3-2 a span {
    display: block;
    font-size: 1.1rem;
    line-height: 1.3em;
    margin-top: 5px;
}

#section-3-1 li img, #section-3-2 img {
    height: auto;
    max-height: 180px;
    max-width: 160px;
    vertical-align: middle;
    width: auto;
}

#section-3-2>div:nth-of-type(2) {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: left;
    width: calc(100% - 151px);
}

@media (max-width: 768px) {
    #section-3-2>div:nth-of-type(2) {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }
}

#section-3-2>div:nth-of-type(2)>div {
    margin-right: 25px;
    text-align: center;
    width: 160px;
}

#section-3-2 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

@media (max-width: 768px) {
    #section-3-2 ul {
        width: 100%;
    }
}

#section-3-2 li {
    width: 48%;
}

#section-3-2 li:nth-of-type(1), #section-3-2 li:nth-of-type(2) {
    margin-bottom: 25px;
}

/* SHOP INFOMATION */
#section-4 {
    margin-bottom: 70px;
}

/* #section-4 h3 {
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    font-size: 1.6rem;
    margin-bottom: 15px;
}
#section-4 h3 img {
    margin-right: 20px;
    vertical-align: -11px;
    width: 120px;
}
#section-4 > div {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 20px;
}
#section-4-1 {
    margin-right: 25px;
    width: 40%;
}
#section-4-1 img {
    width: 100%;
}
#section-4-2 {
    width: calc(60% - 25px);
}
#section-4-2 li {
    font-size: 1.3rem;
    line-height: 1.5em;
    margin-bottom: 5px;
}
#section-4-2 li p {
    color: #be2b27;
    line-height: 1.7em;
    margin-top: 2px;
    padding-left: 18px;
} */

.shopInfoSection {
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

.shopInfoSection+.shopInfoSection {
    margin-top: 80px;
    position: relative;
}

@media (max-width: 768px) {
    .shopInfoSection+.shopInfoSection {
        margin-top: 60px;
    }
}

.shopInfoSection::after {
    content: '';
    display: block;
    position: absolute;
    top: -40.5px;
    left: 0;
    width: 100%;
    border-bottom: dashed 1px #4c4948;
    opacity: .5;
}

@media (max-width: 768px) {
    .shopInfoSection::after {
        top: -30.5px;
    }
}

.shopInfoSection_title {
    display: block !important;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: .5em !important;
    margin-top: 0 !important;
}

.shopInfoBox {
    display: flex;
    gap: 20px;
}

@media (max-width: 768px) {
    .shopInfoBox {
        flex-direction: column;
        gap: 10px;
    }
}

.shopInfoBox.shopInfoBox__reverse {
    /* flex-direction: row-reverse; */
}

.shopInfoBox_1 {
    width: 408px;
}

@media (max-width: 768px) {
    .shopInfoBox_1 {
        width: 100%;
    }
}

.shopInfoBox_1>.el_img {
    aspect-ratio: 3 / 2;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.shopInfoBox_2 {
    width: calc(100% - 408px - 20px);
    display: block;
}

@media (max-width: 768px) {
    .shopInfoBox_2 {
        width: 100%;
    }
}

.shopInfoBox_2 .map {
    margin-top: 10px;
    text-align: right;
}

.shopInfoBox_2 .map a {
    color: #fff;
    background-color: #4c4948;
    border-radius: 4px;
    padding: 10px 20px;
    font-size: 1.3rem;
    display: inline-block;
}

.shopInfoBox_list {
    font-size: 1.3rem;
}

.shopInfoBox_list>li {
    position: relative;
    padding-left: 1.5em;
}

.shopInfoBox_list>li::before {
    content: '■';
    display: block;
    position: absolute;
    left: 0;
    top: 0;

}

.shopInfoBox_list>li+li {
    margin-top: 5px;
}

.shopInfoMap {
    margin-top: 30px;
}

@media (max-width: 768px) {
    .shopInfoMap {
        margin-top: 20px;
    }
}

.shopInfoMap>iframe {
    display: block;
    width: 100%;
}

@media (max-width: 768px) {
    .shopInfoMap>iframe {
        height: 300px;
    }
}

.hp_cRed {
    color: rgb(190, 43, 39);
}

/* Company */
#section-5>div {
    padding: 25px 50px;
}

#section-5 h3 {
    border-bottom: dashed 1px #4c4948;
    font-size: 2rem;
    margin-bottom: 20px;
    padding-bottom: 15px;
    width: 100%;
}

#section-5-1, #section-5-2 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 30px;
}

#section-5-1 h4, #section-5-2 h4 {
    font-size: 1.6rem;
    margin-bottom: 8px;
}

#section-5-1>div:nth-of-type(1), #section-5-2>div:nth-of-type(1) {
    border-right: dashed 1px #4c4948;
    margin-right: 25px;
    padding-right: 25px;
    width: 250px;
}

#section-5-1>div:nth-of-type(1) img {
    width: 85%;
}

#section-5-1>div:nth-of-type(2), #section-5-2>div:nth-of-type(2) {
    font-size: 1.4rem;
    line-height: 1.5em;
    width: calc(100% - 301px);
}

#section-5-1-1 {
    margin-bottom: 15px;
}

#section-5-2>div:nth-of-type(1) img {
    width: 170px;
}

#section-5-2>div:nth-of-type(1) p {
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    margin-top: 8px;
}

/**************************************
backgrounds（スクロール）
**************************************/
.cd-section {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.cd-section--bg-fixed:nth-of-type(2), .cd-section--bg-fixed:nth-of-type(3) {
    background-attachment: fixed;
    color: #4c4948;
    min-height: 80vh;
    padding-top: 600px;
    /* 画像が見える部分の縦幅 */
}

@media (min-width: 768px) {
    .cd-section--bg-fixed:nth-of-type(2)::before, .cd-section--bg-fixed:nth-of-type(3)::before {
        padding-top: 600px;
        /* 画像が見える部分の縦幅 */
    }

    .attachment-wrap {
        display: none;
    }
}

.cd-section--bg-fixed .fixed-inner {
    background-color: #ffffff;
    min-height: 80vh;
}

.cd-section--bg-fixed:nth-child(2) {
    background-image: url("img/image_291s.jpg");
}

.cd-section--bg-fixed:nth-child(3) {
    background-image: url("img/image_247s.jpg");
}

/**************************************
category
**************************************/
#cate-list>li {
    display: flex;
    flex-wrap: nowrap;
    justify-content: left;
    margin: 0 0 50px 0;
}

#cate-list .thumbnail {
    display: flex;
    justify-content: space-between;
    margin: 0 25px 0 0;
    width: 40%;
}

#cate-list .thumbnail>div {
    width: 100%;
    /*横幅*/
}

#cate-list .thumbnail>div>p {
    padding-top: 65%;
    /*縦の比率*/
    position: relative;
    width: 100%;
}

#cate-list .thumbnail>div>p .first_image {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

#cate-list .thumbnail>div>p .no_image {
    height: auto;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

#cate-list .text {
    width: calc(60% - 25px);
}

#cate-list .text a {
    color: #4c4948;
    font-size: 1.4rem;
    line-height: 1.5em;
}

#cate-list .text a span {
    display: block;
    font-size: 70%;
}

#cate-list .text>div:nth-of-type(1) {
    border-bottom: solid 1px #c8c7c7;
    margin-bottom: 12px;
    padding-bottom: 10px;
}

#cate-list .text>div:nth-of-type(2) {
    font-size: 1.2rem;
    line-height: 1.8em;
    text-align: justify;
}

#cate-list .text>div:nth-of-type(2) a {
    font-size: 1.3rem;
    text-decoration: underline;
}


/**************************************
汎用的なもの
**************************************/
.el_p,
.bl_content p {
    margin-top: 1em;
    margin-bottom: 1em;
    font-size: 15px;
    line-height: 2;
    text-align: justify;
}

.el_h2,
.bl_content h2 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 4em;
    margin-bottom: .5em;
}

.el_h2+* {
    margin-top: 0;
}

.bl_content>*:first-child {
    margin-top: 0 !important;
}

.bl_content>*:last-child {
    margin-bottom: 0 !important;
}

.el_btn {}

.el_img {
    display: block;
    max-width: 100%;
}

/**************************************
CONCEPT
**************************************/
#concept h2 {
    font-size: 2.4rem;
    line-height: 1.5em;
    margin-bottom: 30px;
}

#concept .n2-ss-slider .n2-ss-slider-controls-below {
    bottom: -100px;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
}

#concept-1 {
    margin-bottom: 100px;
}

#concept-1 h2 {
    margin-bottom: 15px;
}

#concept-1 p:nth-of-type(1) {
    margin-bottom: 15px;
    position: relative;
}

#concept-1 p:nth-of-type(1) img {
    width: 100%;
}

#concept-1>p:nth-of-type(1)::after {
    background: url(img/image_014b.jpg) no-repeat center center;
    background-size: cover;
    content: "";
    height: 324px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    z-index: -100;
}

#concept-1 p:nth-of-type(2) {
    font-size: 1.2rem;
    margin-bottom: 50px;
    text-align: right;
}

#concept-1>div {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
}

#concept-1>div p, #concept-1>p:nth-of-type(3) {
    font-size: 1.5rem;
    line-height: 1.8em;
    margin-right: 5%;
    text-align: justify;
    width: 60%;
}

#concept-1>div p {
    margin-bottom: 0;
    margin-right: 0;
}

#concept-1>div>div {
    width: 35%;
}

#concept-1>div>div p {
    padding-top: 128%;
    position: relative;
    width: 100%;
}

#concept-1>div>div p img {
    border-radius: 10px;
    height: 100%;
    left: 0;
    -o-object-fit: none;
    object-fit: none;
    position: absolute;
    top: 0;
    width: 100%;
}

#concept-1>p:nth-of-type(3) {
    margin-top: 30px;
    width: 100%;
}

#concept-2 {
    margin-bottom: 100px;
}

#concept-2>div {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

#concept-2>div p:nth-of-type(1) {
    width: 30%;
}

#concept-2>div p:nth-of-type(1) img {
    height: auto;
    width: 125%;
}

#concept-2>div p:nth-of-type(2) {
    font-size: 1.5rem;
    line-height: 1.8em;
    text-align: justify;
    width: 60%;
}

#concept-3 {
    background-color: #4c4948;
    border-radius: 20px;
    color: #ffffff;
    padding: 5% 7% 0;
}

#concept-3 h3 {
    border-bottom: solid 1px #ffffff;
    border-top: solid 1px #ffffff;
    font-size: 2.4rem;
    margin-bottom: 35px;
    padding: 23px 0 20px;
    text-align: center;
}

#concept-3 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#concept-3 ul li {
    margin-bottom: 50px;
    width: 45%;
}

#concept-3 ul li div {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

#concept-3 ul li p:nth-of-type(1) {
    text-align: center;
    width: 45%;
}

#concept-3 ul li p:nth-of-type(2) {
    width: 50%;
}

#concept-3 ul li p:nth-of-type(2) a {
    color: #ffffff;
    font-size: 2.2rem;
}

#concept-3 ul li p:nth-of-type(2) a span {
    display: block;
    font-size: 1.1rem;
    margin-top: 10px;
}

#concept-3 ul li img {
    height: auto;
    max-height: 110px;
    max-width: 100%;
    width: auto;
}

/**************************************
LINE UP
**************************************/
.lineup-insert {
    background: url(img/image_018.jpg) no-repeat center center;
    background-size: cover;
    height: 35vh;
    width: 100%;
}

#lineup-nav {
    font-family: var(--fontMincho);
}

#lineup-nav h2 {
    /*border-bottom: solid 1px #c8c7c7;*/
    font-size: 2.5rem;
    line-height: 1em;
    margin-bottom: 25px;
}

#lineup-nav h2 span {
    border-left: solid 1px #c8c7c7;
    border-right: solid 1px #c8c7c7;
    border-top: solid 1px #c8c7c7;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    display: inline-block;
    padding: 10px 3px 8px;
    text-align: center;
    width: 200px;
}

#lineup-nav h2 {
    overflow: hidden;
}

#lineup-nav h2 img {
    height: auto;
    width: 100%;
}

@media screen and (max-width: 768px) {
    #lineup-nav h2 img {
        width: 650px;
    }
}

#lineup-deni {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    margin-bottom: 60px;
}

#lineup-deni li {
    margin-bottom: 20px;
    margin-right: 2%;
    width: 32%;
}

#lineup-deni li:nth-of-type(3n) {
    margin-right: 0;
}

#lineup-deni li a {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: left;
    position: relative;
}

#lineup-deni li a:hover::after {
    background: url(img/deco_001.png) no-repeat center center;
    background-size: contain;
    content: "";
    height: 90px;
    left: 65%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 180px;
    z-index: -50;
}

#lineup-deni li p:nth-of-type(1) {
    margin-right: 10px;
    width: 140px;
}

#lineup-deni li p:nth-of-type(1) img {
    width: 100%;
}

#lineup-deni li p:nth-of-type(2) {
    color: #4c4948;
    font-size: 1.8rem;
    line-height: 1.4em;
}

#lineup-deni li p:nth-of-type(2) span {
    display: block;
    font-size: 1.1rem;
}

#lineup-nav>div:nth-of-type(2)>div {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

#lineup-nav>div:nth-of-type(2)>div>div {
    margin-right: 4%;
    width: 150px;
}

#lineup-nav>div:nth-of-type(2)>div>div img {
    height: auto;
    width: 100%;
}

#lineup-drink {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: left;
    width: calc(96% - 150px);
}

#lineup-drink li {
    margin-bottom: 20px;
    margin-right: 12%;
    width: auto;
}

#lineup-drink li:nth-last-of-type(1) {
    margin-right: 0;
}

#lineup-drink li a {
    color: #4c4948;
    display: block;
    font-size: 1.8rem;
    line-height: 1.4em;
    position: relative;
}

#lineup-drink li a:hover::after {
    background: url(img/deco_001.png) no-repeat center center;
    background-size: contain;
    content: "";
    height: 90px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 180px;
    z-index: -50;
}

#lineup-drink li a span {
    display: block;
    font-size: 1.1rem;
}

#group-list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    width: 100%;
}

#group-list>li {
    margin-bottom: 100px;
}

#group-list>li h3 {
    align-items: center;
    border-bottom: solid 1px #c8c7c7;
    display: flex;
    flex-wrap: nowrap;
    font-family: var(--fontMincho);
    font-size: 3rem;
    -webkit-font-smoothing: antialiased;
    justify-content: left;
    margin-bottom: 50px;
    padding-bottom: 5px;
}

#group-list>li h3 p:nth-of-type(1) {
    margin-right: 15px;
}

#group-list>li h3 p:nth-of-type(1) img {
    width: 150px;
}

#group-list>li h3 p:nth-of-type(2) {
    line-height: 1.1em;
}

#group-list>li h3 p:nth-of-type(2) span {
    display: block;
    font-size: 1.2rem;
}

#group-list ul li {
    margin-bottom: 50px;
    margin-right: 5%;
    width: 30%;
}

#group-list ul li:nth-of-type(3n) {
    margin-right: 0;
}

#group-list ul li p {
    margin-bottom: 10px;
    text-align: center;
}

#group-list ul li p:nth-of-type(1) {}

#group-list ul li p:nth-of-type(1) img {
    width: 100%;
}

#group-list ul li p:nth-of-type(2) {
    border-bottom: solid 1px #c8c7c7;
    font-size: 2rem;
    line-height: 1.2em;
    padding-bottom: 7px;
}

#group-list ul li p:nth-of-type(4) {
    font-size: 1.5rem;
}

#group-list ul li.exception {
    margin-right: 0;
    text-align: center;
    width: 100%;
}

#group-list ul li.exception p {
    width: 30%;
}

#group-list ul li.exception p:nth-of-type(1) {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    margin-bottom: 15px;
    width: 100%;
}

#group-list ul li.exception p:nth-of-type(1) img:nth-of-type(1) {
    width: 40%;
}

#group-list ul li.exception p:nth-of-type(1) img:nth-of-type(2) {
    width: 45%;
}

#group-list ul li.exception p:nth-of-type(2), #group-list ul li.exception p:nth-of-type(3), #group-list ul li.exception p:nth-of-type(4) {
    margin-left: 10%;
}

/**************************************
詳細ページ
**************************************/
.single_cont .inner {
    padding-top: 200px;
}

.single_cont {
    font-size: 1.6rem;
    line-height: 1.8em;
    text-align: justify;
}

.single_cont h2 {
    border-bottom: solid 1px #4c4948;
    font-size: 2.5rem;
    margin-bottom: 10px;
    padding-bottom: 10px;
    ;
}

.single_cont .date {
    font-size: 1.4rem;
    margin-bottom: 50px;
    text-align: right;
}

.single_cont .btn {
    margin-top: 50px;
    text-align: center;
}

.single_cont .text {
    line-height: 2.2em;
}

.single_cont .text>*:first-child {
    margin-top: 0 !important;
}

.single_cont .text>*:last-child {
    margin-bottom: 0 !important;
}

.single_cont .text p {
    margin-top: 1em;
    margin-bottom: 1em;
}

.single_cont .text p {
    margin-top: 1em;
    margin-bottom: 1em;
    line-height: 2.2;
}

.single_cont .text h1 {
    font-size: 3rem;
}

.single_cont .text h2 {
    all: inherit;
    font-size: 2.4rem;
}

.single_cont .text h3 {
    font-size: 2.2rem;
}

.single_cont .text h4 {
    font-size: 2rem;
}

.single_cont .text h5 {
    font-size: 1.8rem;
}

.single_cont .text h6 {
    font-size: 1.6rem;
}

.single_cont .text h1,
.single_cont .text h2,
.single_cont .text h3,
.single_cont .text h4,
.single_cont .text h5,
.single_cont .text h6 {
    font-weight: bold;
    margin-top: 2em;
    margin-bottom: .5em;
    line-height: 1.4;
}

.single_cont .text p+*,
.single_cont .text h1+*,
.single_cont .text h2+*,
.single_cont .text h3+*,
.single_cont .text h4+*,
.single_cont .text h5+*,
.single_cont .text h6+* {
    margin-top: 0;
}

/**************************************
delighters
**************************************/
/* 基本のスタイル */
.delighter {
    opacity: 0;
    transform: translateY(15%);
    transition: all .8s ease-out;
}

/* スタート時のスタイル */
.delighter.started {
    opacity: 1;
    transform: none;
}

/* エンド時のスタイル */
.delighter.started.ended {}

/**************************************
フッター
**************************************/
footer {
    background-color: #4c4948;
    position: relative;
}

footer::before {
    border-bottom: 50px solid #4c4948;
    border-left: 49vw solid transparent;
    border-right: 49vw solid transparent;
    content: "";
    position: absolute;
    top: -50px;
}

@media screen and (max-width: 768px) {
    footer::before {
        border-left: 48vw solid transparent;
        border-right: 48vw solid transparent;
    }

}

footer .inner {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /*margin: 0;*/
    /*max-width: unset;*/
    padding: 50px 0 0;
    position: relative;
    text-align: center;
    /*width: 100%;*/
}

footer .inner .mark {
    left: 50%;
    position: absolute;
    text-align: center;
    top: -5px;
    transform: translate(-50%, -50%);
}

footer .inner .mark img {
    width: 85px;
}

footer .inner .mark span {
    color: #ffffff;
    display: block;
    margin-top: 8px;
}

footer .inner .info {
    border-top: solid 1px #ffffff;
    color: #ffffff;
    font-family: Verdana, Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.6em;
    padding: 50px 0;
    text-align: center;
    width: 100%;
}

footer .inner .info ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}

footer .inner .info li {
    margin: 0 15px;
}

footer .inner .info li a {
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 1.5em;
}

footer .inner .info li a img {
    height: auto;
    width: 25px;
}

/**************************************
1100px以下
**************************************/
@media screen and (max-width: 1100px) {
    .inner_top>div:nth-of-type(2) {
        overflow: hidden;
        width: calc(100% - 240px);
    }

    .pl-17 {
        padding-left: 0;
    }
}

/**************************************
860px以下
**************************************/
@media screen and (max-width: 860px) {
    .inner860 {
        margin: 0 auto;
        width: 93%;
    }
}

/**************************************
768px以下
**************************************/
@media screen and (max-width: 768px) {
    .header {
        height: 50px;
    }

    #main-logo.move-start .logo-text-1 {
        display: none;
    }

    #main-logo.move-start .logo-text-2 {
        display: none;
    }

    .header .inner {
        margin: 0 auto 0;
    }

    .catch-1 {
        font-size: 1.6rem;
        letter-spacing: .4em;
    }

    .catch-2 {
        font-size: 1.2rem;
    }

    .section-all {
        padding-left: 0;
    }

    .section-all h2+div>ul li span {
        display: block;
    }

    #section-1 h2+div {
        flex-wrap: wrap;
    }

    #section-1 h2+div>div:nth-of-type(1) {
        margin-bottom: 15px;
        margin-right: 0;
        max-width: unset;
        width: 100%;
    }

    #section-1 h2+div>div:nth-of-type(1) img {
        width: 100%;
    }

    #section-1 h2+div>ul {
        width: 100%;
    }

    #section-1 li span {
        margin-bottom: 5px;
    }

    #section-2 strong+div {
        flex-wrap: wrap;
    }

    #section-2 strong+div>div:nth-of-type(1), #section-2 strong+div>div:nth-of-type(2) {
        margin-left: unset;
        width: 100%;
    }

    #section-2 h3+div {
        flex-wrap: wrap;
    }

    #section-2 div:nth-of-type(1) {
        margin-bottom: 10px;
        width: 100%;
    }

    #section-2-1-1 {
        margin-bottom: 35px;
        margin-right: unset;
        width: 100%;
    }

    #section-2-1-2 {
        width: 100%;
    }

    #section-2-1-2 div p {
        padding-top: 55%;
    }

    #section-2-2-2 {
        width: 100%;
    }

    #section-2-2-2 p:nth-of-type(2) {
        text-align: right;
    }

    .section-3-inner>div {
        flex-wrap: wrap;
    }

    .section-3-inner>div>div:nth-of-type(1) {
        border-bottom: solid 1px #4c4948;
        border-right: none;
        margin-bottom: 50px;
        margin-right: 0;
        position: relative;
        width: 100%;
    }

    #section-3-1 ul {
        width: 100%;
    }

    .section-3-inner>div>div:nth-of-type(1) strong {
        position: unset;
        transform: unset;
        transform-origin: unset;
    }

    #section-4 h3 {
        margin-bottom: 16px;
        margin-top: 20px;
    }

    #section-4>div {
        flex-wrap: wrap;
    }

    #section-4-1 {
        margin-right: 0;
        width: 100%;
    }

    #section-4-2 {
        width: 100%;
    }

    #section-5 h3 {
        margin-bottom: 25px;
    }

    #section-5-1>div:nth-of-type(1), #section-5-2>div:nth-of-type(1) {
        margin-bottom: 15px;
        padding-bottom: 10px;
    }

    #section-5-1>div:nth-of-type(1) img {
        height: 30px;
        width: auto;
    }

    #section-5-2>div:nth-of-type(1) p {
        padding-bottom: 5px;
    }

    #section-5-2>div:nth-of-type(1) img {
        height: 30px;
        width: auto;
    }

    #section-5>div {
        padding: 25px 0;
    }

    #section-5-1, #section-5-2 {
        flex-wrap: wrap;
    }

    #section-5-1>div:nth-of-type(1), #section-5-2>div:nth-of-type(1) {
        border-bottom: dashed 1px #4c4948;
        border-right: unset;
        margin-right: 0;
        padding-right: 0;
        width: 100%;
    }

    #section-5-1>div:nth-of-type(2), #section-5-2>div:nth-of-type(2) {
        width: 100%;
    }

    footer .inner {
        width: 93%;
    }

    footer .inner .info {
        text-align: center;
        width: 100%;
    }

    footer .inner .info img {
        margin: 0 auto 20px;
    }
}

/**************************************
720px以下
**************************************/
@media screen and (max-width: 720px) {
    .inner720 {
        padding: 0 3% 80px;
        width: 94%;
    }

    #lineup-deni {
        margin-bottom: 20px;
    }

    #lineup-deni li {
        width: 49%;
    }

    #lineup-deni img {
        height: auto;
    }

    #lineup-deni li:nth-of-type(3n) {
        margin-right: 2%;
    }

    #lineup-deni li:nth-of-type(2n) {
        margin-right: 0;
    }

    #lineup-deni li p:nth-of-type(2) {
        line-height: 1.2em;
    }

    #lineup-deni li p:nth-of-type(2) span {
        font-size: .9rem;
        line-height: 1.4em;
        margin-top: 5px;
    }

    #lineup-nav h2 {
        text-align: center;
    }

    #lineup-nav>div:nth-of-type(2)>div {
        align-items: center;
    }

    #lineup-nav>div:nth-of-type(2)>div>div {
        margin-right: 5%;
        width: 100px;
    }

    .lineup-insert {
        margin-bottom: 80px;
    }

    #lineup-drink {
        width: calc(95% - 100px);
    }

    #group-list>li {
        margin-bottom: 50px;
    }

    #group-list ul li {
        margin-bottom: 50px;
        margin-right: 8%;
        width: 46%;
    }

    #group-list>li img {
        height: auto;
    }

    #group-list ul li:nth-of-type(3n) {
        margin-right: 8%;
    }

    #group-list ul li:nth-of-type(2n) {
        margin-right: 0;
    }

    #concept {
        padding-top: 60px;
    }

    #concept-1 h2 {
        margin-bottom: 30px;
    }

    #concept-1 p:nth-of-type(1) {
        margin-bottom: 5px;
    }

    #concept-1>p:nth-of-type(1)::after {
        display: none;
    }

    #concept-1>div {
        flex-wrap: wrap;
    }

    #concept-1>div>div {
        text-align: center;
        width: 100%;
    }

    #concept-1>div p, #concept-1>p:nth-of-type(3) {
        width: 100%;
    }

    #concept-1>p:nth-of-type(3) {
        margin-top: 0;
    }

    #concept-1 p:nth-of-type(1) {
        margin-bottom: 0;
    }

    #concept-1>div>div p {
        padding-top: 70%;
    }

    #concept-1 p:nth-of-type(1) img {
        height: auto;
    }

    #group-list ul li {
        margin-bottom: 25px;
    }

    #group-list ul li.exception p {
        width: 46%;
    }
}

/**************************************
640px以下
**************************************/
@media screen and (max-width: 640px) {
    .inner860 {
        padding: 50px 0;
    }

    .logo-text-1 {
        display: none;
    }

    .inner_top {
        flex-wrap: wrap;
        position: relative;
    }

    .inner_top>div:nth-of-type(1) {
        width: 100%;
    }

    .inner_top>div:nth-of-type(2) {
        border-bottom-left-radius: 20px;
        /* display: none; */
        height: 280px;
        position: absolute;
        right: 0;
        top: 100px;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        max-width: 93%;
    }

    .inner_top>div:nth-of-type(2) img {
        border-bottom-left-radius: unset;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .inner_top>div:nth-of-type(1) {
        min-width: unset;
        padding-top: 110px;
    }

    #concept-head.inner_top>div:nth-of-type(1) {
        padding-top: 140px;
    }

    .inner_top>div:nth-of-type(1) h1 {
        line-height: 1.1em;
        margin-bottom: 20px;
        padding-top: 330px;
        text-align: center;
        width: 100%;
    }

    #concept-head .n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls {
        bottom: -35px;
    }

    #concept-head div#n2-ss-3 .n2-ss-slider-2 {
        border-bottom-left-radius: 20px;
    }

    #concept {
        padding-top: 0;
    }

    #concept h2 {
        font-size: 2rem;
        margin-bottom: 15px;
    }

    #concept-1 {
        margin-bottom: 60px;
    }

    #concept-1 p:nth-of-type(1) {
        margin-bottom: 10px;
    }

    #concept-1 p:nth-of-type(2) {
        font-size: 1rem;
        margin-bottom: 25px;
    }

    #concept-2>div {
        flex-wrap: wrap;
    }

    #concept-2>div p:nth-of-type(1), #concept-2>div p:nth-of-type(2) {
        width: 100%;
    }

    #concept-2>div p:nth-of-type(1) {
        margin-bottom: 20px;
        text-align: center;
    }

    #concept-2>div p:nth-of-type(1) img {
        max-width: 280px;
    }

    #concept-2 {
        margin-bottom: 50px;
    }

    #concept-3 {
        margin-bottom: 70px;
    }

    #concept-3 ul li div {
        flex-wrap: wrap;
    }

    #concept-3 ul li p:nth-of-type(1) {
        text-align: center;
        width: 100%;
    }

    #concept-3 ul li p:nth-of-type(2) {
        margin-top: 15px;
        text-align: center;
        width: 100%;
    }

    #concept-3 ul li img {
        height: 110px;
    }

    #lineup-deni li a:hover::after {
        display: none;
    }

    #lineup-drink li a:hover::after {
        display: none;
    }

    #cate-list>li {
        flex-wrap: wrap;
    }

    #cate-list.for_index>li {
        align-items: start;
    }

    #cate-list .thumbnail {
        margin: 0 15px 15px 0;
        width: 100%;
    }

    #cate-list.for_index .text {
        width: calc(67% - 15px);
    }

    #cate-list .thumbnail img {
        width: 100%;
    }

    #cate-list .text {
        width: 100%;
    }

    #lineup-drink {
        flex-wrap: wrap;
    }

    #lineup-drink li:nth-of-type(2) {
        margin-right: 0;
    }

    #lineup-deni li a {
        display: block;
        flex-wrap: wrap;
        text-align: center;
    }

    #lineup-deni li p:nth-of-type(1) {
        margin-right: 0;
        width: 100%;
    }

    #lineup-deni li p:nth-of-type(1) img {
        width: 80%;
    }

    #lineup-drink li {
        margin-right: 0;
        width: 100%;
    }

    #lineup-nav>div:nth-of-type(2)>div>div {
        width: 200px;
    }
}

/**************************************
480px以上
**************************************/
@media screen and (min-width: 480px) {
    .dsp480 {
        display: none;
    }
}

/**************************************
480px以下
**************************************/
@media screen and (max-width: 480px) {
    .inner {
        padding: 25px 0;
    }

    .inner_top>div:nth-of-type(1) h1 {
        font-size: 1.7rem;
    }

    #main-logo {
        top: 10px;
    }

    .header img {
        /* height: 45px; */
    }

    .header #main-logo.underpage span {
        bottom: -22px;
        font-size: 1rem;
        left: 0;
        line-height: 1.5em;
        text-align: left;
        width: 100%;
    }

    .dsp480 {
        display: inline;
    }

    .dsp480n {
        display: none;
    }

    .cd-section--bg-fixed:nth-child(2) {
        background-image: unset;
    }

    .cd-section--bg-fixed:nth-child(3) {
        background-image: unset;
    }

    .sec-2::before {
        background-image: url("img/image_291.jpg");
        background-position: center center;
        background-size: cover;
        content: "";
        display: block;
        height: 100vh;
        left: 0;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: -1;
    }

    .sec-3::before {
        background-image: url("img/image_247.jpg");
        background-position: center center;
        background-size: cover;
        content: "";
        display: block;
        height: 100vh;
        left: 0;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: -1;
    }

    .n2-ss-slider .n2-ss-slider-controls-below {
        bottom: -72px;
    }

    .n2-ss-slider {
        height: 300px;
    }

    .catch-1 {
        line-height: 1.7em;
        margin-bottom: 11px;
        padding-top: 50px;
    }

    .catch-2 {
        font-size: .5rem;
        letter-spacing: 1.2em;
        margin-top: 8px;
    }

    .n2-ss-slider .n2-ss-slider-controls-above, .n2-ss-slider .n2-ss-slider-controls-below {
        width: 100%;
    }

    #section-1 {
        margin-top: 80px;
    }

    #section-1 h2+div>div:nth-of-type(1) {
        margin-bottom: 25px;
    }

    #cate-list.for_index>li {
        align-items: flex-start;
    }

    #section-1 li:nth-last-of-type(1) {
        margin-bottom: 0;
    }

    #section-2 strong {
        font-size: 1.3rem;
        line-height: 1.5em;
    }

    #section-2 h3 {
        font-size: 1.6rem;
        line-height: 1.5em;
        margin: 35px 0 11px;
    }

    #section-2 strong+div>div:nth-of-type(2) {
        text-align: center;
    }

    #section-2 strong+div>div img {
        width: 83%;
    }

    #section-2-2 div:nth-of-type(1) {
        text-align: center;
    }

    #section-2-2 div:nth-of-type(1) img {
        width: 60%;
    }

    #section-2>div:nth-of-type(1) {
        margin-bottom: 37px;
    }

    #section-2 div:nth-of-type(1) strong+div>div:nth-of-type(1), #section-2 div:nth-of-type(2) strong+div>div:nth-of-type(2) {
        width: 100%;
    }

    #section-2 div:nth-of-type(2) strong+div>div:nth-of-type(1) {
        margin-right: unset;
        text-align: center;
        width: 100%;
    }

    #section-2 div:nth-of-type(1) strong+div>div:nth-of-type(2) {
        margin-left: unset;
        width: 100%;
    }

    #section-2 p {
        font-size: 1.3rem;
        line-height: 1.8em;
    }

    #section-2-2-2 p:nth-of-type(2) {
        text-align: right;
    }

    .section-3-inner {
        padding-top: 0;
    }

    .section-3-inner>div>div:nth-of-type(1) {
        margin-bottom: 25px;
    }

    #section-3-1 li {
        width: 100%;
    }

    #section-3-1 li a p:nth-of-type(1), #section-3-2>div:nth-of-type(2)>div {
        width: 100%;
    }

    #section-3-1 li img, #section-3-2 img {
        max-height: 160px;
        max-width: 120px;
    }

    #section-3-2>div:nth-of-type(2) {
        width: 100%;
    }

    #section-3-2 li {
        margin-bottom: 25px;
        width: 100%;
    }

    #section-4 h3 {
        font-size: 1.5rem;
    }

    #section-4 h3 img {
        display: none;
        margin-bottom: 10px;
    }

    #cate-list .thumbnail {
        margin: 0 0 15px 0;
    }

    #cate-list.for_index .thumbnail {
        margin: 0 15px 15px 0;
    }

    footer::before {
        border-bottom: 35px solid #4c4948;
        top: -35px;
    }

    footer .inner .mark {
        top: 6px;
        width: 100%;
    }

    footer .inner .info {
        line-height: 2.4em;
        padding: 25px 0;
    }

    footer .inner .info ul {
        flex-wrap: wrap;
    }

    footer .inner .info img {
        margin: 0 auto;
        vertical-align: middle;
    }
}


.un_lineup_drinkTable {
    margin: auto;
    width: 100%;
    table-layout: fixed;
}

.un_lineup_drinkTable_col {
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: normal;
    padding: .5em 1em;
}

@media (max-width: 999px) {
    .un_lineup_drinkTable_col {
        font-size: 1.4rem;
        line-height: 1.6;
        font-weight: normal;
        padding: .2em .5em;
    }
}

.un_lineup_drinkTable_col__1 {}

.un_lineup_drinkTable_col__2 {
    width: 7em;
}

.un_lineup_drinkTable_col__3 {
    width: 4em;
    text-align: right;
}