html {
  font-size: 62.5%; /* 10px */
  height: -webkit-fill-available;
}
body {
    width:100%;
    min-height: 100vh;
    /* mobile viewport bug fix */
    min-height: -webkit-fill-available;
    font-family:'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic" ,sans-serif;
    font-size: 1.7rem;
    /*font-size: clamp(1.5rem ,1.3vw,1.6rem);*/
    color: #4d4d4d;
    line-height: 2;
    -webkit-text-size-adjust: 100%;
}

/*==================================コンテンツ==================================*/
#wrapper {
    width:100%;
}
/*-----------------------------header-----------------------------*/
header {
    position:fixed;
    width:100%;
    display:flex;
    justify-content: space-between;
    align-items: center;
    height:80px;
    background-color:rgba(255,255,255,0.5);
    z-index: 100;
    transition: all .5s;
    animation-name: fadedown;
    animation-duration: 1s;
    animation-iteration-count: 1;
}
@keyframes fadedown {
  from {
      opacity: 0;
      transform: translateY(-20px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}
.change_opacity {
    background-color:rgba(255,255,255,1);
}
h1#logo {
    width:23vw;
    max-width:290px;
    min-width:250px;
    margin: 1.5rem 2.5rem;
}
.header_inner {
    display: flex;
    align-items: center;
    height: 100%;
}
.header_inner_nav {
    display:flex;
    align-items: center;
}
.header_inner_nav li {
    list-style-type: none;
    margin-right: 2.669vw;
    /*margin-right: 36px;*/
}
.header_inner_nav li a {
    position: relative;
    display: inline-block;
    color: #4d4d4d;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic" ,sans-serif;
    font-size: clamp(1.3rem ,1.4vw,1.5rem);
    font-feature-settings: "palt" 1;
    /*text-shadow: 0px 0px 2px #fff,0px 0px 3px #fff,0px 0px 4px #fff;*/
    /*font-size: 1.4rem;*/
    font-weight: 700;
    display: block;
    text-align: center;
}
.header_inner_nav li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background:#e9607c;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
}
.header_inner_nav li a:hover::after {
    transform: scale(1, 1);
}
#header_line {
  width:40px;
  height:40px;
  margin-right: 1.5rem;
}
#header_tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #e9607c;
    color: #fff;
    font-size: clamp(2rem , 2.5vw ,2.5rem);
    line-height: 1.2;
    width:20vw;
    max-width: 250px;
    height: 100%;
    border-radius: 0 0 0 10px ;
}
#header_tel h3 {
    color: #fff;
    font-weight: 700;
    text-align: center;
}
#header_tel h3 span {
  font-size: 19px;
}
#header_tel p {
    font-size: min(1.3rem ,1vw);
}
#header_tel a {
  color:#fff;
}

/*------------------------headerメディアクエリ------------------------*/
/*代わりに表示するボタンはハンバーガーメニューのところ*/
@media screen and (max-width: 960px) {/*タブレット*/
  .header_inner_nav {
    display:none;
  }
  #header_line {
    display: none;
  }
  #header_tel {
    display: none;
  }
}
@media screen and (max-width: 599px) {
  h1#logo {
    width:20vw;
    max-width:250px;
    min-width:190px;
    margin: 1.5rem 5%;
  }
}

