:root {
  --font-family-base: "Noto Sans JP", sans-serif, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana;
  --font-family-mincho: "Zen Old Mincho", serif;
  --text-color: #1b1b1b;
  --link-color: #479d57;
  --link-hover: #68b975;
  --box-shadow: 0 3px 10px rgb(119, 119, 119, 0.65)
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0
}

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

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

pre {
  font-family: monospace, monospace;
  font-size: 1em
}

a {
  background-color: rgba(0, 0, 0, 0)
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted
}

b, strong {
  font-weight: bolder
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em
}

small {
  font-size: 80%
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.25em
}

sup {
  top: -0.5em
}

img {
  border-style: none
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}

button, input {
  overflow: visible
}

button, select {
  text-transform: none
}

button, [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button
}

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0
}

button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText
}

fieldset {
  padding: .35em .75em .625em
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

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

details {
  display: block
}

summary {
  display: list-item
}

template {
  display: none
}

[hidden] {
  display: none
}

* {
  box-sizing: border-box
}

html {
  width: 100%;
  height: 100%;
  font-size: 1.3333vw;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  scroll-behavior: smooth
}

@media screen and (min-width: 750px) {
  html {
    font-size: .692307vw
  }
}

@media screen and (min-width: 1170px) {
  html {
    font-size: 9px
  }
}

body {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-size: 2.6rem;
  font-family: var(--font-family-base);
  color: var(--text-color);
  line-height: 1.5;
  word-break: break-word;
  word-wrap: break-word;
  overflow-wrap: break-word;
  overflow-x: hidden
}

@media screen and (min-width: 750px) {
  body {
    font-size: 2rem
  }
}

a img {
  outline: none;
  border: none;
  backface-visibility: hidden
}

a:hover img {
  opacity: .7
}

a:focus {
  outline: none
}

a, a img, button {
  transition: all .3s ease;
  box-shadow: #000 0 0 0
}

a[href^="tel:"] {
  cursor: default
}

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

iframe, figure {
  max-width: 100%
}

table {
  border-collapse: collapse
}

ul {
  margin: 0;
  padding: 0;
  list-style-type: none
}

input, textarea, select, button {
  font-family: var(--font-family-base);
  color: var(--text-color);
  line-height: 1.4
}

select::-ms-expand {
  display: none
}

textarea {
  resize: vertical
}

div:focus {
  outline: none
}

@media screen and (min-width: 750px) {
  .pc-hidden {
    display: none
  }
}

.pc-show {
  display: none
}

@media screen and (min-width: 750px) {
  .pc-show {
    display: block
  }
}

.btn, .btn-orange, .btn-s {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  width: 63rem;
  height: 13.3rem;
  font-size: 3.6rem;
  font-weight: bold;
  padding-right: 4.6rem;
  color: var(--text-color);
  text-decoration: none;
  background: #fff;
  border: .2rem solid #939393;
  border-radius: 7rem;
  cursor: pointer
}

.btn:after, .btn-orange:after, .btn-s:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4.6rem;
  width: 1.8rem;
  height: 3.4rem;
  margin-top: -1.7rem;
  background: url("../img/icon_button-arrow.png") no-repeat center/contain
}

@media screen and (min-width: 750px) {
  .btn, .btn-orange, .btn-s {
    width: 57.2rem;
    height: 11.3rem;
    font-size: 3.2rem
  }

  .btn:after, .btn-orange:after, .btn-s:after {
    width: 1.6rem;
    height: 2.9rem;
    margin-top: -1.45rem
  }
}

.btn-s {
  width: 44rem;
  height: 11rem;
  font-size: 3rem
}

@media screen and (min-width: 750px) {
  .btn-s {
    width: 37.7rem;
    height: 9.4rem;
    font-size: 2.5rem
  }
}

.btn-orange {
  background: linear-gradient(to right, #fcac01, #b75700);
  color: #fff;
  border-color: #f08524
}

.btn-orange:before {
  content: "";
  width: 4.1rem;
  height: 3.5rem;
  background: url(../img/icon_download.png) no-repeat center/contain
}

.btn-orange:after {
  background-image: url("../img/icon_button-arrow_white.png")
}

.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: all .5s ease
}

.fadein.show {
  opacity: 1 !important;
  transform: translateY(0) !important
}

.scale-up {
  opacity: 0;
  transform: scale(0);
  transition: transform .4s ease
}

.scale-up.show {
  opacity: 1 !important;
  transform: scale(1) !important
}

.tooltip {
  display: inline-block
}

.tooltip__icon {
  width: 2.4rem;
  height: auto;
  margin: .7rem .2rem 0 .2rem;
  cursor: pointer
}

.tooltip__content {
  display: none
}

.tippy-box .tippy-content {
  font-size: 2.4rem !important
}

@media screen and (min-width: 750px) {
  .tippy-box .tippy-content {
    font-size: 2.0rem !important
  }
}

.tippy-box[data-theme~=light-border] {
  background-color: #f8f8f8;
  border-color: #b6b6b6;
  color: var(--text-color)
}

.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:before {
  border-top-color: #f8f8f8
}

.tippy-box[data-theme~=light-border]>.tippy-arrow::after {
  border-top-color: #f8f8f8;
  border-bottom-color: #f8f8f8;
  border-left-color: #f8f8f8;
  border-right-color: #f8f8f8
}

.container {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  background: #f6f6f6
}

.header__inner {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 11.6rem;
  position: relative
}

.header__logo {
  margin: 0;
  z-index: 1001;
  transition: opacity .3s ease
}

.header__logo img {
  width: 18.2rem;
  height: auto
}

.header__logo.is-hidden {
  opacity: 0;
  visibility: hidden
}

.header__hamburger {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 4.3rem;
  height: 3.1rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001
}

.header__hamburger span {
  display: block;
  height: .5rem;
  width: 100%;
  background: var(--text-color);
  border-radius: .2rem;
  transition: all .3s ease;
  transform-origin: center
}

.header__hamburger.is-active span {
  background: #fff
}

.header__hamburger.is-active span:nth-child(1) {
  transform: rotate(45deg) translate(0.9rem, 0.9rem)
}

.header__hamburger.is-active span:nth-child(2) {
  opacity: 0
}

.header__hamburger.is-active span:nth-child(3) {
  transform: rotate(-45deg) translate(0.9rem, -0.9rem)
}

