#access .map, #inquiry {
  box-shadow: 0 0 20px rgba(141, 117, 61, 0.16)
  }
  #inquiry .agree {
  box-shadow: 0 0 5px rgba(141, 117, 61, 0.3) inset
  }
  #news .sections__contents .inner, #reason .reason-item, #access .asccessinfo {
  background-image: linear-gradient(to right, #8D753D, #8D753D 1px, transparent 1px, transparent 4px);
  background-position: top left;
  background-size: 4px 1px;
  background-repeat: repeat-x
  }
  #news .sections__contents .item, #reason .sections__content, #access .asccessinfo dd {
  background-image: linear-gradient(to right, #8D753D, #8D753D 1px, transparent 1px, transparent 4px);
  background-position: bottom left;
  background-size: 4px 1px;
  background-repeat: repeat-x
  }
  #mv {
  padding-top: 16vw;
  background: url(../images/home/bg_mv_sp.png) center 12px/100% auto no-repeat;
  position: relative
  }
  #mv .maintext {
  width: 32vw;
  margin-left: auto;
  margin-right: auto;
  position: relative
  }
  #mv .maintext .subtext {
  writing-mode: vertical-rl;
  position: absolute;
  left: 0;
  bottom: 0;
  line-height: 1.3
  }
  #mv .maintext .subtext .name {
  font-size: 1.2rem
  }
  #mv .maintext .subtext .subname {
  font-size: 1rem
  }
  #mv .maintext .balloon {
  position: absolute;
  right: -23.2vw;
  top: -8vw
  }
  #mv [class^="mv-img"] {
  position: absolute
  }
  #mv [class^="mv-img"] img {
  box-shadow: 0 5px 20px rgba(129, 99, 0, 0.1)
  }
  #mv .mv-img01 {
  top: 8vw;
  left: 5.3333333333vw;
  width: 24vw
  }
  #mv .mv-img02 {
  top: 48.8vw;
  left: 0;
  width: 29.3333333333vw
  }
  #mv .mv-img03 {
  top: 29.3333333333vw;
  right: 0;
  width: 29.3333333333vw
  }
  #mv .description {
  text-align: center;
  font-size: 1.7rem;
  line-height: 1.8;
  }
  #mv .description .l {
  font-size: 2rem
  }
  #mv .description .xl {
  font-size: 1.9rem
  }
  #mv .points {
  display: flex;
  justify-content: center;
  gap: 4vw
  }
  #mv .points .point {
  width: 27.2vw;
  height: 27.2vw;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: url(../images/home/bg_mv_point.svg) center/contain no-repeat;
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(141, 117, 61, 0.1)
  }
  #mv .points .point .container {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 6.4vw
  }
  #mv .points .point .l {
  font-size: 1.4rem
  }
  #mv .points .point .xl {
  font-size: 1.6rem
  }
  #mv .points .point .slim {
  letter-spacing: -0.2em
  }
  #mv .points .point:nth-of-type(1) .container {
  line-height: 5.3333333333vw
  }
  #mv .mvInquiry {
  width: 84vw;
  margin-left: auto;
  margin-right: auto
  }
  #mv .mvInquiry img {
  width: 100%
  }
  #mv #mvRequestbutton {
  width: 74.6666666667vw;
  margin-left: auto;
  margin-right: auto
  }
  .sections {
  position: relative
  }
  .sections__lbl {
  font-family: 'Zen Old Mincho', serif
  }
  .sections__lbl.center {
  text-align: center
  }
  .sections__lbl .sub {
  font-size: 2rem;
  line-height: 1.5;
  color: #8D753D
  }
  .sections__lbl .main {
  font-size: 3.4rem;
  font-family: 'Zen Old Mincho', serif;
  line-height: 13.0666666667vw;
  margin-top: 1.6vw
  }
  .sections__contents {
  margin-top: 5.3333333333vw
  }
  #news {
  padding-top: 16vw;
  padding-bottom: 10.6666666667vw;
  position: relative
  }
  #news::after {
  content: '';
  background: url(../images/common/bg_wave_bright_upward_sp.svg) center/contain no-repeat;
  display: block;
  width: 100%;
  height: 66.6666666667vw;
  position: absolute;
  left: 0;
  bottom: -12vw;
  pointer-events: none
  }
  #news .sections__contents {
  margin-left: 5.3333333333vw;
  margin-right: 1.8666666667vw;
  padding-right: 3.4666666667vw;
  overflow-y: auto;
  max-height: 360px;
  position: relative;
  z-index: 2
  }
  #news .sections__contents::-webkit-scrollbar {
  width: 3px
  }
  #news .sections__contents::-webkit-scrollbar-track {
  background-color: #D1D1D1;
  border-radius: 5px
  }
  #news .sections__contents::-webkit-scrollbar-thumb {
  background-color: #8E8E8E;
  border-radius: 5px
  }
  #news .sections__contents .item {
  font-size: 1.5rem;
  line-height: 2;
  padding: 4vw
  }
  #news .sections__contents .item a {
  text-decoration: underline
  }
  #news .sections__contents .item .date {
  color: #8D753D
  }
  #about {
  padding: 10.6666666667vw 0 0;
  position: relative
  }
  #about::after {
  content: '';
  width: 100%;
  height: 66.6666666667vw;
  display: block;
  background: url(../images/common/bg_wave_dark_downward_sp.svg) left bottom/contain no-repeat;
  position: absolute;
  left: 0;
  bottom: -19.4666666667vw;
  pointer-events: none
  }
  #about .sections__lbl {
  margin-left: 5.3333333333vw;
  margin-right: 5.3333333333vw;
  position: relative
  }
  #about .map {
  margin-top: -9.3333333333vw
  }
  #about .moyori {
  position: absolute;
  top: 37.0666666667vw;
  left: 8vw;
  writing-mode: vertical-rl;
  text-orientation: upright
  }
  #about .moyori .box {
  display: flex;
  align-items: center;
  background-color: #fff;
  width: 11.7333333333vw;
  padding: 2.6666666667vw 0;
  font-size: 1.5rem
  }
  #about .moyori .box .l {
  font-size: 1.8rem
  }
  #about .moyori .box .xl {
  font-size: 2.4rem
  }
  #about .moyori .box+.box {
  margin-right: 10px
  }
  #about .moyori .box img {
  margin-bottom: 10px
  }
  #about h3.heading {
  font-size: 2.4rem;
  font-family: 'Zen Old Mincho', serif;
  line-height: 10.6666666667vw;
  margin-top: -26.6666666667vw;
  margin-left: 5.3333333333vw;
  margin-right: 5.3333333333vw;
  position: relative
  }
  #about .textarea {
  margin-top: 5.3333333333vw;
  margin-left: 5.3333333333vw;
  margin-right: 5.3333333333vw;
  font-size: 1.5rem;
  line-height: 8vw
  }
  #about .textarea small {
  font-size: 1.2rem
  }
  #about .introduction {
  padding-top: 10.6666666667vw;
  padding-left: 5.3333333333vw;
  padding-right: 5.3333333333vw;
  padding-bottom: 10.6666666667vw;
  background: url(../images/home/bg_blur01_sp.png) -15.2vw -5.33vw/72.53vw auto no-repeat, url(../images/home/bg_blur02_sp.png) 64.27vw 279.2vw/80vw auto no-repeat, url(../images/home/bg_ripples01_sp.png) 0 171.73vw/30.13vw auto no-repeat, url(../images/home/bg_ripples02_sp.png) right bottom/36.8vw auto no-repeat
  }
  #about .introduction .box .caption {
  font-size: 2rem;
  line-height: 8vw;
  text-align: center;
  margin-top: 4vw
  }
  #about .introduction .box .caption small {
  font-size: 1.5rem
  }
  #about .introduction .box .text {
  font-size: 1.5rem;
  line-height: 2;
  margin-top: 1.3333333333vw
  }
  #reason {
  padding-top: 10.6666666667vw;
  padding-bottom: 10.6666666667vw;
  position: relative;
  background: url(../images/home/bg_circle01_sp.png) 0 26.67vw/67.73vw auto no-repeat, url(../images/home/bg_reason_sp.png) right 54vw/11.47vw auto no-repeat
  }
  #reason::after {
  content: '';
  width: 100%;
  height: 66.6666666667vw;
  background: url(../images/common/bg_wave_bright_upward_sp.svg) center/contain no-repeat;
  display: block;
  position: absolute;
  left: 0;
  bottom: -12vw;
  pointer-events: none
  }
  #reason .sections__lbl {
  margin-left: 5.3333333333vw;
  margin-right: 5.3333333333vw
  }
  #reason .reason_img {
  width: 89.3333333333vw;
  margin-top: 8vw
  }
  #reason .sections__content {
  width: 89.3333333333vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 8vw;
  padding-bottom: 1px;
  position: relative;
  z-index: 2
  }
  #reason .reason-item {
  counter-increment: section;
  padding-top: 1px
  }
  #reason .reason-item__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 4vw 0;
  position: relative
  }
  #reason .reason-item__header .icon {
  width: 11.7333333333vw
  }
  #reason .reason-item__header .icon img {
  filter: drop-shadow(0 0 5px rgba(141, 117, 61, 0.1))
  }
  #reason .reason-item__header .lbl {
  margin-left: 2.6666666667vw;
  transform: translateY(-2px)
  }
  #reason .reason-item__header .lbl img {
  width: 18.9333333333vw
  }
  #reason .reason-item__header .lbl::after {
  content: "0" counter(section);
  font-size: 1.8rem;
  font-weight: 700;
  font-family: 'Zen Old Mincho', serif;
  color: #8D753D;
  display: inline-block;
  margin-left: 2.6666666667vw;
  vertical-align: baseline
  }
  #reason .reason-item__header .title {
  width: calc(100% - 50/375*100vw);
  font-size: 2rem;
  margin-top: 1.3333333333vw
  }
  #reason .reason-item__header .more {
  position: absolute;
  right: 10px;
  top: 50%;
  font-size: 1rem;
  text-align: center;
  transform: translateY(-50%);
  transition: opacity .2s ease-out
  }
  #reason .reason-item__header .more .icon {
  width: 5.8666666667vw;
  height: 5.8666666667vw;
  border: 1px solid #8D753D;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.6vw;
  transition: all .25s ease-out;
  display: flex;
  font-size: 1.4rem;
  color: #8D753D;
  position: relative
  }
  #reason .reason-item__header .more .icon::before, #reason .reason-item__header .more .icon::after {
  content: '';
  display: block;
  background-color: #8D753D;
  position: absolute
  }
  #reason .reason-item__header .more .icon::before {
  width: 10px;
  height: 1px;
  left: calc(50% - 5px);
  top: calc(50% - .5px)
  }
  #reason .reason-item__header .more .icon::after {
  width: 1px;
  height: 10px;
  top: calc(50% - 5px);
  left: calc(50% - .5px)
  }
  #reason .reason-item__header.js-open .more {
  opacity: 0
  }
  #reason .reason-item__content {
  background-color: #ECE7DF;
  padding-top: 5.3333333333vw;
  margin-bottom: 15px;
  display: none
  }
  #reason .reason-item__content .img {
  margin-left: 5.3333333333vw;
  margin-right: 5.3333333333vw
  }
  #reason .reason-item__content dl {
  margin-top: 5.3333333333vw;
  margin-left: 5.3333333333vw;
  margin-right: 5.3333333333vw
  }
  #reason .reason-item__content dl dt {
  background-color: #000;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 1.8666666667vw 5.3333333333vw
  }
  #reason .reason-item__content dl dd {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2
  }
  #reason .reason-item__content .text {
  font-size: 1.5rem;
  line-height: 2;
  margin-top: 5.3333333333vw;
  margin-left: 5.3333333333vw;
  margin-right: 5.3333333333vw
  }
  #reason .reason-item__content .accessbtn {
  border: 1px solid #8D753D;
  border-radius: 3px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 13.3333333333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 5.3333333333vw;
  margin-left: 5.3333333333vw;
  margin-right: 5.3333333333vw
  }
  #reason .reason-item__content .closebtn {
  margin-top: 8vw
  }
  #reason .reason-item__content .closebtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #D1D1D1;
  text-align: center;
  height: 10.6666666667vw;
  font-size: 1.4rem;
  font-weight: 700;
  color: #8E8E8E;
  height: 50px;
  font-size: 1.6rem
  }
  #reason .reason-item__content .closebtn a img {
  margin-left: 2.6666666667vw
  }
  #reason .reason-item__content .closebtn a img {
  margin-left: 10px
  }
  #faq {
  padding: 10.6666666667vw 5.3333333333vw;
  position: relative
  }
  #faq::after {
  content: '';
  width: 100%;
  height: 66.6666666667vw;
  background: url(../images/common/bg_wave_dark_upward_sp.svg) center/contain no-repeat;
  display: block;
  position: absolute;
  left: 0;
  bottom: -18.6666666667vw;
  pointer-events: none
  }
  #faq .sections__content {
  margin-top: 8vw;
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
  position: relative;
  z-index: 2
  }
  #faq .box {
  background-color: #fff;
  padding: 5.3333333333vw;
  counter-increment: section
  }
  #faq .question {
  font-size: 1.8rem;
  line-height: 2;
  padding-left: 2.3em;
  position: relative
  }
  #faq .question::before {
  content: "Q" counter(section);
  font-size: 2.4rem;
  font-weight: 700;
  font-family: 'Zen Old Mincho', serif;
  line-height: 9.6vw;
  color: #8D753D;
  display: inline-block;
  position: absolute;
  left: 0
  }
  #faq .anser {
  margin-top: 5.3333333333vw
  }
  #faq .anser dt {
  color: #fff;
  text-align: center;
  font-family: 'Zen Old Mincho', serif
  }
  #faq .anser dt:nth-of-type(1) {
  font-size: 1.8rem;
  line-height: 10.6666666667vw;
  background-color: #8D753D
  }
  #faq .anser dt:nth-of-type(2) {
  font-size: 1.6rem;
  line-height: 9.3333333333vw;
  background-color: #8E8E8E
  }
  #faq .anser dd {
  padding: 3.7333333333vw 3.7333333333vw 3.7333333333vw 18.4vw;
  font-size: 1.4rem;
  line-height: 2;
  position: relative
  }
  #faq .anser dd::before {
  content: '';
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  display: block;
  position: absolute;
  top: 4vw;
  left: 4vw
  }
  #faq .anser dd:nth-of-type(1) {
  border: 1px solid #8D753D;
  font-weight: 700;
  background-color: #F8F5F2
  }
  #faq .anser dd:nth-of-type(1)::before {
  background: url(../images/common/icon_correct.svg) center/contain no-repeat
  }
  #faq .anser dd:nth-of-type(2) {
  border: 1px solid #8E8E8E;
  background-color: #F5F5F5
  }
  #faq .anser dd:nth-of-type(2)::before {
  background: url(../images/common/icon_incorrect.svg) center/contain no-repeat;
  width: 7.4666666667vw;
  height: 7.4666666667vw;
  left: 5.3333333333vw
  }
  #access {
  padding: 10.6666666667vw 5.3333333333vw 16vw
  }
  #access .map {
  margin-top: 8vw;
  background-color: #fff;
  padding: 1.0666666667vw
  }
  #access .map>* {
  width: 100% !important;
  height: 89.3333333333vw !important
  }
  #access .map iframe {
  width: 100%;
  height: 89.3333333333vw
  }
  #access .asccessinfo {
  margin-top: 8vw
  }
  #access .asccessinfo dt {
  padding: 15px 10px 0;
  font-weight: 700;
  padding-left: 20px;
  position: relative
  }
  #access .asccessinfo dt::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #8D753D;
  position: absolute;
  top: 19px;
  left: 10px
  }
  #access .asccessinfo dd {
  padding: 10px 10px 15px;
  font-size: 1.5rem;
  line-height: 1.67
  }
  #access .asccessinfo dd .syncer-tel a {
  color: #8D753D;
  text-decoration: underline
  }
  #access .asccessinfo dd a.googlemap {
  border: 1px solid #8D753D;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  font-size: 1.4rem;
  font-weight: 700;
  width: 40vw;
  height: 9.3333333333vw;
  margin-top: 5px
  }
  #access .subhead {
  margin-top: 40px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative
  }
  #access .subhead img {
  position: absolute;
  top: 5px;
  left: 0
  }
  #access .subhead.train {
  padding-left: 7.4666666667vw
  }
  #access .subhead.bus {
  padding-left: 8.8vw
  }
  #access .subhead+picture img {
  margin-top: 5.3333333333vw
  }
  #inquiry {
  background-color: #fff;
  padding: 16vw 5.3333333333vw
  }
  #inquiry .bnr img {
  width: 100%
  }
  #inquiry h2.headline {
  margin-top: 7.733333vw;
  text-align: center;
  font-size: 3.4rem;
  line-height: 14.4vw
  }
  #inquiry h2.headline .free {
    width: 17.333333vw;
    margin: 0 auto 2.3vw;
    border: 1px solid #8D753D;
    line-height: 7.4vw;
    font-size: 1.8rem;
    text-align: center;
    display: block;
    color: #8D753D;
  }
  #inquiry .textarea {
    font-size: 1.5rem;
    line-height: 2;
    margin-top: 5.3333333333vw;
    letter-spacing: .04em;
  }
  #inquiry .telcontact {
  margin-top: 7vw;
  padding: 8vw 0;
  letter-spacing: .04em;
  }
  #inquiry .telcontact .lbl {
    font-size: 1.8rem;
    line-height: 1.5;
  }
  #inquiry .telcontact .number {
    margin-top: 3vw;
    font-size: 3rem;
  }
  #inquiry .telcontact .number img {
    width: 11.666667vw;
    position: relative;
    top: -1vw;
  }
  #inquiry #form {
  padding-top: 10.6666666667vw
  }
  #inquiry #form:first-child {
  padding-top: 0
  }
  #inquiry h3.heading {
  font-size: 2.8rem;
  font-weight: 500;
  text-align: center
  }
  #inquiry .formstep {
  margin-top: 8vw;
  margin-bottom: 8vw;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  width: 216px;
  position: relative
  }
  #inquiry .formstep::before {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #D1D1D1;
  position: absolute;
  left: 0;
  bottom: 4.2666666667vw
  }
  #inquiry .formstep .step {
  font-size: 1.5rem;
  font-weight: 500;
  color: #8E8E8E;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  position: relative;
  z-index: 2
  }
  #inquiry .formstep .step span {
  width: 8.5333333333vw;
  line-height: 8vw;
  text-align: center;
  border: 1px solid #8E8E8E;
  border-radius: 50%;
  background-color: #fff
  }
  #inquiry .formstep .step.current {
  color: #8D753D
  }
  #inquiry .formstep .step.current span {
  background-color: #8D753D;
  color: #fff
  }
  #inquiry .formbase dt {
  font-size: 1.5rem;
  font-weight: 700
  }
  #inquiry .formbase dt.required::before, #inquiry .formbase dt.any::before {
  width: 11.7333333333vw;
  line-height: 5.3333333333vw;
  text-align: center;
  display: inline-block;
  font-size: 1.2rem;
  color: #fff;
  margin-right: 2.6666666667vw
  }
  #inquiry .formbase dt.required::before {
  content: '\5fc5\9808';
  background-color: #8D753D
  }
  #inquiry .formbase dt.any::before {
  content: '\4efb\610f';
  background-color: #8E8E8E
  }
  #inquiry .formbase dd {
  margin-top: 4vw
  }
  #inquiry .formbase dd+dt {
  margin-top: 8vw
  }
  #inquiry .e-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4vw 0;
  }
  #inquiry .e-lbl {
    width: 7em;
    font-size: 1.5rem;
    font-weight: 700;
  }
  #inquiry .select {
    width: calc(100% - 8.2em);
    position: relative;
  }
  #inquiry .select::before {
    content: '';
    display: block;
    width: 1px;
    height: 10vw;
    position: absolute;
    top: 2vw;
    right: 11vw;
    background:url(
      data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAAXNSR0IArs4c6QAAAA9JREFUGFdj6Ovr+88ABwAgpgKqEqeIIgAAAABJRU5ErkJggg==
    ) repeat;
  }
  #inquiry .select::after {
    content: "\f0d7";
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    color: #8e8e8e;
    border-radius: 0 1.3333333333vw 1.3333333333vw 0;
    width: calc(50/375*100vw - 7px);
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    right: 0;
    top: 0;
    pointer-events: none
  }

  #inquiry select {
    border-radius: 1.3333333333vw;
    width: 100%;
    height: 13.3333333333vw;
    background-color: #F8F5F2;
    border: none;
    box-shadow: 0 0 5px rgba(141, 117, 61, 0.3) inset;
  }
  #inquiry .privacypolicy {
  margin-top: 8vw;
  height: 81.3333333333vw;
  overflow-y: scroll;
  word-wrap: break-word;
  overflow-wrap: break-word;
  border: 2px solid #D1D1D1;
  padding: 8vw 5.3333333333vw
  }
  #inquiry .privacypolicy .headline {
  text-align: center;
  font-size: 2rem
  }
  #inquiry .privacypolicy .textarea {
  font-size: 1.4rem
  }
  #inquiry .privacypolicy ol {
  margin-top: 10px
  }
  #inquiry .privacypolicy ol li {
  font-size: 1.4rem;
  line-height: 2
  }
  #inquiry .privacypolicy a {
  color: #8D753D;
  text-decoration: underline
  }
  #inquiry .privacypolicy a[target="_blank"]::after {
  content: '';
  width: 14px;
  height: 14px;
  background: url(../images/common/icon_window.svg) center/contain no-repeat;
  display: inline-block;
  margin-left: 5px;
  transform: translateY(2px)
  }
  #inquiry .coution {
  text-align: center;
  font-size: 1.5rem;
  line-height: 2;
  margin-top: 25px
  }
  #inquiry .agree {
  background-color: #F8F5F2;
  height: 15.4666666667vw;
  text-align: center;
  margin-top: 8vw;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px
  }
  #inquiry .agree .e-required {
  background-color: #8D753D;
  color: #fff;
  font-size: 1.2rem;
  width: 11.7333333333vw;
  line-height: 5.3333333333vw;
  margin-right: 2.6666666667vw
  }
  #inquiry .agree label {
  display: flex;
  justify-content: center;
  align-items: center
  }
  #inquiry .agree label input {
  margin-right: 2.6666666667vw
  }
  #inquiry .agree.e-error {
  box-shadow: 0 0 0 2px #DE3300;
  background-color: #FFEEE9
  }
  #inquiry div:not(.agree).e-error {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #DE3300;
  margin-top: 10px;
  display: inline-block;
  text-align: center
  }
  #inquiry .toconfirm {
  margin-top: 9.0666666667vw;
  margin-left: auto;
  margin-right: auto;
  width: 74.6666666667vw
  }
  #inquiry .toback {
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  text-align: center
  }
  #inquiry .coutions {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2
  }
  #inquiry .frame {
  margin-top: 30px;
  border: 2px solid #D1D1D1;
  padding: 30px 20px
  }
  #inquiry .frame .em {
  line-height: 2;
  font-size: 1.8rem
  }
  #inquiry .frame p {
  font-size: 1.4rem;
  line-height: 2;
  margin-top: 10px
  }
  @media (min-width: 768px) {
  #mv {
    padding-top: 151px;
    background: url(../images/home/bg_mv.png) center 0/2460px auto no-repeat;
    background-image: image-set(url(../images/home/bg_mv.png) 1x, url(../images/home/bg_mv@2x.png) 2x);
    min-height: 1107px;
    overflow: hidden
  }
  #mv .maintext {
    width: 220px
  }
  #mv .maintext img {
    width: 100%
  }
  #mv .maintext .subtext {
    line-height: 1.5
  }
  #mv .maintext .subtext .name {
    font-size: 1.8rem
  }
  #mv .maintext .subtext .subname {
    font-size: 1.4rem
  }
  #mv .maintext .balloon {
    top: 0;
    right: -135px
  }
  #mv .maintext .balloon img {
    width: 108px
  }
  #mv .mv-img01 {
    width: 515px;
    top: 161px;
    left: calc(50% - 860px)
  }
  #mv .mv-img02 {
    width: 530px;
    left: calc(50% - 960px);
    top: 631px
  }
  #mv .mv-img03 {
    width: 515px;
    left: calc(50% + 345px);
    top: 253px
  }
  #mv .description {
    margin-top: 20px;
    font-size: 2rem;
    line-height: 44px
  }
  #mv .description .l {
    font-size: 2.4rem
  }
  #mv .description .xl {
    font-size: 2.8rem
  }
  #mv .points {
    margin-top: 20px;
    gap: 20px
  }
  #mv .points .point {
    width: 150px;
    height: 150px
  }
  #mv .points .point .container {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 30px
  }
  #mv .points .point .l {
    font-size: 2rem
  }
  #mv .points .point .xl {
    font-size: 2.4rem
  }
  #mv .points .point:nth-of-type(1) .container {
    line-height: 30px
  }
  #mv .mvInquiry {
    width: 490px
  }
  #mv #mvRequestbutton {
    width: 490px;
    margin-top: 20px
  }
  .sections__lbl .sub {
    font-size: 2.4rem;
    line-height: 35px
  }
  .sections__lbl .main {
    font-size: 4.2rem;
    line-height: 61px;
    margin-top: 10px
  }
  .sections__contents {
    margin-top: 40px
  }
  #news {
    padding-top: 0;
    padding-bottom: 60px
  }
  #news::after {
    height: 855px;
    background: url(../images/common/bg_wave_bright_upward@2x.png) center/2500px 855px no-repeat;
    bottom: -162px
  }
  #news .sections__contents {
    margin-left: calc(50% - 500px);
    margin-right: calc(50% - 514px);
    padding-right: 14px;
    max-height: 337px
  }
  #news .sections__contents .item {
    font-size: 1.8rem;
    padding: 20px 10px
  }
  #news .sections__contents .item a::after {
    content: '';
    width: 23px;
    height: 8px;
    display: inline-block;
    background: url(../images/common/icon_arrowright_ocher.svg) center/contain no-repeat;
    margin-left: 20px;
    opacity: 0
  }
  #news .sections__contents .item a:hover {
    opacity: 1;
    color: #8D753D
  }
  #news .sections__contents .item a:hover::after {
    opacity: 1
  }
  #about {
    padding-top: 110px;
    padding-bottom: 60px;
    overflow: hidden
  }
  #about::after {
    background: url(../images/common/bg_wave_dark_downward@2x.png) center/2500px 855px no-repeat;
    height: 855px;
    bottom: -200px
  }
  #about .sections__lbl {
    margin-left: 0;
    margin-right: 0;
    padding-left: calc(50% - 550px);
    padding-right: calc(50% - 550px)
  }
  #about .map {
    position: absolute;
    margin: 0;
    top: 60px;
    right: calc(50% - 715px)
  }
  #about .moyori {
    position: static;
    writing-mode: horizontal-tb;
    display: flex;
    margin-left: calc(50% - 550px);
    margin-top: 40px
  }
  #about .moyori .box {
    font-size: 1.8rem;
    width: 255px;
    height: 50px;
    padding: 0 20px
  }
  #about .moyori .box .l {
    font-size: 2rem
  }
  #about .moyori .box .xl {
    font-size: 2.4rem
  }
  #about .moyori .box+.box {
    margin-left: 10px
  }
  #about .moyori .box img {
    margin-bottom: 0;
    margin-right: 10px
  }
  #about h3.heading {
    margin: 0;
    margin-top: 30px;
    margin-left: calc(50% - 550px);
    line-height: 48px;
    font-size: 2.8rem
  }
  #about h3.heading small {
    font-size: 2.4rem
  }
  #about .textarea {
    margin-top: 30px;
    margin-left: calc(50% - 550px);
    font-size: 1.8rem;
    line-height: 36px;
    width: 535px;
    position: relative;
    z-index: 3
  }
  #about .textarea small {
    font-size: 1.4rem
  }
  #about .introduction {
    position: relative;
    padding: 0;
    margin-top: 60px;
    background: none;
    z-index: 2
  }
  #about .introduction::before {
    content: '';
    position: absolute;
    left: calc(50% - 815px);
    top: -205px;
    background: url(../images/home/bg_introduction.png) center 0/contain no-repeat;
    display: block;
    width: 1617px;
    height: 2017px
  }
  #about .introduction .container {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    position: relative
  }
  #about .introduction .box {
    width: 500px
  }
  #about .introduction .box:not(.slim):nth-of-type(even) {
    margin-left: 100px
  }
  #about .introduction .box:nth-of-type(n+3) {
    margin-top: 100px
  }
  #about .introduction .box .caption {
    font-size: 2.4rem;
    line-height: 35px;
    margin-top: 20px
  }
  #about .introduction .box .text {
    font-size: 1.8rem;
    width: 420px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px
  }
  #about .introduction .box.slim {
    width: 310px;
    margin-top: 113px
  }
  #about .introduction .box.slim+.slim {
    margin-left: 85px
  }
  #about .introduction .box.slim.slimcenter {
    margin-top: 65px
  }
  #about .introduction .box.slim .text {
    width: auto
  }
  #reason {
    padding-top: 123px;
    padding-bottom: 180px;
    background: url(../images/home/bg_circle01.png) 0 0 no-repeat, url(../images/home/bg_reason.png) right 307px no-repeat
  }
  #reason::after {
    height: 855px;
    background: url(../images/common/bg_wave_bright_upward@2x.png) center/2500px 855px no-repeat;
    bottom: -53px
  }
  #reason .sections__lbl {
    position: absolute;
    width: 100%;
    max-width: calc(1650px);
    margin: 0;
    z-index: 2
  }
  #reason .sections__lbl .sub, #reason .sections__lbl .main {
    width: 650px;
    margin-left: auto
  }
  #reason .container {
    display: flex;
    position: relative
  }
  #reason .reason_img {
    max-width: 900px;
    width: 46.875%;
    margin: 0;
    position: relative;
    z-index: 2
  }
  #reason .reason_img .box {
    position: sticky;
    top: 0
  }
  #reason .reason_img .box img {
    width: 100%
  }
  #reason .sections__content {
    width: 650px;
    margin-top: 185px;
    margin-left: 100px;
    margin-right: 100px
  }
  #reason .reason-item__header {
    padding: 20px 0;
    display: grid;
    grid-template-columns: 110px 1fr;
    cursor: pointer;
    transition: all .25s ease-out
  }
  #reason .reason-item__header:hover {
    background-color: #fff;
    box-shadow: 0 0 20px rgba(141, 117, 61, 0.16)
  }
  #reason .reason-item__header:hover .more {
    color: #8D753D
  }
  #reason .reason-item__header:hover .more .icon {
    background-color: #8D753D
  }
  #reason .reason-item__header:hover .more .icon::before, #reason .reason-item__header:hover .more .icon::after {
    background-color: #fff
  }
  #reason .reason-item__header .icon {
    width: 100px;
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    margin-left: 10px
  }
  #reason .reason-item__header .lbl {
    margin: auto 0 0 20px;
    grid-row: 1 / 2
  }
  #reason .reason-item__header .lbl img {
    width: 81px
  }
  #reason .reason-item__header .lbl::after {
    font-size: 2rem;
    margin-left: 10px
  }
  #reason .reason-item__header .title {
    margin: 5px 0 auto 20px;
    grid-row: 2 / 3;
    width: calc(100% - 120px);
    font-size: 2.8rem;
    line-height: 40px
  }
  #reason .reason-item__header .more .icon::before {
    width: 17px;
    left: calc(50% - 8.5px)
  }
  #reason .reason-item__header .more .icon::after {
    height: 17px;
    top: calc(50% - 8.5px)
  }
  #reason .reason-item__header .more {
    font-size: 1.2rem
  }
  #reason .reason-item__header .more .icon {
    width: 36px;
    height: 36px;
    margin-bottom: 10px;
    font-size: 2.4rem;
    vertical-align: middle
  }
  #reason .reason-item__content {
    padding-top: 40px
  }
  #reason .reason-item__content .img {
    margin-left: 40px;
    margin-right: 40px
  }
  #reason .reason-item__content dl {
    margin-top: 40px;
    margin-left: 40px;
    margin-right: 40px;
    display: flex
  }
  #reason .reason-item__content dl dt {
    padding: 0 20px;
    display: flex;
    align-items: center;
    font-size: 2rem
  }
  #reason .reason-item__content dl dd {
    margin-left: 20px;
    font-size: 2rem
  }
  #reason .reason-item__content .text {
    font-size: 1.8rem;
    margin-top: 40px;
    margin-left: 40px;
    margin-right: 40px
  }
  #reason .reason-item__content .accessbtn {
    margin-top: 40px;
    margin-left: 40px;
    margin-right: 40px;
    font-size: 1.8rem;
    line-height: 60px
  }
  #reason .reason-item__content .accessbtn:hover {
    opacity: 1;
    background: #8D753D;
    color: #fff
  }
  #reason .reason-item__content .closebtn {
    margin-top: 40px
  }
  #faq {
    padding: 0 0 242px;
    overflow: hidden
  }
  #faq::after {
    height: 855px;
    background: url(../images/common/bg_wave_dark_upward@2x.png) center/2500px 855px no-repeat;
    bottom: 0
  }
  #faq::before {
    content: '';
    width: 1130px;
    height: 1130px;
    background: url(../images/home/bg_faq.png) center/contain no-repeat;
    display: block;
    position: absolute;
    left: calc(50% + 420px);
    top: -166px
  }
  #faq .sections__content {
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    gap: 0;
    width: 1100px
  }
  #faq .box {
    background: none;
    padding: 0;
    display: flex
  }
  #faq .box .question {
    width: 340px;
    background-color: #fff;
    padding: 30px
  }
  #faq .box .anser {
    width: 760px
  }
  #faq .box:not(:first-of-type) .question, #faq .box:not(:first-of-type) .anser {
    border-top: 1px dashed #8D753D
  }
  #faq .box:first-of-type .question {
    margin-top: 92px
  }
  #faq .box dl {
    display: grid;
    grid-template-columns: 420px 340px
  }
  #faq .box:first-of-type dl {
    grid-template-rows: 90px 1fr
  }
  #faq .box:first-of-type dl :nth-child(1) {
    order: 1;
    font-size: 2.4rem
  }
  #faq .box:first-of-type dl :nth-child(3) {
    order: 2;
    margin-top: 20px;
    font-size: 2rem
  }
  #faq .box:first-of-type dl :nth-child(2) {
    order: 3
  }
  #faq .box:first-of-type dl :nth-child(4) {
    order: 4
  }
  #faq .box:first-of-type dt {
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center
  }
  #faq .box:not(:first-of-type) dt {
    display: none
  }
  #faq .box:not(:first-of-type) dd {
    border-top: 0
  }
  #faq .box:not(:last-of-type) dd {
    border-bottom: 0
  }
  #faq .box dd {
    padding: 30px;
    font-size: 1.8rem
  }
  #faq .box dd::before {
    margin-left: auto;
    margin-right: auto
  }
  #faq .box dd:nth-of-type(1)::before {
    width: 50px;
    height: 50px;
    position: static;
    margin-bottom: 20px
  }
  #faq .box dd:nth-of-type(2) {
    padding-top: 38px;
    border-left: none
  }
  #faq .box dd:nth-of-type(2)::before {
    width: 35px;
    height: 35px;
    position: static;
    margin-bottom: 28px
  }
  #faq .question {
    font-size: 2rem
  }
  #faq .question::before {
    display: block;
    position: static;
    font-size: 2.8rem;
    line-height: 40px;
    margin-bottom: 10px
  }
  #faq .anser {
    margin-top: 0
  }
  #access {
    margin-top: -62px;
    padding: 0 0 120px
  }
  #access .sections__content {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap
  }
  #access .map {
    margin-top: 40px;
    width: 500px;
    height: 500px;
    padding: 4px
  }
  #access .map>* {
    width: 492px !important;
    height: 492px !important
  }
  #access .map iframe {
    width: 492px;
    height: 492px
  }
  #access .asccessinfo {
    width: 550px;
    margin-top: 40px;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap
  }
  #access .asccessinfo dt {
    font-size: 1.8rem;
    line-height: 1.56;
    width: 174px;
    padding: 20px 10px 0 23px;
    background-image: linear-gradient(to right, #8D753D, #8D753D 1px, transparent 1px, transparent 4px);
    background-position: bottom left;
    background-size: 4px 1px;
    background-repeat: repeat-x
  }
  #access .asccessinfo dt::before {
    top: 30px
  }
  #access .asccessinfo dd {
    width: calc(100% - 174px);
    font-size: 1.8rem;
    line-height: 1.56;
    padding: 20px 0
  }
  #access .asccessinfo dd a.googlemap {
    width: 160px;
    height: 40px
  }
  #access .asccessinfo dd a.googlemap:hover {
    opacity: 1;
    background: #8D753D;
    color: #fff
  }
  #access .subhead {
    font-size: 2.4rem;
    font-weight: 500;
    margin-top: 60px
  }
  #access .subhead img {
    top: 8px
  }
  #access .subhead.train {
    padding-left: 34px
  }
  #access .subhead.train img {
    width: 24px
  }
  #access .subhead.bus {
    padding-left: 40px
  }
  #access .subhead.bus img {
    width: 30px
  }
  #access .subhead+picture img {
    margin-top: 30px
  }
  #inquiry {
    padding: 120px calc(50% - 390px);
    position: relative;
    z-index: 20
  }
  #inquiry h2.headline {
    margin-top: 40px;
    font-size: 4.2rem;
    line-height: 60px
  }
  #inquiry h2.headline .free {
    width: 60px;
    margin-bottom: 0;
    font-size: 2rem;
    line-height: 58px;
    margin-right: 10px;
    display: inline-block;
    border-radius: 50%;
    position: relative;
    top: -11px;
  }
  #inquiry .textarea {
    margin-top: 20px;
    text-align: center;
    font-size: 1.8rem;
    letter-spacing: .08em;
  }
  #inquiry .telcontact {
    margin-top: 40px;
    padding: 40px 0 40px;
  }
  #inquiry .telcontact .lbl {
    font-size: 2rem;
  }
  #inquiry .telcontact .number {
    font-size: 4rem;
    margin-top: 10px;
    letter-spacing: 0;
  }
  #inquiry .telcontact .number.f-zen img {
    width: 57px;
    top: -6px;
    left: 6px;
    margin-right: 8px;
  }
  #inquiry #form {
    padding-top: 70px
  }
  #inquiry #form:first-child {
    padding-top: 0
  }
  #inquiry h3.heading {
    font-size: 3.2rem
  }
  #inquiry .formstep {
    margin-top: 40px;
    margin-bottom: 40px;
    width: 352px
  }
  #inquiry .formstep::before {
    bottom: 16px
  }
  #inquiry .formstep .step {
    font-size: 1.8rem
  }
  #inquiry .formstep .step span {
    width: 35px;
    line-height: 33px;
    margin-top: 5px
  }
  #inquiry .formbase dt {
    font-size: 1.8rem
  }
  #inquiry .formbase dt.required::before, #inquiry .formbase dt.any::before {
    width: 48px;
    line-height: 25px;
    font-size: 1.4rem;
    margin-right: 10px
  }
  #inquiry .formbase dd {
    margin-top: 15px
  }
  #inquiry .formbase dd+dt {
    margin-top: 40px
  }
  #inquiry .e-list {
    width: 515px;
    gap: 17px 0;
  }
  #inquiry .e-lbl {
    width: 140px;
    font-size: 18px;
  }
  #inquiry .select {
    width: 368px;
    height: 60px;
  }
  #inquiry .select::before {
    height: 40px;
    top: 11px;
    right: 60px;
  }
  #inquiry .select::after {
    width: 22px;
    height: 22px;
    font-size: 22px;
    right: 18px;
    top: 20px;
  }
  #inquiry select {
    border-radius: 3px;
    height: 60px;
  }
  #inquiry .privacypolicy {
    margin-top: 40px;
    height: 280px;
    padding: 40px
  }
  #inquiry .privacypolicy .headline {
    font-size: 2.4rem
  }
  #inquiry .privacypolicy .textarea {
    text-align: left;
    font-size: 1.6rem
  }
  #inquiry .privacypolicy ol li {
    font-size: 1.6rem
  }
  #inquiry .coution {
    font-size: 1.8rem;
    margin-top: 40px
  }
  #inquiry .agree {
    height: 80px;
    margin-top: 20px
  }
  #inquiry .agree .e-required {
    font-size: 1.4rem;
    width: 48px;
    line-height: 25px;
    margin-right: 10px
  }
  #inquiry .agree label {
    font-size: 1.8rem;
    font-weight: 700
  }
  #inquiry .agree label input {
    margin-right: 10px
  }
  #inquiry .toconfirm {
    width: 640px;
    margin-top: 60px
  }
  #inquiry .coutions {
    font-size: 2rem;
    text-align: center
  }
  #inquiry .frame {
    margin-top: 40px;
    padding: 40px
  }
  #inquiry .frame .em {
    font-size: 2rem
  }
  #inquiry .frame p {
    font-size: 1.6rem;
    line-height: 2
  }
  }
  @media (max-width: 767px) {
  #news .sections__contents .item a {
    color: #8D753D
  }
  #about .introduction .box+.box {
    margin-top: 10.6666666667vw
  }
  #about .introduction .box.slim {
    display: flex;
    align-items: center;
    gap: 15px
  }
  #about .introduction .box.slim .img {
    width: 37.3333333333vw
  }
  #about .introduction .box.slim .txtarea {
    width: 48vw
  }
  #about .introduction .box.slim .caption {
    text-align: left
  }
  #about .introduction .box.slim+.slim {
    margin-top: 8vw
  }
  #access .asccessinfo dd.telarea {
    color: #8D753D
  }
  }