/*==============================ハンバーガーメニュー==============================*/
#sp_tel ,#toggle, #sp_line {
	max-width: 55px;
	max-height: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	z-index: 200;
}
#sp_tel ,#sp_line {
  margin-right:1rem;
}
#toggle {
  margin-right:2rem;
}
.humburger_wrap {
	position:relative;
	width:55px;
	height:55px;
	z-index : 200;
  background-color: #e9607c;
  border-radius: 5px;
}
.sp_tel_wrap ,.sp_line_wrap {
	width:55px;
	height:55px;
	z-index : 200;
  background-color: #fff;
  /*border:1px solid #e9607c;*/
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
.sp_line_wrap {
  padding:5px;
  box-sizing: border-box;
}
/*　電話ボタン　*/
.tel_size {
  font-size:3rem;
  color:#e9607c;
}
/*　ハンバーガーボタン　*/
.hamburger {
	display : block;
	position: absolute;
	width:55px;
	height:55px;
	z-index : 100;
	cursor: pointer;
	text-align: center;
}
.hamburger_title {
  color :#fff;
  padding-top:6px;
  font-weight: normal;
  font-size: 1.4rem;
}
.hamburger span {
	display : block;
	position: absolute;
	width   :31px;
	height  : 2px;
	left: 12px;
	background-color :#fff;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition   : 0.3s ease-in-out;
	transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(2) {
	top: 30px;
}
.hamburger span:nth-child(3) {
	top: 38px;
}
/* ナビ開いてる時のボタン */
/*.hamburger.active .hamburger_title {
  display: none;
}*/
.hamburger.active span:nth-child(2) {
	top : 34px;
	left: 12px;
	background-color :#fff;
	-webkit-transform: rotate(-25deg);
	-moz-transform   : rotate(-25deg);
	transform        : rotate(-25deg);
}
.hamburger.active span:nth-child(3) {
	top: 34px;
	background-color :#fff;
	-webkit-transform: rotate(25deg);
	-moz-transform   : rotate(25deg);
	transform        : rotate(25deg);
}
/* 開いたナビの中身 */
nav.globalMenuSp {
	position: fixed;
	z-index : 1;
	top  : 0;
	left : 0;
	background:#e9607c;
	width: 100%;
	height:100%;
	opacity: 0;
	visibility:hidden;
	transition: opacity .6s ease, visibility .6s ease;
}
.globalMenu_wrap {
  width:86%;
  margin:15vw auto;
  box-sizing: border-box;
}
.globalMenu_nav {
  width:100%;
}
.globalMenu_nav li a {
  position: relative;
  display: block;
  color:#fff;
  font-size:1.3rem;
  padding:2.5rem 1.5rem;
  border-bottom: 1px solid #fff;
  transition: all .3s;
}
.globalMenu_nav li a::after {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f054';
  font-size:1rem;
  color: #fff;
  position: absolute;
  top: 2rem;
  bottom: 0;
  right: 0;
  margin: auto;
  width:3rem;
  height:3rem;
}
.globalMenu_nav li a:hover {
  color:#ffdce6;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
	opacity: 100;
	visibility:visible;
}
/*----スマホ------*/
@media screen and (max-width: 599px) {
  #sp_line , #sp_tel {
    display: none;
  }
}
/*----PCの時は表示しない------*/
@media screen and (min-width: 961px) {
  #sp_line ,#sp_tel , #toggle,nav.globalMenuSp  {
    display: none;
  }
}
/*==============================slide==============================*/
.top_slider_wrap {
    position: relative;
    display: flex;
    z-index: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.slider_wrap {
  position: relative;
  display: flex;
  z-index: 0;
  width: 100%;
  height: 70vh;
  overflow: hidden;
}
#scroll {
    position: absolute;
    width:100%;
    height:100vh;
    z-index: 0;
}
#scroll::before {
    content: "";
    position: absolute;
    left: 0;
    top: 70vh;
    background-color: #ffe2cf;
    width: 30%;
    height: 100vh;
    z-index: 0;
    pointer-events: none;
}
#scroll span {
    display: inline-block;
    position: absolute;
    left: 4.5vw;
    bottom: 30px;
    z-index: 2;
    padding: 0 10px 50px;
    overflow: hidden;
    color: #4d4d4d;
    font-size: 12px;
    font-weight:700;
    line-height: 1;
    letter-spacing: .2em;
    text-decoration: none;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
#scroll span::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 40px;
    background: #4d4d4d;
    animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
    0% {
      transform: scale(1, 0);
      transform-origin: 0 0;
    }
    50% {
      transform: scale(1, 1);
      transform-origin: 0 0;
    }
    50.1% {
      transform: scale(1, 1);
      transform-origin: 0 100%;
    }
    100% {
      transform: scale(1, 0);
      transform-origin: 0 100%;
    }
}
#slider { /*top page*/
    position: absolute;
    right:0;
    top:0;
    width: 88%;
    height: 92vh;
    display: flex;
    flex-direction:column;
    align-items: center;
    justify-content: center;
    z-index: 3;
    border-radius: 0 0 0 150px ;
    overflow: hidden;
}
#slider img {
  height:100%;
  /*height:100vh;*/
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  object-fit: cover;
}
#slider_text {
  position: absolute;
  left:0;
  top:25vh;
  background-color: rgba(0, 91, 71, 0);
  z-index: 5;
  padding:10px 60px;
}
#slider_text h2 {
  color: #4d4d4d;
  font-size: clamp(2.5rem, 4vw, 4rem);
  letter-spacing: .07em;
  line-height: 1.5;
  font-weight: 500;
  text-shadow: 0px 0px 2px #fff,0px 0px 3px #fff,0px 0px 4px #fff,0px 0px 8px #fff,0px 0px 8px #fff,0px 0px 8px #fff;
  animation: SlideIn 2s;
}

