@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)
}
/* header
------------------------------*/
#l-header {
  width: 100%;
  height: 4rem;
  background: url("../img/header.webp") no-repeat center;
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  top: 0;
  padding: 3.1rem 0;
  z-index: 101
}
@media only screen and (min-width:960px) {
#l-header {
  width: 101%;
  height: 3rem;
  background: #e17f00 url("../img/header.webp") no-repeat center;
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  top: 0;
  z-index: 101;
  padding: 0;
}
}
#l-header .site-logo {
  height: var(--g--height-l-header);
  line-height: 0;
  margin-bottom: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 203
}

#l-header .site-logo>a {
  display: block;
  height: 100%;
  padding: .8rem 0 .4rem 1.5rem
}

#l-header .site-logo>a img {
  width: auto;
  height: 100%
}

html:not([data-whatinput=touch]) #l-header .site-logo:hover {
  opacity: .5
}

@media only screen and (min-width:960px) {
  #l-header #headerCV {
    display: grid;
    width: 440px;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    position: absolute;
    right: var(--g--height-l-header);
    top: 0
  }
  #l-header #headerCV>a {
    height: var(--g--height-l-header);
    font-size: 20px
  }
  #l-header #headerCV>a, #l-header #headerCV>a:active, #l-header #headerCV>a:focus, #l-header #headerCV>a:link, #l-header #headerCV>a:visited, html:not([data-whatinput=touch]) #l-header #headerCV>a:hover {
    text-decoration: none
  }
  #l-header #headerCV>a.reserve {
    /**background-image: url("../img/line_btn.png");**/
  }
  #l-header #headerCV>a.reserve, #l-header #headerCV>a.reserve:active, #l-header #headerCV>a.reserve:focus, #l-header #headerCV>a.reserve:link, #l-header #headerCV>a.reserve:visited, html:not([data-whatinput=touch]) #l-header #headerCV>a.reserve:hover {
    color: #000
  }
  #l-header #headerCV>a.joining {
    background: linear-gradient(90deg, #2e59dd .23%, #8c35a4 100%)
  }
  #l-header #headerCV>a.joining, #l-header #headerCV>a.joining:active, #l-header #headerCV>a.joining:focus, #l-header #headerCV>a.joining:link, #l-header #headerCV>a.joining:visited, html:not([data-whatinput=touch]) #l-header #headerCV>a.joining:hover {
    color: #fff
  }
}

.summer{
  background-color: #000;
  padding: 2rem 0;
}

.summer p{
  font-size: 1.5em;
  color: #FFF;;
}

@media only screen and (min-width:960px) {
  #l-header .layout {
    position: relative;
    max-width: 1280px;
    margin: auto
  }
}

#site-navigation-area {
  overflow: hidden
}

#site-menu-btn {
  display: none
}

#site-menu-btnIcon {
  position: absolute;
  top: 0;
  right: 0;
  text-align: right;
  width: 7rem;
  height: var(--g--height-l-header);
  cursor: pointer;
  z-index: 103;
  padding: 2.42em 2.5em
}

@media only screen and (min-width:960px) {
  #site-menu-btnIcon {
  width: 4rem;
    padding: 22px 27px
  }
}

#site-menu-btnIcon>[class^=bar] {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  background: #fff;
  transition: all .5s cubic-bezier(.25, .46, .45, .94);
  transform-origin: right top;
  height: .27vw
}

@media only screen and (min-width:960px) {
  #site-menu-btnIcon>[class^=bar] {
    height: 2px
  }
}

#site-menu-btnIcon .bar1 {
  transform: scale3d(1, 1, 1) translateY(0) rotateZ(0)
}
@media only screen and (min-width:960px) {
#site-menu-btnIcon .bar1 {
  transform: scale3d(1, 1, 1) translateY(0) rotateZ(0)
}
}
#site-menu-btnIcon .bar2 {
  opacity: 1;
  transform: scaleX(1.0) translate3d(0, -1.2em, 0)
}

@media only screen and (min-width:960px) {
  #site-menu-btnIcon .bar2 {
    transform: scaleX(1.0) translate3d(0, -1.3em, 0)
  }
}

