@charset "utf-8";

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, 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,picture {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  line-height: 1.5em;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  margin : 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

img {
  vertical-align: bottom;
  border: none;
}
picture {
  display: block;
}
html {
  -webkit-overflow-scrolling: touch;
}
/* ----------------------------------------------

 * 設定をしなおす

---------------------------------------------- */
body {
  margin: 0 auto;
  padding: 0;
  font-size: 16px;
  line-height: 1.8em;
  color: #3E3A39;
  height: 100%;
  font-family: YakuHanRP,"M PLUS Rounded 1c","Yu Gothic Medium", "游ゴシック Medium",YuGothic, "游ゴシック体", Verdana, Meiryo, sans-serif;
  font-weight: 400;
  position: relative;
}
b, strong, .bold,h1,h2,h3,h4,h5,h6{
  font-family: YakuHanRP,"M PLUS Rounded 1c","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 700;
}

sup,sub {
  font-size: 70%;
}
small {
  font-size: 80%;
}


@media only screen and ( max-width : 767px ) {
  body {font-size: 13px;}
}
@media only screen and ( max-width : 320px ) {
  body {font-size: 12px;}
}


table {
  margin : 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

img {
  vertical-align: bottom;
  border: none;
}

a {
  outline:none;
  color: #3E3A39;
}

a:hover {
  text-decoration: none;
}


a,a:hover,a:hover img,button,input {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}

a:hover {
  filter: alpha(opacity=60);
  -moz-opacity:0.60;
  opacity:0.60;
}


.clr {
  zoom:1;
  display:inline-table;
}
.clr:after {
  content:".";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
  font-size:0;
  line-height:0;
  }

* html .clr {
  height:1%;
  display:inline-table;
  display:block;
  height:1%;
}
.clr {
  display:block;
}
* {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

img {
  vertical-align: bottom;
  border: none;
  max-width: 100%;
  height: auto;
}

/* -----------------------------------------------
 * COMMON
----------------------------------------------- */
.fit {
  object-fit: cover;
  font-family: 'object-fit: cover;';
  width: 100%;
  height: 100%;
}
@media only screen and ( max-width : 767px ) {
  .section {
    padding: 40px 0;
  }
  .box {
    margin-bottom: 40px;
  }
  .br_pc {
    display: none;
  }
  .sp_none {
    display: none;
  }
}
@media print, screen and ( min-width : 768px ) {
  .section {
    padding: 90px 0;
  }
  .box {
    margin-bottom: 90px;
  }
  .br_sp {
    display: none;
  }
  .sp {
    display: none;
  }
}



/* ---------------------------------------------------------------------------------------------

　   MV

--------------------------------------------------------------------------------------------- */
#header-logo {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
#header-logo span {
  display: block;
  text-indent: -9999px;
  height: 0;
}
#main_visual {
  position: relative;
}
#main_visual img {
  width: 100%;
  display: block;
}
@media only screen and ( max-width : 767px ) {
  #header-logo {
    max-width: 250px;
    height: 70px;
  }
}
@media print, screen and ( min-width : 768px ) {
  #header-logo {
    max-width: 320px;
    height: 100px;
  }
}

/* ---------------------------------------------------------------------------------------------

　   WEB入会予約BUTTON

--------------------------------------------------------------------------------------------- */
#reservation .btn {
  max-width: 440px;
  margin: 0 auto;
  display: block;
}
@media only screen and ( max-width : 767px ) {

}
@media print, screen and ( min-width : 768px ) {

}

/* ---------------------------------------------------------------------------------------------

　   キャンペーン

--------------------------------------------------------------------------------------------- */
#cam .title {
  text-align: center;
  color: #E26E9D;
  position: relative;
}
#cam .title span {
  position: relative;
  display: inline-block;
}
#cam .title span:before,
#cam .title span:after {
  content: "";
  background: #E26E9D;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 10px;
}
#cam .title span:before {
  left: 0;
}
#cam .title span:after {
  right: 0;
}
@media only screen and ( max-width : 767px ) {
  #cam .title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  #cam .title span:before,
  #cam .title span:after {
    width: 20px;
    height: 3px;
  }
  #cam .title span {
    padding: 0 40px;
  }
}
@media print, screen and ( min-width : 768px ) {
  #cam .title {
    font-size: 34px;
    margin-bottom: 40px;
  }
  #cam .title span:before,
  #cam .title span:after {
    width: 40px;
    height: 5px;
  }
  #cam .title span {
    padding: 0 60px;
  }
}

