@charset "UTF-8";
/* ---------------------------------------
  shop
-----------------------------------------*/
/* popup
-------------*/
/* オーバーレイ表示開始 */
.mfp-fade.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}

/* オーバーレイ表示まで */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

/* オーバーレイ非表示時 */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* コンテンツ表示開始 */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.3s ease-out;
}

/* コンテンツ表示まで */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* コンテンツ非表示時 */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.mfp-bg {
  background: url("../img/shop/bg_pop.png") repeat;
}

.mfp-iframe-holder .mfp-close {
  color: #000;
}

@media screen and (max-width: 768px) {
  .mfp-bg {
    background-size: 4vw 4vw;
    background-position: 0 0, 2vw 2vw;
  }
}
/* pagettl
--------------------------------*/
#pagettl::before {
  background-color: #ec7993;
}

#pagettl::after {
  background: url(../img/news/pagettl_bg02.png) no-repeat left bottom;
}

@media screen and (min-width: 769px) {
  #pagettl {
    background: url(../img/news/pagettl_bg01.png) no-repeat calc(50% - 568px) -24px;
  }
}
@media screen and (max-width: 768px) {
  #pagettl {
    background-image: url(../img/news/pagettl_bg_sp.png);
    background-position: center -4vw;
  }

  #pagettl .wrap {
    height: 24vw;
  }
}
/* secttl
-------------*/
.ttlwrap {
  position: relative;
  text-align: center;
}

.secttl {
  position: relative;
  font-size: 4.8rem;
  line-height: 1;
  letter-spacing: 0;
  overflow: hidden;
}

.ttlwrap .ttl_ja {
  font-size: 1.8rem;
  letter-spacing: 0.06em;
  margin-top: 6px;
}
.ttlwrap .secttl span {
  display: inline-block;
  vertical-align: top;
  transform: translate3d(0, 120%, 0);
}

.is-show .ttlwrap .secttl span {
  animation: 1s textFadeUp cubic-bezier(0.23, 1, 0.32, 1) forwards;
}

.is-show .ttlwrap .secttl.standby span {
  animation: none;
}

.cm_gallery.is-show .ttlwrap .secttl.standby span {
  animation: 1s textFadeUp cubic-bezier(0.23, 1, 0.32, 1) forwards;
}

