/* Reset CSS */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%; /* iOS text scaling */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  margin: 0;
  font-size: 16px;
  line-height: 2;
  background-color: #fff;
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #2D2D2D;
  position: relative;
  width: 100vw;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light;tab-size:2;scrollbar-gutter:stable;interpolate-size:allow-keywords;line-height:1.5}:where(html:has(dialog:modal[open])){overflow:clip}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:inherit;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(button){all:unset}:where(input,button,textarea,select){font:inherit;color:inherit;letter-spacing:inherit;word-spacing:inherit;font-feature-settings:inherit;font-variation-settings:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled,label:has(>:disabled,+disabled)){cursor:not-allowed}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg,video){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem);text-wrap:balance}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(dialog,[popover]){border:none;background:none;color:inherit;inset:unset;max-width:unset;max-height:unset;overflow:unset}:where(dialog:not([open],[popover]),[popover]:not(:popover-open)){display:none!important}:where(:focus-visible){outline:3px solid CanvasText;box-shadow:0 0 0 5px Canvas;outline-offset:1px}:where(:focus-visible,:target){scroll-margin-block:8vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important;user-select:none!important}

img {
  max-width: 100%;
}

.font-futura {
  font-family: "futura-pt", "Yu Gothic", "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
  font-style: normal;
}

#mv {
  position: relative;
}

#mv .mv_cvBtn {
  position: absolute;
  z-index: 10;
  width: 100%;
  bottom: -44px;
}

#mv .mv_cvBtn a {
  height: 85px;
  background: #F47E00;
  border-radius: 99px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: relative;
  transition: .7s;
}

#mv .mv_cvBtn a img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transition: .7s;
}

#mv .mv_cvBtn .hover {
  opacity: 0;
}

#contents2 {
  padding: 80px 0;
}

#contents2 .contents3 {
  width: 612px;
  max-width: 100%;
  margin: 0 auto;
}

#contents3 {
  display: flex;
  justify-content: flex-end;
}

#contents3 .contents4 {
  width: 1280px;
  max-width: 100%;
}

#feature {
  padding: 80px 0;
}

.sectionTitle {
  text-align: center;
  margin-bottom: 60px;
}

.sectionTitle .en {
  font-size: 30px;
  line-height: 1;
}

.sectionTitle .en:after {
  content: '';
  background: #F47E00;
  width: 70px;
  height: 3px;
  margin: 15px auto 20px;
  display: block;
}

.sectionTitle h2 {
  font-weight: normal;
  font-size: 18px;
}

.inner {
  width: 900px;
  max-width: 100%;
  margin: 0 auto;
}

.contentsBlock {
  display: flex;
  justify-content: space-between;
}

.contentsBlock>figure {
  width: 50%;
}

.contentsBlock>.text {
  width: 55%;
  margin: 80px 0 80px -10%;
  z-index: 5;
  border: solid 1px #2D2D2D;
  border-radius: 10px;
  background: #fff;
  padding: 42px 30px;
}

.contentsBlock>.text .number {
  color: #F47E00;
  font-size: 55px;
  line-height: 1;
  margin-bottom: 1rem;
}

.contentsBlock>.text h3 {
  font-size: 18px;
  margin-bottom: 1em;
}

.contentsBlock.imgRight>figure {
  order: 2;
}

.contentsBlock.imgRight>.text {
  order: 1;
  margin: 80px -10% 80px 0;
}

#contents4 {
  padding: 80px 0;
  background: #F47E00;
  color: #fff;
  text-align: center;
}

#contents4 .sectionSubTitle h2 {
  font-size: 20px;
}

#contents4 .sectionSubTitle h2:after {
  content: '';
  display: block;
  background: #FFD68B;
  width: 90px;
  height: 1px;
  margin: 20px auto 40px;
}

#contents4 .contents5 {
  width: 990px;
  max-width: 100%;
  margin: 0 auto 40px;
}

#method {
  display: flex;
  padding: 80px 0 0;
}

#method .contents6 {
  width: 1280px;
  max-width: 100%;
}

