@charset 'UTF-8';

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0
}

main {
  display: block
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

a {
  background-color: transparent
}

b,
strong {
  font-weight: bolder
}

small {
  font-size: 80%
}

img {
  border-style: none
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button
}

:root {
  --g--cl-brand: #96414b;
  --g--cl-main: #96414b;
  --g--cl-accent: #c01;
  --g--cl-main-light: #d2989f;
  --g--cl-text-main: #000;
  --g--cl-text-important: #e60012;
  --g--cl-text-unimportant: #808080;
  --g--cl-text-input: #4d4d4d;
  --g--cl-text-input-focus: #000;
  --g--cl-link: #96414b;
  --g--cl-link-visited: #551b8c;
  --g--cl-link-hover: #99cbe8;
  --g--cl-link-void0: #b3b3b3;
  --g--cl-bg-selection: #d2989f;
  --g--cl-bg-body: #fff;
  --g--cl-bg-hr: #ccc;
  --g--cl-bg-pre: #e6e6e6;
  --g--cl-bg-mark: linear-gradient(0deg, #e4c1c5 38%, rgba(228, 193, 197, 0) 38%);
  --g--cl-bg-ins: linear-gradient(0deg, #edd6d9 90%, rgba(237, 214, 217, 0) 90%);
  --g--cl-bg-input: #fcfcfc;
  --g--cl-bd: #b3b3b3;
  --g--cl-bd-link: #96414b;
  --g--cl-bd-link-visited: #551b8c;
  --g--cl-bd-link-hover: #99cbe8;
  --g--cl-bd-input: #b3b3b3;
  --g--fw-base: 400;
  --g--fw-light: 300;
  --g--fw-normal: 400;
  --g--fw-bold: 800;
  --g--fz-min: 10px;
  --g--fz-xs: 83.33%;
  --g--fz-sm: 91.67%;
  --g--fz-base: 100%;
  --g--fz-md: 108.33%;
  --g--fz-lg: 116.67%;
  --g--fz-xl: 125%;
  --g--fz-xxl: 133.33%;
  --g--fz-xxxl: 141.67%;
  --g--lh-min: 1;
  --g--lh-xs: 1.2;
  --g--lh-sm: 1.5;
  --g--lh-base: 1.8;
  --g--lh-md: 2;
  --g--lh-lg: 2.2;
  --g--lh-xl: 2.4;
  --g--ff-base: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Helvetica Neue", "Helvetica", sans-serif;
  --g--ff-sans: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Helvetica Neue", "Helvetica", sans-serif;
  --g--ff-serif: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Times New Roman", serif;
  --g--ff-mono: "ＭＳ ゴシック", "Osaka", "Monaco", "Consolas", monospace;
  --g--ff-en: "Helvetica Neue", "Helvetica", sans-serif;
  --g--height-l-header: 2.5rem;
  --g--bd: 1px solid #b3b3b3;
  --g--bdrs: 0.25em;
  --h--fw: var(--g--fw-bold);
  --h--fz-h1: var(--g--fz-base);
  --h--fz-h2: var(--g--fz-base);
  --h--fz-h3: var(--g--fz-base);
  --h--fz-h4: var(--g--fz-base);
  --h--fz-h5: var(--g--fz-base);
  --h--fz-h6: var(--g--fz-base);
  --h--lh: var(--g--lh-xs);
  --h--ff: var(--g--ff-base);
  --h--lts: normal
}

:root {
  font-size: 3.2vw
}

@media only screen and (min-width:1100px) {
  :root {
    font-size: 24px
  }
}

html {
  box-sizing: border-box
}

*,
::after,
::before {
  box-sizing: inherit
}

::-moz-selection {
  background-color: var(--g--cl-bg-selection)
}

::selection {
  background-color: var(--g--cl-bg-selection)
}

aside,
footer,
h1,
h2,
h3,
h4,
header,
li,
main,
p,
section,
ul {
  margin-top: 0;
  margin-bottom: 0
}

body {
  color: var(--g--cl-text-main);
  font: normal var(--g--fw-base) var(--g--fz-base)/var(--g--lh-base) var(--g--ff-base);
  text-align: justify;
  line-break: strict;
  overflow-wrap: break-word;
  font-kerning: normal;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  text-rendering: optimizeLegibility;
  text-underline-offset: 3px;
  background-color: var(--g--cl-bg-body);
  min-height: 100vh
}

html[lang^=en] body {
  text-align: left
}

p {
  font-style: normal;
  margin-bottom: 1em
}

p:last-child {
  margin-bottom: 0
}

[lang=ja] em {
  font-style: normal
}

b,
strong {
  font-weight: var(--g--fw-bold)
}

small {
  font-size: var(--g--fz-sm)
}

s {
  color: var(--g--cl-text-unimportant)
}

var {
  font-style: normal;
  font-family: var(--g--ff-mono);
  white-space: pre
}

.h1,
.h2,
.h3,
.h4,
h1,
h2,
h3,
h4 {
  font-weight: var(--h--fw);
  line-height: var(--h--lh);
  font-family: var(--h--ff);
  font-feature-settings: "palt";
  letter-spacing: var(--h--lts);
  text-align: left;
  margin-bottom: 1.2em
}

.h1,
h1 {
  font-size: var(--h--fz-h1)
}

.h2,
h2 {
  font-size: var(--h--fz-h2)
}

.h3,
h3 {
  font-size: var(--h--fz-h3)
}

.h4,
h4 {
  font-size: var(--h--fz-h4)
}

.h-triangleBottom-gray {
  color: #fff;
  line-height: 1;
  background-color: #f15a24;
  position: relative;
  padding: 1.3em;
  margin-bottom: 0
}

.h-triangleBottom-gray::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-width: 2.93vw 3.535vw 0 3.535vw;
  border-style: solid;
  border-color: #f15a24 transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: -2.8vw;
  transform: translateX(-50%)
}

@media only screen and (min-width:1100px) {
  .h-triangleBottom-gray::after {
    width: 0;
    height: 0;
    border-width: 22px 51.5px 0 51.5px;
    border-style: solid;
    border-color: #f15a24 transparent transparent transparent;
    bottom: -21px
  }
}

.h-triangleBottom-gray .en {
  font-size: 266.67%;
  font-weight: 400;
  letter-spacing: .1em
}

.h-triangleBottom-gray small {
  font-size: 75%;
  font-weight: 400
}

a {
  transition: all .3s cubic-bezier(.42, 0, .58, 1);
  cursor: pointer;
  color: var(--g--cl-link)
}

a:link {
  color: var(--g--cl-link);
  text-decoration: underline
}

a:visited {
  color: var(--g--cl-link-visited)
}

html:not([data-whatinput=touch]) a:hover {
  color: var(--g--cl-link-hover);
  text-decoration: none;
  transition: all .3s cubic-bezier(.42, 0, .58, 1)
}

a:active {
  outline: 0
}

a:focus {
  outline: thin;
  outline-style: dotted;
  text-decoration: underline
}

a.db {
  width: 100%;
  height: 100%
}

ul {
  line-height: var(--g--lh-xs);
  padding-left: 0;
  margin-bottom: 1.6em
}

ul:last-child {
  margin-bottom: 0
}

ul ul {
  margin-top: 1em;
  padding-left: 1em
}

ul {
  list-style-type: none
}

li:not(:last-child) {
  margin-bottom: 1em
}

figure {
  margin: 0 0 1em
}

figure:last-child {
  margin-bottom: 0
}

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

img.full-width {
  width: 100%
}

embed,
iframe {
  width: 100%;
  max-width: 100%;
  border: 0;
  margin-top: 2rem;
}

#l-footer {
  padding-top: 3em
}

#l-footer h3 {
  margin: 0 4rem .7em;
  text-align: center;
}