.header__nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, .9);
  z-index: 1000;
  padding-top: 11.6rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease
}

.header__nav.is-open {
  opacity: 1;
  visibility: visible
}

.header__nav__menu {
  list-style: none;
  margin: 0 0 16rem 0;
  padding: 0;
  border-top: 1px solid #333
}

.header__nav__menu li {
  border-bottom: 1px solid #333
}

.header__nav__menu li a {
  display: block;
  padding: 4rem;
  font-size: 3.5rem;
  color: #fff;
  text-decoration: none;
  transition: background-color .3s ease
}

.header__nav__menu li a:hover {
  background: #f8f9fa
}

.header__nav__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem
}

.header__nav__button .btn-orange:before {
  content: none
}

@media screen and (min-width: 750px) {
  .header {
    position: relative
  }

  .header__logo img {
    width: 15.2rem
  }

  .header__hamburger {
    display: none
  }

  .header__nav {
    opacity: 1;
    visibility: visible;
    position: static;
    display: flex;
    width: auto;
    max-width: none;
    height: auto;
    background: none;
    box-shadow: none;
    padding-top: 0
  }

  .header__nav__menu {
    display: flex;
    gap: 6rem;
    align-items: center;
    margin: 0;
    border: none
  }

  .header__nav__menu li {
    border-bottom: none
  }

  .header__nav__menu li a {
    padding: 1rem 0;
    font-size: 2.2rem;
    font-weight: 500;
    color: var(--text-color)
  }

  .header__nav__menu li a:hover {
    background: none;
    color: var(--link-color)
  }

  .header__nav__button {
    display: none
  }
}

.fixed-header {
  display: none
}

@media screen and (min-width: 750px) {
  .fixed-header {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    background: #f6f6f6;
    transform: translateY(-100%);
    transition: transform .3s ease
  }

  .fixed-header.show {
    transform: translateY(0)
  }

  .fixed-header__inner {
    width: 100%;
    max-width: calc(1080px + 10rem);
    margin-left: auto;
    margin-right: auto;
    padding-left: 5rem;
    padding-right: 5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 11.6rem
  }

  .fixed-header__menu {
    display: flex;
    gap: 7rem;
    font-size: 2.2rem;
    font-weight: 500
  }

  .fixed-header__menu li a {
    color: var(--text-color);
    text-decoration: none
  }

  .fixed-header__button {
    display: flex;
    gap: 2rem
  }

  .fixed-header__button .btn, .fixed-header__button .btn-orange {
    width: 32rem;
    height: 8.2rem;
    font-size: 2.4rem
  }

  .fixed-header__button .btn:before, .fixed-header__button .btn-orange:before {
    content: none
  }

  .fixed-header__button .btn:after, .fixed-header__button .btn-orange:after {
    right: 3rem;
    width: 1.3rem;
    height: 2.2rem;
    margin-top: -1.1rem
  }
}

main {
  flex: 1;
  padding-top: 11.6rem
}

@media screen and (min-width: 750px) {
  main {
    padding-top: 0
  }
}

.privacypolicy p{
  text-decoration: none;
  color: #000;
  margin: 0 auto 2rem;
  text-align: center;
  font-size: 2rem;
}

.privacypolicy a{
  text-decoration: none;
  color: #000;
}

.footer {
  width: 100%;
  padding: 3rem 0;
  background: #094
}

.footer__copyright {
  margin: 0;
  font-size: 2rem;
  color: #fff;
  text-align: center
}

@media screen and (min-width: 750px) {
  .footer__copyright {
    font-size: 1.8rem
  }
}

html {
  scroll-padding-top: 12rem
}

@media screen and (min-width: 750px) {
  html {
    scroll-padding-top: 0
  }
}

.kv {
  position: relative;
  width: 100%;
  height: 163.4rem
}

.kv__bg {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden
}

.kv__bg video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%)
}

.kv__dot {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.kv__dot img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.kv__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%
}

.kv__title {
  margin: 0 0 7rem 0;
  font-size: 6rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  text-align: center
}

.kv__title span {
  font-size: 7.4rem
}

.kv__explain {
  margin: 0 0 17rem 0;
  font-size: 3rem;
  color: #fff;
  text-align: center
}

.kv__image {
  margin-bottom: 11rem;
  text-align: center
}

.kv__image img {
  width: 68.4rem;
  height: auto
}

.kv__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem
}

@media screen and (min-width: 750px) {
  .kv {
    height: 87.1rem
  }

  .kv__bg video {
    min-width: 100%;
    height: auto;
    min-height: 100%
  }

  .kv__title {
    margin-bottom: 3.3rem;
    font-size: 8rem
  }

  .kv__title span {
    font-size: 10rem
  }

  .kv__explain {
    margin-bottom: 7.3rem;
    font-size: 2.67rem
  }

  .kv__image {
    margin-bottom: 2.56rem
  }

  .kv__image img {
    width: 54rem
  }

  .kv__link {
    flex-direction: row
  }
}

@media screen and (min-width: 1920px) {
  .kv__bg video {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: auto
  }
}

.intro {
  overflow: hidden
}

.intro__problem {
  position: relative;
  padding: 8rem 0 0 0;
  background: #f6f6f6
}

.intro__problem__inner {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  position: relative;
  z-index: 4
}

.intro__problem__title {
  margin: 0 0 8rem 0;
  font-size: 4rem;
  text-align: center
}

.intro__problem__title span {
  font-size: 4.8rem
}

.intro__problem__title span.green {
  background: linear-gradient(to bottom, #15c479, #1d6414);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

.intro__problem__list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-bottom: 8.6rem
}

.intro__problem__list__item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50rem;
  height: 15rem;
  background: #fff;
  border-radius: .8rem;
  box-shadow: 0 .3rem 3rem #a3e0c4
}

.intro__problem__list__item.item-1, .intro__problem__list__item.item-5 {
  align-self: flex-start
}

.intro__problem__list__item.item-4, .intro__problem__list__item.item-6 {
  align-self: flex-end
}

.intro__problem__list__item.item-2, .intro__problem__list__item.item-3 {
  display: none
}

.intro__problem__list__item p {
  margin: 0;
  font-size: 2.8rem;
  text-align: center
}

