@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Noto+Sans+JP:wght@400;700&display=swap"); /*==========================================================================
# reset - ブラウザの差異や不要なスタイルを無くすためのスタイル
========================================================================== */
* {
  box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

li, dd {
  list-style-type: none;
}

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

img {
  border: none;
  vertical-align: bottom;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: #333;
}

.page-top_btn {
  background-color: #fff;
  border-radius: 50%;
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 100;
  width: 50px;
  height: 50px;
}
@media (max-width: 767px) {
  .page-top_btn {
    bottom: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
  }
}

.drawer-icon {
  position: fixed;
  top: 24px;
  right: 16px;
  z-index: 300;
  display: none;
  transition: transform 0.3s ease 0s;
}
@media (max-width: 767px) {
  .drawer-icon {
    display: block;
  }
}
.drawer-icon.is-active {
  transform: translateX(-200px);
}
.drawer-icon.is-active .drawer-icon_bar1 {
  transform: rotate(-45deg);
  top: 8px;
}
.drawer-icon.is-active .drawer-icon_bar2 {
  display: none;
}
.drawer-icon.is-active .drawer-icon_bar3 {
  transform: rotate(45deg);
  top: 8px;
}
.drawer-icon_bars {
  width: 22px;
  height: 20px;
  display: block;
  position: relative;
}
.drawer-icon_bars .drawer-icon_bar1,
.drawer-icon_bars .drawer-icon_bar2,
.drawer-icon_bars .drawer-icon_bar3 {
  position: absolute;
  width: 22px;
  height: 4px;
  background: #3EA1D1;
  top: 0;
  right: 0;
}
.drawer-icon_bars .drawer-icon_bar1 {
  top: 0;
}
.drawer-icon_bars .drawer-icon_bar2 {
  top: 8px;
}
.drawer-icon_bars .drawer-icon_bar3 {
  top: 16px;
}

.drawer-content {
  width: 50%;
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
  z-index: 2000;
  transform: translateX(105%);
  transition: transform 0.3s ease 0s;
}
.drawer-content.is-active {
  transform: translateX(0);
}
.drawer-content_items .drawer-content_item {
  border-bottom: 1px dotted black;
}
.drawer-content_items .drawer-content_item a {
  display: block;
  color: black;
  padding: 20px;
  position: relative;
}
.drawer-content_items .drawer-content_item a::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  background: url(/img/r-arrow.png) center center/contain;
}

.drawer-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 200;
  display: none;
}
.drawer-bg.is-active {
  display: block;
}

body {
  color: #333333;
  font-family: "Hiragino Mincho ProN", serif, "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1.6;
}

.inner {
  width: 1200px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .inner {
    width: calc(100% - 30px);
  }
}

img {
  max-width: 100%;
  height: auto;
}

section {
  margin-bottom: 160px;
}
section:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  section {
    margin-bottom: 96px;
  }
}

.sec-title {
  font-size: 40px;
  text-align: center;
  font-weight: bold;
  position: relative;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .sec-title {
    margin-bottom: 64px;
  }
}
.sec-title::after {
  position: absolute;
  content: "";
  width: 60px;
  height: 1px;
  background: #3EA1D1;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
}

.btn-1 {
  color: #3EA1D1;
  background-color: #fff;
  font-weight: bold;
  font-size: 14px;
  width: 157px;
  height: 46px;
  display: inline-block;
  text-align: center;
  line-height: 46px;
  border: 1px solid #3EA1D1;
  transition: all 0.3s ease 0s;
}
.btn-1:hover {
  color: #fff;
  background-color: #3EA1D1;
}

.header {
  position: fixed;
  z-index: 100;
  left: 0;
  right: 0;
  top: 0;
  padding: 25px 0;
  height: 70px;
  background: #fff;
}
@media (max-width: 767px) {
  .header {
    padding: 20px 0;
  }
}
.header-inner {
  display: flex;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .header-inner {
    display: block;
  }
}
.header-logo {
  margin-right: auto;
  line-height: 30px;
}
.header-logo a {
  font-size: 30px;
}
@media (max-width: 767px) {
  .header-logo a {
    font-size: 24px;
  }
}
.header-nav {
  display: flex;
  margin-left: auto;
  letter-spacing: 1.6px;
}
.header-nav_item {
  margin-left: 48px;
}
.header-nav_item a {
  vertical-align: middle;
  transition: all 0.3s ease 0s;
}
.header-nav_item a:hover {
  color: #3EA1D1;
}
@media (max-width: 767px) {
  .header-nav {
    display: none;
  }
}

