html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: normal;
  line-height: inherit;
  text-decoration: none;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, picture,
footer, header, menu, nav, section, main, canvas, picture {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

input, textarea {
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  padding: 0; }

select, option, button {
  font-family: inherit;
  font-size: inherit; }

input.styleReset, button.styleReset, textarea.styleReset, select.styleReset {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box; }

ul, ol, li {
  list-style: none;
  margin: 0;
  padding: 0; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  text-decoration: none;
  vertical-align: baseline; }

html {
  font-size: calc(10vw / 3.75);
  -webkit-font-smoothing: antialiased; }

body {
  color: #191919;
  font-family: "Outfit", "Zen Kaku Gothic New", serif;
  font-size: 1.5rem;
  line-height: 1;
  background-color: #ffffff;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

body.lock,
body.loading {
  overflow: hidden;
  width: 100vw;
  height: 100vh; }

@media screen and (min-width: 751px) {
  html {
    font-size: 8px; }

  body {
    min-width: 1230px;
    font-size: 1.6rem;
    line-height: 1; } }
@media screen and (min-width: 1400px) {
  html {
    font-size: 10px; } }
* {
  -webkit-tap-highlight-color: transparent; }

a,
a:link,
a:visited {
  cursor: pointer;
  color: inherit;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  text-decoration: none; }

p, dt, dd, li {
  word-break: break-word;
  word-wrap: normal; }

img {
  max-width: 100%;
  vertical-align: top; }

picture img {
  display: block;
  width: 100%;
  height: auto; }

button {
  cursor: pointer;
  font-family: inherit; }

.ib {
  display: inline-block;
  line-height: inherit;
  font-weight: inherit; }

.accordionTrigger {
  cursor: pointer;
  display: block; }

.accordionContent {
  display: none; }

.en {
  font-family: "Outfit", "Zen Kaku Gothic New", serif; }

.en2 {
  font-family: "Outfit", "Zen Kaku Gothic New", serif; }

.slide .item {
  opacity: 0;
  position: absolute;
  top: 0; }
  .slide .item:first-child {
    opacity: 1;
    position: relative; }
.slide.slick-initialized .item {
  opacity: 1;
  position: relative; }
.slide .slick-dots {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: absolute;
  top: calc(100% + 1rem);
  left: 8.6rem; }
  .slide .slick-dots li {
    overflow: hidden;
    flex-basis: 6px;
    flex-shrink: 0;
    margin: 0 9px 0 0; }
    .slide .slick-dots li button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 50%;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      box-sizing: border-box;
      display: block;
      cursor: pointer;
      width: 6px;
      height: 6px;
      text-indent: -9999em;
      background-color: #BEBABA;
      transition: background-color 0.2s ease-out; }
    .slide .slick-dots li button:hover, .slide .slick-dots li.slick-active button {
      background-color: #5EDAB3; }
.slide .slick-arrow {
  cursor: pointer;
  position: absolute;
  bottom: -1.5rem;
  z-index: 10;
  width: 2.6rem;
  height: 2.6rem;
  text-indent: -9999em;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  background: url(../images/icon_next.svg) center center no-repeat;
  background-size: contain; }
  .slide .slick-arrow.slick-prev {
    left: 1rem;
    background: url(../images/icon_prev.svg) center center no-repeat;
    background-size: contain; }
  .slide .slick-arrow.slick-next {
    left: 4rem; }

.moverLine .line {
  position: relative;
  background-image: linear-gradient(90deg, #191919, #191919);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: lineMove 0.2s ease-out; }

@media screen and (min-width: 751px) {
  .slide .slick-dots {
    top: calc(100% + 2.5rem);
    left: 20rem; }
    .slide .slick-dots li {
      flex-basis: 10px;
      margin: 0 15px 0 0; }
      .slide .slick-dots li button {
        width: 10px;
        height: 10px; }
  .slide .slick-arrow {
    bottom: -3.5rem;
    width: 5rem;
    height: 5rem; }
    .slide .slick-arrow.slick-prev {
      left: 7rem; }
    .slide .slick-arrow.slick-next {
      left: 13rem; }

  /* mover */
  .mover {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
    .mover:hover {
      opacity: 0.7; }

  .moverContent > * {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
  .moverContent:hover > * {
    opacity: 0.7; } }
.modePC,
.modePCib {
  display: none; }
  .modePC.important,
  .modePCib.important {
    display: none !important; }

.modeSP {
  display: block; }
  .modeSP.important {
    display: block !important; }

@media screen and (min-width: 751px) {
  .modePC {
    display: block; }
    .modePC.important {
      display: block !important; }

  .modePCib {
    display: inline-block; }
    .modePCib.important {
      display: inline-block !important; }

  .modeSP {
    display: none; }
    .modeSP.important {
      display: none !important; } }
@keyframes bgloop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 195px 0; } }
@keyframes move {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-30px); }
  100% {
    transform: translateY(0); } }
@keyframes elasticus {
  0% {
    transform-origin: 0% 0%;
    transform: scale(1, 0); }
  50% {
    transform-origin: 0% 0%;
    transform: scale(1, 1); }
  50.1% {
    transform-origin: 0% 100%;
    transform: scale(1, 1); }
  100% {
    transform-origin: 0% 100%;
    transform: scale(1, 0); } }
@keyframes lineMove {
  0% {
    background-size: 0 2px; }
  50% {
    background-size: 0 2px; }
  100% {
    background-size: 100% 2px; } }
@keyframes wave {
  0% {
    transform: scale(0.95);
    opacity: 1; }
  90% {
    opacity: .1; }
  100% {
    transform: scale(1.2, 1.4);
    opacity: 0; } }
#wrapper {
  transition: opacity 0.3s; }
  .load_complete #wrapper {
    opacity: 1; }