@keyframes textFadeUp {
  0% {
    transform: translate3d(0, 120%, 0);
  }
  60% {
    transform: translate3d(0, -10%, 0);
  }
  100% {
    transform: translate3d(0, 0%, 0);
  }
}
@media screen and (max-width: 768px) {
  .secttl {
    font-size: 8.53vw;
  }

  .ttlwrap .ttl_ja {
    font-size: 4.27vw;
    margin-top: 1.27vw;
  }
}
/* lead
--------------------------------*/
#sec_lead {
  padding: 72px 0 115px;
}
#sec_lead .ttlbox {
  width: 100%;
  background: #fbc600;
  height: 140px;
  border-radius: 9999px;
  margin: 0 auto 70px;
  padding-top: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#sec_lead .ttlbox .area {
  background: #fff;
  border-radius: 9999px;
  height: 30px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 10px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  padding: .1em 1.5em;
}
#sec_lead .ttlbox .name {
  font-size: 3rem;
  letter-spacing: .18em;
  font-weight: 700;
  text-align: center;
  line-height: calc(50/30);
}
#sec_lead .ttlbox .name br {
  display: none;
}
#sec_lead .lead_list {
  position: relative;
  z-index: 1;
  width: 800px;
  margin: 0 auto 55px;
}
#sec_lead .lead_list .item {
  width: 639px;
}
#sec_lead .lead_list .item .imgwrap {
  position: relative;
  width: 100%;
  height: 424px;
  z-index: 1;
}
#sec_lead .lead_list .item .imgwrap::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #00b7de;
  border-radius: 33px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transform: rotate(5deg);
}
#sec_lead .lead_list .item .imgwrap .img {
  height: 100%;
  border-radius: 33px;
  z-index: 1;
}
#sec_lead .lead_list .item .imgwrap .img img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  border-radius: 33px;
}
#sec_lead .lead_list .slide-arrow {
  position: absolute;
  background: url("../img/shop/icon_arrow_slide.svg") no-repeat center center/cover;
  width: 44px;
  height: 44px;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  z-index: 1;
  transition: opacity 0.3s ease;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  #sec_lead .lead_list .slide-arrow:hover {
    opacity: 0.7;
    cursor: pointer;
  }
}
#sec_lead .lead_list .prev-arrow {
  left: 0;
}
#sec_lead .lead_list .next-arrow {
  right: 0;
  transform: translateY(-50%) rotate(-180deg);
}
#sec_lead .lead_list .slick-list {
  overflow: visible;
}
#sec_lead .lead_list .slick-slide {
  margin: 0 50px;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
}
#sec_lead .btnwrap {
  margin: 0 auto;
}
#sec_lead .btnwrap .txt {
  text-align: center;
  font-size: 1.9rem;
  line-height: calc(65/19);
  letter-spacing: .1em;
  margin-bottom: 8px;
}
#sec_lead .btnwrap .txt span {
  position: relative;
}
#sec_lead .btnwrap .txt span::before, #sec_lead .btnwrap .txt span::after {
  position: absolute;
  content: "";
  background: #000;
  width: 1px;
  height: 26px;
  top: -.1em;
}
#sec_lead .btnwrap .txt span::before {
  transform: rotate(-45deg);
  left: -35px;
}
#sec_lead .btnwrap .txt span::after {
  transform: rotate(45deg);
  right: -35px;
}
#sec_lead .btnwrap .btn {
  text-align: center;
}
#sec_lead .btnwrap .btn a {
  width: 478px;
  height: 78px;
  border-radius: 9999px;
  font-size: 2.2rem;
  letter-spacing: .05em;
  padding: 0 2em 0 3.5em;
  font-family: 'Montserrat', sans-serif;
}
#sec_lead .btnwrap .btn a::before {
  right: 37px;
}
#sec_lead .btnwrap .btn a::after {
  position: absolute;
  content: "";
  background: url("../img/common/ico_instagram_btn.svg") no-repeat center center/contain;
  width: 33px;
  height: 33px;
  left: 85px;
  top: 50%;
  transform: translateY(-50%);
}