@keyframes SlideIn {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateX(64px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.slide_pc {
  display: block;
}
.slide_sp {
  display: none;
}
.slide_sp599 {
  display: none;
}

@media screen and (max-width:960px) {
  .slide_pc {
      display: none;
  }
  .slide_sp {
      display: block;
  }
  .slide_sp599 {
    display: none;
  }
}
@media screen and (max-width:599px) {
  .slide_pc {
      display: none;
  }
  .slide_sp {
      display: none;
  }
  .slide_sp599 {
    display: block;
  }
}

#point {
  position:absolute;
  bottom:0;
  right: 3%;
  background-color: rgba(255,255,255,.8);
  border: 4px solid rgba(233, 96, 124, .5);
  background-clip: padding-box;
  border-radius: 10px;
  display: flex;
  align-items: center;
  z-index: 100;
  padding:1.5rem 0;
  box-sizing: border-box;
}
.point_box {
  padding:0 1.5rem;
  text-align: center;
  color:#e9607c;
  width:120px;
}
.point_box:nth-child(1),
.point_box:nth-child(2) {
  border-right: 1px dotted #e9607c;
}
.point_box h3 {
  position: relative;
  padding-top:3.5rem;
}
.point_box h3::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  /*background: url(../images/point01.svg) no-repeat center;*/
  background-size: contain;
  position:absolute;
  top:0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.point_box:nth-child(1) h3::before {
  background: url(../images/point01.svg) no-repeat center;
}
.point_box:nth-child(2) h3::before {
  background: url(../images/point02.svg) no-repeat center;
}
.point_box:nth-child(3) h3::before {
  background: url(../images/point03.svg) no-repeat center;
}
.point_h {
  font-size:2.5rem;
  line-height: 1;
}
.point_l {
  font-size:2rem;
  line-height: 1;
}
#point_sp {
  display: none;
}

@keyframes fadein {
  from {
      opacity: 0;
      /*transform: translateY(-20px);*/
  }
  to {
      opacity: 1;
      /*transform: translateY(0);*/
  }
}
.sub_title span {
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
}
.br_sp599 {
  display: none;
}