#site-menu-btnIcon .bar3 {
  transform: scale3d(1, 1, 1) translate3d(0, -2.4em, 0) rotateZ(0)
}

@media only screen and (min-width:960px) {
  #site-menu-btnIcon .bar3 {
    transform: scale3d(1, 1, 1) translate3d(0, -2.6em, 0) rotateZ(0)
  }
}

#site-menu-btn:checked+#site-menu-btnIcon>[class^=bar] {
  display: block;
  height: 1px;
  background: #fff;
  transition: all .5s cubic-bezier(.25, .46, .45, .94);
  transform-origin: right top
}

#site-menu-btn:checked+#site-menu-btnIcon .bar1 {
  transform: scale3d(1, 1, 1) translateY(1.3em) rotateZ(45deg)
}

@media only screen and (min-width:960px) {
  #site-menu-btn:checked+#site-menu-btnIcon .bar1 {
    transform: scale3d(1, 1, 1) translateY(1.1em) rotateZ(45deg)
  }
}

#site-menu-btn:checked+#site-menu-btnIcon .bar2 {
  opacity: 0;
  transform: scaleX(.8) translate3d(-15px, 7px, 0)
}

#site-menu-btn:checked+#site-menu-btnIcon .bar3 {
  transform: scale3d(1, 1, 1) translate3d(0, -.25em, 0) rotateZ(-45deg)
}

@media only screen and (min-width:960px) {
  #site-menu-btn:checked+#site-menu-btnIcon .bar3 {
    transform: scale3d(1, 1, 1) translate3d(0, -.15em, 0) rotateZ(-45deg)
  }
}

#site-menu-btn:checked~#site-menu {
  pointer-events: auto;
  visibility: visible;
  transform: scale3d(1, 1, 1);
  transform-origin: center top;
  opacity: 1;
  transition: all .35s cubic-bezier(.25, .46, .45, .94)
}

#site-menu {
  background-color: rgba(0, 0, 0, .9);
  position: fixed;
  top: var(--g--height-l-header);
  left: 0;
  width: 100%;
  z-index: 104;
  margin-top: 39px;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform: scale3d(1, 0, 1);
  transform-origin: center top;
  transition: all .35s cubic-bezier(.455, .03, .515, .955);
  overscroll-behavior-y: none
}
@media only screen and (min-width:960px) {
#site-menu {
  margin-top: 11px;
  }
}
#site-navigation-group {
  color: #fff;
  max-height: calc(100vh - var(--g--height-l-header));
  overflow-y: auto;
  padding-bottom: 2.6em;
  margin-top: 0;
  overscroll-behavior-y: contain
}

@media only screen and (min-width:960px) {
  #site-navigation-group {
    max-height: calc(760px - var(--g--height-l-header))
  }
}

#site-navigation {
  width: 100%
}

#site-navigation-list {
  font-size: 5.07vw;
  display: grid;
  grid-template-rows: auto;
  grid-auto-flow: row;
  gap: 0;
  margin-top: 1em
}

@media only screen and (min-width:960px) {
  #site-navigation-list {
    font-size: 25px;
    width: 940px;
    margin: auto;
    margin-top: 1em
  }
}

#site-navigation-list dd, #site-navigation-list dl, #site-navigation-list dt, #site-navigation-list li, #site-navigation-list ol, #site-navigation-list ul {
  margin: 0
}

#site-navigation-list>li {
  border-bottom: 1px solid currentColor
}

#site-navigation-list>li:last-child {
  border-bottom: none
}

.site-navigation-item {
  padding: .4em 0;
  padding-left: 2em
}

.site-navigation-item, .site-navigation-item:active, .site-navigation-item:focus, .site-navigation-item:link, .site-navigation-item:visited, html:not([data-whatinput=touch]) .site-navigation-item:hover {
  color: #fff;
  text-decoration: none
}

html:not([data-whatinput=touch]) .site-navigation-item:hover {
  background-color: rgba(255, 255, 255, .7)
}

@media only screen and (min-width:960px) {
  .site-navigation-item {
    padding: 1em 0;
    justify-content: center
  }
}

#antivirus-btn {
  display: none;
  content: url("../img/btn-close-antivirus.svg");
  width: var(--g--height-l-header);
  height: var(--g--height-l-header);
  position: absolute;
  z-index: 200;
  right: 0;
  top: -13.33vw
}