#l-footer .name {
  font-size: 158.33%;
  margin-bottom: 0
}

#l-footer .location {
  margin-bottom: 1.7em
}

#l-footer .map {
  padding-bottom: 23.33rem;
  margin-bottom: 2em
}

#l-footer .access {
  display: flex;
  justify-content: left;
  align-items: center;
  margin: 0 2rem -1rem;
}

#l-footer .access span {
  color: #f15a24;
}

#l-footer .access .access-left {
  width: 8vw;
  margin-right: 2vw;
}

#l-footer .access .access-right {
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: left;
}

#l-footer .access1 {
  display: flex;
  justify-content: left;
  align-items: center;
  margin: 0 2rem -1rem;
}

#l-footer .access1 span {
  font-size: 30px
}

#l-footer .access1 .access-left {
  width: 6vw;
  margin-right: 1vw;
}

#l-footer .access1 .access-right {
  line-height: 1.2;
  letter-spacing: 0.1em;
}

#l-footer .tell {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 2rem -1rem;
}

#l-footer .tell a {
  color: #1a1a1a;
  text-decoration: none;
}

#l-footer .tell .tell-left {
  width: 8vw;
  margin-right: 1vw
}

#l-footer .tell .tell-right {
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-size: 2rem;
}

#l-footer .mail {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 2rem 2rem;
}

#l-footer .mail a {
  color: #1a1a1a;
  text-decoration: none;
}

#l-footer .mail .mail-left {
  width: 8vw;
  margin-right: 1vw
}

#l-footer .mail .mail-right {
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-size: 1.4rem;
}

#l-footer .time {
  display: flex;
  justify-content: left;
  align-items: center;
}

#l-footer .time .time-left {
  width: 32vw;
  margin-right: 1vw;
  margin-top: -1.8rem;
}

#l-footer .time .time-right {
  text-align: left
}

#l-footer .policy-list {
  display: block;
  padding: 1.04rem 0
}

#l-footer .policy-list li {
  margin-bottom: 1rem;
  line-height: 1;
  font-size: 83.33%
}

@media only screen and (min-width:1100px) {
  #l-footer .policy-list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: .83rem;
    padding: 1.04rem 0
  }

  #l-footer .policy-list li {
    margin-bottom: 0;
    line-height: 1;
    font-size: 83.33%
  }
}

#l-footer .policy-list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5em 1.3em;
  border: 1px solid currentColor;
  border-radius: .92rem
}