#sec_lead .free_html {
  margin: 80px 0 64px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #sec_lead {
    padding: 13.333vw 0 20vw;
  }
  #sec_lead .ttlbox {
    height: 35.467vw;
    border-radius: 9.333vw;
    margin: 0 auto 13.333vw;
    padding-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #sec_lead .ttlbox .area {
    height: 6.667vw;
    margin: 0 auto 1.333vw;
    font-size: 3.2vw;
    padding: .1em 1.5em;
  }
  #sec_lead .ttlbox .name {
    font-size: 5.6vw;
    letter-spacing: .1em;
    line-height: calc(60/42);
  }
  #sec_lead .ttlbox .name br {
    display: block;
  }
  #sec_lead .lead_list {
    width: 100%;
    margin: 0 auto 10.667vw;
  }
  #sec_lead .lead_list .item {
    width: 85.333vw;
  }
  #sec_lead .lead_list .item .imgwrap {
    height: 56.533vw;
  }
  #sec_lead .lead_list .item .imgwrap::before {
    background-color: #00b7de;
    border-radius: 4.267vw;
  }
  #sec_lead .lead_list .item .imgwrap .img {
    border-radius: 4.267vw;
  }
  #sec_lead .lead_list .item .imgwrap .img img {
    border-radius: 4.267vw;
  }
  #sec_lead .lead_list .slide-arrow {
    width: 8.267vw;
    height: 8.267vw;
  }
  #sec_lead .lead_list .prev-arrow {
    left: -5.333vw;
  }
  #sec_lead .lead_list .next-arrow {
    right: -5.333vw;
  }
  #sec_lead .lead_list .slick-slide {
    margin: 0 5.333vw;
  }
  #sec_lead .btnwrap {
    margin: 0 auto;
  }
  #sec_lead .btnwrap .txt {
    font-size: 3.467vw;
    margin-bottom: 0;
  }
  #sec_lead .btnwrap .txt span {
    position: relative;
  }
  #sec_lead .btnwrap .txt span::before, #sec_lead .btnwrap .txt span::after {
    height: 4.533vw;
    top: .1em;
  }
  #sec_lead .btnwrap .txt span::before {
    left: -6.933vw;
  }
  #sec_lead .btnwrap .txt span::after {
    right: -6.933vw;
  }
  #sec_lead .btnwrap .btn {
    text-align: center;
  }
  #sec_lead .btnwrap .btn a {
    width: 84vw;
    height: 13.867vw;
    font-size: 4vw;
    padding: 0 2em 0 3.8em;
  }
  #sec_lead .btnwrap .btn a::before {
    right: 5.333vw;
  }
  #sec_lead .btnwrap .btn a::after {
    width: 5.867vw;
    height: 5.867vw;
    left: 14.667vw;
  }
  #sec_lead .free_html {
    margin: 12vw 0 17vw;
  }
}
/* amusement
--------------------------------*/
.rdfadeup {
  transition: opacity 1s, transform 1s;
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
#sec_amusement .ttlwrap {
  margin-bottom: 20px;
  transform: translateY(-25px);
}
#sec_amusement .item {
  opacity: 0;
}
#sec_amusement .bg {
  position: relative;
  padding-bottom: 110px;
}
#sec_amusement .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fbc600;
  position: absolute;
  left: 0;
  top: 0;
}
#sec_amusement .amusement_list {
  justify-content: flex-start;
  position: relative;
  gap: 55px 24px;
}
#sec_amusement .amusement_list .item {
  width: 282px;
}
#sec_amusement .amusement_list .item .imgwrap {
  position: relative;
  width: 100%;
  height: 188px;
}
#sec_amusement .amusement_list .item .imgwrap .img {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  width: 100%;
  height: 100%;
  transition: opacity .3s ease .9s;
}
#sec_amusement .amusement_list .item .imgwrap .img::before {
  position: absolute;
  content: "";
  background: url("../img/shop/icn_open.svg") no-repeat center center/contain;
  width: 40px;
  height: 40px;
  right: 0;
  bottom: 0;
  z-index: 2;
}
#sec_amusement .amusement_list .item .imgwrap .img img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
#sec_amusement .amusement_list .item .tag {
  display: inline-flex;
  align-items: center;
  height: 36px;
  font-size: 1.6rem;
  letter-spacing: .05em;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  padding: 0 1.5em;
  margin-bottom: 10px;
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
#sec_amusement .amusement_list .item .tag.amusement {
  background: #ec7993;
}
#sec_amusement .amusement_list .item .tag.service {
  background: #00b7de;
}
#sec_amusement .amusement_list .item .ttl {
  font-size: 1.6rem;
  letter-spacing: .1em;
  font-weight: 500;
  margin-top: 10px;
}
@media screen and (min-width: 769px) {
  #sec_amusement a .scaleimg3 img {
    transform: scale(1);
    transition: .3s ease;
  }
  #sec_amusement a:hover .scaleimg3 img {
    transform: scale(1.1) rotate(3deg);
  }
}

@media screen and (max-width: 768px) {
  #sec_amusement {
    padding-top: 12vw;
  }
  #sec_amusement .ttlwrap {
    margin-bottom: 0;
    transform: translateY(-13.333vw);
  }
  #sec_amusement .secttl {
    max-width: 7em;
    margin: 0 auto;
  }
  #sec_amusement .secttl span {
    transform: translate3d(0, 200%, 0);
  }
  #sec_amusement .bg {
    padding-bottom: 26.667vw;
  }
  #sec_amusement .bg::before {
    top: -9.333vw;
  }
  #sec_amusement .amusement_list {
    margin-top: -4vw;
    gap: 6.667vw 3.733vw;
  }
  #sec_amusement .amusement_list .item {
    width: 40vw;
  }
  #sec_amusement .amusement_list .item .imgwrap {
    width: 100%;
    height: 26.667vw;
  }
  #sec_amusement .amusement_list .item .imgwrap .img {
    border-radius: 2.667vw;
  }
  #sec_amusement .amusement_list .item .imgwrap .img::before {
    width: 5.333vw;
    height: 5.333vw;
  }
  #sec_amusement .amusement_list .item .tag {
    height: 6.933vw;
    font-size: 3.333vw;
    padding: 0 1.3em;
    margin-bottom: 1.333vw;
  }
  #sec_amusement .amusement_list .item .ttl {
    font-size: 3.467vw;
    margin-top: 1.333vw;
  }
}
/*popup*/
.mfp-content .amusement_box {
  position: relative;
  background: #FFF;
  max-width: 1000px;
  margin: 0 auto;
  padding: 52px 70px 93px;
  border-radius: 20px;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.4);
}