#voice {
  padding: 80px 0;
}

.voiceSlider .slick-slide,
.priceSlider .slick-slide {
  padding: 0 10px;
  opacity: .4;
  transform: scale(0.95);
}

.voiceSlider .slick-slide.slick-current,
.priceSlider .slick-slide.slick-current {
  opacity: 1;
  transform: scale(1.0);
}

.voiceSlider .slick-prev {
  left: 33.5vw;
  z-index: 10;
}

.priceSlider .slick-prev {
  left: 28.8vw;
  z-index: 10;
}

.voiceSlider .slick-next {
  right: 33.5vw;
  z-index: 10;
}

.priceSlider .slick-next {
  right: 28.8vw;
  z-index: 10;
}

.voiceSlider .slick-prev:before,
.priceSlider .slick-prev:before {
  background: url(../images/arrow_prev.svg) no-repeat;
  background-size: 10px;
  background-position: center;
  color: rgba(0, 0, 0, 0);
}

.voiceSlider .slick-next:before,
.priceSlider .slick-next:before {
  background: url(../images/arrow_next.svg) no-repeat;
  background-size: 10px;
  background-position: center;
  color: rgba(0, 0, 0, 0);
}

.voiceSlider .slick-dots li button:before,
.priceSlider .slick-dots li button:before {
  color: #FFD68B;
  opacity: 1;
  font-size: 10px;
}

.voiceSlider .slick-dots li,
.priceSlider .slick-dots li {
  margin: 0 2px;
}

.voiceSlider .slick-dots li.slick-active button:before,
.priceSlider .slick-dots li.slick-active button:before {
  color: #F47E00;
  opacity: 1;
  font-size: 16px;
  outline: solid 1px #F47E00;
  border-radius: 50%;
  line-height: 22px;
}

.voiceContainer,
.priceContainer {
  position: relative;
  padding-bottom: 60px;
  margin-bottom: 80px;
}

.voiceContainer .attention {
  font-size: 12px;
  text-align: center;
  position: absolute;
  bottom: 50px;
  width: 100%;
}

.priceContainer .attention {
  font-size: 12px;
  width: 600px;
  text-align: left;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
}

.voiceSlider .slick-dots {
  bottom: -80px;
}

.priceSlider .slick-dots {
  bottom: -100px;
}

.textSlider .slick-slide {
  padding: 0 20px;
}

.ctaBtn {
  text-align: center;
  padding: 40px 0 0;
}

.ctaBtn a {
  width: 570px;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  transition: transform 0.3s ease;
}

.ctaBtn a:hover {
  transform: scale(1.05);
}

#reservation {
  padding: 80px 0;
  background: #FFFAF0;
}

#reservation .contents7 {
  width: 990px;
  max-width: 70%;
  margin: 0 auto;
}

#price {
  padding: 80px 0;
}

.priceCard {
  background: #FFFAF0;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.priceCard .cardText {
  font-size: 12px;
  margin-right: 20px;
}

.priceCard .cardImg {
  width: 350px;
  max-width: 60%;
}

.imgSlider .slick-slide {
  padding: 0 15px;
}

#access {
  padding: 80px 0;
}

#access .inner {
  width: 990px;
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

#access .inner .accessLeft {
  width: 45%;
}

#access .inner .accessLeft .sectionTitle {
  text-align: left;
  margin-bottom: 30px;
}

#access .inner .accessLeft .sectionTitle .en:after {
  margin-left: 0;
}

#access .inner .accessLeft hr {
  border: none;
  height: 30px;
}

#access .inner .accessLeft .access {
  font-size: 14px;
}

#access .inner .accessRight {
  width: 55%;
}

#access .inner .accessRight .googlemap {
  height: 340px;
}

#access .inner .accessRight .googlemap iframe {
  height: 100%;
}

#faq {
  background: #FFFAF0;
  padding: 80px 0;
}

#faq .inner {
  width: 740px;
  max-width: 100%;
}

.accordion-content {
  display: none;
}