#l-footer .policy-list li a,
#l-footer .policy-list li a:active,
#l-footer .policy-list li a:focus,
#l-footer .policy-list li a:link,
#l-footer .policy-list li a:visited,
html:not([data-whatinput=touch]) #l-footer .policy-list li a:hover {
  color: #333;
  text-decoration: none
}

@media only screen and (min-width:1100px) {
  #l-footer .access {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 2rem -1rem;
  }

  #l-footer .access span {
    color: #f15a24;
  }

  #l-footer .access .access-left {
    width: 3vw;
  }

  #l-footer .access .access-right {
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: left;
  }

  #l-footer .access1 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 38rem 0 2rem;
  }

  #l-footer .access1 span {
    font-size: 30px
  }

  #l-footer .access1 .access-left {
    width: 3vw;
  }

  #l-footer .access1 .access-right {
    line-height: 1.2;
    letter-spacing: 0.1em;
  }

  #l-footer .tell {
    margin: 0 2rem -1rem;
  }

  #l-footer .tell .tell-left {
    width: 8vw;
    margin-top: 0rem;
  }

  #l-footer .mail .mail-right {
    line-height: 1.2;
    letter-spacing: 0.1em;
    font-size: 1.3rem;
  }

  #l-footer .mail .mail-left {
    width: 8vw;
  }

  #l-footer .time {
    display: flex;
    justify-content: left;
    align-items: center;
    margin: 0 10rem;
  }

  #l-footer .time .time-left {
    width: 13vw;
    text-align: left;
    margin-right: 1vw;
    margin-top: 0;
  }

  #l-footer .time .time-right {}

  #l-footer .information {
    max-width: 960px
  }
}

#l-footer .information .parking {
  padding: .6em 0;
  margin-bottom: 1.4em;
  border-radius: 1.04rem
}

@media only screen and (min-width:1100px) {
  #l-footer .information .parking {
    margin-left: 100px;
    margin-right: 100px
  }
}

#l-footer .information .business-hour {
  font-size: 116.67%;
  padding: 1em;
  margin-bottom: 3em;
  border: 1px dashed #333a46
}

@media only screen and (min-width:1100px) {
  #l-footer .information .business-hour {
    font-size: 22px;
    padding: 1.5em
  }
}

#l-footer-cta {
  gap: 1.6em
}

#l-footer-cta .tel,
#l-footer-cta .tel:active,
#l-footer-cta .tel:focus,
#l-footer-cta .tel:link,
#l-footer-cta .tel:visited,
html:not([data-whatinput=touch]) #l-footer-cta .tel:hover {
  font-size: 275%;
  color: #fff;
  text-decoration: none
}

#l-footer-cta .fb {
  width: 2.17rem
}

#l-footer-cta .insta {
  width: 1.92rem
}

#l-footer-cta .LINE {
  width: 1.96rem
}

#l-header {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 101;
  overflow: hidden
}

#l-header h1 {
  padding-top: .33rem
}

@media only screen and (min-width:1100px) {
  #l-header h1 {
    padding: 16px;
    margin-left: -200px
  }
}

#l-header h1 .catch {
  font-size: 1.46rem
}

@media only screen and (min-width:1100px) {
  #l-header h1 .catch {
    font-size: 51px;
    text-indent: 9.5em;
    display: inline-block
  }
}

#l-header h1 .l-fx {
  flex-wrap: nowrap;
  gap: .5em;
  justify-content: center;
  align-items: center
}

@media only screen and (min-width:1100px) {
  #l-header h1 .l-fx {
    margin-top: -56px
  }
}

#l-header h1 .l-fx .logo {
  width: 7.75rem
}

@media only screen and (min-width:1100px) {
  #l-header h1 .l-fx .logo {
    width: 219px;
    margin-bottom: 50px
  }
}

#l-header h1 .l-fx .badge {
  width: 4.42rem
}

@media only screen and (min-width:1100px) {
  #l-header h1 .l-fx .badge {
    width: 101px
  }
}

#l-header h1 .l-fx .lead {
  font-size: .83rem
}

#l-main {
  min-height: 70vh
}

#l-main>div>*,
#l-main>section>* {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 93.33vw;
  margin-left: auto;
  margin-right: auto
}

@media only screen and (min-width:1100px) {

  #l-main>div>*,
  #l-main>section>* {
    max-width: 1100px
  }
}

#l-main>div>.full-width,
#l-main>section>.full-width {
  width: 100%
}

#l-stickyFooter {
  background-color: #eee7cf;
  text-align: center;
  padding-bottom: 1px;
  position: sticky;
  z-index: 100;
  left: 0;
  bottom: 0
}

#l-stickyFooter img {
  width: 22.79rem;
  margin: 0.8rem 0;
}

@media only screen and (min-width:1100px) {
  #l-stickyFooter img {
    width: 14.92rem;
    margin: 0.3rem 0;
  }
}

.cta .main-txt {
  margin-bottom: 0;
  text-align: center;
}

.cta .main-txt img {
  width: 80%;
  margin: 1rem 0;
}

.cta .main-image {
  margin-bottom: 0
}

.cta .main-image img {
  width: 100%
}

.cta .btn-area {
  text-align: center;
  padding-bottom: 1px
}

.cta .btn-area img {
  width: 15.79rem
}

.arrow {
  text-align: center;
  margin: 2rem 0;
}