/* ---------------------------------------------------------------------------------------------

　   魅力

--------------------------------------------------------------------------------------------- */
#charm {
  background: url(../image/bg_stripe.jpg) repeat top left / 31px;
}
#charm .title {
  text-align: center;
  line-height: 1.5em;
  margin-bottom: .2em;
}
#charm .title .marker {
  background:linear-gradient(transparent 80%, #FFF096 80%);
}
#charm .sub_title span {
  color: #E26E9D;
  border-radius: 80px;
  background: #fff;
  font-weight: 900;
  text-align: center;
  padding: .1em 1em;
}

.charm_block {
  border: 2px solid #DDDCD6;
  border-radius: 40px;
  background: #fff;
  position: relative;
}
.charm_block:last-child {
  margin-bottom: 0;
}
.charm_content_pic {
  border-radius: 38px;
}

#charm .slider{
  margin: 0 auto;
  position: relative;
}
#charm .slider-item {
  position: relative;
}
#charm .slider .next-arrow,
#charm .slider .prev-arrow {
  height: 50px !important;
  width: 22px !important;
}
#charm .slider .next-arrow {
  right: -40px;
}
#charm .slider .prev-arrow {
  left: -40px;
}
#charm .slider .slide-arrow img {
  height: 50px !important;
  width: 22px !important;
}
#charm #charm02 .slider-nav {
  display: flex;
  justify-content: center;
}
#charm .slider-nav img{
  /*width: calc(1100px / 6);
  height: 137px;*/
  width: 80px !important;
  height: 80px !important;
  object-fit: cover;
  border-radius: 50%;
  margin: 7px;
}
#charm .slider-nav img:last-child {
  margin-right: 0;
}
#charm .slider-nav .slick-current,
#charm .slider-nav .thumbnail-current {
  border: 3px solid #EA6DA1;
}
#charm .slider .slider-item {
  border-radius: 20px;
  overflow: hidden;
}
#charm .slider img{
  /*height: 390px;
  object-fit: cover;*/
}

#charm .slider-ttl{
  background: rgba(226,110,157,.74);
  color: #fff;
  position: absolute;
  z-index: 2;
  width: 100%;
  left: 0;
  bottom: 0;
}

#charm .slider-ttl__text{
  text-align: center;
  font-weight: 700;
}

#charm .slick-list {
  padding: 0 !important;
}
.option-sub {
  display: flex;
  flex-wrap: wrap;
}
.option-sub .option-sub__item {
  width: 32% !important;
  margin-right: 2%;
  margin-top: 2%;
  /*background: #E26E9D;*/
  border-radius: 24px;
  border: 1px solid #DDDCD6;
  box-shadow: 3px 3px 0 #DDDCD6;
}
.option-sub .option-sub__item img {
  /*border-radius: 20px;*/
}
.option-sub .option-sub__item.thumbnail-current {
  border: 3px solid #EA6DA1;
  overflow: hidden;
}
.option-sub .option-sub__item:nth-child(-n+3) {
  margin-top: 0;
}
.option-sub .option-sub__item:nth-child(3n) {
  margin-right: 0;
}
.charm_label {
  position: absolute;
  z-index: 2;
}
.charm_content {
  text-align: center;
}
@media only screen and ( max-width : 767px ) {
  #charm .title {
    font-size: 30px;
  }
  #charm .sub_title {
    margin-bottom: 50px;
  }
  #charm .sub_title span {
    border: 3px solid #E26E9D;
    font-size: 22px;
    display: block;
  }
  #charm #charm02 .slider-nav {
    flex-wrap: wrap;
  }
  .charm_label {
    top: -15px;
    left: -15px;
    width: 100px;
  }
  .charm_block {
    margin-bottom: 50px;
    box-shadow: 3px 3px 0 #DDDCD6;
  }
  .charm_content {
    padding: 30px 15px;
  }
  #charm #charm02 .slider-nav {
    margin-top: 15px;
  }
  .option-sub {
    max-width: 90%;
    margin: 20px auto 0;
  }
  .option-sub .option-sub__item {
    border-radius: 15px;
  }
  #charm .slider .next-arrow {
    right: -15px;
  }
  #charm .slider .prev-arrow {
    left: -15px;
    z-index: 10;
  }
  #charm .slider-nav img {
    margin: 7px;
    width: 60px !important;
    height: 60px !important;
  }
  #charm .slider-ttl__text {
    font-size: 18px;
    padding: 10px;
  }
}
@media only screen and ( max-width : 575px ) {
  #charm .title {
    font-size: 8vw;
  }
  #charm .sub_title span {
    font-size: 5.6vw;
  }
}
@media print, screen and ( min-width : 768px ) {
  #charm .title {
    font-size: 40px;
  }
  #charm .sub_title {
    display: flex;
    justify-content: center;
    margin-bottom: 130px;
  }
  #charm .sub_title span {
    border: 6px solid #E26E9D;
    font-size: 28px;
  }
  .charm_label {
    top: -50px;
    left: -50px;
    width: 150px;
  }
  .charm_block {
    margin-bottom: 130px;
    box-shadow: 6px 6px 0 #DDDCD6;
  }
  .charm_content {
    padding: 50px 60px;
  }
  #charm .slider{
    max-width: 730px;
  }

  #charm .slider-nav{
    margin: 20px auto;
  }
  #charm .slider-ttl__text {
    font-size: 30px;
    padding: 15px;
  }
  #charm02 .charm_title_pic {
    margin-bottom: 50px;
  }
}
@media print, screen and ( min-width : 992px ) {
  #charm .title {
    font-size: 60px;
  }

  #charm .sub_title span {
    border: 6px solid #E26E9D;
    font-size: 36px;
  }
  #charm .option-sub .slick-track {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .option-list {
    display: flex;
    align-items: flex-start;
  }
  .option-main {
    width: 290px;
    margin-right: 20px;
  }
  .option-sub {
    width: calc(100% - 310px);
  }
  .charm_label {
    width: 200px;
  }
}