.accordion-header {
  margin: 0 0 15px;
  border-bottom: solid 1px #616161;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
  line-height: 1.6;
  padding: 0 0 10px;
}

.accordion-header::before,
.accordion-header::after{
  position:absolute;
  content:'';
  top:1px;
  right:20px;
  bottom:0;
  width:12px;
  height:1px;
  margin:auto;
  background:#2D2D2D;
}
.accordion-header::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.accordion-header.active::after{transform:rotate(0deg);}

.accordion-content {
  margin: 0 0 40px;
  line-height: 1.6;
}

.accordion-header>div,
.accordion-content>div {
  padding-left: 30px;
  position: relative;
}

.accordion-header>div {
  padding-right: 40px;
}

.accordion-header>div::before{
  position: absolute;
  content:"Q";
  top: -5px;
  left: 0;
  color: #F47E00;
  font-size: 22px;
  font-family: "futura-pt", sans-serif;
}

.accordion-content>div::before{
  position: absolute;
  content:"A";
  top: -4px;
  left: 0;
  color: #F47E00;
  font-size: 22px;
  font-family: "futura-pt", sans-serif;
}

.footerBefore {
  padding: 80px 0;
}

.back-top a {
  width: 100%;
  padding: 20px;
  background: #F47E00;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .7s;
}

.back-top a:hover {
  background: #555;
}

.fixedBtn{
  position: fixed;
  z-index: 99;
  width: 66px;
  right: 0;
  top: 50vh;
}

.fixedBtn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: relative;
  transition: .7s;
}

.fixedBtn a img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transition: .7s;
}

.fixedBtn .hover {
  opacity: 0;
}

header {
  position: absolute;
  z-index: 99;
  width: 100%;
  top: 20px;
  left: 0;
}

header .header_inner {
  width: 1240px;
  max-width: calc(100% - 20px);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  left: 0;
  right: 0;
  z-index: 999;
}

header .header_inner h1 img {
  width: 152px;
}

.drawer-hamburger .close,
.drawer-open .drawer-hamburger .open {
  display: none;
}

.drawer-hamburger {
  width: 58px;
  position: relative;
  padding: 0;
  display: flex;
  justify-content: center;
}

.drawer-open .drawer-hamburger .close {
  display: block;
}

.drawer--top.drawer-open .drawer-nav {
  background: #F5F5F5;
  padding: 120px 0 80px;
}

.drawer-menu {
  width: 870px;
  max-width: calc(100% - 30px);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.drawer-menu li {
  text-align: center;
  width: 25%;
  padding: 0 20px;
}

.drawer-menu li a {
  display: block;
}

.drawer-menu li a:hover {
  text-decoration: none;
}

.drawer-menu li a .en {
  border-bottom: solid 2px #F47E00;
  font-size: 18px;
}

.drawer-menu li a .jp {
  font-size: 18px;
}

.drawer-menu li.cta a {
  position: relative;
  width: 158px;
  height: 158px;
  transition: .7s;
  margin: 40px auto 0;
}

.drawer-menu li a:hover {
  color: #F47E00;
}

.drawer-menu li img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transition: .7s;
}

.drawer-menu li img.hover,
.drawer-menu li a:hover img.nom {
  opacity: 0;
}

.drawer-menu li a:hover img.hover {
  opacity: 1;
}

.drawer-menu-item {
  padding: 0;
}

.lb-data .lb-number {
  display: none!important;
}

@media (min-width: 481px) {
  .pcnon {
    display: none!important;
  }

  #mv .mv_cvBtn a:hover {
    background: #FFD68B;
  }

  #mv .mv_cvBtn a:hover .nom,
  .fixedBtn a:hover .nom {
    opacity: 0;
  }

  #mv .mv_cvBtn a:hover .hover,
  .fixedBtn a:hover .hover {
    opacity: 1;
  }

  .voiceSlider .slick-slide a,
  .priceSlider .slick-slide a {
    pointer-events: none;
  }
}