.amusement_box .mfp-close {
  display: none;
}
.amusement_box .closebtn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  height: 90px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -45px;
  cursor: pointer;
}
.amusement_box .closebtn::before {
  position: absolute;
  content: "";
  background: #fbc600;
  border-radius: 9999px;
  width: 100%;
  height: 100%;
  transition: .3s ease;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .amusement_box .closebtn:hover::before {
    transform: scale(1.1);
  }
}
.amusement_box .closebtn .txt {
  position: relative;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1;
  z-index: 2;
}
.amusement_box .closebtn .txt span {
  display: block;
  font-size: 2rem;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.amusement_box .closebtn .ico {
  position: absolute;
  width: 32px;
  height: 32px;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.amusement_box .closebtn .ico span {
  display: block;
  width: 20px;
  height: 2px;
  background: #000;
  position: absolute;
  left: 50%;
  top: 50%;
}
.amusement_box .closebtn .ico span:nth-of-type(1) {
  transform: rotate(45deg);
}
.amusement_box .closebtn .ico span:nth-of-type(2) {
  transform: rotate(-45deg);
}
.amusement_box .inner .head {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: .5em;
  margin-bottom: 3.2em;
}
.amusement_box .inner .boxttl {
  position: relative;
  font-weight: bold;
  font-size: 3.2rem;
}
.amusement_box .inner .tag {
  display: inline-flex;
  align-items: center;
  height: 36px;
  font-size: 1.6rem;
  letter-spacing: .05em;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  padding: 0 1.5em;
  margin-bottom: 10px;
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}
.amusement_box .inner .img {
  width: 532px;
}
.amusement_box .inner .txtwrap {
  width: 300px;
}
.amusement_box .inner .txtwrap .ttl {
  font-weight: bold;
  font-size: 2.1rem;
  margin: .3em 0 .8em;
}
.amusement_box .inner .txtwrap .txt {
  font-size: 1.5rem;
  text-align: justify;
}
.amusement_box .inner .txtwrap .data {
  margin-top: 20px;
}
.amusement_box .inner .txtwrap .data .datattl {
  position: relative;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-left: 1.35em;
  margin-bottom: .5em;
}
.amusement_box .inner .txtwrap .data .datattl::before {
  content: "";
  width: .8em;
  height: 4px;
  background-color: #000;
  position: absolute;
  left: 0;
  top: .4em;
}
.amusement_box .txtwrap .data .datatxt {
  font-weight: bold;
  font-size: 1.7rem;
}
.amusement_box .txtwrap .data .datatxt span {
  font-size: 1.3rem;
}
.amusement_box .btn {
  margin-top: 40px;
}
.amusement_box .btn a {
  padding: 0 3em 0 2em;
}
.amusement_box.-amusement .inner .head {
  border-bottom: 10px solid #ec7993;
}
.amusement_box.-amusement .inner .tag {
  background: #ec7993;
}
.amusement_box.-amusement .inner .btn a {
  background: #ec7993;
}
.amusement_box.-service .inner .head {
  border-bottom: 10px solid #00b7de;
}
.amusement_box.-service .inner .tag {
  background: #00b7de;
}
.amusement_box.-servivce .inner .btn a {
  background: #00b7de;
}

@media screen and (max-width: 768px) {
  .mfp-content .amusement_box {
    max-width: 94%;
    padding: 14vw 8vw 14vw;
    border-radius: 6vw;
    box-shadow: 1vw 1vw 1.6vw rgba(0, 0, 0, 0.4);
  }

  .amusement_box .closebtn {
    width: 40vw;
    height: 14vw;
    padding: 1em;
    bottom: -7vw;
  }
  .amusement_box .closebtn .txt {
    font-size: 3vw;
  }
  .amusement_box .closebtn .txt span {
    font-size: 4vw;
    margin-bottom: 1.2vw;
  }
  .amusement_box .closebtn .ico {
    width: 4vw;
    height: 4vw;
    right: 1.6em;
  }
  .amusement_box .closebtn .ico span {
    width: 4vw;
  }
  .amusement_box .inner {
    display: block;
  }
  .amusement_box .inner .head {
    border-bottom-width: 2vw !important;
    margin-bottom: 2em;
  }
  .amusement_box .inner .boxttl {
    font-size: 6.4vw;
  }
  .amusement_box .inner .tag {
    position: absolute;
    height: 6.667vw;
    font-size: 3.333vw;
    padding: 0 1.3em;
    margin-bottom: 0;
    top: -8.5vw;
    right: 0;
  }
  .amusement_box .inner .img {
    width: 100%;
  }
  .amusement_box .inner .txtwrap {
    width: 100%;
    margin-top: 6vw;
  }
  .amusement_box .inner .txtwrap .ttl {
    font-size: 4.2vw;
  }
  .amusement_box .inner .txtwrap .txt {
    font-size: 3.2vw;
  }
  .amusement_box .inner .txtwrap .data {
    margin-top: 4vw;
  }
  .amusement_box .inner .txtwrap .data .datattl {
    font-size: 4vw;
  }
  .amusement_box .inner .txtwrap .data .datattl::before {
    height: .8vw;
  }
  .amusement_box .btn {
    margin-top: 8vw;
  }
  .amusement_box .txtwrap .data .datatxt {
    font-size: 4.1vw;
  }
  .amusement_box .txtwrap .data .datatxt span {
    font-size: 3.2vw;
  }
}
/* shopinfo
--------------------------------*/
#sec_shopinfo {
  padding: 70px 0 20px;
}
#sec_shopinfo .ttlwrap {
  display: flex;
  align-items: center;
  gap: 0 20px;
  z-index: 1;
  margin-bottom: 35px;
}
#sec_shopinfo .bg {
  position: relative;
  padding: 72px 0 50px;
}
#sec_shopinfo .bg::before {
  content: "";
  width: calc(50% + 600px);
  height: 320px;
  background-color: #00b7de;
  border-radius: 0 20px 20px 0;
  position: absolute;
  left: 0;
  top: 0;
  transform: skewX(30deg);
  transform-origin: right bottom;
}
#sec_shopinfo .bg::after {
  content: "";
  width: 722px;
  height: 501px;
  background: url("../img/shop/shopinfo_bg.png") no-repeat center/100% auto;
  position: absolute;
  left: calc(50% + 370px);
  top: -212px;
}
#sec_shopinfo .inner {
  align-items: flex-end;
  margin-top: -150px;
}
#sec_shopinfo .txtwrap {
  position: relative;
  width: auto;
  flex: 1;
  z-index: 2;
}
#sec_shopinfo .txtwrap dl {
  align-items: flex-start;
}
#sec_shopinfo .txtwrap dl dt, #sec_shopinfo .txtwrap dl dd {
  font-size: 1.6rem;
  margin-top: 2px;
}
#sec_shopinfo .txtwrap dl dt:first-of-type, #sec_shopinfo .txtwrap dl dd:first-of-type {
  margin-top: 0;
}
#sec_shopinfo .txtwrap dl dt {
  width: 106px;
  font-weight: bold;
}
#sec_shopinfo .txtwrap dl dd {
  width: calc(100% - 106px);
  letter-spacing: 0.06em;
}
#sec_shopinfo .map {
  position: relative;
  width: 487px;
  height: 340px;
  z-index: 2;
}
#sec_shopinfo .map iframe,
#sec_shopinfo .map .map-inner {
  width: 100%;
  height: 100%;
  aspect-ratio: 487/340;
  border-radius: 20px;
}
#sec_shopinfo .map .mapbtn {
  width: 238px;
  position: absolute;
  right: 0;
  bottom: 0;
}
#sec_shopinfo .map .mapbtn a {
  width: 100%;
  height: 44px;
  background-color: #fbc600;
  border-radius: 9999px;
  padding-right: calc(100% - 200px);
  padding-left: 1.4em;
  padding-top: .15em;
}
#sec_shopinfo .map .mapbtn a::before {
  width: 14px;
  height: 14px;
  background-image: url(../img/common/ico_blank.svg);
  right: auto;
  left: 205px;
  margin-top: -8px;
  transition: none;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  #sec_shopinfo .map .mapbtn a:hover::before {
    background-image: url(../img/common/ico_blank_on.svg);
    transform: none;
  }
}