/* ---------------------------------------------------------------------------------------------

　   SLIDER

--------------------------------------------------------------------------------------------- */
.prev-arrow{
  width: 70px;
  height: 70px;
  border: none;
  position: absolute;
  left: -100px;
  top: 50%;
  transform: translate(0%, -50%);
  background: transparent;
  padding: 0px;
}

.next-arrow{
  width: 70px;
  height: 70px;
  border: none;
  position: absolute;
  right: -100px;
  top: 50%;
  transform: translate(0%, -50%);
  background: transparent;
  padding: 0px;
}

.slide-arrow img{
  width:70px;
  height: 70px !important;
  display: block;
}

.prev-arrow-op{
  display: none !important;
}

.next-arrow-op{
  display: none !important;
}

.slide-arrow-op img{
  display: none;
}

/* ---------------------------------------------------------------------------------------------

　   ゆるかつ

--------------------------------------------------------------------------------------------- */
#yurukatsu {
  background: #FFF096;
}
@media only screen and ( max-width : 767px ) {

}
@media print, screen and ( min-width : 768px ) {

}

/* ---------------------------------------------------------------------------------------------

　   Instagram

--------------------------------------------------------------------------------------------- */
#instagram a {
  display: block;
  overflow: hidden;
}
@media only screen and ( max-width : 767px ) {
  #instagram a {
    max-width: 90%;
    margin: 0 auto;
    box-shadow: 4px 4px 0 #DDDCD6;
    border-radius: 20px;
  }
}
@media print, screen and ( min-width : 768px ) {
  #instagram a {
    box-shadow: 6px 6px 0 #DDDCD6;
    border-radius: 30px;
  }
}

/* ---------------------------------------------------------------------------------------------

　   SHOP

--------------------------------------------------------------------------------------------- */
#shop {
  background: url(../image/bg_stripe.jpg) repeat top left / 31px;
  position: relative;
}
#shop:after {
  content: "";
  width: 100%;
  background: #F7C9DD;
  height: 50%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