.contentInner {
  width: calc(335 / 375 * 100%);
  margin: auto; }

.scrollPosition {
  margin-top: calc(-30 / 375 * 100%) !important;
  padding-top: calc(30 / 375 * 100%) !important; }

.fadeContent {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.4s ease; }

.fadeContent.current {
  opacity: 1;
  transform: translateY(0); }

#main {
  overflow: hidden; }

@media screen and (min-width: 751px) {
  .contentInner {
    width: 100%;
    max-width: 1700px;
    padding: 0 20px;
    box-sizing: border-box; }

  .scrollPosition {
    margin-top: -50px !important;
    padding-top: 50px !important; } }
/* boxType01 */
.boxType01:before, .boxType01:after {
  content: "";
  display: block;
  background: url(../images/bg_box_top_sp.png) center top no-repeat;
  background-size: 100% auto;
  aspect-ratio: 670 / 40; }
.boxType01:after {
  background: url(../images/bg_box_bottom_sp.png) center bottom no-repeat;
  background-size: 100% auto; }
.boxType01 .boxInner {
  background-color: #ffffff;
  margin: -2px 0;
  padding: 1px calc(10 / 335 * 100%); }

@media screen and (min-width: 751px) {
  .boxType01:before, .boxType01:after {
    background: url(../images/bg_box_top.png) center top no-repeat;
    background-size: 100% auto;
    aspect-ratio: 1660 / 50; }
  .boxType01:after {
    background: url(../images/bg_box_bottom.png) center bottom no-repeat;
    background-size: 100% auto; }
  .boxType01 .boxInner {
    padding: 1px calc(130 / 1660* 100%); } }
/* parts */
.parts {
  position: relative;
  transform: translateY(0);
  transition: all 0.6s ease 0.2s; }
  .parts .illust {
    position: absolute;
    top: 0; }
    .parts .illust.illust01 {
      right: 0;
      width: calc(150 / 315 * 100%);
      margin: calc(-70 / 315 * 100%) calc(-34 / 315 * 100%) 0 0; }
    .parts .illust.illust02 {
      right: 0;
      width: calc(141 / 315 * 100%);
      margin: calc(-85 / 315 * 100%) calc(-17 / 315 * 100%) 0 0; }
    .parts .illust.illust03 {
      right: 0;
      width: calc(141 / 315 * 100%);
      margin: calc(-53 / 315 * 100%) calc(-12 / 315 * 100%) 0 0; }

@media screen and (min-width: 751px) {
  .parts .illust.illust01 {
    left: 0;
    right: auto;
    width: calc(446 / 1400 * 100%);
    margin: calc(-380 / 1400 * 100%) 0 0 calc(-63 / 1400 * 100%); }
  .parts .illust.illust02 {
    right: 0;
    width: calc(420 / 1400 * 100%);
    margin: calc(-260 / 1400 * 100%) calc(-171 / 1400 * 100%) 0 0; }
  .parts .illust.illust03 {
    left: 0;
    right: auto;
    width: calc(420 / 1400 * 100%);
    margin: calc(-280 / 1400 * 100%) 0 0 calc(-231 / 1400 * 100%); } }
/* loading */
#loading {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000000;
  background-color: #46B982; }

.ball-pulse-sync > div {
  display: inline-block;
  width: 15px;
  height: 15px;
  background-color: #ffffff;
  margin: 10px;
  border-radius: 100%;
  animation-fill-mode: both; }

.ball-pulse-sync > div:nth-child(1) {
  animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(2) {
  animation: ball-pulse-sync 0.6s -70ms infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(3) {
  animation: ball-pulse-sync 0.6s 0s infinite ease-in-out; }

@keyframes ball-pulse-sync {
  33% {
    transform: translateY(10px); }
  66% {
    transform: translateY(-10px); }
  100% {
    transform: translateY(0); } }
/* animate */
.animate {
  opacity: 0;
  transform: scale(0.6);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s; }
  .animate.current {
    opacity: 1;
    transform: scale(1); }

/* firstContent */
#firstContent .content {
  position: relative;
  background: url(../images/frame_mv_sp.jpg) center center no-repeat;
  background-size: contain;
  margin: 0 0 calc(10 / 375 * 100%) 0;
  aspect-ratio: 750 / 1490; }
#firstContent .bg {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  transition: all 0.6s ease-out 0.6s; }
#firstContent .wrap {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  transition: all 0.6s ease-out 1.2s; }
  #firstContent .wrap .intro {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 1.3rem;
    line-height: 1.69;
    letter-spacing: 0.05em;
    text-align: center;
    margin: 0 0 calc(130 / 375 * 100%) 0; }