@media screen and (max-width: 768px) {
  #sec_shopinfo {
    padding: 8vw 0 10.667vw;
  }
  #sec_shopinfo .ttlwrap {
    display: block;
    text-align: left;
    margin-bottom: 8vw;
  }
  #sec_shopinfo .bg {
    padding: 10vw 0 21.333vw;
  }
  #sec_shopinfo .bg::before {
    width: 100%;
    height: 100%;
    border-radius: 0;
    transform: skewX(0deg);
  }
  #sec_shopinfo .bg::after {
    width: 100.8vw;
    height: 70.4vw;
    background: url(../img/shop/shopinfo_bg_sp.png) no-repeat center/100% auto;
    left: auto;
    right: -72vw;
    top: -26vw;
  }
  #sec_shopinfo .inner {
    margin-top: 0;
  }
  #sec_shopinfo .txtwrap {
    width: 100%;
    margin-bottom: 8vw;
  }
  #sec_shopinfo .txtwrap dl dt, #sec_shopinfo .txtwrap dl dd {
    font-size: 3.2vw;
    line-height: 1.4;
    margin-top: 2vw;
    padding: 0 1em;
  }
  #sec_shopinfo .txtwrap dl dt {
    width: 21vw;
  }
  #sec_shopinfo .txtwrap dl dd {
    width: calc(100% - 22vw);
  }
  #sec_shopinfo .map {
    width: 100%;
    height: 100%;
  }
  #sec_shopinfo .map iframe,
  #sec_shopinfo .map .map-inner {
    border-radius: 16.5px;
  }
  #sec_shopinfo .map .mapbtn {
    width: 48vw;
    right: 0;
  }
  #sec_shopinfo .map .mapbtn a {
    height: 8.8vw;
    justify-content: flex-start;
    padding-top: 0;
    padding-right: calc(100% - 51.2vw);
  }
  #sec_shopinfo .map .mapbtn a::before {
    width: 3.2vw;
    height: 3.2vw;
    left: auto;
    right: 2.667vw;
    background-size: 100% auto;
    margin-top: -1.6vw;
  }
}