#shop .container {
  position: relative;
  z-index: 10;
}
.shop_name_title {
  position: relative;
}
.shop_bear {
  position: absolute;
  z-index: 2;
}
.shop_inner {
  background: #fff;
  border-radius: 30px;
  border: 1px solid #C9C9C9;
}
.shop_name {
  text-align: center;
}
.shop_info dl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.5em;
}
.shop_info dt {
  flex-shrink: 0;
}
.shop_info dd {
  flex: 1;
  min-width: 0;
}
.shop_info_dl1 dt {
  width: 3em;
}
.shop_info_dl1 dd {
  width: calc(100% - 3em);
}
.shop_info_dl2 dt {
  width: 5em;
}
.shop_info_dl2 dd {
  width: calc(100% - 5em);
}
.shop_info_dl3 dt {
  width: 4em;
}
.shop_info_dl3 dd {
  width: calc(100% - 4em);
}
.shop_info_dl4 dt {
  width: 8em;
}
.shop_info_dl4 dd {
  width: calc(100% - 8em);
}
.shop_map iframe {
  display: block;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
}
@media only screen and ( max-width : 767px ) {
  .shop_inner {
    box-shadow: 3px 3px 0 #DDDCD6;
    padding: 30px 15px 15px;
  }
  .shop_name_title {
    max-width: 80%;
    margin: 0 auto 30px;
  }
  .shop_info {
    margin-bottom: 30px;
  }
  .shop_map iframe {
    height: 300px;
  }
  .shop_bear {
    display: none;
  }
}
@media print, screen and ( min-width : 768px ) {
  #shop {
    padding-top: 30px;
  }
  .shop_inner {
    box-shadow: 6px 6px 0 #DDDCD6;
    padding: 50px;
  }
  .shop_name_title {
    margin-bottom: 40px;
  }
  .shop_info {
    width: 52%;
  }
  .shop_map {
    width: 44%;
  }
  .shop_map iframe {
    height: 100%;
  }
  .shop_bear01 {
    left: 0;
    bottom: -60px;
    max-width: 20%;
  }
  .shop_bear02 {
    right: 0;
    bottom: -40px;
    max-width: 20%;
  }
  .shop_name img {
    max-width: 50%;
  }
}


/* ---------------------------------------------------------------------------------------------

　   XXX

--------------------------------------------------------------------------------------------- */

@media only screen and ( max-width : 767px ) {

}
@media print, screen and ( min-width : 768px ) {

}

/* ---------------------------------------------------------------------------------------------

　   ANIMATION

--------------------------------------------------------------------------------------------- */

.fadein {
  opacity: 0;
  transition: .8s;
}
.fadein.fadein__active {
  opacity: 1;
  transition-delay: .1s;
}
.fadein.fadein__active.delay1 {
  transition-delay: .4s;
}
.fadein.fadein__active.delay2 {
  transition-delay: .8s;
}
.fadein.fadein__active.delay3 {
  transition-delay: 1.2s;
}
.fadein.fadein__active.delay4 {
  transition-delay: 1.6s;
}
@media print, screen and ( min-width : 768px ) {
  .col2_anim_pc .fadein.fadein__active:nth-child(2n) {
    transition-delay: .3s !important;
  }
  .col3_anim_pc .fadein.fadein__active:nth-child(3n+2) {
    transition-delay: .3s !important;
  }
  .col3_anim_pc .fadein.fadein__active:nth-child(3n) {
    transition-delay: .6s !important;
  }
}

.fadein_up {
  opacity: 0;
  transition: .8s;
  animation-timing-function:cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-delay: .3s;
  animation-delay: .3s;
}
.fadein_up.fadein_up__active {
  opacity: 1;
  animation-name: fadein_up__active;
  animation-duration: 1.2s;
}
@media print, screen and ( min-width : 768px ) {
  .pc_fadein_up {
    opacity: 0;
    transition: .8s;
    animation-timing-function:cubic-bezier(0.34, 1.56, 0.64, 1);
    transition-delay: .3s;
    animation-delay: .3s;
  }
  .pc_fadein_up.pc_fadein_up__active {
    opacity: 1;
    animation-name: fadein_up__active;
    animation-duration: 1.2s;
  }
  .col2_anim_pc .fadein_up.fadein_up__active:nth-child(3n+2) {
    transition-delay: .6s;
    animation-delay: .6s;
  }
  .col3_anim_pc .fadein_up.fadein_up__active:nth-child(3n+2),
  .col3_anim_pc .pc_fadein_up.pc_fadein_up__active:nth-child(3n+2) {
    transition-delay: .6s;
    animation-delay: .6s;
  }
  .col3_anim_pc .fadein_up.fadein_up__active:nth-child(3n),
  .col3_anim_pc .pc_fadein_up.pc_fadein_up__active:nth-child(3n) {
    transition-delay: .9s;
    animation-delay: .9s;
  }
}
@keyframes fadein_up__active {
    from {
        transform: translateY(30px);
    }
    to {
        transform: translateY(0);
    }
}
.fadein_up.fadein_up__active.delay1 {
  transition-delay: .2s;
  animation-delay: .2s;
}
.fadein_up.fadein_up__active.delay2 {
  transition-delay: .4s;
  animation-delay: .4s;
}

/* 拡大 */
.zoomIn{
  opacity: 0;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  /*visibility: hidden;*/
}
.zoomIn.zoomIn__active {
  opacity: 1;
  animation-name:zoomInAnime;
  /*visibility: visible;*/
}

@keyframes zoomInAnime{
  from {
  transform: scale(0.6);
  }

  to {
      transform: scale(1);
  }
}