#firstContent #open {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  text-align: center;
  transition: all 0.6s ease-out 1.2s; }
  #firstContent #open .str {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: calc(250 / 375 * 100%);
    position: relative;
    color: #ffffff;
    font-size: 1.3rem;
    line-height: 1.62;
    font-weight: 600;
    letter-spacing: 0.05em;
    background: url(../images/bg_band.svg) center top no-repeat;
    background-size: contain;
    margin: calc(13 / 375 * 100%) auto 0 auto;
    padding: 0 0 0.3rem 0;
    box-sizing: border-box;
    aspect-ratio: 780 / 100; }
    #firstContent #open .str .num {
      display: block;
      font-size: 2.6rem;
      line-height: 1;
      font-weight: 600;
      letter-spacing: 0;
      margin: 0 0.25em; }
.load_complete #firstContent .bg {
  opacity: 1; }
.load_complete #firstContent .wrap {
  opacity: 1; }
.load_complete #firstContent #open.active {
  opacity: 1; }

@media screen and (min-width: 751px) {
  #firstContent .content {
    background: url(../images/frame_mv.jpg) center center no-repeat;
    background-size: contain;
    margin: 0 0 calc(30 / 1800 * 100%) 0;
    aspect-ratio: 3600 / 1950; }
  #firstContent .wrap .intro {
    font-size: 1.8rem;
    line-height: 1.89;
    letter-spacing: 0.05em;
    margin: 0 0 calc(114 / 1800 * 100%) 0; }
  #firstContent #open .str {
    width: calc(780 / 1800 * 100%);
    max-width: 780px;
    font-size: 2.5vw;
    letter-spacing: 0;
    margin: calc(39 / 1800 * 100%) auto 0 auto;
    padding: 0 0 0.7rem 0; }
    #firstContent #open .str .num {
      font-size: 4.722vw;
      font-weight: 600;
      margin: 0 0.05em; } }
/* innerNav */
#innerNav .list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: calc(308 / 335 * 100%);
  margin: 0 auto;
  padding: calc(50 / 335 * 100%) 0 0 0; }
  #innerNav .list .item {
    flex-basis: calc(140 / 308 * 100%);
    margin: 0 0 calc(35 / 308 * 100%) calc(28 / 308 * 100%); }
    #innerNav .list .item:nth-child(2n+1) {
      margin-left: 0; }
    #innerNav .list .item:nth-child(3), #innerNav .list .item:nth-child(4) {
      margin-bottom: calc(15 / 308 * 100%); }
    #innerNav .list .item.itemButton a {
      width: calc(120 / 140 * 100%);
      margin: auto; }
    #innerNav .list .item a {
      display: block;
      position: relative; }
      #innerNav .list .item a .balloon {
        position: absolute;
        bottom: 100%;
        left: -50%;
        right: -50%;
        width: calc(120 / 140 * 100%);
        margin: auto; }
        #innerNav .list .item a .balloon.balloon3 {
          width: calc(175 / 140 * 100%); }
#innerNav .buttonWrap {
  width: calc(315 / 335 * 100%);
  margin: 0 auto calc(30 / 335 * 100%) auto; }
  #innerNav .buttonWrap .item {
    margin: 0 0 calc(20 / 315 * 100%) 0; }
    #innerNav .buttonWrap .item.about .button {
      color: #ffffff;
      background-color: #09AD73; }
      #innerNav .buttonWrap .item.about .button .en {
        color: #84F0CE; }
    #innerNav .buttonWrap .item.lineup .button {
      color: #191919;
      background-color: #B1F0DC; }
      #innerNav .buttonWrap .item.lineup .button .en {
        color: #09AD73; }
      #innerNav .buttonWrap .item.lineup .button .ja {
        letter-spacing: -0.08em; }
    #innerNav .buttonWrap .item .button {
      display: block;
      position: relative;
      text-align: center;
      font-size: 1.6rem;
      line-height: 1;
      font-weight: 700;
      letter-spacing: 0.01em;
      padding: 1.6rem 0 1.6rem 0; }
      #innerNav .buttonWrap .item .button .en {
        display: block;
        font-size: 1.8rem;
        line-height: 1.33;
        font-weight: 700;
        letter-spacing: 0.03em; }
      #innerNav .buttonWrap .item .button .icon {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 1rem;
        width: 3rem;
        height: 3rem;
        background: url(../images/icon_down.svg) center center no-repeat;
        background-size: contain;
        margin: auto; }

@media screen and (min-width: 751px) {
  #innerNav .contentInner {
    max-width: 1440px; }
  #innerNav .list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto calc(40 / 1400 * 100%) auto;
    padding: calc(94 / 1400 * 100%) 0 0 0; }
    #innerNav .list .item {
      flex-basis: calc(160 / 1240 * 100%);
      margin: 0; }
      #innerNav .list .item:nth-child(3), #innerNav .list .item:nth-child(4) {
        margin-bottom: 0; }
      #innerNav .list .item.itemButton {
        flex-basis: calc(140 / 1240 * 100%); }
        #innerNav .list .item.itemButton a {
          width: 100%;
          margin: 0; }
      #innerNav .list .item a {
        display: block;
        position: relative; }
        #innerNav .list .item a .balloon {
          position: absolute;
          bottom: 100%;
          left: -50%;
          right: -50%;
          width: calc(90 / 140 * 100%);
          margin: auto; }
          #innerNav .list .item a .balloon.balloon3 {
            width: calc(131 / 140 * 100%); }
  #innerNav .buttonWrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1060px;
    margin: 0 auto calc(60 / 1400 * 100%) auto; }
    #innerNav .buttonWrap .item {
      flex-basis: calc(500 / 1060 * 100%);
      margin: 0; }
      #innerNav .buttonWrap .item .button {
        font-size: 2.4rem;
        line-height: 1;
        font-weight: 700;
        letter-spacing: 0.01em;
        padding: 1.5rem 0 1.5rem 0; }
        #innerNav .buttonWrap .item .button .en {
          display: inline-block;
          font-size: 2.6rem;
          line-height: 1;
          letter-spacing: 0.03em;
          margin: 0 0.5em 0; }
        #innerNav .buttonWrap .item .button .icon {
          right: 2rem;
          width: 3rem;
          height: 3rem; } }