.intro__problem__list__item p span {
  font-weight: bold;
  background: linear-gradient(transparent 70%, #ffd800 70%)
}

.intro__problem__bg {
  position: absolute;
  bottom: 22.3rem;
  left: 0;
  z-index: 3;
  width: 100%
}

.intro__problem__bg img {
  width: 100%
}

.intro__problem__solved {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 30rem;
  background: linear-gradient(to right, #15c479, #1d6414)
}

.intro__problem__solved p {
  margin: 2rem 0 0 0;
  font-size: 5.8rem;
  font-weight: bold;
  color: #fff
}

.intro__problem__solved p span {
  background: linear-gradient(135deg, #fcca01, #f08524);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

.intro__solution {
  position: relative;
  z-index: 0;
  padding: 7.5rem 0;
  background: #f2f2f2
}

.intro__solution__shape {
  position: absolute;
  top: -30rem;
  left: 0;
  z-index: 1;
  width: 100%
}

.intro__solution__shape img {
  width: 100%;
  height: auto
}

.intro__solution__inner {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem
}

.intro__solution__list {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem
}

.intro__solution__list__item {
  position: relative;
  width: 30rem;
  box-shadow: 0 .3rem 3rem rgba(0, 0, 0, .1)
}

.intro__solution__list__item img {
  position: relative;
  width: 100%
}

.intro__solution__list__item p {
  position: absolute;
  bottom: 3.5rem;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 6.4rem;
  margin: 0;
  font-size: 2.7rem;
  font-weight: bold;
  color: #094;
  text-align: center
}

@media screen and (min-width: 750px) {
  .intro__problem {
    padding-top: 9rem
  }

  .intro__problem__title {
    margin-bottom: 7.2rem
  }

  .intro__problem__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5rem 4%;
    margin-bottom: 9rem
  }

  .intro__problem__list__item {
    width: 43%
  }

  .intro__problem__list__item.item-2, .intro__problem__list__item.item-3 {
    display: flex
  }

  .intro__problem__list__item.item-1, .intro__problem__list__item.item-5 {
    margin-left: 10%
  }

  .intro__problem__bg {
    bottom: 20rem
  }

  .intro__problem__solved {
    height: 26.5rem
  }

  .intro__solution {
    padding: 0 0 10rem 0
  }

  .intro__solution__shape {
    top: -26.5rem
  }

  .intro__solution__inner {
    padding-top: 1px
  }

  .intro__solution__list {
    gap: 2.7rem;
    margin-top: -3rem
  }

  .intro__solution__list__item {
    width: calc(33.3333333333% - 1.8rem)
  }

  .intro__solution__list__item p {
    bottom: 4.4rem;
    height: 8rem;
    font-size: 3.2rem
  }
}

@media screen and (min-width: 1920px) {
  .intro__problem__bg {
    bottom: calc(26.5rem - 3.5vw)
  }
}

.structure {
  position: relative;
  padding: 10rem 0 7.5rem 0
}

.structure__inner {
  position: relative;
  width: 100%;
  max-width: 152rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 3rem;
  padding-right: 3rem
}

.structure__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.structure__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top
}

.structure__shape {
  display: none
}

.structure__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.3rem;
  margin-bottom: 4.7rem
}

.structure__heading__image img {
  width: 41.4rem
}

.structure__heading__text h2 {
  margin: 0 0 3.6rem 0;
  font-size: 3.8rem;
  font-weight: bold;
  color: #fff
}

.structure__heading__text p {
  margin: 0;
  font-weight: 500;
  font-size: 2.4rem;
  color: #fff
}

.structure__heading__text p span {
  color: #fba509
}

.structure__fig {
  position: relative;
  padding: 8rem 3rem 3rem 3rem;
  background: #fff
}

.structure__fig__heading {
  margin-bottom: 2.3rem
}

.structure__fig__heading h3 {
  margin: 0 0 3.6rem 0;
  font-size: 4.6rem;
  color: #094;
  text-align: center
}

.structure__fig__heading p {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 500
}

.structure__fig__label {
  position: absolute;
  top: -8rem;
  right: -2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 14.6rem;
  height: 14.6rem;
  background: linear-gradient(to bottom right, #15c479, #1d6414);
  border-radius: 7.3rem
}

.structure__fig__label p {
  margin: 0;
  font-size: 2.2rem;
  color: #fff;
  line-height: 1
}

.structure__fig__label p.sm {
  font-size: 1.8rem
}

.structure__fig__label p span {
  font-size: 6.4rem;
  font-weight: bold
}

.structure__fig__image img {
  width: 100%
}

.structure__fig__bottom {
  display: none
}

@media screen and (min-width: 750px) {
  .structure {
    padding: 5rem 0 8rem 0
  }

  .structure__heading {
    flex-direction: row-reverse;
    justify-content: center
  }

  .structure__heading__image img {
    width: 41.4rem
  }

  .structure__heading__text h2 {
    font-size: 3.9rem
  }

  .structure__fig {
    padding: 7.4rem 10rem 4.7rem 10rem
  }

  .structure__fig__label {
    top: -4rem;
    left: 5rem
  }

  .structure__fig__heading {
    position: relative;
    margin-bottom: 5.4rem
  }

  .structure__fig__heading h3 {
    margin-bottom: 4.5rem
  }

  .structure__fig__heading p {
    text-align: center
  }

  .structure__fig__bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.7rem;
    margin-top: 4rem;
    padding: 4rem 0;
    border-width: .2rem 0 .2rem 0;
    border-color: #00a575;
    border-style: solid
  }

  .structure__fig__bottom p {
    margin: 0;
    font-weight: 500
  }

  .structure__fig__bottom .lg {
    font-size: 4rem;
    color: #00a575
  }

  .structure__fig__bottom .md {
    font-size: 2.4rem
  }

  .structure__shape {
    position: absolute;
    display: block
  }

  .structure__shape.shape-1 {
    top: -13rem;
    right: 0
  }

  .structure__shape.shape-1 img {
    width: 50rem
  }

  .structure__shape.shape-2 {
    bottom: 4rem;
    left: 0
  }

  .structure__shape.shape-2 img {
    width: 21.6rem
  }
}

@media screen and (min-width: 1920px) {
  .structure__fig__label {
    left: 15rem
  }
}

.cta {
  position: relative;
  padding: 10rem 0
}

.cta__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.cta__inner {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8rem;
  height: 100%
}

.cta__text {
  color: #fff;
  text-align: center
}

.cta__text h2 {
  margin: 0 0 3.6rem 0;
  font-size: 4.6rem
}

.cta__text p {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 500
}

.cta__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem
}