/*---------------------------slideレスポンシブ---------------------------------*/
@media screen and (max-width: 960px) {/*タブレット*/
  .top_slider_wrap {
    position: relative;
    display: flex;
    z-index: 0;
    width: 100%;
    height: 70vh;
    overflow: hidden;
  }
  .slider_wrap {
    position: relative;
    display: flex;
    z-index: 0;
    width: 100%;
    height: 70vh;
    overflow: hidden;
    margin-bottom: 3rem;
  }
  #scroll {
    position: absolute;
    width:100%;
    height: 70vh;
    z-index: 0;
  }
  #scroll::before {
    top: 50vh;
  }
  #scroll span {
    display: none;
  }
  #scroll span::after {
    content: '';
    position: absolute;
    top:20%;
    left: 50%;
    width: 1px;
    height: 40px;
  }
  #slider {
    position: absolute;
    right:0;
    bottom:0;
    width: 88%;
    height: 70vh;
    border-radius: 0 0 0 150px ;
  }
  #slider img {
    /*width:100%;*/
    height:100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    object-fit: cover;
  }
  #slider_text {
    top: 20vh;
    padding:10px 5%;
  }
  #slider_text h2 {
    font-size: clamp(2.5rem, 3vw, 3rem);
  }
  #slider_sub { /*sub page*/
    position: absolute;
    right:0;
    top:0;
    width: 90%;
    height: 70vh;
    display: flex;
    flex-direction:column;
    align-items: center;
    justify-content: center;
    z-index: 3;
    border-radius: 0 0 0 150px ;
    overflow: hidden;
  }
  #sub_title_box {
    position: absolute;
    top: 50%;
    left: 20vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    z-index: 4;
  }
  .sub_title {
    color:#4d4d4d;
    font-size: clamp(2.7rem, 3vw, 3.2rem);
  }
  #point{
    display: none;
  }
  #point_sp {
    width:460px;
    margin:0 auto;
    background-color: rgba(255,255,255,.8);
    border: 4px solid rgba(255, 201, 210, 0.8);
    background-clip: padding-box;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 100;
    padding:1vw 0;
    box-sizing: border-box;
  }
  #point_sp .point_box {
    padding-top:clamp(1rem,1.4vw,1.5rem);
    padding-bottom:clamp(1rem,1.4vw,1.5rem);
    text-align: center;
    color:#e9607c;
    width:30%;
  }
  #point_sp .point_box h3 {
    position: relative;
    padding-top:clamp(2rem,3.4vw,3.5rem);
    line-height:1.5;
  }
  #point_sp .point_box h3::before {
    content: "";
    display: inline-block;
    width: 2.4vw;
    height: 2.4vw;
    max-width: 25px;
    max-height: 25px;
    min-width: 22px;
    min-height: 22px;
    /*background: url(../images/point01.svg) no-repeat center;*/
    background-size: contain;
    position:absolute;
    top:0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .point_h {
    padding-top:clamp(1.8rem,2.4vw,2.5rem);
  }
  .point_l {
    font-size:clamp(1.8rem,2vw,2rem);
  }
}
@media screen and (max-width: 599px) {
  .top_slider_wrap {
    position: relative;
    display: flex;
    z-index: 0;
    width: 100%;
    height: 68vh;
    overflow: hidden;
  }
  .slider_wrap {
    position: relative;
    display: flex;
    z-index: 0;
    width: 100%;
    height: 65vh;
    overflow: hidden;
    margin-bottom: 3rem;
  }
  #scroll {
    position: absolute;
    width:100%;
    height: 65vh;
    z-index: 0;
  }
  #slider {
    position: absolute;
    right:0;
    bottom:0;
    width: 88%;
    height: 65vh;
    border-radius: 0 0 0 60px ;
  }
  #slider img {
    width:100%;
    /*height:100%;*/
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    object-fit: cover;
  }
  #slider_text {
    top:25vh;
    padding:10px 5%;
  }
  #slider_text h2 {
    font-size: clamp(2rem, 2.8vw, 3.2rem);
  }
  .br_sp599 {
    display: block;
  }
  #point_sp {
    width:90%;
    margin:0 auto;
    background-color: rgba(255,255,255,.8);
    border: 4px solid rgba(255, 201, 210, 0.8);
    background-clip: padding-box;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 100;
    padding:1vw 0;
    box-sizing: border-box;
  }
  #point_sp .point_box {
    padding-top:clamp(1rem,1.4vw,1.5rem);
    padding-bottom:clamp(1rem,1.4vw,1.5rem);
    padding-right:0.5rem;
    padding-left:0.5rem;
    text-align: center;
    color:#e9607c;
    width:30%;
  }
  #point_sp .point_box h3 {
    position: relative;
    padding-top:2.8rem;
    font-size:1.2rem;
    line-height:1.1;
  }
  #point_sp .point_box h3::before {
    content: "";
    display: inline-block;
    width: 2.4vw;
    height: 2.4vw;
    max-width: 25px;
    max-height: 25px;
    min-width: 22px;
    min-height: 22px;
    /*background: url(../images/point01.svg) no-repeat center;*/
    background-size: contain;
    position:absolute;
    top:0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .point_h {
    padding-top:clamp(1.3rem,2vw,1.5rem);
    font-size:1.4rem;

  }
  .point_l {
    font-size:1.2rem;
  }
}

/*-----------------------------main-----------------------------*/
#top_main {
    width: 100%;
    background: linear-gradient(to left,
#fff 25%,#fff 25%,#fff 50%, #fff 50%,#fff 70%, #ffe2cf 70% );
background: linear-gradient(to left,
    #fff 25%, #fff 25% 50%, #fff 50% 70%, #ffe2cf 70% );
}
#main {
  width: 100%;
}
@media screen and (max-width: 960px) {
  .top_main_sp {
    padding-top:2vw;
  }
}