/* about */
#about .contentInner {
  width: calc(315 / 375 * 100%); }
#about .slideWrap {
  margin: 0 0 3rem 0;
  padding: calc(30 / 335 * 100%) 0 0 0; }
  #about .slideWrap .slide {
    aspect-ratio: 1600 / 1000; }
    #about .slideWrap .slide .slick-arrow.slick-prev {
      left: 2rem; }
    #about .slideWrap .slide .slick-arrow.slick-next {
      left: 5rem; }
#about .textWrap {
  padding: calc(25 / 335 * 100%) 0 0 0; }
  #about .textWrap .head {
    position: relative;
    margin: 0 0 calc(20 / 335 * 100%) 0; }
    #about .textWrap .head .title {
      position: absolute;
      top: 0;
      right: 0;
      color: #84F0CE;
      writing-mode: vertical-rl; }
      #about .textWrap .head .title .line {
        display: inline-block;
        position: relative;
        font-size: 2.6rem;
        line-height: 1.35;
        letter-spacing: 0.16em;
        font-weight: 300;
        padding: 0.1em 0 0.3em 0.2em; }
        #about .textWrap .head .title .line:after {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 2px;
          background: url(../images/bg_line01.svg) left bottom no-repeat;
          background-size: 100% auto; }
        #about .textWrap .head .title .line span:nth-of-type(2n) {
          color: #46B982; }
    #about .textWrap .head .copy {
      color: #46B982;
      font-size: 1.8rem;
      line-height: 1.44;
      letter-spacing: 0.01em;
      font-weight: 500;
      padding: 0 calc(47 / 335 * 100%) 0 0; }
  #about .textWrap .desc {
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: 0.05em;
    margin: 0 0 calc(55 / 315 * 100%) 0; }

@media screen and (min-width: 751px) {
  #about .contentInner {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1440px;
    padding-top: calc(60 / 1800 * 100%); }
  #about .slideWrap {
    width: calc(800 / 1400 * 100%);
    margin: 0 0 3.5rem 0;
    padding: 0; }
    #about .slideWrap .slide .slick-arrow.slick-prev {
      left: 7rem; }
    #about .slideWrap .slide .slick-arrow.slick-next {
      left: 13rem; }
  #about .textWrap {
    width: calc(500 / 1400 * 100%);
    min-width: 500px;
    padding: calc(30 / 1400 * 100%) 0 0 calc(100 / 1400 * 100%); }
    #about .textWrap .head {
      margin: 0 0 calc(28 / 500 * 100%) 0; }
      #about .textWrap .head .title {
        bottom: 0; }
        #about .textWrap .head .title .line {
          display: block;
          font-size: 3rem;
          line-height: 1.33;
          padding: 0.1em 0 0.3em 0.2em; }
          #about .textWrap .head .title .line:after {
            width: 2px;
            background: url(../images/bg_line01.svg) left bottom no-repeat;
            background-size: 100% auto; }
      #about .textWrap .head .copy {
        font-size: 3rem;
        line-height: 1.47;
        padding: 0; }
    #about .textWrap .desc {
      font-size: 1.6rem;
      line-height: 1.88;
      margin: 0 0 calc(180 / 500 * 100%) 0; } }
/* shop_lineup */
#shop_lineup .content {
  background-color: #B1F0DC;
  padding: calc(20 / 375 * 100%) 0 0 0; }
#shop_lineup .box .titleWrap {
  text-align: center;
  padding: calc(14 / 315 * 100%) 0 calc(38 / 315 * 100%) 0; }
  #shop_lineup .box .titleWrap.current .title .line:after {
    width: 100%; }
  #shop_lineup .box .titleWrap .copy {
    font-size: 1.6rem;
    line-height: 1.31;
    letter-spacing: 0.05em;
    font-weight: 500; }
  #shop_lineup .box .titleWrap .title {
    color: #46B982; }
    #shop_lineup .box .titleWrap .title .line {
      display: inline-block;
      position: relative;
      font-size: 2.8rem;
      line-height: 1.32;
      letter-spacing: 0.16em;
      font-weight: 300;
      padding: 0.15em 0.15em 0.2em 0.15em; }
      #shop_lineup .box .titleWrap .title .line:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 2px;
        background: url(../images/bg_line02.svg) left bottom repeat-x;
        background-size: auto 100%;
        transition: all 0.4s ease-out 0.4s; }
      #shop_lineup .box .titleWrap .title .line span:nth-of-type(2n) {
        color: #23774F; }
  #shop_lineup .box .titleWrap .ja {
    font-size: 1.4rem;
    line-height: 1.36;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 0.7em 0 0 0; }