.cta__link .btn {
  width: 44.1rem;
  height: 11rem;
  font-size: 3rem
}

@media screen and (min-width: 750px) {
  .cta {
    padding: 11rem 0 8rem 0
  }

  .cta__inner {
    gap: 6rem
  }

  .cta__link {
    flex-direction: row;
    gap: 3.4rem
  }

  .cta__link .btn, .cta__link .btn-orange {
    width: 47.3rem;
    height: 9.4rem;
    font-size: 2.5rem
  }
}

.feature {
  position: relative;
  overflow: hidden;
  padding: 10rem 0 12.5rem 0;
  background: #e6faf4
}

.feature__shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%
}

.feature__inner {
  position: relative
}

.feature__title {
  margin-bottom: 7.5rem;
  text-align: center
}

.feature__title h2 {
  margin: 0 0 4.6rem 0;
  font-size: 4.8rem
}

.feature__title img {
  width: 14.6rem;
  height: auto
}

.feature__list {
  display: flex;
  flex-direction: column;
  gap: 8rem
}

.feature__list__item {
  position: relative
}

.feature__list__item__bg {
  position: absolute;
  top: 0;
  width: 87.9rem
}

.feature__list__item__bg img {
  width: 100%
}

.feature__list__item__text {
  position: relative;
  padding: 3rem
}

.feature__list__item__text h4 {
  margin: 0 0 2rem 0;
  font-size: 3.5rem;
  color: #094
}

.feature__list__item__text p {
  margin: 0 0 1.5rem 0;
  font-size: 2.4rem
}

.feature__list__item__label {
  width: 25rem;
  margin-top: -5rem;
  margin-bottom: 3.7rem
}

.feature__list__item__image {
  position: relative;
  width: 100%;
  margin-top: -2rem
}

.feature__list__item__image img {
  width: auto;
  height: 32.3rem
}

.feature__list__item.item-1 .feature__list__item__bg, .feature__list__item.item-3 .feature__list__item__bg {
  right: 0
}

.feature__list__item.item-1 .feature__list__item__image, .feature__list__item.item-3 .feature__list__item__image {
  text-align: right
}

.feature__list__item.item-2 .feature__list__item__bg {
  left: 0
}

.feature__list__item.item-2 .feature__list__item__image {
  text-align: left
}

.feature__list__item.item-2 .feature__list__item__text {
  padding-left: 18rem
}

@media screen and (min-width: 750px) {
  .feature {
    padding: 14rem 0 8rem 0
  }

  .feature__inner {
    width: 100%;
    max-width: calc(1080px + 10rem);
    margin-left: auto;
    margin-right: auto;
    padding-left: 5rem;
    padding-right: 5rem
  }

  .feature__title {
    margin-bottom: 16rem
  }

  .feature__title h2 {
    margin-bottom: 3.6rem;
    font-size: 5.6rem
  }

  .feature__list {
    gap: 6rem
  }

  .feature__list__item {
    height: 51.3rem
  }

  .feature__list__item__bg {
    width: 136rem;
    right: auto;
    left: 50%;
    margin-left: -68rem
  }

  .feature__list__item__text {
    z-index: 2;
    padding: 0 0 0 15rem
  }

  .feature__list__item__text h4 {
    font-size: 3.6rem
  }

  .feature__list__item__label {
    margin-top: -3rem
  }

  .feature__list__item__image {
    position: absolute;
    top: -5rem
  }

  .feature__list__item__image img {
    height: 43rem
  }

  .feature__list__item.item-1 .feature__list__item__image, .feature__list__item.item-3 .feature__list__item__image {
    left: 50%;
    margin-left: 10rem;
    text-align: left
  }

  .feature__list__item.item-2 .feature__list__item__bg {
    right: auto;
    left: 50%
  }

  .feature__list__item.item-2 .feature__list__item__image {
    right: 50%;
    margin-right: 10rem;
    text-align: right
  }

  .feature__list__item.item-2 .feature__list__item__text {
    padding-left: 57rem
  }
}

@media screen and (min-width: 1170px) {
  .feature__list__item__text {
    padding-left: 10rem
  }
}

.compare {
  position: relative;
  padding: 10rem 0 8.7rem 0
}

.compare__shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%
}

.compare__shape img {
  width: 100%
}

.compare__inner {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  position: relative
}

.compare__title {
  margin: 0 0 4rem 0;
  font-size: 4.6rem;
  color: #094;
  text-align: center
}

.compare__explain {
  margin: 0 0 10rem 0;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center
}

.compare__table {
  width: 100%;
  margin-bottom: 8rem;
  font-size: 1.4rem;
  table-layout: fixed
}

.compare__table th, .compare__table td {
  text-align: center;
  border: 1px solid #d7d8db
}

.compare__table thead th {
  position: relative;
  padding: 1rem;
  font-size: 1.6rem;
  background: #d1d3d2;
  line-height: 1.2
}

.compare__table thead th img {
  position: absolute
}

.compare__table thead th span {
  font-size: 1.4rem
}

.compare__table thead th:first-child {
  width: 20%;
  border: none;
  background: none
}

.compare__table thead th:nth-child(2) {
  position: relative;
  width: 26.67%;
  font-size: 2.4rem;
  color: #fff;
  border-color: #094;
  border-right: 2px solid #094;
  border-left: 2px solid #094;
  background: #094
}

.compare__table thead th:nth-child(2) img {
  top: -8rem;
  right: 0;
  width: 11.3rem
}

.compare__table thead th:nth-child(2)::before {
  content: "";
  position: absolute;
  top: -2rem;
  left: -2px;
  width: calc(100% + 4px);
  height: 2rem;
  background: #094
}

.compare__table thead th:nth-child(3), .compare__table thead th:nth-child(4) {
  width: 26.67%
}

.compare__table thead th:nth-child(3) img {
  top: -4rem;
  right: 0;
  width: 7.7rem
}

.compare__table thead th:nth-child(4) img {
  top: -1rem;
  right: 0;
  width: 7.5rem
}

.compare__table tbody {
  background: #fff
}