/*-----------------------------top_about-----------------------------*/
#top_about {
  width:900px;
  padding-top:clamp(5rem , 8vw , 8rem) !important;
  margin: 0 auto;
  text-align: center;
}
.top_about_reserve {
  width:580px;
  margin:1.5vw auto;
  background-color: rgba(255,255,255,.8);
  border: 2px solid rgba(233, 96, 124, .5);
  background-clip: padding-box;
  border-radius: 10px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding:2rem;
}
.top_about_reserve-l {
  width:400px;
  border-right:1px dotted #e9607c;
  padding-right:2rem;
  line-height:1.5;
}
.top_about_reserve-l h3 {
  font-size:clamp(3rem , 3.5vw , 3.5rem);
  color:#e9607c;
}
#header_tel a {
  color:#e9607c;
}
.top_about_reserve-l h3 span {
  font-size: clamp(1.4rem ,2vw ,2rem);
}
.top_about_reserve-l p {
  font-size:1.3rem;
}
.top_about_reserve-r {
  width:180px;
  padding-left:2rem;
}
.top_about_reserve-r img {
  width:100%;
}

/*-----------------------top_aboutレスポンシブ----------------------*/
@media screen and (max-width: 960px) {
  #top_about {
    width:94%;
    margin-top:clamp(4rem , 5vw , 5rem);
    margin-left: auto;
    margin-right: auto;
    padding-bottom:clamp(1rem , 4vw , 4rem);
    text-align: center;
  }
}
@media screen and (max-width: 599px) {
  #top_about {
    width:94%;
    margin-top:clamp(4rem , 5vw , 5rem);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .top_about_reserve {
    /*max-width:380px;*/
    width:94%;
    margin:20px auto;
    flex-direction: column;
    align-items: center;
    padding:1.5rem;
  }
  .top_about_reserve-l {
    width:100%;
    border-bottom:1px dotted #e9607c;
    border-right:none;
    padding-right:0;
    padding-bottom:1.5rem;
  }
  .top_about_reserve-l h3 {
    font-size:clamp(2.8rem , 3vw , 3rem);
    color:#e9607c;
  }
  .top_about_reserve-l h3 span {
    font-size: clamp(1.3rem ,2vw ,2rem);
  }
  .top_about_reserve-l p {
    font-size:1.3rem;
  }
  .top_about_reserve-r {
    width:100%;
    padding-left:0;
    padding-top:1.5rem;
  }
  .top_about_reserve-r img {
    width:180px;
  }
}

/*==================================menu==================================*/
#menu {
  width:900px;
  margin: 0 auto;
  padding-top:clamp(3rem , 14vw , 14rem);
  text-align: center;
}
.menu-text {
  margin-top:20px;
}
.menu-wrap {
  width:100%;
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  margin-bottom:clamp(3rem , 8vw , 8rem);
}
.menu-box {
  width:430px;
  margin-top:30px;
}
.menu-box img {
  width:100%;
  border-radius: 50px 0 0 0;
  vertical-align:top;
}
/*メニューのアコーディオン*/
.acd-check{
  display: none;
}
.acd-label{
  background: #fff;
  color: #4d4d4d;
  font-size:clamp(20px , 2.5vw , 25px);
  font-weight: 500;
  display: block;
  padding: 10px;
  position: relative;
  box-shadow: 1px 1px 2px #ccc;
  z-index:5;
}
.acd-label:after{
  /*background: #fff;*/
  box-sizing: border-box;
  content: '\2b';
  display: block;
  font-family: Font Awesome\ 5 Free;
  font-size:clamp(20px , 2.5vw , 25px);
  height: 52px;
  padding: 10px 20px;
  position: absolute;
  right: 0;
  top: 0px;
}
.acd-content{
  background-color: #fff;
  display: block;
  height: 0;
  opacity: 0;
  padding: 0 20px;
  transition: .5s;
  visibility: hidden;
}
.acd-check:checked + .acd-label:after{
  content: '\f2d1';
  font-family: Font Awesome\ 5 Free;
  font-size: 20px;
}
.acd-check:checked + .acd-label + .acd-content{
  height: 200px;
  opacity: 1;
  padding: 20px;
  visibility: visible;
}
.acd-content dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  font-size:16px;
  font-weight: 500;
}
.acd-content dt {
  width: 30%;
  margin-bottom: 5px;
  text-align: left !important;
  border-bottom: 1px dotted #c9c9c9;
}
.acd-content dd {
  width: 70%;
  margin-bottom: 5px;
  text-align: right !important;
  border-bottom: 1px dotted #c9c9c9;
}