#shop_lineup .box .shop {
  position: relative;
  z-index: 2;
  margin: 0 0 calc(63 / 315 * 100%) 0; }
  #shop_lineup .box .shop:last-of-type {
    margin: 0 0 calc(35 / 315 * 100%) 0; }
  #shop_lineup .box .shop .textWrap .head {
    width: calc(295 / 315 * 100%);
    margin: auto; }
    #shop_lineup .box .shop .textWrap .head .mark {
      display: block;
      position: relative;
      width: calc(130 / 295 * 100%);
      color: #ffffff;
      font-size: 1.7rem;
      line-height: 1;
      font-weight: 600;
      letter-spacing: 0.02em;
      text-align: center;
      background-color: #E31C1C;
      padding: 0.5em 0 0.4em 0;
      box-sizing: border-box; }
      #shop_lineup .box .shop .textWrap .head .mark:before, #shop_lineup .box .shop .textWrap .head .mark:after {
        content: "";
        position: absolute;
        top: 0.2em;
        bottom: 0.2em;
        left: 0.3em;
        width: 1px;
        background-color: #ffffff; }
      #shop_lineup .box .shop .textWrap .head .mark:after {
        left: auto;
        right: 0.3em; }
    #shop_lineup .box .shop .textWrap .head .name {
      font-size: 2.4rem;
      line-height: 1;
      font-weight: 500;
      letter-spacing: 0.03em;
      padding: calc(26 / 295 * 100%) 0 calc(21 / 295 * 100%) 0; }
  #shop_lineup .box .shop .textWrap .intro {
    width: calc(295 / 315 * 100%);
    font-size: 1.3rem;
    line-height: 1.77;
    letter-spacing: 0.05em;
    margin: 0 auto calc(20 / 315 * 100%) auto; }
  #shop_lineup .box .shop .textWrap .info .schedule {
    width: calc(295 / 315 * 100%);
    margin: 0 auto calc(30 / 315 * 100%) auto; }
    #shop_lineup .box .shop .textWrap .info .schedule .inner {
      display: flex;
      align-items: center;
      background-color: #E1F2ED; }
      #shop_lineup .box .shop .textWrap .info .schedule .inner .image {
        flex-basis: calc(115 / 295 * 100%); }
      #shop_lineup .box .shop .textWrap .info .schedule .inner .textBox {
        flex-basis: calc(180 / 295 * 100%);
        padding: 0 calc(15 / 295 * 100%);
        box-sizing: border-box; }
        #shop_lineup .box .shop .textWrap .info .schedule .inner .textBox .period {
          font-size: 1.5rem;
          line-height: 1.6;
          font-weight: 500;
          margin: 0 0 1rem 0;
          padding: 0 0 1rem 0;
          border-bottom: 1px solid #191919; }
        #shop_lineup .box .shop .textWrap .info .schedule .inner .textBox .headline {
          font-size: 1.3rem;
          line-height: 1.69;
          font-weight: 500;
          letter-spacing: 0; }
  #shop_lineup .box .shop .textWrap .info .slideWrap {
    margin: 0 0 4.5rem 0; }
    #shop_lineup .box .shop .textWrap .info .slideWrap .slide {
      aspect-ratio: 1400 / 1120; }
  #shop_lineup .box .shop .textWrap .info .menu {
    position: relative;
    width: calc(295 / 315 * 100%);
    background-color: #ffffff;
    margin: 0 auto calc(10 / 315 * 100%) auto;
    border: 1px solid #707070;
    border-radius: 3rem;
    box-sizing: border-box; }
    #shop_lineup .box .shop .textWrap .info .menu .menuItem {
      padding: 3.5rem 3rem;
      border-radius: 3rem;
      box-sizing: border-box; }
    #shop_lineup .box .shop .textWrap .info .menu .mark {
      display: inline-block;
      position: absolute;
      top: 0;
      left: 0;
      color: #ffffff;
      font-size: 1.8rem;
      line-height: 1;
      font-weight: 500;
      text-align: center;
      background-color: #E31C1C;
      margin: 0 0 0 calc(33 / 315 * 100%);
      padding: 0.3em 1.2em 0.4em 1.2em;
      box-sizing: border-box; }
      #shop_lineup .box .shop .textWrap .info .menu .mark.small {
        font-size: 1.5rem;
        line-height: 1;
        padding: 0.5em 1.2em 0.5em 1.2em; }
      #shop_lineup .box .shop .textWrap .info .menu .mark:before, #shop_lineup .box .shop .textWrap .info .menu .mark:after {
        content: "";
        position: absolute;
        top: 0.2em;
        bottom: 0.2em;
        left: 0.3em;
        width: 1px;
        background-color: #ffffff; }
      #shop_lineup .box .shop .textWrap .info .menu .mark:after {
        left: auto;
        right: 0.3em; }
      #shop_lineup .box .shop .textWrap .info .menu .mark + .name {
        padding: 1rem 0 0 0; }
    #shop_lineup .box .shop .textWrap .info .menu .name {
      font-size: 2rem;
      line-height: 1.3;
      font-weight: 500;
      letter-spacing: 0.03em; }
    #shop_lineup .box .shop .textWrap .info .menu .price {
      padding: 0.5rem 0 0 0; }
      #shop_lineup .box .shop .textWrap .info .menu .price .small {
        font-size: 1.4rem;
        line-height: 1.71;
        font-weight: 500;
        letter-spacing: 0.03em; }
      #shop_lineup .box .shop .textWrap .info .menu .price .num {
        font-size: 2rem;
        line-height: 1.2;
        font-weight: 500;
        letter-spacing: 0.03em; }
      #shop_lineup .box .shop .textWrap .info .menu .price .unit {
        font-size: 1.4rem;
        line-height: 1.71;
        font-weight: 500;
        letter-spacing: 0.03em; }
    #shop_lineup .box .shop .textWrap .info .menu .desc {
      font-size: 1.4rem;
      line-height: 1.43;
      letter-spacing: 0.05em;
      padding: 1.7rem 0 0 0; }
  #shop_lineup .box .shop .textWrap .info .link {
    width: calc(295 / 315 * 100%);
    margin: auto; }
    #shop_lineup .box .shop .textWrap .info .link a {
      display: block;
      position: relative;
      width: calc(200 / 295 * 100%); }
      #shop_lineup .box .shop .textWrap .info .link a .icon {
        display: block;
        position: absolute;
        top: 0.5rem;
        bottom: 0;
        left: calc(100% + 2rem);
        width: 4.2rem;
        height: 5.4rem;
        background: url(../images/icon_more.svg) left bottom no-repeat;
        background-size: contain;
        margin: auto; }
