@charset 'UTF-8';

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

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.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: 0.8rem 0 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: 0.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,
  #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 0.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 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform-origin: right top;
  height: 0.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) translate3d(0, -1.2em, 0);
}

@media only screen and (min-width: 960px) {
  #site-menu-btnIcon .bar2 {
    transform: scaleX(1) 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 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.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(0.8) translate3d(-15px, 7px, 0);
}

#site-menu-btn:checked+#site-menu-btnIcon .bar3 {
  transform: scale3d(1, 1, 1) translate3d(0, -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, -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 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#site-menu {
  background-color: rgba(0, 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 0.35s cubic-bezier(0.455, 0.03, 0.515, 0.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: 0.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, 0.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: 0.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, 0.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 0.35s cubic-bezier(0.455, 0.03, 0.515, 0.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 0.35s cubic-bezier(0.455, 0.03, 0.515, 0.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: 0.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: 0.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: 0.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: 0.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: 0.1em;
}

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

a {
  transition: all 0.3s cubic-bezier(0.42, 0, 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 0.3s cubic-bezier(0.42, 0, 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 0.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: 0.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: 0.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: 0.5em 1.3em;
  border: 1px solid currentColor;
  border-radius: 0.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: 0.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 0.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: 0.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: 0.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: 0.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;
}

/* ==========================================================================
   Fixed CTA
   ========================================================================== */
.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: -0.1em;
  fill: currentColor;
}

#intro {
  position: relative;
  overflow: hidden;
}

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

.pc_intro {
  display: none;
}

@media only screen and (min-width: 1100px) {
  .pc_intro {
    width: 100% !important;
    display: block;
    max-width: 100% !important;
  }
}

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

  #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 .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: 0.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: 0.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: 0.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: 0.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: 0.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;
  }
}

/* ==========================================================================
   Additional Content Sections
   ========================================================================== */
.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;
  }
}

/* ==========================================================================
   Instagram Feed
   ========================================================================== */
#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%;
}

/* ==========================================================================
   Trial Section
   ========================================================================== */
#taiken {
  position: relative;
  width: 100%;
  height: 40vw;
  overflow: hidden;
}

/* Background image */
.taiken-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

/* Video */
.taiken-video {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 60em;
  margin: 0 auto;
  padding-top: 19vw;
}

.taiken-video video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

/* Primary CTA */
.taiken-button {
  position: absolute;
  bottom: 41vw;
  width: 100%;
  text-align: center;
  z-index: 3;
}

.taiken-button img {
  width: auto;
  max-width: 76rem;
  height: auto;
  display: inline-block;
  transition: opacity 0.3s ease;
}

.taiken-button img:hover {
  opacity: 0.8;
}

/* Secondary CTA */
.taiken-button2 {
  position: absolute;
  bottom: 2vw;
  width: 100%;
  text-align: center;
  z-index: 3;
}

.taiken-button2 img {
  width: auto;
  max-width: 10rem;
  height: auto;
  display: inline-block;
  transition: opacity 0.3s ease;
}

.taiken-button2 img:hover {
  opacity: 0.8;
}


@media screen and (max-width: 767px) {
  #taiken {
    position: relative;
    width: 100%;
    height: 160vw;
    overflow: hidden;
  }

  /* Background image */
  .taiken-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }

  /* Primary CTA */
  .taiken-button {
    position: absolute;
    bottom: 83vw;
    width: 100%;
    text-align: center;
    z-index: 3;
  }

  .taiken-button img {
    width: auto;
    max-width: 300px;
    height: auto;
    display: inline-block;
    transition: opacity 0.3s ease;
  }

  .taiken-button img:hover {
    opacity: 0.8;
  }

  /* Secondary CTA */
  .taiken-button2 {
    position: absolute;
    bottom: 14vw;
    width: 100%;
    text-align: center;
    z-index: 3;
  }

  .taiken-button2 img {
    width: auto;
    max-width: 300px;
    height: auto;
    display: inline-block;
    transition: opacity 0.3s ease;
  }

  .taiken-button2 img:hover {
    opacity: 0.8;
  }
}


/* ==========================================================================
   Information
   ========================================================================== */
#information {
  text-align: center;
  padding: 0 0 100px;
}

#information h2 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 1.5em;
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  #information {
    padding: 0 0 60px;
  }

  #information h2 {
    margin-bottom: 20px;
    margin-top: 40px;
  }

}