.compare__table tbody th {
  width: 20%;
  padding: 1rem;
  white-space: nowrap
}

.compare__table tbody td {
  width: 26.67%;
  padding: 1rem 0;
  font-weight: 500;
  vertical-align: top
}

.compare__table tbody td span {
  font-size: 2em
}

.compare__table tbody td span.red {
  color: #f29438
}

.compare__table tbody td:nth-child(2) {
  color: #094;
  font-weight: bold;
  border-right: 2px solid #094;
  border-left: 2px solid #094
}

.compare__table tbody tr:nth-child(n+4) {
  display: none
}

.compare__table tbody tr:nth-child(n+4).show {
  display: table-row
}

.compare__table tbody tr.compare-last td:nth-child(2) {
  position: relative
}

.compare__table tbody tr.compare-last td:nth-child(2)::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: 2px;
  background: #094
}

.compare__button {
  display: flex;
  justify-content: center
}

.compare__button button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 47.3rem;
  height: 9.4rem;
  font-size: 2.5rem;
  font-weight: bold;
  color: #094;
  border: .2rem solid #094;
  border-radius: 5rem;
  appearance: none;
  background: #fff;
  cursor: pointer
}

.compare__button button:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4rem;
  width: 2.5rem;
  height: 1.4rem;
  margin-top: -0.7rem;
  background: url(../img/icon_compare-arrow.png) no-repeat center/contain
}

.compare__button button.is-open:after {
  transform: rotate(180deg)
}

@media screen and (min-width: 750px) {
  .compare {
    padding: 10rem 0 8rem 0
  }

  .compare__title {
    font-size: 4rem
  }

  .compare__explain {
    margin-bottom: 12rem
  }

  .compare__table {
    font-size: 2rem
  }

  .compare__table thead th {
    font-size: 2rem;
    padding: 5rem 1rem
  }

  .compare__table thead th:nth-child(2) {
    font-size: 3rem;
    border-width: 1px .5rem 1px .5rem
  }

  .compare__table thead th:nth-child(2):before {
    top: -4rem;
    left: -0.5rem;
    width: calc(100% + 1rem);
    height: 4rem
  }

  .compare__table thead th:nth-child(2) img {
    top: -9rem;
    width: 15.8rem
  }

  .compare__table thead th:nth-child(3) img {
    top: -5rem;
    right: 1rem;
    width: 12.6rem
  }

  .compare__table thead th:nth-child(4) img {
    right: 2rem;
    width: 16.6rem
  }

  .compare__table tbody td {
    padding: 3rem 1rem
  }

  .compare__table tbody td:nth-child(2) {
    border-width: 1px .5rem 1px .5rem
  }

  .compare__table tbody tr.compare-last td:nth-child(2)::after {
    bottom: -0.5rem;
    left: -0.5rem;
    width: calc(100% + 1rem);
    height: .5rem
  }
}

.plan {
  position: relative;
  padding: 10rem 0;
  background: #f6f6f6
}

.plan__shape {
  position: absolute
}

.plan__shape.shape-1 {
  top: -17rem;
  left: 0
}

.plan__shape.shape-1 img {
  width: 24.1rem
}

.plan__shape.shape-2 {
  bottom: 0;
  right: 0
}

.plan__shape.shape-2 img {
  width: 27.2rem
}

.plan__inner {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  position: relative
}

.plan__title {
  margin-bottom: 6.7rem;
  text-align: center
}

.plan__title h2 {
  margin: 0 0 3.6rem 0;
  font-size: 5.2rem
}

.plan__title img {
  width: 9rem;
  height: auto
}

.plan__list {
  display: flex;
  flex-direction: column;
  gap: 5rem
}

.plan__list__item__title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 11.4rem;
  margin: 0;
  font-size: 4rem;
  color: #fff;
  border-radius: 1.5rem 1.5rem 0 0
}

.plan__list__item__title span {
  position: absolute;
  top: -2.7rem;
  left: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 17.5rem;
  height: 5.4rem;
  margin-left: -8.75rem;
  font-size: 2.7rem;
  font-weight: 500;
  border-radius: 2.7rem;
  background: #f08524
}

.plan__list__item__inner {
  padding: 5.4rem 4rem 4rem 4rem;
  background: #fff;
  border-width: 0 1px 1px 1px;
  border-color: #c6f7dc;
  border-style: solid
}

.plan__list__item__detail {
  margin-bottom: 2.8rem
}

.plan__list__item__detail h4 {
  margin: 0 0 2.6rem 0;
  font-size: 3.2rem;
  color: #094;
  text-align: center
}

.plan__list__item__detail p {
  margin: 0;
  font-size: 2.4rem
}

.plan__list__item__price {
  margin-bottom: 2.7rem;
  text-align: center
}

.plan__list__item__price img {
  width: auto;
  height: 5rem
}

.enterprise .plan__list__item__inner .plan__list__item__price img{
  width: auto;
  height: 3.5rem
}

@media screen and (max-width: 750px) {
.enterprise .plan__list__item__inner .plan__list__item__price img{
  width: auto;
  height: 4.25rem
}
}

.plan__list__item__option h5 {
  margin: 0;
  padding: 1.5rem 0;
  font-size: 2.6rem;
  color: #fff;
  text-align: center;
  background: #00a64b
}

.plan__list__item__option p {
  margin: 0;
  padding: 3.5rem 2rem 2rem 2rem;
  font-size: 2.4rem;
  background: #e6faef
}

.plan__list__item.standard .plan__list__item__title {
  background: #39bd74
}

.plan__list__item.pro .plan__list__item__title {
  padding-top: 1rem;
  background: #00a64b
}

.plan__list__item.enterprise .plan__list__item__title {
  background: #00823b
}