#shop_lineup .note {
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-align: center;
  padding: calc(11 / 335 * 100%) 0; }

@media screen and (min-width: 751px) {
  #shop_lineup .content {
    padding: 70px 0 25px 0; }
  #shop_lineup .box .titleWrap {
    padding: calc(18 / 1400 * 100%) 0 calc(62 / 1400 * 100%) 0; }
    #shop_lineup .box .titleWrap .copy {
      font-size: 2.6rem;
      line-height: 1.23; }
    #shop_lineup .box .titleWrap .title .line {
      font-size: 6rem;
      line-height: 1.33;
      padding: 0.08em 0.05em 0.05em 0.05em; }
    #shop_lineup .box .titleWrap .ja {
      font-size: 2.6rem;
      line-height: 1.42;
      padding: 0.4em 0 0 0; }
  #shop_lineup .box .shop {
    position: relative;
    width: calc(1320 / 1400 * 100%);
    margin: 0 0 calc(167 / 1400 * 100%) 0; }
    #shop_lineup .box .shop:last-of-type {
      margin-bottom: calc(55 / 1400 * 100%); }
    #shop_lineup .box .shop#shop01, #shop_lineup .box .shop#shop03, #shop_lineup .box .shop#shop05 {
      margin-left: auto; }
      #shop_lineup .box .shop#shop01 .textWrap .info .slideWrap .slide .slick-dots, #shop_lineup .box .shop#shop03 .textWrap .info .slideWrap .slide .slick-dots, #shop_lineup .box .shop#shop05 .textWrap .info .slideWrap .slide .slick-dots {
        left: auto;
        right: 0; }
        #shop_lineup .box .shop#shop01 .textWrap .info .slideWrap .slide .slick-dots li, #shop_lineup .box .shop#shop03 .textWrap .info .slideWrap .slide .slick-dots li, #shop_lineup .box .shop#shop05 .textWrap .info .slideWrap .slide .slick-dots li {
          margin: 0 0 0 15px; }
      #shop_lineup .box .shop#shop01 .textWrap .info .slideWrap .slide .slick-arrow.slick-prev, #shop_lineup .box .shop#shop03 .textWrap .info .slideWrap .slide .slick-arrow.slick-prev, #shop_lineup .box .shop#shop05 .textWrap .info .slideWrap .slide .slick-arrow.slick-prev {
        left: auto;
        right: calc(80px + 6rem); }
      #shop_lineup .box .shop#shop01 .textWrap .info .slideWrap .slide .slick-arrow.slick-next, #shop_lineup .box .shop#shop03 .textWrap .info .slideWrap .slide .slick-arrow.slick-next, #shop_lineup .box .shop#shop05 .textWrap .info .slideWrap .slide .slick-arrow.slick-next {
        left: auto;
        right: 80px; }
    #shop_lineup .box .shop#shop02 .textWrap, #shop_lineup .box .shop#shop04 .textWrap, #shop_lineup .box .shop#shop06 .textWrap {
      margin-left: auto; }
      #shop_lineup .box .shop#shop02 .textWrap .info .slideWrap, #shop_lineup .box .shop#shop04 .textWrap .info .slideWrap, #shop_lineup .box .shop#shop06 .textWrap .info .slideWrap {
        left: 0;
        right: auto; }
      #shop_lineup .box .shop#shop02 .textWrap .info .menu, #shop_lineup .box .shop#shop04 .textWrap .info .menu, #shop_lineup .box .shop#shop06 .textWrap .info .menu {
        margin: calc(10 / 1320 * 100%) 0 0 calc(-380 / 1320 * 100%); }
      #shop_lineup .box .shop#shop02 .textWrap .info .link a, #shop_lineup .box .shop#shop04 .textWrap .info .link a, #shop_lineup .box .shop#shop06 .textWrap .info .link a {
        margin-left: auto; }
    #shop_lineup .box .shop .textWrap {
      width: calc(500 / 1320 * 100%); }
      #shop_lineup .box .shop .textWrap .head {
        position: relative;
        width: 100%;
        margin: 0; }
        #shop_lineup .box .shop .textWrap .head .mark {
          position: absolute;
          top: 0;
          left: 0;
          width: auto;
          font-size: 2rem;
          line-height: 1;
          padding: 0.4em 0.8em 0.4em 0.8em; }
          #shop_lineup .box .shop .textWrap .head .mark:before, #shop_lineup .box .shop .textWrap .head .mark:after {
            content: "";
            position: absolute;
            top: 0.2em;
            bottom: 0.2em;
            left: 0.3em;
            width: 1px;
            background-color: #ffffff; }
          #shop_lineup .box .shop .textWrap .head .mark:after {
            left: auto;
            right: 0.3em; }
        #shop_lineup .box .shop .textWrap .head .name {
          font-size: 4rem;
          line-height: 1;
          padding: calc(69 / 500 * 100%) 0 calc(24 / 500 * 100%) 0; }
      #shop_lineup .box .shop .textWrap .intro {
        width: 100%;
        font-size: 1.6rem;
        line-height: 1.75;
        margin: 0 0 calc(36 / 500 * 100%) 0; }
      #shop_lineup .box .shop .textWrap .info .schedule {
        position: absolute;
        width: calc(345 / 1320 * 100%);
        margin: 0; }
        #shop_lineup .box .shop .textWrap .info .schedule .inner .image {
          flex-basis: calc(145 / 345 * 100%); }
        #shop_lineup .box .shop .textWrap .info .schedule .inner .textBox {
          flex-basis: calc(200 / 345 * 100%);
          padding: 0 calc(10 / 345 * 100%); }
          #shop_lineup .box .shop .textWrap .info .schedule .inner .textBox .period {
            margin: 0 0 0.6rem 0;
            padding: 0 0 0.6rem 0; }
      #shop_lineup .box .shop .textWrap .info .slideWrap {
        position: absolute;
        top: 0;
        right: 0;
        width: calc(700 / 1320 * 100%);
        margin: 0 0 4.5rem 0; }
      #shop_lineup .box .shop .textWrap .info .menu {
        position: absolute;
        width: calc(500 / 1320 * 100%);
        margin: calc(10 / 1320 * 100%) 0 0 calc(380 / 1320 * 100%); }
        #shop_lineup .box .shop .textWrap .info .menu .menuItem {
          padding: 4.2rem 2.5rem; }
        #shop_lineup .box .shop .textWrap .info .menu .mark {
          font-size: 2rem;
          line-height: 1;
          margin: 0 0 0 calc(35 / 340 * 100%);
          padding: 0.3em 1.8em 0.5em 1.8em; }
          #shop_lineup .box .shop .textWrap .info .menu .mark.small {
            font-size: 1.8rem;
            line-height: 1;
            padding: 0.5em 0.8em 0.5em 0.8em; }
          #shop_lineup .box .shop .textWrap .info .menu .mark:before, #shop_lineup .box .shop .textWrap .info .menu .mark:after {
            content: "";
            position: absolute;
            top: 0.2em;
            bottom: 0.2em;
            left: 0.3em;
            width: 1px;
            background-color: #ffffff; }
          #shop_lineup .box .shop .textWrap .info .menu .mark:after {
            left: auto;
            right: 0.3em; }
          #shop_lineup .box .shop .textWrap .info .menu .mark + .name {
            padding: 0.8rem 0 0 0; }
        #shop_lineup .box .shop .textWrap .info .menu .name {
          font-size: 2.4rem;
          line-height: 1.08;
          white-space: nowrap; }
        #shop_lineup .box .shop .textWrap .info .menu .price {
          padding: 1rem 0 2rem 0; }
          #shop_lineup .box .shop .textWrap .info .menu .price .small {
            font-size: 1.8rem;
            line-height: 1.33; }
          #shop_lineup .box .shop .textWrap .info .menu .price .num {
            font-size: 2.4rem;
            line-height: 1; }
          #shop_lineup .box .shop .textWrap .info .menu .price .unit {
            font-size: 1.8rem;
            line-height: 1.33; }
        #shop_lineup .box .shop .textWrap .info .menu .desc {
          font-size: 1.5rem;
          line-height: 1.47;
          padding: 0; }
      #shop_lineup .box .shop .textWrap .info .link {
        width: 100%;
        margin: 0;
        padding: calc(180 / 500 * 100%) 0 0 0; }
        #shop_lineup .box .shop .textWrap .info .link a {
          width: calc(250 / 500 * 100%);
          margin: 0 7rem 0 0; }
          #shop_lineup .box .shop .textWrap .info .link a .icon {
            top: 3.5rem;
            bottom: 0;
            left: calc(100% + 3rem);
            width: 4.2rem;
            height: 5.4rem; }
  #shop_lineup .note {
    font-size: 1.3rem;
    line-height: 2.15;
    letter-spacing: 0.03em;
    text-align: center;
    padding: 1.8rem 0 0 0; } }