.main {
  margin-top: 70px;
}
.main-inner {
  height: 660px;
  position: relative;
}
@media (max-width: 767px) {
  .main-inner {
    position: static;
    height: auto;
  }
}
.main-bg {
  width: 990px;
  height: inherit;
  margin-left: auto;
}
@media (max-width: 767px) {
  .main-bg {
    background: url(/img/top.sp.png) no-repeat center/contain;
    margin: 0 auto;
    width: 345px;
    height: 414px;
  }
}
@media (max-width: 767px) {
  .main-bg img {
    display: none;
  }
}
.main-content {
  width: 330px;
  height: 330px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding: 92px 40px 92px 0;
}
@media (max-width: 767px) {
  .main-content {
    position: static;
    transform: none;
    padding: 40px 0 0 0;
    width: 341px;
    height: auto;
  }
}
.main-content_pick {
  width: 156px;
  height: 70px;
  font-size: 26px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .main-content_pick {
    width: 100%;
    height: auto;
  }
}
.main-content_text {
  margin-top: 28px;
}
@media (max-width: 767px) {
  .main-content_text {
    margin-top: 32px;
    padding-right: 50px;
  }
}

.concept-content {
  display: flex;
}
@media (max-width: 767px) {
  .concept-content {
    display: block;
  }
}
.concept-content_img {
  width: 50%;
  max-width: 600px;
  height: 100%;
}
@media (max-width: 767px) {
  .concept-content_img {
    width: 100%;
    height: auto;
  }
}
.concept-content_main {
  margin: auto 0 auto 80px;
}
@media (max-width: 767px) {
  .concept-content_main {
    margin: 40px 0 0 0;
  }
}
.concept-content_main .concept-content_lead {
  font-size: 20px;
  font-weight: bold;
  width: 100%;
  height: 54px;
}
@media (max-width: 767px) {
  .concept-content_main .concept-content_lead {
    width: 100%;
    height: auto;
    font-size: 19px;
  }
  .concept-content_main .concept-content_lead br {
    display: none;
  }
}
.concept-content_main .concept-content_text {
  margin-top: 48px;
  width: 521px;
  height: 75px;
}
@media (max-width: 767px) {
  .concept-content_main .concept-content_text {
    width: 100%;
    height: auto;
  }
  .concept-content_main .concept-content_text br {
    display: none;
  }
}