.arrow img {
  width: 1.1rem;
}

.cta1 .main-txt {
  background: url("../img/bg-cta-md.webp") no-repeat center top/100% auto;
  margin-bottom: 0;
  text-align: center;
}

@media only screen and (min-width:1100px) {
  .cta1 .main-txt {
    background: url("../img/bg-cta.webp") no-repeat center top/100% auto;
    margin-bottom: 0;
    text-align: center;
  }
}

.cta {
  margin: 0 auto;
}

.cta1 .main-txt img {
  width: 80%;
  margin: 1rem 0;
}

.cta1 .main-image {
  margin-bottom: 0
}

.cta1 .main-image img {
  width: 100%
}

.cta1 .taiken {
  text-align: center;
  margin: 0 auto;
}

.cta1 h3 {
  margin: 2rem auto;
  font-size: 1.5rem;
}

.cta1 .arrow {
  text-align: center;
}

.cta1 .arrow img {
  width: 1.1rem;
}

.clBrand {
  color: var(--g--cl-brand) !important
}

.clBrand {
  color: var(--g--cl-brand) !important
}

.clWhite {
  color: #fff !important
}

.bgBrand {
  background-color: var(--g--cl-brand) !important
}

.bgWhite {
  background-color: #fff !important
}

.bgBlack {
  background-color: #000 !important
}

.db {
  display: block
}

.vc {
  display: flex;
  align-items: center
}

.vhc {
  display: flex;
  justify-content: center;
  align-items: center
}

.max-width-none {
  max-width: none !important
}

.posr {
  position: relative
}

.embed-figure {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%
}

.embed-figure embed,
.embed-figure iframe,
.embed-figure>* {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important
}

.l-fx {
  display: flex
}

.l-fx>li {
  margin-bottom: 0
}

@media only screen and (min-width:1100px) {
  .l-2col-lg {
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(2, 1fr)
  }
}

.cw {
  max-width: 93.33vw;
  margin-left: auto;
  margin-right: auto
}

@media only screen and (min-width:1100px) {
  .cw {
    max-width: 1100px
  }
}

.common-bar {
  background: url("../img/bg-common-bar.webp") no-repeat center bottom/100% auto
}

.ffsPalt {
  font-feature-settings: "palt"
}

.fwNormal {
  font-weight: 400
}

.fwBold {
  font-weight: 800
}

.fzXs {
  font-size: var(--g--fz-xs)
}

.fzSm {
  font-size: var(--g--fz-sm)
}

.fzLg {
  font-size: var(--g--fz-lg)
}

.fzXl {
  font-size: var(--g--fz-xl)
}

.fzXxl {
  font-size: var(--g--fz-xxl)
}

.fzXxxl {
  font-size: var(--g--fz-xxxl)
}

.lhMin {
  line-height: var(--g--lh-min)
}

.lhXs {
  line-height: var(--g--lh-xs)
}

.lhSm {
  line-height: var(--g--lh-sm)
}

.lhBase {
  line-height: var(--g--lh-base)
}

.taL {
  text-align: left
}

.taC {
  text-align: center
}

.taR {
  text-align: right
}

.il-show-lg {
  display: none
}

@media only screen and (min-width:1100px) {
  .il-show-lg {
    display: inline
  }
}

.il-hide-lg {
  display: inline
}

@media only screen and (min-width:1100px) {
  .il-hide-lg {
    display: none
  }
}

.bl-show-lg {
  display: none
}

@media only screen and (min-width:1100px) {
  .bl-show-lg {
    display: block
  }
}

.bl-hide-lg {
  display: block
}

@media only screen and (min-width:1100px) {
  .bl-hide-lg {
    display: none
  }
}

svg.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -.1em;
  fill: currentColor
}

#intro {
  position: relative;
  overflow: hidden
}

#intro .md {
  margin-bottom: 0;
}

@media only screen and (min-width:800px) {
  #intro {
    background: url("../img/bg-intro-lg.webp") no-repeat center top/cover;
    height: 939px;
    position: relative
  }

  #intro .main-visual {
    width: 100%;
    margin-left: 50%;
    transform: translateX(-50%)
  }
}

@media only screen and (min-width:1800px) {
  #intro {
    background: url("../img/bg-intro-lg.webp") no-repeat center top/cover;
    height: 59rem;
    position: relative
  }

  #intro .main-visual {
    width: 77rem;
    margin-left: 50%;
    transform: translateX(-50%)
  }
}

#about {
  position: relative;
  overflow: hidden
}

@media only screen and (min-width:1100px) {
  #about {
    background: url("../img/bg-about-lg.webp") no-repeat center top/cover;
    height: 25rem;
    position: relative
  }

  #about .about-txt {
    width: 1546px;
    margin-left: 50%;
    transform: translateX(-50%)
  }
}

#support {
  padding: 3em 0
}

#support h2 {
  font-size: 137.5%;
  width: 25.54rem;
  background: url("../img/bg-support-01-md.webp") no-repeat center bottom/100%;
  padding-bottom: 1.5em
}

@media only screen and (min-width:1100px) {
  #support h2 {
    font-size: 44px;
    width: 907px;
    background-image: url("../img/bg-support-01-lg.webp")
  }
}