@media screen and (min-width: 1400px) {
  #shop_lineup .box .shop .textWrap .info .menu .menuItem {
    padding: 4.2rem 3.5rem; }
  #shop_lineup .box .shop .textWrap .info .menu .name {
    font-size: 2rem;
    line-height: 1.5; } }
@media screen and (min-width: 1550px) {
  #shop_lineup .box .shop .textWrap .info .menu .name {
    font-size: 2.4rem;
    line-height: 1.33; } }
@media screen and (min-width: 1800px) {
  #shop_lineup .box .shop .textWrap .info .schedule .inner .textBox {
    padding: 0 calc(20 / 345 * 100%); }
    #shop_lineup .box .shop .textWrap .info .schedule .inner .textBox .period {
      font-size: 1.7rem;
      line-height: 1.41;
      margin: 0 0 1rem 0;
      padding: 0 0 1rem 0; }
    #shop_lineup .box .shop .textWrap .info .schedule .inner .textBox .headline {
      font-size: 1.5rem;
      line-height: 1.47; } }
/* map */
.map .content {
  background-color: #09AD73;
  padding: calc(20 / 375 * 100%) 0; }
.map .box .textWrap .head {
  width: calc(295 / 315 * 100%);
  margin: auto;
  padding: calc(15 / 315 * 100%) 0 calc(42 / 315 * 100%) 0; }
  .map .box .textWrap .head .title {
    color: #46B982; }
    .map .box .textWrap .head .title .line {
      display: block;
      position: relative;
      font-size: 2.6rem;
      line-height: 1.35;
      letter-spacing: 0.16em;
      font-weight: 300;
      padding: 0.15em 0.15em 0.2em 0.15em; }
      .map .box .textWrap .head .title .line:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: url(../images/bg_line02.svg) left bottom repeat-x;
        background-size: auto 100%; }
      .map .box .textWrap .head .title .line span:nth-of-type(2n) {
        color: #23774F; }
  .map .box .textWrap .head .ja {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: -0.05em;
    padding: 0.25em 0 0 0; }
.map .box .textWrap .list {
  width: calc(295 / 315 * 100%);
  margin: 0 auto calc(18 / 295 * 100%) auto; }
  .map .box .textWrap .list .item {
    margin: 0 0 calc(10 / 295 * 100%); }
    .map .box .textWrap .list .item a {
      display: flex;
      align-items: center;
      position: relative;
      font-size: 2rem;
      line-height: 1.45;
      letter-spacing: 0.05em;
      font-weight: 500;
      padding: 0.2em 0 0.5em 0; }
      .map .box .textWrap .list .item a:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: url(../images/bg_line02.svg) left bottom repeat-x;
        background-size: auto 100%; }
    .map .box .textWrap .list .item .num {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      width: 2.4rem;
      height: 2.4rem;
      color: #ffffff;
      font-size: 1.8rem;
      line-height: 1;
      letter-spacing: 0.02em;
      font-weight: 500;
      background-color: #09AD73;
      margin: 0 0.5rem 0 0;
      border-radius: 50%; }