.menu-content, .discount-content {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .menu-content, .discount-content {
    display: block;
  }
}
.menu-content_item, .discount-content_item {
  display: block;
  width: calc((100% - 120px) / 3);
  margin-left: 60px;
  text-align: center;
  box-shadow: 3px 3px 15px rgba(96, 96, 96, 0.16);
}
@media (max-width: 767px) {
  .menu-content_item, .discount-content_item {
    width: 100%;
    margin-left: 0;
    margin-bottom: 48px;
    padding-bottom: 30px;
  }
  .menu-content_item:last-child, .discount-content_item:last-child {
    margin-bottom: 0;
  }
}
.menu-content_item:nth-child(3n+1), .discount-content_item:nth-child(3n+1) {
  margin-left: 0;
}
.menu-content_item img, .discount-content_item img {
  width: 100%;
  height: auto;
  padding: 30px;
}
.menu-content_item-title, .discount-content_item-title {
  font-size: 24px;
  font-weight: bold;
  width: 100%;
}
.menu-content_item-title p, .discount-content_item-title p {
  display: inline-block;
  padding: 12px 0;
  margin-top: 1000px;
}
@media (max-width: 767px) {
  .menu-content_item-title, .discount-content_item-title {
    width: 100%;
    height: auto;
  }
}
.menu-content_item-text, .discount-content_item-text {
  margin: 30px 0;
}
.menu-content_item-text .item-price, .discount-content_item-text .item-price {
  font-size: 24px;
  font-weight: bold;
}
.menu-content_item-text .item-time, .discount-content_item-text .item-time {
  font-size: 14px;
}
.menu-content_item-text .item-explain, .discount-content_item-text .item-explain {
  margin-top: 30px;
}
.menu .discount-content_item, .discount .discount-content_item {
  padding: 20px 10px;
}
.menu .discount-content_item-title, .discount .discount-content_item-title {
  margin-bottom: 20px;
}
.menu .discount-text, .discount .discount-text {
  text-align: center;
  margin-top: 40px;
  font-size: 20px;
}
@media (max-width: 767px) {
  .menu .discount-text, .discount .discount-text {
    font-size: 17px;
  }
}
.menu-about, .discount-about {
  height: auto;
  width: 100%;
  max-width: 1280px;
  position: relative;
  margin: 160px auto 0 auto;
}
@media (max-width: 767px) {
  .menu-about, .discount-about {
    margin-top: 96px;
    width: 100%;
  }
}
.menu-about_bg, .discount-about_bg {
  height: inherit;
  position: relative;
  border: 1px solid rgba(112, 112, 112, 0.12);
  background-clip: padding-box;
}
.menu-about_bg::after, .discount-about_bg::after {
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.12);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
@media (max-width: 767px) {
  .menu-about_bg, .discount-about_bg {
    background: url(/img/bg-sp/bg@2x.png) no-repeat center/contain;
    width: 100%;
    height: 484px;
  }
}
.menu-about_bg img, .discount-about_bg img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .menu-about_bg img, .discount-about_bg img {
    display: none;
  }
}
.menu-about_text, .discount-about_text {
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  color: black;
}
@media (max-width: 767px) {
  .menu-about_text, .discount-about_text {
    top: 182px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.menu-about_text-main, .discount-about_text-main {
  font-size: 22px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .menu-about_text-main, .discount-about_text-main {
    font-size: 20px;
  }
}
.menu-about_text-sub, .discount-about_text-sub {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .menu-about_text-sub, .discount-about_text-sub {
    font-size: 14px;
  }
  .menu-about_text-sub br:nth-child(2), .discount-about_text-sub br:nth-child(2) {
    display: none;
  }
}

.about-reserve {
  display: flex;
}
@media (max-width: 767px) {
  .about-reserve {
    display: block;
  }
}

.about {
  width: 50%;
}
@media (max-width: 767px) {
  .about {
    width: 100%;
  }
}
.about-content {
  text-align: center;
}
.about-content_img {
  text-align: center;
  margin-top: 40px;
}
.about-content_img img {
  width: 30%;
  height: 30%;
  min-width: 200px;
}
@media (max-width: 767px) {
  .about-content {
    display: block;
  }
}
.about-content_place {
  font-size: 24px;
  font-weight: bold;
}
.about-content_text {
  margin: 20px auto;
  padding: 0 30px;
  text-align: center;
}
@media (max-width: 767px) {
  .about-content_text {
    width: 100%;
    padding: 40px 11px 0;
  }
}
.about-content_text-name {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .about-content_text-name {
    font-size: 20px;
  }
}
.about-content_text-sub {
  margin-top: 30px;
  font-size: 16px;
}
@media (max-width: 767px) {
  .about-content_text-sub {
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  .about-content_text-sub {
    font-size: 14px;
    margin-top: 32px;
  }
}

.reserve {
  width: 50%;
}
@media (max-width: 767px) {
  .reserve {
    width: 100%;
  }
}
.reserve-content {
  width: 100%;
}
@media (max-width: 767px) {
  .reserve-content_sub {
    margin: 0 auto;
    width: 68%;
  }
}
.reserve-content p {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}
.reserve-content_sns {
  display: flex;
  height: auto;
  width: 50%;
  justify-content: center;
  margin: 30px auto;
}
.reserve-content_sns .sns-icon {
  text-align: center;
}
.reserve-content_sns .sns-icon a {
  color: #3EA1D1;
}
.reserve-content_sns .sns-icon:not(:first-child) {
  margin-left: 40px;
}

.important {
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  .important {
    margin-top: 80px;
  }
}
.important-content {
  margin: 0 auto;
  text-align: center;
}
.important-content_text p {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .important-content_text p {
    text-align: center;
  }
}
.important-content_text-pick {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}

.footer {
  margin-bottom: 0;
  padding: 48px 0 17px 0;
  background: #F7F7F7;
  text-align: center;
}
.footer-inner {
  display: inline-block;
  margin: 0 auto;
}
.footer-logo {
  margin-right: auto;
  line-height: 30px;
  margin-bottom: 20px;
}
.footer-logo a {
  font-size: 30px;
}
.footer-text {
  display: flex;
  font-size: 12px;
  width: 296px;
  margin: 24px auto 36px auto;
}
.footer-text_attn a {
  vertical-align: middle;
}
.footer-text_attn a:hover {
  opacity: 0.7;
}
.footer-text_attn:first-child {
  margin-right: 32px;
}
.footer-icon {
  display: flex;
  height: auto;
  width: 50%;
  justify-content: center;
  margin: 0 auto;
}
.footer-icon_sns {
  text-align: center;
}
.footer-icon_sns a {
  color: #3EA1D1;
}
.footer-icon_sns:not(:first-child) {
  margin-left: 40px;
}
.footer-copy {
  font-size: 12px;
  color: #888888;
  margin-top: 24px;
}