@media only screen and (min-width:960px) {
  #antivirus-btn {
    right: calc(50% - 430px);
    top: -80px
  }
}

#antivirus-btnIcon {
  font-size: 2.93vw;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 77.33vw;
  height: 10.67vw;
  margin: auto;
  border: .27vw solid #fff
}

@media only screen and (min-width:960px) {
  #antivirus-btnIcon {
    font-size: 20px;
    width: 580px;
    height: 80px;
    border-width: 2px
  }
  html:not([data-whatinput=touch]) #antivirus-btnIcon:hover {
    background-color: rgba(255, 255, 255, .7)
  }
}

#antivirus-btn:checked {
  display: block
}

#antivirus-btn:checked+#antivirus-btnIcon {
  display: none
}

#antivirus-btn:checked~#antivirus {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: scale3d(1, 1, 1);
  transform-origin: center;
  transition: all .35s cubic-bezier(.455, .03, .515, .955)
}

#antivirus {
  position: absolute;
  left: 0;
  top: -13.33vw;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  padding-bottom: 2.6em;
  padding-top: var(--g--height-l-header);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform: scale3d(1, 1, 0);
  transform-origin: center;
  transition: all .35s cubic-bezier(.455, .03, .515, .955)
}

@media only screen and (min-width:960px) {
  #antivirus {
    top: -80px;
    max-height: 760px
  }
}

#antivirus .title {
  font-size: 4vw;
  padding: 1.6em 0;
  margin-bottom: 1.66em;
  border-bottom: .27vw solid var(--g--cl-gold1)
}

@media only screen and (min-width:960px) {
  #antivirus .title {
    font-size: 26px;
    width: 750px;
    border-width: 2px;
    margin: auto;
    margin-bottom: 1.8em
  }
}

#antivirus .antivirus-list {
  line-height: 1.375;
  width: 69.73vw;
  margin: auto;
  grid-template-rows: repeat(4, 26.67vw)
}

@media only screen and (min-width:960px) {
  #antivirus .antivirus-list {
    width: 960px;
    font-size: 21px;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 175px)
  }
}

#antivirus .antivirus-list li {
  margin-bottom: 0
}

#antivirus .antivirus-list li:nth-child(1) {
  padding-top: .5em;
  background: url("../img/bg-antivirus-01.svg") no-repeat center 3.5em/14.67vw
}

@media only screen and (min-width:960px) {
  #antivirus .antivirus-list li:nth-child(1) {
    background-size: 90px
  }
}

#antivirus .antivirus-list li:nth-child(2) {
  background: url("../img/bg-antivirus-02.svg") no-repeat center 3.1em/12vw
}

@media only screen and (min-width:960px) {
  #antivirus .antivirus-list li:nth-child(2) {
    background-size: 78px
  }
}

#antivirus .antivirus-list li:nth-child(3) {
  padding-top: .5em;
  background: url("../img/bg-antivirus-03.svg") no-repeat center 2.6em/12.4vw
}

@media only screen and (min-width:960px) {
  #antivirus .antivirus-list li:nth-child(3) {
    background-size: 80px
  }
}

#antivirus .antivirus-list li:nth-child(4) {
  padding-top: .5em;
  background: url("../img/bg-antivirus-04.svg") no-repeat 4em 2.8em/12vw
}

@media only screen and (min-width:960px) {
  #antivirus .antivirus-list li:nth-child(4) {
    background-size: 80px
  }
}

#antivirus .antivirus-list li:nth-child(5) {
  background: url("../img/bg-antivirus-05.svg") no-repeat center 3.1em/11.33vw
}

@media only screen and (min-width:960px) {
  #antivirus .antivirus-list li:nth-child(5) {
    background-size: 70px
  }
}

#antivirus .antivirus-list li:nth-child(6) {
  background: url("../img/bg-antivirus-06.svg") no-repeat center 3.1em/16.53vw
}

@media only screen and (min-width:960px) {
  #antivirus .antivirus-list li:nth-child(6) {
    background-size: 108px
  }
}

#antivirus .antivirus-list li:nth-child(7) {
  background: url("../img/bg-antivirus-07.svg") no-repeat center 3.2em/11.6vw
}