@media only screen and (min-width:1100px) {
  #support .l-2col-lg {
    grid-template-columns: 635px 419px;
    align-items: center
  }
}

#support .image {
  align-items: center;
  justify-content: center;
  gap: 1em;
  margin-bottom: 1em
}

@media only screen and (min-width:1100px) {
  #support .image {
    gap: .5em;
    margin-bottom: 0
  }
}

#support .image .txt {
  font-size: 133.33%;
  margin-bottom: 0
}

#support .image .eye-catch {
  width: 12.83rem
}

@media only screen and (min-width:1100px) {
  #support .image .eye-catch {
    width: 263px
  }
}

#support .contents {
  width: 30.5em;
  justify-content: center;
  gap: .5em;
  align-items: flex-start
}

@media only screen and (min-width:1100px) {
  #support .contents {
    display: block;
    font-size: 18px
  }
}

#support .contents .time {
  flex: 0 0 5.5em;
  margin: 0
}

@media only screen and (min-width:1100px) {
  #support .contents .time {
    margin-bottom: .7em
  }
}

#support .contents .support-list {
  flex-wrap: wrap;
  gap: 0 1em
}

@media only screen and (min-width:1100px) {
  #support .contents .support-list {
    display: block
  }
}

#support .contents .support-list li {
  margin-bottom: .2em
}

#feature {
  padding: 0em
}

#feature h1 {
  line-height: 1;
  min-height: 5.13rem;
  padding-top: 5em;
  margin-bottom: 0
}

#feature h1 .one {
  font-size: 3.3rem
}

#feature h1 .two {
  font-size: 5rem
}

@media only screen and (min-width:1100px) {
  #feature h1 {
    line-height: 1.2;
    min-height: 210px;
    padding-top: 2.7em;
    margin-bottom: 0
  }

  #feature h1 .one {
    font-size: 4.5rem
  }

  #feature h1 .two {
    font-size: 9rem
  }
}

#feature h2 {
  font-size: 137.5%;
  width: 25.54rem;
  background: url("../img/bg-feature-01.webp") no-repeat center bottom/100%;
  padding: 1.5em 0;
}

#feature h2 img {
  width: 30.54rem;
}

@media only screen and (min-width:1100px) {
  #feature h2 {
    font-size: 44px;
    width: 907px;
  }
}

#feature .feature-about {
  background: url("../img/bg-about-lg.webp") no-repeat center top/cover;
  max-width: 100%;
  width: auto;
  height: 20rem;
  margin: 1rem 0 4rem;
  position: relative
}

#feature .feature-about .txt {
  font-size: 2rem;
  color: white;
  position: absolute;
  top: 50%;
  left: 13%;
  transform: translate(0%, -50%);
}

@media only screen and (min-width:1100px) {
  #feature .feature-about .txt {
    font-size: 2rem;
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

#feature .feature-cont {
  background: url("../img/bg-feature-pickup-md.webp") no-repeat center top/cover;
  text-align: center;
  width: 100%;
  height: 21.99rem;
  margin: 1rem;
  position: relative
}

#feature .feature-cont .pickup {
  font-size: 1.1rem;
  text-align: center;
  position: absolute;
  top: 7%;
  left: 33%;
}

@media only screen and (min-width:1100px) {
  #feature .feature-cont {
    background: url("../img/bg-feature-pickup-lg.webp") no-repeat center top/cover;
    text-align: center;
    width: 100%;
    height: 12.6rem;
    margin: 0 auto;
    position: relative
  }

  #feature .feature-cont .pickup {
    font-size: 1.1rem;
    text-align: left;
    position: absolute;
    top: 13%;
    left: 31%;
  }
}

#feature .feature-txt .lead {
  margin-bottom: 0;
  text-align: center;
}

#feature .feature-txt .lead img {
  width: 100%;
  margin: 2rem 0 0;
}

#feature .feature-txt .inner {
  align-items: center;
}

#feature .feature-txt .inner .txt {
  font-size: 100%;
  line-height: 1.8;
  color: #f15a24;
  margin-top: 3rem
}

#feature .feature-txt .inner img {
  width: 100%;
  margin-bottom: 1rem;
}

@media only screen and (min-width:1100px) {
  #feature .feature-txt .inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #feature .feature-txt .inner .txt {
    font-size: 100%;
    line-height: 1.8;
    color: #f15a24;
    margin-top: 1rem;
  }

  #feature .feature-txt .inner img {
    width: 35%;
    margin-bottom: 1rem;
  }
}

@media only screen and (min-width:1100px) {
  #feature .feature-point-lg {
    box-sizing: border-box;
    display: block
  }

  #feature .point1-lg {
    display: table;
    width: 100%;
    table-layout: fixed;
    margin-top: -1.5rem;
  }

  #feature .point2-lg {
    display: table;
    width: 100%;
    table-layout: fixed;
    margin-top: -1rem;
  }

  #feature .cell1 {
    display: table-cell;
    width: 25%;
    font-size: 4rem;
    text-align: center;
    color: #f15a24
  }

  #feature .cell2 {
    display: table-cell;
    width: 25%;
    font-size: 0.8rem;
    text-align: center;
  }
}