@media screen and (min-width: 750px) {
  .plan {
    padding: 14rem 0 12rem 0
  }

  .plan__shape.shape-1 {
    top: -2.3rem
  }

  .plan__shape.shape-1 img {
    width: 44.7rem
  }

  .plan__shape.shape-2 {
    bottom: 6rem
  }

  .plan__shape.shape-2 img {
    width: 35.3rem
  }

  .plan__title {
    margin-bottom: 13rem
  }

  .plan__title h2 {
    margin-bottom: 4.3rem;
    font-size: 5.6rem
  }

  .plan__list {
    flex-direction: row;
    gap: 0
  }

  .plan__list__item {
    width: 33.3333333333%
  }

  .plan__list__item__title {
    height: 13rem;
    margin: 0 1rem
  }

  .plan__list__item__title h3 {
    font-size: 3.2rem
  }

  .plan__list__item__inner {
    display: flex;
    flex-direction: column;
    height: calc(100% - 13rem);
    border-width: 1px
  }

  .plan__list__item__detail {
    margin-bottom: 7.2rem
  }

  .plan__list__item__detail h4 {
    margin-bottom: 4.4rem;
    font-size: 2.8rem
  }

  .plan__list__item__price {
    margin-bottom: 4.5rem
  }

  .plan__list__item__option {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column
  }

  .plan__list__item__option p {
    flex: 1 1 auto
  }
}

.case {
  position: relative;
  padding: 11.2rem 0 9.3rem 0
}

.case__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.case__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top
}

.case__inner {
  position: relative
}

.case__title {
  margin-bottom: 10rem;
  text-align: center
}

.case__title h2 {
  margin: 0 0 3.6rem 0;
  font-size: 5.2rem;
  color: #fff
}

.case__title img {
  width: 21.5rem
}

.case__list {
  display: flex;
  flex-direction: column;
  gap: 10rem
}

.case__list__item__image {
  margin-bottom: 2.4rem
}

.case__list__item__text {
  padding: 0 5rem
}

.case__list__item__title {
  margin-bottom: 4.5rem
}

.case__list__item__title img {
  width: 16.5rem
}

.case__list__item__title h3 {
  margin: 2rem 0 0 0;
  font-size: 3rem;
  color: #fff
}

.case__list__item__before-after {
  display: flex;
  flex-direction: column;
  align-items: center
}

.case__list__item__before-after h4 {
  position: absolute;
  top: -1.5rem;
  left: -1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30rem;
  height: 6rem;
  margin: 0;
  font-size: 2.6rem;
  color: #fff
}

.case__list__item__before-after p {
  margin: 0;
  font-size: 2rem
}

.case__list__item__before-after ul {
  margin: 0;
  padding-left: 1.5rem
}

.case__list__item__before-after ul li {
  position: relative;
  margin-bottom: .5rem;
  padding-left: 1em;
  font-size: 2rem
}

.case__list__item__before-after ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0
}

.case__list__item__before-after ul li:last-child {
  margin-bottom: 0
}

.case__list__item__before {
  position: relative;
  width: 100%;
  margin-bottom: 1rem;
  padding: 7rem 3rem 3rem 3rem;
  background: #f2f2f2
}

.case__list__item__before h4 {
  background: #a29e9e
}

.case__list__item__arrow {
  width: 4.4rem;
  margin-bottom: 2.5rem
}

.case__list__item__after {
  position: relative;
  width: 100%;
  padding: 7rem 3rem 3rem 3rem;
  background: #e6faef
}

.case__list__item__after h4 {
  background: #094
}

.case__list__item.case-1 .case__list__item__image {
  text-align: right
}

.case__list__item.case-1 .case__list__item__image img {
  width: 54.6rem
}

.case__list__item.case-2 .case__list__item__image {
  text-align: left
}

.case__list__item.case-2 .case__list__item__image img {
  width: 57rem
}

.case__list__item.case-3 .case__list__item__image {
  text-align: right
}

.case__list__item.case-3 .case__list__item__image img {
  width: 54.5rem
}

@media screen and (min-width: 750px) {
  .case {
    padding: 15rem 0 11rem 0
  }

  .case__inner {
    width: 100%;
    max-width: calc(1080px + 10rem);
    margin-left: auto;
    margin-right: auto;
    padding-left: 5rem;
    padding-right: 5rem
  }

  .case__title {
    margin-bottom: 15rem
  }

  .case__title h2 {
    font-size: 4.6rem
  }

  .case__list {
    gap: 6rem
  }

  .case__list__item {
    display: flex;
    flex-direction: row-reverse
  }

  .case__list__item__image {
    width: 50%;
    margin: 0
  }

  .case__list__item__text {
    width: 50%;
    padding: 0 1.5rem
  }

  .case__list__item__title {
    margin-bottom: 4rem
  }

  .case__list__item__title img {
    width: 15.1rem
  }

  .case__list__item__title h3 {
    font-size: 2.8rem
  }

  .case__list__item__before-after h4 {
    width: 27.6rem;
    height: 5.6rem;
    font-size: 2.4rem
  }

  .case__list__item__before-after ul li {
    font-size: 1.8rem
  }

  .case__list__item__before {
    padding: 6.5rem 2.5rem 2.5rem 2.5rem
  }

  .case__list__item__arrow {
    width: 4.1rem
  }

  .case__list__item__after {
    padding: 6.5rem 2.5rem 2.5rem 2.5rem
  }

  .case__list__item.case-2 {
    flex-direction: row
  }
}

.stability {
  padding: 11.6rem 0 10.5rem 0;
  background: #e6faef
}

.stability__inner {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  position: relative
}

.stability__title {
  margin-bottom: 10rem;
  text-align: center
}

.stability__title h2 {
  margin: 0 0 4.6rem 0;
  font-size: 4.8rem
}

.stability__title img {
  width: 16.9rem
}

.stability__list {
  display: flex;
  flex-direction: column;
  gap: 5.4rem
}

.stability__list__item {
  position: relative;
  padding: 5.5rem 4rem 4rem 4rem;
  background: #fff;
  border-radius: 2rem
}

.stability__list__item__num {
  position: absolute;
  top: 0;
  left: 4.2rem;
  width: auto;
  height: 4.4rem;
  transform: translateY(-50%)
}

.stability__list__item__heading {
  display: flex;
  align-items: center;
  height: 11.2rem;
  margin-bottom: 4rem
}

.stability__list__item__heading__image {
  width: 40%;
  text-align: center
}

.stability__list__item__heading__title {
  margin: 0;
  font-size: 2.6rem;
  color: #094
}

.stability__list__item__text {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 500
}

.stability__list__item.item-1 .stability__list__item__heading__image img {
  width: 13.8rem
}

.stability__list__item.item-2 .stability__list__item__heading__image img {
  width: 14.1rem
}

.stability__list__item.item-3 .stability__list__item__heading__image img {
  width: 10.8rem
}