@media only screen and (min-width:960px) {
  #antivirus .antivirus-list li:nth-child(7) {
    background-size: 75px
  }
}

#antivirus .antivirus-list li:nth-child(8) {
  background: url("../img/bg-antivirus-08.svg") no-repeat center 3.2em/12vw
}

@media only screen and (min-width:960px) {
  #antivirus .antivirus-list li:nth-child(8) {
    background-size: 75px
  }
}
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute!important;
  width: 1px;
  word-wrap: normal!important;
  word-break: normal
}


.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 {

}
#l-footer .info {
 background-color: #e17f00;
 padding: 4rem 1rem;
 display: block
}
#l-footer .access {
  display: flex;
  justify-content: left;
  margin: 0 1rem 1rem;
  color: #fff;
}
#l-footer .access span {
  color: #e17f00;
}
#l-footer .access .access-left {
  width: 18vw;
  margin-right: 1vw;
  text-align: left
}
#l-footer .access .access-right {
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: left;
}
#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 .cp{
  background-color: #000;
  color: #fff;
  font-size: 1rem;
  text-align: center;
}


@media only screen and (min-width:1100px) {
#l-footer .pc {
	display: flex;
	}
#l-footer .map {
width: 50%;
}
#l-footer .info {
width: 50%;
padding: 1rem 0;
}
#l-footer .info {
 background-color: #e17f00;
 font-size: .65rem;
 line-height: 2.9;
}
#l-footer h3 {
  text-align: left;
  margin: 0 2rem;
  width: 10rem
}
#l-footer .access {
  display: flex;
  justify-content: left;
  margin: 0 1rem 1rem;
  color: #fff;
}
#l-footer .access span {
  color: #e17f00;
}
#l-footer .access .access-left {
  width: 18vw;
  margin-right: 1vw;
  text-align: left
}
#l-footer .access .access-right {
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: left;
}
  #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 iframe{
	margin-top: 0;
	}
}
#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: left;
    margin: 0 2rem;
  }
  #l-footer .access span {
    color: #f15a24;
  }
  #l-footer .access .access-left {
    width: 6vw;
	line-height: 2;
  }
  #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
}
  .footer-sns-list li {
    font-size: 1.6rem;
  }

  .footer-sns-list .title {
    width: 10em;
  }

  .footer-sns-list li {
    padding: 1rem 0;
    margin: 0 1rem;
  }

  .footer-sns-list img {
    transition: transform .15s linear;
	width: 3rem;
  }

  .footer-sns-list p {
    font-size:1rem;
	text-align: center;
}

  .footer-sns-list a:hover img {
    transform: scale(1.1);
  }
 
.footer-sns-list {
  text-align: center;
  font-size: 0;
}

.footer-sns-list ul,
.footer-sns-list li {
  display: inline-block;
  vertical-align: middle;
}
#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: #fff;
  text-align: center;
  padding-bottom: 1px;
  position: sticky;
  z-index: 100;
  left: 0;
  bottom: 0
}
#l-stickyFooter img {
  width: 9.59rem;
  margin: 1rem 0.2rem;
}
@media only screen and (min-width:1100px) {
  #l-stickyFooter{
  }
}
/* contact-box
----------------------------*/
.dl {
  position: fixed;
  right: 0;
  top: 14%;
  font-weight: 700;
  width: 140px;
}

.dl a {
  color: #fff;
}

.dl img {
  vertical-align: middle;
}

.dl .dl-top {
  text-align: right;
}
.dl .dl-bottom {
  text-align: right;
}
.dl .dl-center {
  text-align: right;
}

.dl .dl-top img {
  width: 45px;
}