#feature .feature-point-md {
  box-sizing: border-box;
}

#feature .point1-md {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-top: 0rem;
}

#feature .point2-md {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-top: -1rem;
}

#feature .cell1-md {
  display: table-cell;
  width: 50%;
  font-size: 4rem;
  text-align: center;
  color: #f15a24
}

#feature .cell2-md {
  display: table-cell;
  width: 50%;
  font-size: 1rem;
  text-align: center;
}

#feature .arrow {
  text-align: center;
  margin: 2rem 0 3rem;
}

#feature .arrow img {
  width: 1.1rem;
}

#concept {
  padding: 1.3em 0 1em;
  background: url("../img/bg-concept-01-md.webp") no-repeat center top/100%
}

@media only screen and (min-width:1100px) {
  #concept {
    padding: 1.1em 0 2em;
    background: 0 0;
    position: relative
  }

  #concept::before {
    content: '';
    display: block;
    background: url("../img/bg-concept-01-lg.webp") no-repeat center top/cover;
    width: 100%;
    height: 43rem;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1
  }
}

#concept h2 {
  font-size: 1.7rem;
  text-align: center;
  margin: 2rem auto 1.5rem;
}

@media only screen and (min-width:1100px) {
  #concept h2 {
    font-size: 2.7rem;
    text-align: center;
    margin: 2rem auto 1.5rem;
  }
}

#concept h3 {
  width: 18.54rem;
  background: url("../img/bg-feature-01.webp") no-repeat center bottom/100%;
  padding: 0 0 1.5em;
  margin-bottom: 0;
}

#concept h3 img {
  width: 93%;
}

@media only screen and (min-width:1100px) {
  #concept h3 {
    width: 34.54rem;
    background: url("../img/bg-feature-01.webp") no-repeat center bottom/100%;
    padding: 0 0 1.5em;
    margin-bottom: 0;
  }

  #concept h3 img {
    width: 92%;
    margin-bottom: 1rem;
  }
}

#concept .concept-list1 {
  display: flex;
  align-items: center;
  position: relative;
  align-items: center;
  left: 0%
}

#concept .concept-list1 .txt {
  font-size: 85%;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 1rem
}

#concept .concept-list1 img {
  width: 25%;
  margin-bottom: 1rem;
  margin-right: 1rem;
}

@media only screen and (min-width:1100px) {
  #concept .concept-list1 {
    display: flex;
    align-items: center;
    position: relative;
    align-items: center;
    left: 0%
  }

  #concept .concept-list1 .txt {
    font-size: 91%;
    line-height: 1.8;
    text-align: left;
  }

  #concept .concept-list1 img {
    width: 17%;
    margin-bottom: 1rem;
    margin-right: 1rem;
  }
}

#concept .concept-list2 {
  display: flex;
  align-items: center;
  position: relative;
  align-items: center;
  left: 0%
}

#concept .concept-list2 .txt {
  font-size: 85%;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 1rem
}

#concept .concept-list2 img {
  width: 25%;
  margin-bottom: 1rem;
  margin-right: 1rem;
}

@media only screen and (min-width:1100px) {
  #concept .concept-list2 {
    display: flex;
    align-items: center;
    position: relative;
    align-items: center;
    left: 11%
  }

  #concept .concept-list2 .txt {
    font-size: 91%;
    line-height: 1.8;
    text-align: left;
  }

  #concept .concept-list2 img {
    width: 17%;
    margin-bottom: 1rem;
    margin-right: 1rem;
  }
}

#concept .concept-list3 {
  display: flex;
  align-items: center;
  position: relative;
  align-items: center;
  left: 0%
}

#concept .concept-list3 .txt {
  font-size: 85%;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 1rem
}

#concept .concept-list3 img {
  width: 25%;
  margin-bottom: 1rem;
  margin-right: 1rem;
}

@media only screen and (min-width:1100px) {
  #concept .concept-list3 {
    display: flex;
    align-items: center;
    position: relative;
    align-items: center;
    left: 5%
  }

  #concept .concept-list3 .txt {
    font-size: 91%;
    line-height: 1.8;
    text-align: left;
  }

  #concept .concept-list3 img {
    width: 17%;
    margin-bottom: 1rem;
    margin-right: 1rem;
  }
}

#point {
  width: 100%;
  overflow: hidden;
}

#point .point-about {
  background: url("../img/bg-point-about-lg.webp") no-repeat center top/cover;
  max-width: 100%;
  width: auto;
  height: 20rem;
  margin: 2rem 0;
  position: relative
}

#point .point-about .txt {
  font-size: 2rem;
  color: white;
  position: absolute;
  top: 50%;
  left: 13%;
  transform: translate(0%, -50%);
}

@media only screen and (min-width:1100px) {
  #point .point-about .txt {
    font-size: 2rem;
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

#point .arrow {
  text-align: center;
}

#point .arrow img {
  width: 1.1rem;
}

#point .pointlist {
  margin: 0 0 5rem;
  max-width: 100%
}

#point .pointlist img {
  width: 100%
}

#point h3 {
  width: 26.54rem;
  background: url("../img/bg-feature-01.webp") no-repeat center bottom/100%;
  padding: 0 0 3.5em;
  margin: 3rem auto;
}