@media screen and (min-width: 751px) {
  .map .content {
    padding: 70px 0; }
  .map .box {
    position: relative; }
    .map .box .boxInner {
      display: flex;
      align-items: center;
      padding: 0 calc(70 / 1660* 100%) 0 calc(130 / 1660* 100%);
      aspect-ratio: 1460  / 664; }
    .map .box .textWrap {
      width: calc(360 / 1460 * 100%);
      min-width: 360px; }
      .map .box .textWrap .head {
        width: 100%;
        margin: 0 0 calc(75 / 360 * 100%) 0;
        padding: 0; }
        .map .box .textWrap .head .title .line {
          font-size: 6rem;
          line-height: 1;
          white-space: nowrap;
          padding: 0.2em 0; }
        .map .box .textWrap .head .ja {
          font-size: 2.6rem;
          line-height: 1.42;
          padding: 0.4em 0 0 0; }
      .map .box .textWrap .list {
        width: 100%;
        margin: 0 0 calc(25 / 360 * 100%); }
        .map .box .textWrap .list .item {
          margin: 0 0 calc(10 / 360 * 100%); }
          .map .box .textWrap .list .item a {
            font-size: 3.2rem;
            line-height: 1.34;
            letter-spacing: 0;
            padding: 0.35em 0; }
            .map .box .textWrap .list .item a:after {
              content: "";
              display: block;
              position: absolute;
              bottom: 0;
              left: 0;
              right: 0;
              height: 2px;
              background: url(../images/bg_line02.svg) left bottom repeat-x;
              background-size: auto 100%; }
          .map .box .textWrap .list .item .num {
            width: 3.6rem;
            height: 3.6rem;
            font-size: 2.4rem;
            line-height: 1;
            margin: 0 2rem 0 0; }
    .map .box .image {
      position: absolute;
      bottom: 0;
      right: 0;
      width: calc(990 / 1660 * 100%);
      margin: 0 calc(40 / 1660* 100%) 0 0; } }
@media screen and (min-width: 1500px) {
  .map .box .image {
    width: calc(1050 / 1660 * 100%);
    margin: 0 calc(70 / 1660* 100%) 0 0; } }
/* banner */
.banner .content {
  background-color: #09AD73;
  padding: calc(20 / 375 * 100%) 0 calc(40 / 375 * 100%) 0; }
.banner .image {
  border: 2px solid #ffffff; }

@media screen and (min-width: 751px) {
  .banner .content {
    padding: 30px 0 100px 0; }
  .banner .contentInner {
    max-width: 1040px; } }