.dl .dl-bottom img{
  width: 45px;
}
.dl .dl-center img{
  width: 45px;
}
.cta .main-txt {
  margin-bottom: 0;
  text-align: center;
}
.cta .main-txt img {
  width: 100%;
}
.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%)
  }
}
.movie {
  width: 91%;
  text-align: center;
  margin: -3rem auto 0;
  height: 13%
}
.movie iframe {
  width: 100%;
  height: 100%
}
.movie1 {
  width: 91%;
  text-align: center;
  margin: 33rem auto 0;
  height: 13%
}
.movie1 iframe {
  width: 100%;
  height: 100%
}
#yoga-movie{
	width: 100%;
	max-width: 100%;
	height: 19rem;
}
#yoga-movie .movie2 {
  width: 100%;
  text-align: center;
  height: 87%
}
#yoga-movie .movie2 iframe {
  width: 100%;
  height: 100%;
  margin-top: 0;
}
@media only screen and (min-width:1100px) {
#yoga-movie{
	width: 100%;
	max-width: 100%;
	height: 27rem;
}
#yoga-movie .movie2 {
  width: 100%;
  text-align: center;
  height: 81%
}
#yoga-movie .movie2 iframe {
  width: 100%;
  height: 100%
}
}
@media only screen and (min-width:1100px) {
  #intro {
    background: url("../img/bg-intro-lg.webp") no-repeat center top/cover;
    height: 43vw;
    position: relative
  }
  #intro .main-visual {
    width: 77rem;
    margin-left: 50%;
    transform: translateX(-50%)
  }
.movie {
  width: 58%;
  text-align: center;
  margin: -3rem auto 0;
  height: 17%
}
.movie iframe {
  width: 100%;
  height: 100%
}
.movie1 {
  width: 58%;
  text-align: center;
  margin: 33rem auto 0;
  height: 17%
}
.movie1 iframe {
  width: 100%;
  height: 100%
}
.movie2 {
  width: 58%;
  text-align: center;
  margin: 1rem auto;
  height: 17%
}
.movie2 iframe {
  width: 100%;
  height: 100%
}
}

#feature {
  padding: 0em
}
#feature .main-txt {
  background: url("../img/bg-feature-lg.webp") no-repeat center top/cover;
  text-align: center;
}
#feature .main-txt img {
  margin: 1rem auto;
}
#feature .gymmap {
  background: url("../img/bg-gymmap-lg.webp") no-repeat center top/cover;
  width: 100%;
  max-width: 100%;
  height: 130rem;
  margin: 0;
  padding: 0;
}
#feature .gym-txt {
  text-align: center;
}
#feature .gym-txt img {
  width: 100%
}
#feature h1 {
  line-height: 1;
  min-height: 5.13rem;
  padding-top: 2.3em;
  margin-bottom: 0
}
#feature .txt {
  margin-top: 1rem;
  font-size: .8rem;
  color: white;
  position: absolute;
  left: 54%;
}
#feature .btxt {
  margin-top: 1rem;
  font-size: 1rem;
  color: white;
}
@media only screen and (min-width:1100px) {
#feature .gymmap {
  background: url("../img/bg-gymmap-lg.webp") no-repeat center top/cover;
  width: 100%;
  max-width: 100%;
  height: 125rem;
  margin: 0;
  padding: 0;
}
#feature .btxt {
  font-size: 1.3rem;
}
  #feature h1 {
    line-height: 1.2;
    min-height: 210px;
    padding-top: 2.3em;
    margin-bottom: 0
  }
  #feature h1 .one {
    font-size: 2rem;
    color: white;
    position: absolute;
    left: 30%;
  }
}
#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 {
  max-width: 100%;
  width: auto;
  height: 20rem;
  margin: 4rem 0 4rem;
  text-align: center;
  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 {
  text-align: center;
  width: 100%;
  height: 32.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 {
    text-align: center;
    width: 100%;
    height: 22.6rem;
    margin: 2rem auto;
    position: relative
  }
  #feature .feature-cont .pickup {
    font-size: 1.1rem;
    text-align: left;
    position: absolute;
    top: 13%;
    left: 31%;
  }
}
@media only screen and (min-width:1100px) {
  #studio .feature-point-lg {
    box-sizing: border-box;
    display: block
  }
  #studio .point1-lg {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  #studio .point2-lg {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  #studio .cell1 {
    display: table-cell;
    width: 25%;
    font-size: 1rem;
    padding: 0 0.3rem;
  }
  #studio .cell2 {
    display: table-cell;
    width: 25%;
    font-size: 0.5rem;
    padding: 0 0.3rem;
  }
  #studio .cell2 span {
    font-size: 21px;
    font-weight: 800
  }