#point h3 img {
  width: 100%;
}

@media only screen and (min-width:1100px) {
  #point h3 {
    width: 34.54rem;
    background: url("../img/bg-feature-01.webp") no-repeat center bottom/100%;
    padding: 0 0 1.5em;
    margin-bottom: 0;
  }

  #point h3 img {
    width: 92%;
    margin-bottom: 1rem;
  }
}

#point .point-list1 {
  display: flex;
  position: relative;
  align-items: center;
  left: 0%
}

#point .point-list1 .txt {
  font-size: 85%;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 1rem
}

#point .point-list1 img {
  width: 25%;
  margin-bottom: 1rem;
  margin-right: 1rem;
}

@media only screen and (min-width:1100px) {
  #point .point-list1 {
    display: flex;
    position: relative;
    align-items: center;
    left: -4%;
    top: 1rem;
  }

  #point .point-list1 .txt {
    font-size: 91%;
    line-height: 1.8;
    text-align: left;
  }

  #point .point-list1 img {
    width: 17%;
    margin-bottom: 1rem;
    margin-right: 1rem;
  }
}

#point .point-list2 {
  display: flex;
  align-items: center;
  position: relative;
  align-items: center;
  left: 0%
}

#point .point-list2 .txt {
  font-size: 85%;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 1rem
}

#point .point-list2 img {
  width: 25%;
  margin-bottom: 1rem;
  margin-right: 1rem;
}

@media only screen and (min-width:1100px) {
  #point .point-list2 {
    display: flex;
    align-items: center;
    position: relative;
    left: 35%;
    top: -3.5rem;
  }

  #point .point-list2 .txt {
    font-size: 91%;
    line-height: 1.8;
    text-align: left;
  }

  #point .point-list2 img {
    width: 17%;
    margin-bottom: 1rem;
    margin-right: 1rem;
  }
}

#point .point-women1 {
  position: relative;
  align-items: center;
  left: 0%
}

#point .point-women1 img {
  width: 100%;
  margin: -3rem 0;
}

@media only screen and (min-width:1100px) {
  #point .point-women1 {
    position: relative;
    align-items: center;
    left: -25%;
    top: -14.5rem;
  }

  #point .point-women1 img {
    width: 75%;
  }
}

#point .point-list3 {
  display: flex;
  position: relative;
  align-items: center;
  left: 0%
}

#point .point-list3 .txt {
  font-size: 85%;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 1rem
}

#point .point-list3 img {
  width: 25%;
  margin-bottom: 1rem;
  margin-right: 1rem;
}

@media only screen and (min-width:1100px) {
  #point .point-list3 {
    display: flex;
    position: relative;
    align-items: center;
    left: 16%;
    top: -29rem;
  }

  #point .point-list3 .txt {
    font-size: 91%;
    line-height: 1.8;
    text-align: left;
  }

  #point .point-list3 img {
    width: 17%;
    margin-bottom: 1rem;
    margin-right: 1rem;
  }
}

#point .point-women2 {
  position: relative;
  align-items: center;
  left: 0%
}

#point .point-women2 img {
  width: 100%;
  margin-top: -3rem;
}

@media only screen and (min-width:1100px) {
  #point .point-women2 {
    position: relative;
    align-items: center;
    left: 48%;
    top: -58.5rem;
  }

  #point .point-women2 img {
    width: 60%;
  }
}

#point .point-list4 {
  display: flex;
  position: relative;
  align-items: center;
  left: 0%
}

#point .point-list4 .txt {
  font-size: 85%;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 1rem
}

#point .point-list4 img {
  width: 25%;
  margin-bottom: 1rem;
  margin-right: 1rem;
}

@media only screen and (min-width:1100px) {
  #point .point-list4 {
    display: flex;
    position: relative;
    align-items: center;
    left: -9%;
    top: -26rem;
  }

  #point .point-list4 .txt {
    font-size: 91%;
    line-height: 1.8;
    text-align: left;
  }

  #point .point-list4 img {
    width: 17%;
    margin-bottom: 1rem;
    margin-right: 1rem;
  }
}

#point .point-list5 {
  display: flex;
  position: relative;
  align-items: center;
  left: 0%
}

#point .point-list5 .txt {
  font-size: 85%;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 1rem
}

#point .point-list5 img {
  width: 25%;
  margin-bottom: 1rem;
  margin-right: 1rem;
}

@media only screen and (min-width:1100px) {
  #point .point-list5 {
    display: flex;
    position: relative;
    align-items: center;
    left: 32%;
    top: -32rem;
  }

  #point .point-list5 .txt {
    font-size: 91%;
    line-height: 1.8;
    text-align: left;
  }

  #point .point-list5 img {
    width: 17%;
    margin-bottom: 1rem;
    margin-right: 1rem;
  }
}

#point>.others-title {
  margin-bottom: .6em
}

@media only screen and (min-width:1100px) {
  #point>.others-title {
    font-size: 50px;
    margin-bottom: 0.5em
  }
}

#point>.others-list {
  flex-wrap: wrap;
  gap: .7em .3em;
  justify-content: center;
}