/*-----------------------menuレスポンシブ----------------------*/
@media screen and (max-width: 960px) {
  #menu {
    width:94%;
    padding-bottom:clamp(2rem , 6vw , 6rem);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .menu-text {
    margin-top:10px;
  }
  .menu-wrap {
    justify-content:space-around;
  }
  .menu-box {
    width:48%;
    max-width:380px;
    margin-top:30px;
  }
}
@media screen and (max-width: 599px) {
  #menu {
    width:94%;
    margin: 30px auto;
  }
  .menu-text {
    margin-top:10px;
    font-size:15px;
    line-height: 1.3 !important;
  }
  .menu-wrap {
    flex-direction: column;
    align-items: center;
    flex-wrap: nowrap;
    margin-bottom:clamp(3rem , 8vw , 8rem);
  }
  .menu-box {
    width:100%;
  }
}

/*==================================access===============================*/
#access {
  width:900px;
  margin: 0 auto;
  padding-top:clamp(3rem , 6vw , 6rem);
  padding-bottom:clamp(3rem , 6vw , 6rem);
  text-align: center;
}
h3.shop_name {
  text-align: center;
  font-size: clamp(2rem ,2.8vw,2.8rem);
  font-weight: 700;
  letter-spacing: .04em;
  color:#fff;
  background-color: #e5aab8;
  border-radius: 30px;
  margin:20px auto !important;
  width:30%;
  padding: 0 !important;
}
.open-day {
  font-size: 20px !important;
  font-weight: bold;
  color: red;
}
.access-wrap {
  width:100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.googlemap {
  width:450px;
}
.googlemap iframe {
  width:100%;
  height:400px;
  border-radius: 50px 0 0 0;
}
.shop-info {
  width: 400px;
}
.shop-info dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  border-top: 1px dotted #c9c9c9;
}
.shop-info dt {
  width: 30%;
  padding: 5px 0;
  text-align: left !important;
  border-bottom: 1px dotted #c9c9c9;
}
.shop-info dd {
  width: 70%;
  padding: 5px 0;
  text-align: left !important;
  border-bottom: 1px dotted #c9c9c9;
}
.btn_wrap {
  width:100%;
  text-align: center;
}
.access-img-wrap {
  width:100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top:30px;
  padding-bottom:50px;
}
.access-img-box {
  width:30%;
  max-width:290px;
  margin-top: 30px;
}
.access-img-box img {
  width:100%;
  border-radius: 50px 0 0 0;
  vertical-align:top;
}
/*-----------------------------acccessレスポンシブ-----------------------------------*/
@media screen and (max-width: 960px) {
  #access {
    width:94%;
    padding-top:0;
    padding-bottom:0;
    margin-bottom:clamp(2rem , 6vw , 6rem);
    text-align: center;
  }
  .access-wrap {
    justify-content: space-around;
  }
  .googlemap {
    width:500px;
  }
  .googlemap iframe {
    height:300px;
  }
  .shop-info {
    width: 500px;
  }
}
@media screen and (max-width: 599px) {
  #access {
    padding-top:clamp(3rem , 6vw , 6rem);
    padding-bottom:clamp(3rem , 6vw , 6rem);
    text-align: center;
  }
  .access-img-wrap {
    flex-direction: column;
    align-items: center;
    margin-top:20px;
  }
  .access-img-box {
    width:100%;
    max-width:380px;
  }
}

/*==========================footer===============================*/
.caution {
    width:100%;
    margin: 30px auto 0;
    padding:25px 0;
    background-color: #efefef;
}
.caution-inner {
  width:94%;
  max-width:900px;
  margin: 0 auto;
}
.caution-inner h3 {
  color: #e9607c;
  font-weight: 500;
  text-align: center;
}
.caution-inner p {
  font-size:14px;
}