#studio .cell2-md span {
  font-size: 2rem;
  font-weight: 800
}
#studio .point2-md {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-top: -1rem;
}
}
#studio .feature-point-md {
  box-sizing: border-box;
}
#studio .point1-md {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-top: 0rem;
}
#studio .point2-md {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin: 1rem 0;
}
#studio .cell1-md {
  display: table-cell;
  width: 50%;
  font-size: 4rem;
  text-align: center;
  color: #f15a24
}
#studio .cell2-md {
  display: table-cell;
  width: 50%;
  font-size: 1rem;
  text-align: center;
}
#studio .cell1-md span {
  font-size: 2rem;
  font-weight: 800
}
#studio .cell2-md span {
  font-size: 1.3rem;
  font-weight: 800
}
#studio .schedule {
  margin: 3rem auto;
  border: 1px solid #333;
  padding: 10px 30px;
  cursor: pointer;
}
  #hotyoga .point {
    margin-bottom: 3rem;
  }
  #hotyoga .point .txt {
    font-size: 1.5rem;
    font-weight: 800;
    margin-top: 3rem;
    color: #e17f00;
  }
.voice {
    text-align: center
  }
.voice img {
    margin: 2rem 0 1rem;
  }
@media only screen and (min-width:1100px) {
  #hotyoga {}
  #hotyoga .yoga {}
  #hotyoga .yoga img {
    width: 100%
  }
  #hotyoga .point {
    margin-bottom: 1rem;
  }
  #hotyoga .point .txt {
    font-size: 1.5rem;
    font-weight: 800;
    margin-top: 3rem;
    color: #e17f00;
  }
  #spa {
    background-color: #cadee9
  }
  #spa .machine {
    text-align: center
  }
  #spa .machine img {
    padding: 1rem 11rem;
  }
.voice {
    text-align: center
  }
.voice img {
    padding: 1rem 11rem;
  }
}
@media only screen and (min-width:1100px) {
#support {
  background-color: #000;
}
#support .training {
  text-align: center;
}
#studio h2 {
  background-color: #d4b293;
  text-align: center;
}

#price{
	width: 100%;
}
#price h1{
width: 100%;
}
#price h1 img{
width: 100%;
}
#price .price-image{
	text-align: center;
	margin-top: 2rem;	
}
#price .price-image img{
	width: 47rem
}
#price .option-image{
	text-align: center;
	margin-top: 2rem;	
}
#price .option-image img{
	width: 47rem
}
	#price .price-txt{
	font-size: 0.8rem;
	margin-top: -0.8rem;
	}
}
#price{
	width: 100%;
}
#price h1{
max-width: 100%;
}
#price h1 img{
width: 100%;
}
#price .price-image{
	text-align: center;
	margin-top: 2rem;	
}
#price .price-image img{
	width: 47rem
}
#price .option-image{
	text-align: center;
	margin-top: 2rem;	
}
#price .option-image img{
	width: 47rem
}
	#price .price-txt{
	font-size: 0.8rem;
	margin-top: -0.8rem;
	}
.price .main-image {
  width: 100%;
  margin: 2rem 0;
}

details summary {
  list-style: none;
}

details summary::-webkit-details-marker {
  display: none;
}

details.accordion1{
	width: 100% !important;
}

summary.accordion{
	position: relative;
	width: 100%;
	border-bottom: 0.27vw solid #e17f00;
}

summary.accordion::after{
	content:"\002B";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	font-size: 4vw;
	line-height: 1;
	color: #e17f00;
}

#qa {
  padding: 2.5em 0
}
#qa h1{
 max-width: 100%
}
#qa h1 img{
  width: 100%
}

#qa .qa-list {
  width: 82.67vw;
  line-height: 1.5
}

#qa h2{
	margin-top: 2rem;
font-size: 1.5rem;
}

#qa h3{
	color: #e17f00;
	font-size: 1.5rem;
	margin-top: 2rem;
}

@media only screen and (min-width:960px) {
#qa h1{
  max-width: 100%;
  width: 100%;
}
#qa h1 img{
  width: 100%
}
  #qa .qa-list {
    width: 100%
  }
}

#qa .qa-list .qa-list-item {
  border-bottom: .27vw solid #e17f00
}

#qa .qa-list .qa-list-item:last-child[open] {
  border: none
}