/* concept
--------------------------------*/
#sec_concept {
  padding: 30px 0 70px;
}
#sec_concept .ttlwrap {
  margin-bottom: 70px;
}
#sec_concept .inner {
  position: relative;
  align-items: flex-start;
}
#sec_concept .inner .txtimg {
  width: 552px;
  padding-left: 64px;
  margin-top: 20px;
  text-align: left;
}
#sec_concept .inner .txtimg .logo {
  width: 417px;
  margin-top: 45px;
}
#sec_concept .inner .txtimg .logo img {
  width: 100%;
}
#sec_concept .inner .txtwrap {
  width: 580px;
}
#sec_concept .inner .txtwrap .txt {
  font-size: 1.8rem;
  line-height: 2.66;
  text-align: left;
}

#sec_lead .bnr_app {
  max-width: 966px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  #sec_concept {
    padding: 12vw 0 18vw;
  }
  #sec_concept .ttlwrap {
    margin-bottom: 15vw;
  }
  #sec_concept .inner .txtimg {
    width: 100%;
    margin-top: 0;
    margin-bottom: 20vw;
    padding-left: 0;
  }
  #sec_concept .inner .txtimg .logo {
    width: 100%;
    margin-top: 15vw;
  }
  #sec_concept .inner .txtimg .logo img {
    width: 100%;
  }
  #sec_concept .inner .txtwrap {
    width: 100%;
  }
  #sec_concept .inner .txtwrap .txt {
    font-size: 2.93vw;
    letter-spacing: 0.08em;
    line-height: 2.75;
  }
}