/*==========================footer===============================*/
footer {
  width:100%;
  color:#fff;
  background-color: #e9607c;
}
.footer-inner {
  width:94%;
  max-width:900px;
  margin:0 auto;
  padding:30px 0;
  display: flex;
  justify-content: space-between;
}
.footer-l {
  width:35%;
}
.footer-add {
  font-size:14px;
  line-height: 1.5;
}
footer-l a {
  color:#fff;
}
.footer-r {
  width:65%;
}
.footer-r ul {
  display:flex;
  justify-content: flex-end;
  align-items: center;
}
.footer-r li {
  list-style-type: none;
  margin-left: 2.669vw;
  font-size:14px;
  line-height: 1.3 !important;
}
.footer-r li a {
  color: #fff;
}
.footer-r li a:hover {
  color:#ffe2cf;
}
.copyright {
  width:100%;
  height:50px;
  text-align: center;
  font-size:1.2rem;
}
/*--------------------------footerレスポンシブ-----------------*/
@media screen and (max-width: 960px) {
  .footer-inner {
    padding:30px 0;
    justify-content:center;
    flex-direction: column;
    text-align: center;
  }
  .footer-l , .footer-r{
    width:100%;
  }
  .footer-logo {
    width:70%;
    max-width:200px;
  }
  .footer-l h3 {
    font-size: clamp(2.5rem , 2.8vw ,2.8rem) !important;
    line-height: 1.8;
  }
  .footer-l h3 span {
    font-size: clamp(1.3rem , 1.8vw ,1.8rem);
  }
  .footer-r ul {
    display: none;
  }
}

@media screen and (max-width: 599px) {
  .copyright {
    width:100%;
    height:100px;
    text-align: center;
    font-size:1.2rem;
  }
}

/*----------------------------見出し関係-----------------------*/
h2.title_pink {
  display: block;
  text-align: center;
  line-height: 20px!important;
  font-size: clamp(3.2rem ,4vw,3.8rem);
  font-weight: 700;
  letter-spacing: .04em;
  position: relative;
  color:#e9607c;
}
h2.title_pink::before{
  content: "";
  display: inline-block;
  width: 36px;
  height: 40px;
  background: url(../images/temomi-icon.svg) no-repeat center;
  background-size: contain;
  position:absolute;
  top:-55px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.title_pink_s {
  font-size:1.5rem;
  color:#e9607c;
  font-weight: 500;
  line-height: 4;
}

/*------------------見出し関係レスポンシブ----------*/
@media screen and (max-width: 960px) {
  h2.title_pink {
    line-height: 15px!important;
    font-size: clamp(3.2rem ,4vw,3.8rem);
  }
  .title_pink_s {
    font-size:max(1vw ,1.3rem);
    letter-spacing: .1em;
    line-height: -3;
  }
}
@media screen and (max-width: 599px) {
  h2.title_pink {
    line-height: 0!important;
    font-size: clamp(2.8rem ,3.4vw,3.4rem);
  }
  h2.title_pink::before{
    content: "";
    display: inline-block;
    width: 31px;
    height: 35px;
    background: url(../images/temomi-icon.svg) no-repeat center;
    background-size: contain;
    position:absolute;
    top:-55px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .left {
    text-align: left;
  }
}

/*----------------------------ボタンのスタイル-----------------------------*/
.btn_s {
  background-color: #fff;
  border:4px solid #e5aab8;
  color:#e9607c;
  font-size:1.6rem;
  padding: 10px 25px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .08em;
  transition: all 0.3s;
}
.btn_s2 {
  background-color: #fff;
  border:4px solid #e5aab8;
  color:#e9607c;
  font-size:1.6rem;
  padding: 12px 50px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .08em;
  transition: all 0.3s;
}
.btn_s:hover, .btn_s2:hover {
  background-color:#e9607c;
  color: #fff;
  cursor: pointer;
}
@media screen and (max-width: 599px) {
  .btn_s2 {
    background-color: #fff;
    border:4px solid #e5aab8;
    padding: 12px 0;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: .08em;
    transition: all 0.3s;
    width:90%;
    text-align: center;
  }
}
/*----------------------------コンテンツのフェードイン用-----------------------------*/
.effect-fade {
	opacity: 0;
	transform: translate(0, 80px); /* フェードインで動く高さを指定 */
	transition: all 800ms; /* フェードインにかかる時間を指定 */
}
.effect-scroll {
	opacity: 1;
	transform: translate(0, 0);
}

/*-----------------------------フローティングボタン-----------------------------*/
#top_btn{
  width: 60px;
  height: 60px;
  position: fixed;
  right: 0;
  bottom: 0;
  background-color:#e5aab8;
  z-index: 99;
}
#top_btn a{
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  text-decoration: none;
}
#top_btn a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -30px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