@media only screen and (min-width:960px) {
  #qa .qa-list .qa-list-item {
    border-width: 2px
  }
}

#qa .qa-list .A, #qa .qa-list .Q {
  padding-left: 10%;
  position: relative
}

@media only screen and (min-width:960px) {
  #qa .qa-list .A, #qa .qa-list .Q {
    padding-left: 2em
  }
}

#qa .qa-list .A::before, #qa .qa-list .Q::before {
  position: absolute;
  display: block;
  font-size: 4vw;
  line-height: 1;
  left: 0%;
  top: .2em
}

@media only screen and (min-width:960px) {
  #qa .qa-list .A::before, #qa .qa-list .Q::before {
    font-size: 30px;
  position: absolute;
  display: block;
  line-height: 1;
  left: 0;
  top: .2em
  }
}

#qa .qa-list .Q {
  font-size: 3.6vw;
  margin-top: 2.3em;
  margin-bottom: 1em;
  margin-left: 2em;
  display: flex;
  justify-content: space-between
}

#qa .qa-list .Q .icon {
  font-size: 70%;
  position: relative;
  top: .8em
}

#qa .qa-list .Q::before {
  content: "";
  width: 39px;
  height: 39px;
  background: url("../img/q.svg") no-repeat;
  background-size: cover;
  position: absolute;
  left: -5.5vw;
  bottom: 0;
  top: 0;
  margin: auto;
}
@media only screen and (min-width:960px) {
  #qa .qa-list .Q {
    font-size: 26px
  }
#qa .qa-list .Q::before {
  content: "";
  width: 52px;
  height: 50px;
  background: url("../img/q.svg") no-repeat;
  background-size: cover;
  position: absolute;
  left: -1.5vw;
  bottom: 0;
  top: 0;
  margin: auto;
}
}



#qa .qa-list .A {
  font-size: 3.33vw;
  min-height: 13.33vw;
  margin-left: 2rem;
}

@media only screen and (min-width:960px) {
  #qa .qa-list .A {
    font-size: 23px;
    min-height: 156px;
	margin-left: 2.3rem;
	margin-bottom: 1rem;
  }
}

#qa .qa-list .A::before {
  content: 'A'
}

@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
  }
}

/**追記**/
.container05 {
    background: url(../img/features_bg.jpg);
    padding: 38px 0 15px;
}

.inner05 {
    width: 790px;
    margin-right: auto;
    margin-left: auto;
}

#features h2 {
    text-align: center;
    font-weight: 900;
    font-size: 35px;
}

#features h2 span {
    font-weight: 900;
    color: #E17F00;
}

#features ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 34px;
}

#features li .bg_card {
    width: 250px;
    height: 190px;
    border: 1px solid #999999;
    padding-top: 23px;
    margin-bottom: 20px;
}

#features li .bg_card p {
    font-size: 21px;
    font-weight: 900;
    text-align: center;
    line-height: 30px;
}


#features li:nth-child(1) .bg_card {
    background: url(../img/2x/features_01@2x.png);
    background-size: cover;
    background-position: center;

}
#features li:nth-child(2) .bg_card {
    background: url(../img/2x/features_02@2x.png);
    background-size: cover;
    background-position: center;
}
#features li:nth-child(3) .bg_card {
    background: url(../img/2x/features_03@2x.png);
    background-size: cover;
    background-position: center;
    padding-bottom: 132px;
}
#features li:nth-child(4) .bg_card {
    background: url(../img/2x/features_04@2x.png);
    background-size: cover;
    background-position: center;
}
#features li:nth-child(5) .bg_card {
    background: url(../img/2x/features_05@2x.png);
    background-size: cover;
    background-position: center;
}
#features li:nth-child(6) .bg_card {
    background: url(../img/2x/features_06@2x.png);
    background-size: cover;
    background-position: center;
}
@media only screen and (max-width:960px) {
	#features{
		display:none;
	}
}
#insta{
  background: url(../img/insta-bg.webp) no-repeat;
  text-align: center;
  margin: auto;
  padding-bottom: 3rem;
}
#insta .igtitle{
  margin: auto;
  padding: 2rem 0 0;
  text-align: center;
  width: 100%;
}