@media (max-width: 991px) {
  #mv .mv_cvBtn {
    bottom: -30px;
  }

  #mv .mv_cvBtn a {
    height: 60px;
  }

  #mv .mv_cvBtn a img {
    height: 30px;
    width: auto;
  }

  #feature {
    padding: 80px 15px;
  }

  #contents4 {
    padding: 80px 15px;
  }

  .voiceSlider .slick-prev {
    left: 13.5vw;
  }

  .voiceSlider .slick-next {
    right: 13.5vw;
  }

  #reservation {
    padding: 80px 15px;
  }

  .priceSlider .slick-prev {
    left: 24.5vw;
  }

  .priceSlider .slick-next {
    right: 24.5vw;
  }

  .imgSlider .slick-slide {
    padding: 0 5px;
  }

  #access {
    padding: 80px 15px;
  }

  #access .inner {
    display: block;
  }

  #access .inner .accessLeft {
    width: 100%;
    margin: 0 0 20px;
  }

  #access .inner .accessRight {
    width: 100%;
  }

  #faq {
    padding: 80px 15px;
  }

  .drawer-menu li {
    width: 50%;
    margin-top: 20px;
  }

  .drawer-menu li.cta a {
    margin-top: 0;
  }

}

@media (max-width: 480px) {
  .spnon {
    display: none!important;
  }

  #mv .mv_cvBtn {
    bottom: -20px;
  }

  #mv .mv_cvBtn a {
    height: 40px;
  }

  #mv .mv_cvBtn a img {
    height: 20px;
  }

  #contents2 {
    padding: 40px 15px;
  }

  .sectionTitle .en {
    font-size: 22px;
  }

  .sectionTitle h2 {
    font-size: 14px;
  }

  body {
    font-size: 14px;
  }

  #feature {
    padding: 40px 15px 0;
  }

  .contentsBlock {
    display: block;
  }

  .contentsBlock>figure {
    width: 80%;
  }

  .contentsBlock>.text {
    width: 90%;
    margin: -20px 0 40px 10%;
    padding: 20px;
    position: relative;
  }

  .contentsBlock>.text .number {
    font-size: 40px;
  }

  .sectionTitle {
    margin-bottom: 30px;
  }

  .contentsBlock.imgRight>figure {
    width: 100%;
    padding-left: 20%;
  }

  .contentsBlock.imgRight>.text {
    margin: -20px 0 40px 0;
  }

  #contents4 {
    padding: 40px 15px;
  }

  #method {
    padding-top: 40px;
  }

  .voiceSlider .slick-list,
  .priceSlider .slick-list {
    padding: 0 40px!important;
  }

  .voiceSlider .slick-prev,
  .priceSlider .slick-prev {
    left: 6.5vw;
  }

  .voiceSlider .slick-next,
  .priceSlider .slick-next {
    right: 6.5vw;
  }

  .voiceContainer, .priceContainer {
    margin-bottom: 40px;
  }

  .ctaBtn {
    padding: 20px 10px 0;
  }

  #voice {
    padding: 40px 0;
  }

  #reservation {
    padding: 40px 15px;
  }

  #price {
    padding: 40px 0;
  }

  .voiceContainer .attention,
  .priceContainer .attention {
    max-width: calc(100% - 30px);
    line-height: 1.4;
  }

  .priceCard {
    display: block;
    text-align: center;
  }

  .priceCard .cardImg {
    margin: 0 auto;
  }

  #access {
    padding: 40px 15px;
  }

  #faq {
    padding: 40px 15px;
  }

  header {
    top: 10px;
  }

  header .header_inner h1 img {
    width: 120px;
  }

  .drawer-hamburger {
    width: 44px;
  }

  .drawer-menu li a .en,
  .drawer-menu li a .jp {
    font-size: 14px;
  }

  .drawer-menu li {
    margin-top: 10px;
    padding: 0 10px;
  }

  .drawer-menu li.cta a {
    width: 120px;
    height: 120px;
  }

  .drawer--top.drawer-open .drawer-nav {
    padding-bottom: 40px;
  }

  .fixedBtn {
    width: 100px;
    top: 90vh;
  }

  .footerBefore {
    padding: 40px 0;
  }
}