.stability__list__item.item-4 .stability__list__item__heading__image img {
  width: 13.4rem
}

@media screen and (min-width: 750px) {
  .stability {
    padding: 13rem 0 12rem 0
  }

  .stability__title {
    margin-bottom: 14rem
  }

  .stability__title h2 {
    font-size: 5.6rem
  }

  .stability__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4rem
  }

  .stability__list__item {
    width: calc(50% - 2rem);
    padding: 4rem
  }

  .stability__list__item__num {
    height: 4.1rem
  }

  .stability__list__item__heading {
    margin-bottom: 2.8rem
  }

  .stability__list__item__heading__title {
    font-size: 2.4rem
  }

  .stability__list__item__text {
    font-size: 2rem
  }

  .stability__list__item.item-1 .stability__list__item__heading__image img {
    width: 12.7rem
  }

  .stability__list__item.item-2 .stability__list__item__heading__image img {
    width: 12.9rem
  }

  .stability__list__item.item-3 .stability__list__item__heading__image img {
    width: 9.9rem
  }

  .stability__list__item.item-4 .stability__list__item__heading__image img {
    width: 12.3rem
  }
}

.spec {
  position: relative;
  padding: 10rem 0 14rem 0
}

.spec__shape {
  position: absolute
}

.spec__shape.shape-1 {
  top: 0;
  left: 0;
  width: 100%
}

.spec__shape.shape-1 img {
  width: 100%
}

.spec__shape.shape-2 {
  top: 0;
  right: 0
}

.spec__shape.shape-2 img {
  width: 28.5rem
}

.spec__shape.shape-3 {
  bottom: 0;
  left: 0
}

.spec__shape.shape-3 img {
  width: 50rem
}

.spec__inner {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  position: relative
}

.spec__title {
  margin-bottom: 8.2rem;
  text-align: center
}

.spec__title h2 {
  margin: 0 0 3.8rem 0;
  font-size: 5.2rem
}

.spec__title img {
  width: 8.4rem
}

.spec__list {
  display: flex;
  flex-direction: column;
  gap: 10rem
}

.spec__list__item__heading {
  margin-bottom: 6.5rem;
  text-align: center
}

.spec__list__item__heading h3 {
  margin: 3.8rem 0 0 0;
  font-size: 4rem;
  color: #094
}

.spec__list__item__detail {
  height: 65rem;
  overflow-y: auto
}

.spec__list__item__detail table {
  width: 100%
}

.spec__list__item__detail table th {
  width: 35%;
  padding: 2rem;
  font-size: 2.4rem;
  font-weight: 500;
  background: #b0e8c9;
  border-top: .4rem solid #d7ebe5;
  border-bottom: .4rem solid #d7ebe5
}

.spec__list__item__detail table td {
  width: 65%;
  padding: 4rem;
  font-size: 2rem;
  background: #e6faef;
  border-top: .4rem solid #d7ebe5;
  border-bottom: .4rem solid #d7ebe5
}

.spec__list__item.item-1 .spec__list__item__heading img {
  width: 38.4rem
}

.spec__list__item.item-2 .spec__list__item__heading img {
  width: 35.4rem
}

@media screen and (min-width: 750px) {
  .spec {
    padding: 13rem 0 26rem 0
  }

  .spec__shape.shape-1 {
    top: 8rem
  }

  .spec__shape.shape-2 img {
    width: 66.5rem
  }

  .spec__shape.shape-3 {
    bottom: 50%
  }

  .spec__shape.shape-3 img {
    width: 26.2rem
  }

  .spec__title {
    margin-bottom: 12.5rem
  }

  .spec__title h2 {
    font-size: 5.6rem
  }

  .spec__list {
    gap: 16.5rem
  }

  .spec__list__item__detail {
    height: 70vh
  }

  .spec__list__item.item-1 .spec__list__item__heading img {
    width: 52.7rem
  }

  .spec__list__item.item-2 .spec__list__item__heading img {
    width: 55.6rem
  }
}

.faq {
  padding: 0
}

.faq__inner {
  width: 100%;
  max-width: calc(1080px + 10rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  position: relative
}

.faq__title {
  margin: 0 0 8rem 0;
  text-align: center
}

.faq__title h2 {
  margin: 0 0 3.8rem 0;
  font-size: 5.2rem
}

.faq__title img {
  width: 6.9rem
}

.faq__list {
  width: 100%;
  border-top: .2rem solid #dbdbdb
}

.faq__list__item {
  background: #fff;
  overflow: hidden;
  border-bottom: .2rem solid #dbdbdb
}

.faq__list__item.is-open {
  background: #f8f8f8
}

.faq__list__item.is-open .faq__answer {
  max-height: 20rem;
  padding-bottom: 3rem;
  opacity: 1
}

.faq__question {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 6rem 4rem 6rem 10rem;
  cursor: pointer;
  transition: background-color .3s ease
}

.faq__question:before {
  content: "";
  position: absolute;
  top: 6rem;
  left: 3rem;
  width: 3.9rem;
  height: 3.8rem;
  background: url(../img/faq_q.png) no-repeat center/contain
}

.faq__question h3 {
  margin: 0;
  font-size: 2.4rem;
  font-weight: bold;
  color: #094;
  line-height: 1.4;
  flex: 1;
  padding-right: 2rem
}

.faq__toggle {
  position: relative;
  width: 3rem;
  height: 3rem;
  cursor: pointer
}

.faq__toggle::before, .faq__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.8rem;
  height: .4rem;
  background: #094;
  transition: all .3s ease
}

.faq__toggle::before {
  transform: translate(-50%, -50%)
}

.faq__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg)
}

.is-open .faq__toggle::before {
  transform: translate(-50%, -50%)
}

.is-open .faq__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg)
}

.faq__answer {
  max-height: 0;
  padding: 0 7.8rem 0 10rem;
  opacity: 0;
  overflow: hidden;
  transition: all .3s ease
}

.faq__answer p {
  margin: 0;
  font-size: 2rem;
  line-height: 1.6;
  color: var(--text-color)
}