#point>.others-list>li {
  font-weight: 300;
  font-size: 9px;
  padding: 0 0.3rem;
  height: 1.7rem;
  border: solid 1px #000000;
}

@media only screen and (min-width:1100px) {
  #point>.others-list>li {
    font-size: 16px;
    padding: 0 0.3rem;
  }
}

#point>.others {
  font-size: 9px;
  margin-bottom: 1rem;
}

@media only screen and (min-width:1100px) {
  #point>.others {
    font-size: 16px;
    margin-bottom: 1rem;
  }
}

#point h2 {
  font-size: 1.8rem;
  text-align: center;
  color: #f15a24;
  margin: 6rem auto 1.5rem;
}

#point .txt {
  font-size: 1.3rem;
  text-align: center;
  color: #f15a24;
  margin: 2rem auto 1.5rem;
}

@media only screen and (min-width:1100px) {
  #point .txt {
    font-size: 1.8rem;
  }
}

#facility {
  padding: 0em
}

#facility h1 {
  line-height: 1;
  min-height: 5.13rem;
  padding-top: 5em;
  margin-bottom: 0
}

#facility h1 .one {
  font-size: 3.3rem
}

#facility h1 .two {
  font-size: 5rem
}

@media only screen and (min-width:1100px) {
  #facility h1 {
    line-height: 1.2;
    min-height: 210px;
    padding-top: 2.7em;
    margin-bottom: 0
  }

  #facility h1 .one {
    font-size: 4.5rem
  }

  #facility h1 .two {
    font-size: 9rem
  }
}

#facility h2 {
  width: 25.54rem;
  background: url("../img/bg-feature-01.webp") no-repeat center bottom/100%;
  padding: 2.5em 0;
  text-align: center;
  margin: 0 auto;
}

#facility h2 img {
  width: 22.54rem;
}

@media only screen and (min-width:1100px) {
  #facility h2 {
    width: 917px;
    text-align: center;
    margin: 0 auto;
  }

  #facility h2 img {
    width: 30.54rem;
    margin-bottom: 1rem;
  }
}

#facility .facility-image img {
  width: 100%
}

#facility .txt {
  font-size: 1.3rem;
  text-align: center;
  color: #f15a24;
  margin: 3rem auto 0.5rem;
}

@media only screen and (min-width:1100px) {
  #facility .txt {
    font-size: 1.3rem;
    margin: 4rem auto 0.5rem;
  }
}

#facility .btn-area {
  text-align: center;
  padding-bottom: 1rem
}

#facility.btn-area img {
  width: 15.79rem
}

#facility .instructor {
  background: url("../img/bg-facility-md.webp") no-repeat center top/100%;
  max-width: 100%;
  height: 45rem;
}

#facility .instructor .txt1 {
  font-size: 1rem;
  margin: 0 2rem;
}

@media only screen and (min-width:1100px) {
  #facility .instructor {
    background: url("../img/bg-facility-lg.webp") no-repeat center top/100%;
    height: 44rem;
    max-width: 100%;
  }

  #facility .instructor .txt1 {
    font-size: 0.8rem;
    margin: 0rem 13rem 0;
  }

  #facility h3 {
    font-size: 1.6rem;
  }

  #facility .instructor .women {
    width: 55%;
    text-align: center;
    margin: 0 auto;
  }
}

#facility h3 {
  margin: 2rem auto 0;
  font-size: 1.5rem;
}

#schedule h3 {
  margin: 1rem;
  font-size: 1.38rem;
}

#schedule .step {
  font-size: 1.5rem;
  text-align: center;
  color: #f15a24;
}

#schedule .women {
  text-align: center;
  margin: 0 auto;
}

#schedule h4 {
  margin: 2rem auto 0;
  font-size: 1.38rem;
  color: #f15a24;
  line-height: 1.8
}

#schedule .txt {
  font-size: 1rem;
  margin: 1rem;
  text-align: left;
}

@media only screen and (min-width:1100px) {
  #schedule h3 {
    margin: 1rem;
    font-size: 1.5rem;
  }

  #schedule .step {
    font-size: 1.5rem;
    text-align: center;
    color: #f15a24;
  }

  #schedule .women {
    text-align: center;
    margin: 0 auto;
  }

  #schedule h4 {
    margin: 2rem auto 0;
    font-size: 1.5rem;
    color: #f15a24;
  }

  #schedule .txt {
    font-size: 1rem;
    margin: 1rem;
    text-align: center;
  }

  #schedule .img {
    text-align: center;
    margin: 0 auto;
  }
}

.price .main-image {
  width: 100%;
  margin: 2rem 0;
}

@media print {

  *,
  :after,
  :before {
    text-shadow: none !important;
    background: 0 0 !important;
    box-shadow: none !important;
    color: #000 !important
  }

  a,
  a:visited {
    text-decoration: underline
  }

  a[href]::after {
    content: " (" attr(href) ")"
  }

  img {
    page-break-inside: avoid
  }

  h2,
  h3,
  p {
    orphans: 3;
    widows: 3
  }

  h2,
  h3 {
    page-break-after: avoid
  }
}



/*================================================
 *  2407 追加
 ================================================*/
.ft__seikotsu a {
  display: block;
  width: 100%;
  height: 100%;
}