@media screen and (max-width: 599px) {
  #top_btn{
    width: 40px;
    height: 40px;
    position: fixed;
    right: 0;
    bottom:70px;
    background-color:#e5aab8;
    z-index: 99;
  }
  #top_btn a{
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    text-decoration: none;
  }
  #top_btn a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 20px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -15px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }
  /*スマホの時は画面一番下に電話とLINEボタン*/
  #reserve_btn_sp {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 999;
    display: flex;
    flex-wrap: wrap;
    box-shadow: 0px -7px 7px -7px rgba(109, 109, 109, 0.8);
  }
  .reserve_btn_tel {
    width:50%;
    height:40px;
    background-color: #e5aab8;
    text-align: center;
    padding: 5px 0;;
  }
  .reserve_btn_tel2 {
    width:50%;
    height:40px;
    background-color: #ea8fa4;
    text-align: center;
    padding: 5px 0;
  }
  .reserve_btn_hotpepper {
    width:50%;
    height:40px;
    background-color: #fff;
    text-align: center;
    padding: 5px 0;
   }
  .reserve_btn_hotpepper img {
    height:100%;
  }
  .reserve_btn_tel a , .reserve_btn_tel2 a {
    display: block;
    color: #fff;
    font-size:20px;
    line-height:40px;
  }
  .reserve_btn_line {
    width:50%;
    height:40px;
    background-color: #06c755;
    text-align: center;
    padding: 5px 0;
  }
  .reserve_btn_line img {
    width:65%;
  }
}
@media screen and (min-width: 600px) {
  #reserve_btn_sp {
    display: none;
  }
}

/*-------------------------その他共通------------------------------------------------*/
.font_zen {
  font-family:'Zen Maru Gothic',sans-serif;
}
.font_mplus {
font-family: 'M PLUS 1p', sans-serif;
}
.mt10 {
margin-top: clamp(0.8rem ,0.8vw,1rem);
}
.mt20 {
margin-top: clamp(1.5rem ,1.6vw,2rem);
  /*margin-top:2rem;*/
}
.mt40 {
margin-top: clamp(3.5rem ,3.1vw,4rem);
  /*margin-top:4rem;*/
}
.mt30 {
margin-top: clamp(2.5rem ,2.4vw,3rem);
/*margin-top:3rem;*/
}
.mt50 {
margin-top: clamp(4.5rem ,4vw,5rem);
/*margin-top:5rem;*/
}
.mt70 {
margin-top: clamp(6.5rem ,5.5vw,7rem);
/*margin-top:7rem;*/
}
.mb30 {
  margin-bottom: clamp(2.5rem ,2.4vw,3rem);
  /*margin-top:3rem;*/
}
.pt40 {
padding-top: clamp(3.5rem ,3.1vw,4rem);
/*padding-top:4rem;*/
}
.pt30 {
padding-top: clamp(2.5rem ,2.4vw,3rem);
/*padding-top:3rem;*/
}
.pt20 {
padding-top: clamp(1rem ,1.6vw,2rem);
/*padding-top:2rem;*/
}
.movetext{
opacity:0;
}
.movetext span{
opacity:0;
}
.smooth {
transform: rotate(0.03deg);
-moz-transform: rotate(0.03deg);
-ms-transform: rotate(0.03deg);
-o-transform: rotate(0.03deg);
-webkit-transform: rotate(0.03deg);
}
.center {
text-align: center;
}
.br_sp {
display: none;
}
.br_pc {
  display: inline;
  }
.sp_dp {
display:none;
}
@media screen and (max-width: 599px) {
  .br_sp {
    display: inline;
  }
  .br_pc {
    display: none;
  }
}
.anchor {
  display:block;
  scroll-margin-top:100px;
}

	/*************Swiper**************/
	.swiper3{
		width: 100%;
		margin-bottom:0 !important;
	}
	.swiper-wrapper {
		width: 100%;
		height:auto;
	}
	.swiper-button-prev::after,
	.swiper-button-next::after {
		color: #000;
		font-size: 30px !important;
	}