@media screen and (min-width: 750px) {
  .faq__title {
    margin-bottom: 10rem
  }

  .faq__title h2 {
    font-size: 5.6rem
  }

  .faq__list__item.is-open .faq__answer {
    padding-bottom: 6rem
  }

  .faq__question {
    padding-left: 14rem;
    padding-right: 10rem
  }

  .faq__question:before {
    left: 7rem
  }

  .faq__answer {
    padding-left: 14rem;
    padding-right: 10rem
  }
}

.contact {
  padding: 14.5rem 0 9.5rem 0
}

.contact__intro {
  margin-bottom: 7rem;
  padding: 0 5rem;
  text-align: center
}

.contact__intro h2 {
  margin: 0 0 3.8rem 0;
  font-size: 4.6rem;
  color: #094
}

.contact__intro p {
  font-size: 2.4rem;
  font-weight: 500
}

.contact__form__tabs {
  display: flex;
  justify-content: space-between;
  margin-bottom: 9rem;
  padding: 0 5rem;
  border-bottom: .2rem solid #094
}

.contact__form__tab {
  width: 32rem;
  background: none;
  border: none;
  padding: 2rem 3rem;
  font-size: 2.4rem;
  font-weight: 500;
  color: #666;
  cursor: pointer;
  border-radius: 1rem 1rem 0 0;
  transition: none
}

.contact__form__tab[data-tab=corporate], .contact__form__tab[data-tab=individual] {
  border-top: .2rem solid var(--text-color);
  border-left: .2rem solid var(--text-color);
  border-right: .2rem solid var(--text-color);
  box-shadow: 0 -0.4rem .8rem rgba(0, 0, 0, .1), -0.4rem 0 .8rem rgba(0, 0, 0, .1), .4rem 0 .8rem rgba(0, 0, 0, .1)
}

.contact__form__tab[data-tab=rental] {
  color: #fff;
  background: #000;
  box-shadow: 0 -0.4rem .8rem rgba(0, 0, 0, .1), -0.4rem 0 .8rem rgba(0, 0, 0, .1), .4rem 0 .8rem rgba(0, 0, 0, .1)
}

.contact__form__tab.active[data-tab=corporate], .contact__form__tab.active[data-tab=individual] {
  color: #094;
  border-top: .2rem solid #094;
  border-left: .2rem solid #094;
  border-right: .2rem solid #094;
  position: relative;
  z-index: 1;
  box-shadow: 0 -0.4rem .8rem rgba(0, 0, 0, .1), -0.4rem 0 .8rem rgba(0, 0, 0, .1), .4rem 0 .8rem rgba(0, 0, 0, .1)
}

.contact__form__tab.active[data-tab=corporate]::after, .contact__form__tab.active[data-tab=individual]::after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 0;
  right: 0;
  height: 1rem;
  background: #fff;
  z-index: 2
}

.contact__form__tab.active[data-tab=rental] {
  color: #fff;
  margin-bottom: -0.2rem;
  background: #094;
  position: relative;
  z-index: 1;
  box-shadow: 0 -0.4rem .8rem rgba(0, 0, 0, .1), -0.4rem 0 .8rem rgba(0, 0, 0, .1), .4rem 0 .8rem rgba(0, 0, 0, .1)
}

.contact__form__tab.active[data-tab=rental]::after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: -0.4rem;
  right: -0.4rem;
  height: 1rem;
  background: #fff;
  z-index: 2
}

.contact__form__content {
  position: relative;
  padding: 0 5rem
}

.contact__form__panel {
  display: none
}

.contact__form__panel.active {
  display: block
}

.contact__form__row {
  margin-bottom: 4rem;
  font-size: 2.4rem
}

.contact__form__label {
  margin-bottom: 1rem;
  font-weight: bold
}

.contact__form__label .required:after {
  content: "*";
  display: inline-block;
  margin-left: .5rem;
  color: #f08524
}

.contact__form__input input[type=text], .contact__form__input input[type=email], .contact__form__input input[type=tel], .contact__form__input input[type=number], .contact__form__input input[type=password], .contact__form__input textarea {
  width: 100%;
  padding: 1.5rem;
  border: 1px solid #d2d2d2
}

.contact__form__input input, .contact__form__input select, .contact__form__input textarea {
  font-size: 2.4rem
}

.contact__form__input select {
  padding: 1.5rem;
  border: 1px solid #d2d2d2
}

.contact__form__input p {
  margin: 1rem 0;
  font-size: 2rem
}

.contact__form__name {
  display: flex;
  gap: 3rem
}

.contact__form__name div {
  display: flex;
  align-items: center;
  gap: 1.5rem
}

.contact__form__name input[type=text] {
  width: 22rem
}

.contact__form__tel {
  display: flex;
  align-items: center;
  gap: 1rem
}

.contact__form__checkbox, .contact__form__radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem
}

.contact__form__checkbox label, .contact__form__radio label {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-weight: bold
}

.contact__form__zip {
  display: flex;
  align-items: center;
  gap: 1rem
}

.contact__form__zip input[type=text] {
  width: 6em
}

.contact__form__date {
  display: flex;
  align-items: flex-end;
  gap: 1rem
}

.contact__form__agree {
  display: flex;
  align-items: center;
  gap: 2rem;
  font-weight: bold
}

.contact__form__agree label {
  display: flex;
  align-items: center;
  gap: .5rem
}

.contact__form__agree a {
  color: #094
}

.contact__form__submit {
  display: flex;
  justify-content: center;
  margin-top: 8rem
}

@media screen and (min-width: 750px) {
  .contact {
    padding: 25rem 0 10rem 0
  }

  .contact__intro {
    margin-bottom: 10rem;
    padding: 0
  }

  .contact__intro h2 {
    font-size: 5.6rem
  }

  .contact__intro p {
    font-size: 2.6rem
  }

  .contact__form {
    padding: 0
  }

  .contact__form__tabs {
    justify-content: center;
    gap: 2rem
  }

  .contact__form__tab {
    width: 34.7rem;
    padding: 3rem 0;
    font-size: 2.4rem
  }

  .contact__form__content {
    width: 100%;
    max-width: calc(1080px + 10rem);
    margin-left: auto;
    margin-right: auto;
    padding-left: 5rem;
    padding-right: 5rem
  }

  .contact__form__row {
    margin-bottom: 4rem
  }

  .contact__form__tel input[type=text] {
    width: 6em
  }

  .contact__form__submit button {
    width: 47.3rem;
    height: 9.4rem;
    font-size: 2.5rem
  }
}