@charset "utf-8";
/*
	Theme Name: diver_child
	Template: diver
	Description:  Diverの子テーマです。
	Theme URI: http://tan-taka.com/diver/
	Author: Takato Takagi
 */


html {
  scroll-padding-top: calc(2 * 1.38vw + 2.97vw);
  scroll-behavior: smooth;
}
@media (max-width: 800px) {
  html {
    scroll-padding-top: 16.53vw;
  }
}

 /*全体*/
.grecaptcha-badge {
  display: none !important;
  visibility: hidden !important;
}

.screen-reader-response {
  display: none;
}

.wpcf7-response-output {
  margin-top: 20px;
  text-align: center;
  color: red;
}

.wpcf7-not-valid-tip {
  display: none;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: rgba(0, 0, 0, 1);
  background: rgba(255, 255, 255, 1);
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

article {
  box-shadow: unset !important;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  opacity: 0.5;
  color: inherit;
}

input, textarea {
  appearance: none;
  -webkit-appearance: none;/*Google Chrome/Safari対応*/
  -moz-appearance: none;/*Firefox対応*/
  -o-appearance: none;/*Opera対応*/
  border-radius: 0;
}

ul {
  padding: 0px;
  list-style: none;
}

/*common*/
.sp-br {
  display: none;
}

@media (max-width: 800px) {
  .pc-br {
    display: none;
  }

  .sp-br {
    display: inline;
  }
}

 /*contact*/
.contact {
  text-align: center;
  padding: 4.77vw 0 5.21vw;
  background: rgba(244, 245, 247, 1);
}

.contact-subtitle {
  display: inline-block;
  font-size: 1.56vw;
  font-weight: 600;
  line-height: 1.26;
  letter-spacing: 0;
  background: linear-gradient(271.35deg, #A793F6 1.16%, #23B3E3 34.62%, #A5D746 122.17%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.contact-title {
  margin: 1.14vw auto 1.31vw;
  font-size: 1.88vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.contact-description {
  margin-bottom: 1.82vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.26;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.contact-btn {
  display: inline-block;
  text-align: center;
  position: relative;
  padding-right: 1.43vw;
  width: 17.45vw;
  height: 3.55vw;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 3.55vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: rgba(68, 185, 34, 1);
  border-radius: 6.8vw;
}

.contact-btn:hover {
  color: rgba(255, 255, 255, 1);
}

.contact-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.43vw;
  width: 1.04vw;
  height: 1.04vw;
  background: url(/wp-content/uploads/img/btn-arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

@media screen and (max-width: 800px) {
  .contact {
    padding: 8.04vw 0 9.33vw;
  }

  .contact-subtitle {
    font-size: 4.8vw;
  }

  .contact-title {
    margin: 2.75vw auto 2.84vw;
    font-size: 4.8vw;
  }

  .contact-description {
    margin-bottom: 4.13vw;
    font-size: 3.47vw;
    line-height: 1.5;
  }

  .contact-btn {
    padding-right: 5.12vw;
    width: 68.27vw;
    height: 13.87vw;
    font-size: 4.27vw;
    line-height: 13.87vw;
    border-radius: 22.1vw;
  }

  .contact-btn::after {
    right: 5.12vw;
    width: 3.63vw;
    height: 3.63vw;
  }
}

 /*header*/
header {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  margin: auto;
  padding: 1.38vw 2.08vw;
  background: #FFF;
}

.header-logo {
  margin-right: auto;
  width: 9.27vw;
}

.header-content {
  display: flex;
  align-items: center;
  gap: 1.56vw;
}

.header-nav ul {
  display: flex;
  gap: 1.04vw;
}

.header-nav ul li {
  display: flex;
  align-items: center;
}

.header-nav ul a {
  font-size: 0.93vw;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.044em;
  color: rgba(35, 34, 31, 1);
}

.header-btn {
  text-align: center;
  width: 12.81vw;
  height: 2.97vw;
  font-size: 0.94vw;
  font-weight: 700;
  line-height: 2.97vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: rgba(68, 185, 34, 1);
  border-radius: 5.21vw;
}

.header-btn:hover {
  color: rgba(255, 255, 255, 1);
}

.hamburger-btns {
  display: none;
}

.hamburger {
  display: none;
}

@media (max-width: 800px) {
  header {
    padding: 3.47vw 4vw;
    height: 16.53vw;
  }

  .header-logo {
    width: 27.5vw;
  }

  .header-content {
    position: absolute;
    right: 12.8vw;
  }

  .header-btn {
    width: 42.67vw;
    height: 9.33vw;
    font-size: 3.2vw;
    line-height: 9.33vw;
  }

  .hamburger {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1.6vw;
    z-index: 3;
    width: 4.8vw;
    cursor: pointer;
  }

  .hamburger.toggle {
    position: fixed;
    top: 5.6vw;
    right: 4vw;
    background-color: rgba(255, 255, 255, 1);
  }

  .hamburger span {
    width: 100%;
    height: 1px;
    background: rgba(153, 153, 153, 1);
    transition: all .5s;
  }

  .hamburger.toggle span:nth-of-type(1){
    transform: translate(0px, 1.8vw) rotate(45deg);
  }

  .hamburger.toggle span:nth-of-type(2){
    opacity: 0;
  }

  .hamburger.toggle span:nth-of-type(3){
    transform: translate(0px, -1.8vw) rotate(-45deg);
  }

  span.close-text {
    position: absolute;
    top: 5.07vw;
    left: 50%;
    opacity: 0;
    visibility: hidden;
    font-size: 1.6vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: rgba(114, 114, 118, 1);
    white-space: nowrap;
    background: none;
    transform: translateX(-50%) translateY(5px);
    transition: none;
  }

  .hamburger.toggle .close-text {
    opacity: 1; /* 表示 */
    visibility: visible;
    transform: translateX(-50%) translateY(0); /* 元の位置へ */
    transition: all .5s;
  }

  .hamburger-content{
    flex-direction: column;
    align-items: flex-start;
    position: fixed;
    top: 16.53vw;
    right: 0;
    left: 0;
    z-index: 2;
    overflow-y: auto;
    padding: 0 5.33vw 43.05vw;
    height: calc(100vh - 16.53vw);
    background: rgba(255, 255, 255, 1);
    border-top: 0.19vw solid rgba(171, 171, 171, 1);
    white-space: nowrap;
    transform: translateX(100%);
    transition: all 0.5s;
  }

  .hamburger-content.toggle {
    transform: translateX(0);
  }

  .header-nav ul {
    flex-direction: column;
    gap: 0;
  }

  .header-nav ul li {
    display: block;
  }

  .header-nav ul li {
    border-bottom: 0.19vw solid rgba(171, 171, 171, 1);
  }

  .header-nav ul li a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.33vw;
    width: 2.93vw;
    height: 4.53vw;
    background: url(/wp-content/uploads/img/hamburger-arrow.svg) no-repeat center/contain;
    transform: translateY(-50%);
  }

  .header-nav ul a {
    display: block;
    position: relative;
    padding: 6.13vw 1.33vw;
    font-size: 5.33vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
  }

  .hamburger-btns {
    display: block;
    margin-top: 8vw;
  }

  .hamburger-btn {
    display: block;
    text-align: center;
    position: relative;
    margin-bottom: 4vw;
    padding-right: 4.43vw;
    width: 100%;
    height: 13.22vw;
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 13.22vw;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 1);
    background: rgba(68, 185, 34, 1);
    border-radius: 26.67vw;
  }

  .hamburger-btn:hover {
    color: rgba(255, 255, 255, 1);
  }

  .hamburger-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 4.43vw;
    width: 4.59vw;
    height: 4.59vw;
    background: url(/wp-content/uploads/img/btn-arrow.svg) no-repeat center/contain;
    transform: translateY(-50%);
  }

  .hamburger-link {
    display: block;
    position: relative;
    padding-left: 7.21vw;
    font-size: 3.6vw;
    font-weight: 700;
    line-height: 2.3;
    letter-spacing: 0;
  }

  .hamburger-link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 5.15vw;
    height: 5.15vw;
    background: url(/wp-content/uploads/img/link-arrow.svg) no-repeat center/contain;
    transform: translateY(-50%);
  }

  .no-scroll {
    position: fixed;
    top: 0;
    overflow: hidden;
    width: 100%;
  }
}

/*fv*/
.fv {
  padding: 22.5vw 0 3.17vw 9.74vw;
  background: url(/wp-content/uploads/img/fv-bg.png) no-repeat center/contain;
}

.fv-title {
  display: inline-block;
  font-size: 3.56vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  background: linear-gradient(270deg, #0F88D5 0%, #66C365 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.fv-description {
  margin: 1.3vw auto;
  font-size: 1.3vw;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
}

.fv-btn {
  display: block;
  text-align: center;
  position: relative;
  padding-right: 1.5vw;
  width: 19.81vw;
  height: 4.02vw;
  font-size: 1.18vw;
  font-weight: 700;
  line-height: 4.02vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: rgba(68, 185, 34, 1);
  border-radius: 7.71vw;
}

.fv-btn:hover {
  color: rgba(255, 255, 255, 1);
}

.fv-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5vw;
  width: 1.48vw;
  height: 1.48vw;
  background: url(/wp-content/uploads/img/btn-arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

.fv-links {
  display: flex;
  gap: 1.3vw;
  margin-top: 1.04vw;
}

.fv-links a {
  position: relative;
  padding-left: 1.82vw;
  font-size: 0.94vw;
  font-weight: 700;
  line-height: 2.22;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.fv-links a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 1.5vw;
  width: 1.3vw;
  height: 1.3vw;
  background: url(/wp-content/uploads/img/link-arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

@media screen and (max-width: 800px) {
  .fv {
    padding: 105.33vw 5.33vw 9.72vw;
    background: url(/wp-content/uploads/img/fv-bg-sp.png) no-repeat center/contain;
  }

  .fv-title {
    font-size: 9.87vw;
  }

  .fv-description {
    margin: 2.13vw auto 4vw;
    font-size: 4vw;
  }

  .fv-btn {
    padding-right: 4.98vw;
    width: 63.5vw;
    height: 12.68vw;
    font-size: 4vw;
    line-height: 12.68vw;
    border-radius: 20.19vw;
  }

  .fv-btn::after {
    right: 4.98vw;
    width: 3.32vw;
    height: 3.32vw;
  }

  .fv-links {
    gap: 3.61vw;
    margin-top: 2.67vw;
  }

  .fv-links a {
    padding-left: 6.7vw;
    font-size: 3.2vw;
    line-height: 2.33;
  }

  .fv-links a::before {
    width: 4.65vw;
    height: 4.65vw;
  }
}

/*achievement*/
.achievement {
  text-align: center;
  padding: 1.88vw 0 2.08vw;
  background: linear-gradient(360deg, #0A4B79 -25.5%, #128ADF 149.57%);
}

.achievement-description {
  margin-bottom: 1.35vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
}

.achievement-img {
  width: 67.7vw;
}

@media screen and (max-width: 800px) {
  .achievement {
    padding: 6vw 0 6.67vw;
    background: linear-gradient(360deg, #0A4B79 -25.5%, #128ADF 149.57%);
  }

  .achievement-description {
    margin-bottom: 3.33vw;
    font-size: 5.33vw;
    line-height: 1.5;
  }

  .achievement-img {
    width: 88.72vw;
  }
}

/*swiper*/
.swiper-wrapper {
  position: relative;
  padding: 1vw 0;
  width: 100%;
  transition-timing-function: linear;
}
.swiper-slide {
  width: auto;
}
.swiper-slide img {
  display: block;
  padding-left: 1vw;
  padding-right: 1vw;
  width: auto;
  height: 4vw;
}
@media screen and (max-width: 800px) {
  .swiper-slide img {
    height: 11.81vw;
  }
}

/*app-intro*/
.app-intro {
  padding: 5.72vw 8.33vw 4.48vw;
  background: url(/wp-content/uploads/img/app-intro-bg.png) no-repeat center/cover;
}

.app-intro-subtitle {
  text-align: center;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.app-intro-title {
  text-align: center;
  margin: 1.56vw auto 4.16vw;
  font-size: 3.01vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.app-points-content {
  display: flex;
  justify-content: space-between;
}

.app-point {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding: 2.08vw 1.04vw;
  width: 32.3vw;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
}

.app-point-odd {
  height: 13.12vw;
}

.app-point-even {
  height: 11.5vw;
}

.app-point + .app-point {
  margin-top: 0.83vw;
}

.app-point::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5.5vw;
  height: 8vw;
  clip-path: polygon(100% 0, 0 0, 0 100%);
  background: linear-gradient(190.4deg, #65FE51 16.28%, #27ACEA 72.95%);
}

.app-point::after {
  content: "";
  position: absolute;
  top: 1.33vw;
  left: 0.89vw;
  width: 2.66vw;
  height: 3.08vw;
  background: url(/wp-content/uploads/img/point1.svg) no-repeat center/cover;
}

.app-points-group-left .app-point:nth-of-type(2)::after {
  background: url(/wp-content/uploads/img/point2.svg) no-repeat center/cover;
}

.app-points-group-right .app-point::after {
  background: url(/wp-content/uploads/img/point3.svg) no-repeat center/cover;
}

.app-points-group-right .app-point:nth-of-type(2)::after {
  background: url(/wp-content/uploads/img/point4.svg) no-repeat center/cover;
}

.app-point-title {
  margin-left: 3.55vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

.app-point-title span {
  color: rgba(68, 185, 34, 1);
}

.app-point-text {
  margin: 0.42vw 0 0 3.55vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.app-img {
  width: 13.07vw;
}

@media screen and (max-width: 800px) {
  .app-intro {
    padding: 11.33vw 4vw 4vw;
    background: url(/wp-content/uploads/img/app-intro-bg-sp.png) no-repeat center/cover;
  }

  .app-intro-subtitle {
    font-size: 4.8vw;
  }

  .app-intro-title {
    margin: 4.15vw auto 4.8vw;
    font-size: 8vw;
  }

  .app-points-content {
    flex-direction: column;
    align-items: center;
    gap: 2.67vw;
  }

  .app-img {
    order: 1;
    margin-bottom: 2.67vw;
    width: 36vw;
  }

  .app-points-group-left {
    order: 2;
  }

  .app-points-group-right {
    order: 3;
  }

  .app-point {
    padding: 4.4vw 5.33vw 4.4vw;
    width: 100%;
    box-shadow: 0px 2.29px 5.72px 0px rgba(0, 0, 0, 0.1);
  }

  .app-point + .app-point {
    margin-top: 2.67vw;
  }

  .app-point::before {
    width: 14vw;
    height: 17vw;
    background: linear-gradient(192.54deg, #65FE51 18.96%, #27ACEA 79.96%);
  }

  .app-point::after {
    top: 2.4vw;
    left: 2.4vw;
    width: 7.73vw;
    height: 9.02vw;
  }

  .app-point-odd {
    height: auto;
  }

  .app-point-even {
    height: auto;
  }

  .app-point-title {
    margin-left: 8vw;
    font-size: 4.8vw;
  }

  .app-point-text {
    margin: 2.67vw 0 0 0;
    font-size: 3.2vw;
    line-height: 1.5;
  }
}

/*use-case*/
.gray-bg {
  padding: 0 0 7.29vw;
  background: rgba(242, 242, 242, 1);
}

.use-case {
  padding-top: 6.21vw;
}

.use-case-img {
  width: 48.44vw;
}

.use-case-container {
  margin: -18.71vw auto 0;
  width: 83.33vw;
}

.use-case-text {
  display: block;
  margin-left: auto;
  margin-bottom: -0.3vw;
  width: 42.03vw;
}

.use-case-content {
  margin: auto;
  padding: 2.7vw 5.2vw 2.42vw;
  width: 100%;
  background: rgba(255, 255, 255, 1);
}

.use-case-box {
  margin-left: auto;
  width: 31.82vw;
}

.use-case-title {
  font-size: 2.6vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.use-case-description {
  margin: 0.96vw auto 4.27vw;
  font-size: 1.15vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

.use-case-list {
  display: flex;
  gap: 2.08vw;
}

.use-case-list p {
  margin-top: 0.61vw;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.09vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0.05em;
  color: rgba(35, 34, 31, 1);
}

.use-case-list p::before {
  display: inline-block;
  content: '';
  position: relative;
  top: -0.1vw;
  left: 0.16vw;
  margin-right: 0.57vw;
  width: 0.63vw;
  height: 0.63vw;
  background: rgba(68, 185, 34, 1);
  border-radius: 50%;
}

@media screen and (max-width: 800px) {
  .gray-bg {
    padding: 0 0 10.67vw;
  }

  .use-case {
    position: relative;
	padding-top: 12vw;
  }

  .use-case-img {
    position: absolute;
    top: 23.5vw;
    width: 92vw;
  }

  .use-case-container {
    margin: 0 auto;
    width: 92vw;
  }

  .use-case-text {
    padding-right: 5vw;
    width: 81.6vw;
  }

  .use-case-content {
    margin: 13.17vw auto 0;
    padding: 27.66vw 4vw 4.5vw;
  }

  .use-case-box {
    width: auto;
  }

  .use-case-title {
    font-size: 6.67vw;
  }

  .use-case-description {
    margin: 2.4vw auto 4.13vw;
    font-size: 3.47vw;
  }

  .use-case-list {
    flex-wrap: wrap;
    gap: 4.5vw 2.67vw;
  }

  .use-case-list li {
    width: calc((100% - 2.68vw) /2);
  }

  .use-case-list p {
    margin-top: 1.03vw;
    font-size: 3.2vw;
  }

  .use-case-list p::before {
    top: -0.2vw;
    left: 0.41vw;
    margin-right: 1.53vw;
    width: 1.66vw;
    height: 1.66vw;
  }
}

/*scene*/
.scene {
  position: relative;
  margin-top: 6.1vw;
}

.scene-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 48.44vw;
}

.scene-container {
  margin: auto;
  width: 83.33vw;
}

.scene-text {
  display: block;
  margin-bottom: -0.3vw;
  width: 28.91vw;
}

.scene-content {
  margin: auto;
  padding: 2.7vw 5.2vw 2.42vw;
  width: 100%;
  background: rgba(255, 255, 255, 1);
}

.scene-box {
  width: 31.82vw;
}

.scene-title {
  font-size: 2.6vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.scene-description {
  margin: 0.96vw auto 4.27vw;
  font-size: 1.15vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

.scene-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.08vw;
}

.scene-list li {
  width: calc((100% - 6.3vw) / 4);
}

.scene-list p {
  margin-top: 0.61vw;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.09vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0.05em;
  color: rgba(35, 34, 31, 1);
}

.scene-list p::before {
  display: inline-block;
  content: '';
  position: relative;
  top: -0.1vw;
  left: 0.16vw;
  margin-right: 0.57vw;
  width: 0.63vw;
  height: 0.63vw;
  background: rgba(68, 185, 34, 1);
  border-radius: 50%;
}

@media screen and (max-width: 800px) {
  .scene {
    position: relative;
  }

  .scene-img {
    position: absolute;
    top: 10vw;
    width: 92vw;
  }

  .scene-container {
    margin: 0 auto;
    width: 92vw;
  }

  .scene-text {
    padding-left: 5vw;
    width: 50.67vw;
  }

  .scene-content {
    margin: 13.17vw auto 0;
    padding: 27.66vw 4vw 4.5vw;
  }

  .scene-box {
    width: auto;
  }

  .scene-title {
    font-size: 6.67vw;
  }

  .scene-description {
    margin: 2.4vw auto 4.13vw;
    font-size: 3.47vw;
  }

  .scene-list {
    flex-wrap: wrap;
    gap: 4.5vw 2.67vw;
  }

  .scene-list li {
    width: calc((100% - 5.34vw) /3);
  }

  .scene-list p {
    margin-top: 1.03vw;
    font-size: 3.2vw;
  }

  .scene-list p::before {
    top: -0.2vw;
    left: 0.41vw;
    margin-right: 1.53vw;
    width: 1.66vw;
    height: 1.66vw;
  }
}

/*choice*/
.choice {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.19vw 8.33vw;
  background: url(/wp-content/uploads/img/choice-bg.png) no-repeat center/cover;
}

.choice-subtitle {
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.choice-title {
  margin: 0.63vw auto 2.24vw;
  font-size: 2.86vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.choice-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.04vw 0;
  width: 61.45vw;
}

.choice-item {
  text-align: center;
  padding: 2.08vw 1.04vw 1.04vw;
  width: calc((100% - 2.08vw) / 3);
  background: rgba(255, 255, 255, 1);
}

.choice-item img {
  height: 2.55vw;
}

.choice-item-title {
  margin: 0.89vw auto;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.choice-item-text {
  padding: 0.6vw 0;
  width: 100%;
  font-size: 0.89vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  color: rgba(114, 114, 118, 1);
  border: 1px solid rgba(114, 114, 118, 1);
  border-radius: 0.52vw;
}

.choice-img {
  width: 16.15vw;
}

@media screen and (max-width: 800px) {
  .choice {
    flex-direction: column;
    gap: 8vw;
    padding: 11vw 4vw 0;
    background: url(/wp-content/uploads/img/choice-bg-sp.png) no-repeat center/cover;
  }

  .choice-subtitle {
    font-size: 3.73vw;
  }

  .choice-title {
    margin: 0.53vw auto 3.4vw;
    font-size: 7.47vw;
  }

  .choice-list {
    gap: 3.05vw 0;
    width: 92vw;
  }

  .choice-item {
    padding: 5.33vw 1.33vw 1.33vw;
    width: calc((100% - 3.05vw) / 2 );
  }

  .choice-item img {
    height: 7.47vw;
  }

  .choice-item-title {
    margin: 2.52vw auto;
    font-size: 4vw;
  }

  .choice-item-text {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 14.93vw;
    font-size: 2.93vw;
    line-height: 1.3;
    border-radius: 1.53vw;
  }

  .choice-img {
    width: 75.47vw;
  }
}

/*quality*/
.quality {
  padding: 7.92vw 8.33vw 5.21vw;
  background: linear-gradient(105.31deg, #45D640 -30.76%, #1E9FCB 60.8%, #6A48F4 115.79%);
}

.quality-subtitle {
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
}

.quality-title {
  margin: 0.78vw auto 3.4vw;
  font-size: 2.86vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
}

.quality-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.56vw 0;
}

.quality-item {
  text-align: center;
  padding: 2.11vw 2.08vw 1.46vw;
  width: calc((100% - 3.12vw) / 3);
  height: 32.81vw;
  background: rgba(255, 255, 255, 1);
}

.quality-item-title {
  display: inline-block;
  font-size: 2.08vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  background: linear-gradient(105.31deg, #45D640 -30.76%, #1E9FCB 60.8%, #6A48F4 115.79%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.quality-item img {
  margin: 1.33vw auto 1.02vw;
  width: 15.1vw;
}

.quality-item-quality2 img {
  margin: 0.86vw auto 0;
  width: 21.56vw;
}

.quality-item-text {
  text-align: left;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}

@media screen and (max-width: 800px) {
  .quality {
    padding: 10.98vw 4vw 4vw;
  }

  .quality-subtitle {
    font-size: 3.73vw;
  }

  .quality-title {
    margin: 0.28vw auto 3.43vw;
    font-size: 7.47vw;
  }

  .quality-list {
    gap: 4vw 0;
  }

  .quality-item {
    padding: 5.28vw 0 5.96vw;
    width: calc((100% - 4vw) / 2);
    height: 99.57vw;
  }

  .quality-item-title {
    font-size: 5.07vw;
    line-height: 1.3;
  }

  .quality-item img {
    margin: 2.57vw auto 2.45vw;
    width: 36.64vw;
  }

  .quality-item-quality2 img {
    margin: 2.61vw auto 0;
    width: 39.2vw;
  }

  .quality-item-text {
    padding: 0 4vw;
    font-size: 3.2vw;
    line-height: 1.6;
  }
}

/*light-gray-bg*/
.light-gray-bg {
  padding: 0 0 1.56vw;
  background: rgba(244, 245, 247, 1);
}

@media screen and (max-width: 800px) {
  .light-gray-bg {
    padding: 0;
  }
}

/*flow */
.flow {
  margin: auto;
  padding-top: 7.81vw;
  width: 83.33vw;
}

.flow-title {
  text-align: center;
  margin-bottom: 3.09vw;
  font-size: 2.08vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.flow-list {
  display: flex;
  justify-content: space-between;
  gap: 2.91vw;
  padding: 0;
  list-style: none;
}

.flow-item {
  flex: 1;
  position: relative;
  text-align: center;
  padding: 2.08vw 2.6vw 2.71vw;
  background: rgba(255, 255, 255, 1);
}

.flow-item + .flow-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.87vw;
  width: 0.83vw;
  height: 1.66vw;
  background: url(/wp-content/uploads/img/flow-arrow.svg) no-repeat center/cover;
  transform: translateY(-50%);
}

.flow-step {
  display: inline-block;
  width: 2.86vw;
  height: 2.71vw;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 2.71vw;
  color: rgba(255, 255, 255, 1);
  background: linear-gradient(90deg, #66BE44 0%, #3891C6 100%);
  border-radius: 50%;
}

.flow-item-title {
  margin: 1.15vw auto 1.01vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.flow-item-text {
  text-align: left;
  font-size: 0.94vw;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
}

.flow-item-btn {
  display: inline-block;
  margin-top: 2.2vw;
  width: 10.83vw;
  height: 2.97vw;
  font-size: 0.83vw;
  font-weight: 700;
  line-height: 2.97vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: rgba(68, 185, 34, 1);
  border-radius: 5.21vw;
}

.flow-item-btn:hover {
  color: rgba(255, 255, 255, 1);
}

@media screen and (max-width: 800px) {
  .flow {
    padding-top: 14.44vw;
    width: 92vw;
  }

  .flow-title {
    margin-bottom: 3.77vw;
    font-size: 5.87vw;
  }

  .flow-list {
    flex-direction: column;
    gap: 5.33vw;
  }

  .flow-item {
    display: flex;
    align-items: center;
    gap: 5.33vw;
    padding: 5.33vw;
  }

  .flow-item + .flow-item::before {
    top: -5.2vw;
    right: 0;
    left: 0;
    margin: auto;
    width: 2.67vw;
    height: 5.33vw;
    transform: rotate(90deg);
  }

  .flow-step {
    flex-shrink: 0;
    width: 9.33vw;
    height: 9.33vw;
    font-size: 5.83vw;
    line-height: 9.33vw;
  }

  .flow-item-title {
    text-align: left;
    margin: 0 auto 0.76vw;
    font-size: 4vw;
  }

  .flow-item-text {
    font-size: 3.2vw;
  }

  .flow-item-btn {
    margin-top: 2.67vw;
    width: 66.9vw;
    height: 9.07vw;
    font-size: 3.18vw;
    line-height: 9.07vw;
    border-radius: 19.87vw;
  }
}

/*comparison*/
.comparison {
  margin: auto;
  padding: 8.8vw 0 9.38vw;
}

.comparison-title {
  text-align: center;
  margin-bottom: 3.09vw;
  font-size: 2.08vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.comparison-content {
  margin: auto;
  padding: 1.56vw;
  width: 62.5vw;
  background: rgba(255, 255, 255, 1);
}

.comparison-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0.52vw;
}

.comparison-table th,
.comparison-table td {
  text-align: center;
  vertical-align: middle;
}

.comparison-table thead th {
  height: 4.58vw;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.0233em;
  color: rgba(51, 51, 51, 1);
}

.comparison-table th {
  background: rgba(233, 233, 233, 1);
}

.comparison-table thead th:nth-child(2) {
  color: rgba(255, 255, 255, 1);
  background: linear-gradient(105.1deg, #45D640 -30.8%, #1E9FCB 88.41%);
}

.comparison-table tbody th, .comparison-table tbody td {
  height: 4.17vw;
  font-size: 1.09vw;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  color: rgba(51, 51, 51, 1);
}

.comparison-table tbody td {
  background: rgba(247, 246, 246, 1);
}

.comparison-table tbody td:first-of-type {
  background: rgba(241, 249, 234, 1);
}

.comparison-table img {
  width: 1.46vw;
}

@media screen and (max-width: 800px) {
  .comparison {
    padding: 18.44vw 0 16vw;
  }

  .comparison-title {
    margin-bottom: 3.77vw;
    font-size: 5.87vw;
  }

  .comparison-content {
    padding: 4vw;
    width: 100%;
  }

  .comparison-table {
    border-spacing: 0.83vw;
  }

  .comparison-table thead th {
    height: 9.33vw;
    font-size: 2.67vw;
    line-height: 1.1;
    letter-spacing: 0.017em;
  }

  .comparison-table tbody th, .comparison-table tbody td {
    height: 8.53vw;
    font-size: 2.93vw;
  }

  .comparison-table img {
    width: 3.47vw;
  }
}

/*faq*/
.faq {
  margin: auto;
  padding: 5.21vw;
  width: 72.92vw;
  background: rgba(255, 255, 255, 1);
}

.faq-title {
  text-align: center;
  margin-bottom: 1.77vw;
  font-size: 2.08vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.faq-list-item {
  border-bottom: 1px solid rgba(171, 171, 171, 1);
}

.faq-list-question {
  padding: 1.67vw 1.99vw 1.67vw 0;
  cursor: pointer;
}

.faq-list-question p {
  position: relative;
  padding: 0 1.56vw 0 3.23vw;
  text-indent: -2vw;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

.faq-list-question p::before {
  display: inline-block;
  content: 'Q';
  position: relative;
  left: 0;
  text-align: center;
  vertical-align: text-top;
  width: 2.08vw;
  font-size: 1.46vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(68, 185, 34, 1);
}

.faq-list-question p::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.88vw;
  height: 0.44vw;
  background:url(/wp-content/uploads/img/faq-arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
  transition: 0.3s;
}

.faq-list-item.active .faq-list-question p::after {
  transform: translateY(-50%) rotate(180deg);
}

.faq-list-answer {
  opacity: 0;
  overflow: hidden;
  padding: 0;
  height: 0;
  font-size: 0.94vw;
  font-weight: 400;
  line-height: 2;
  transition: padding 0.3s;
}

.faq-list-item.active .faq-list-answer {
  opacity: 1;
  overflow: visible;
  padding: 0 0 1.07vw;
  height: auto;
}

.faq-list-answer p {
  position: relative;
  padding: 0 0 0 3.23vw;
  text-indent: -2vw;
  width: 57.3vw;
  font-size: 0.94vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.faq-list-answer p::before {
  display: inline-block;
  content: 'A';
  position: relative;
  left: 0;
  vertical-align: text-top;
  text-align: center;
  width: 2.08vw;
  font-size: 1.46vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(0, 0, 0, 1);
}

@media screen and (max-width: 800px) {
  .faq {
    padding: 10vw 4vw 12vw;
    width: 92vw;
  }

  .faq-title {
    margin-bottom: 5vw;
    font-size: 5.87vw;
  }

  .faq-list-question {
    padding: 4.77vw 2.67vw 4.77vw 0;
  }

  .faq-list-question p {
    padding: 0 5.6vw 0 7.2vw;
    text-indent: -3.2vw;
    font-size: 3.73vw;
    line-height: 1.3;
  }

  .faq-list-question p::before {
    left: -0.5vw;
	width: 3.2vw;
    font-size: 4.8vw;
  }

  .faq-list-question p::after {
    width: 2.49vw;
    height: 1.25vw;
  }

  .faq-list-item.active .faq-list-answer {
    padding: 0 0 3.12vw;
  }

  .faq-list-answer p {
    padding: 0 0 0 7.2vw;
    text-indent: -3.2vw;
    width: 75vw;
    font-size: 3.47vw;
    line-height: 1.8;
  }

  .faq-list-answer p::before {
    left: -0.5vw;
    font-size: 4.8vw;
    width: 3.2vw;
  }
}

/*policy*/
.page-policy {
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  background: rgba(244, 245, 247, 1);
}

.page-policy-content {
  width: 68.75vw;
  margin: auto;
  padding: 14.42vw 0 5.2vw;
}

.policy-header {
  margin-bottom: 3.65vw;
}

.policy-title {
  text-align: center;
  margin-bottom: 7.81vw;
  font-size: 2.34vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.update-date {
  text-align: right;
  font-size: 0.94vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
  color: rgba(95, 95, 95, 1);
}

.policy-section {
  margin-top: 2.68vw;
}

.policy-heading {
  margin-bottom: 1.3vw;
  font-size: 1.35vw;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
}

.normal-num {
  padding-left: 1.5vw;
}

.normal-spacious > li  {
  margin-top: 0.73vw;
}

.brackets-num {
  padding-left: 2.6vw;
  list-style: none;
}

.katakana {
  margin-top: 0.73vw;
  padding-left: 1.3vw;
  list-style: none;
}

.pl-compact {
  margin-top: 0.73vw;
  padding-left: 1.3vw;
}

.content-spacing-top {
  margin-top: 1vw;
}

.shifted-box {
  margin-top: 0.68vw;
  padding-left: 2.6vw;
}

.indent-left {
  padding-left: 2.6vw;
}

.text-decoration {
  text-decoration: underline;
}

.link-decoration {
  text-decoration: underline;
}

.page-policy-dl-heading {
  margin: 0.73vw 0 0 2.6vw;
}

.page-policy-dl {
  margin: 0.73vw 0 0 2.6vw;
}

.page-policy-dl-item {
  display: flex;
}

.page-policy-dl-item + .page-policy-dl-item {
  margin-top: 0.47vw;
}

.established-date {
  margin-top: 3.31vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
}

@media screen and (max-width: 800px) {
  .page-policy {
    font-size: 3.2vw;
    line-height: 1.6;
  }

  .page-policy-content {
    width: 92vw;
    margin: auto;
    padding: 29vw 0 10vw;
  }

  .policy-header {
    margin-bottom: 3.7vw;
  }

  .policy-title {
    margin-bottom: 12.5vw;
    font-size: 5.33vw;
  }

  .update-date {
    font-size: 3.2vw;
    line-height: 1.6;
  }

  .policy-section {
    margin-top: 3.8vw;
  }

  .policy-heading {
    margin-bottom: 3.8vw;
    font-size: 4.8vw;
  }

  .normal-num {
    padding-left: 5vw;
  }

  .normal-spacious > li {
    margin-top: 1.23vw;
  }

  .brackets-num {
    padding-left: 0;
  }

  .katakana {
    margin-top: 1.23vw;
    padding-left: 3vw;
  }

  .pl-compact {
    margin-top: 1.23vw;
    padding-left: 3vw;
  }

  .content-spacing-top {
    margin-top: 1.23vw;
  }

  .shifted-box {
    margin-top: 1.23vw;
    padding-left: 5vw;
  }

  .indent-left {
    padding-left: 8vw;
  }

  .page-policy-dl-heading {
    margin: 1.23vw 0 0 8vw;
  }

  .page-policy-dl {
    margin: 1.23vw 0 0 8vw;
  }

  .page-policy-dl-item + .page-policy-dl-item {
    margin-top: 1.23vw;
  }

  .page-policy-dl-item.page-policy-dl-item-info {
    flex-direction: column;
    gap: 0.6vw;
  }

  .established-date {
    margin-top: 10.6vw;
    font-size: 3.2vw;
    line-height: 1.6;
  }
}

/*data-protection*/
.data-protection .policy-header {
  margin-bottom: 3.2vw;
}

.policy-subheading-disc {
  margin: 1.35vw 0 1.2vw 1.5vw;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
}

.policy-subheading-disc::before {
  display: inline-block;
  content: "";
  position: relative;
  top: -0.1vw;
  left: -1vw;
  vertical-align: middle;
  width: 0.3vw;
  height: 0.3vw;
  background: rgba(35, 34, 31, 1);
  border-radius: 50%;
}

.policy-subheading {
  margin: 0.83vw auto 0.05vw;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
}

.lh-16 p {
  line-height: 1.6;
}

@media screen and (max-width: 800px) {
  .policy-subheading-disc {
    margin: 3.51vw 0 1vw 5vw;
    text-indent: -1vw;
    font-size: 3.73vw;
  }

  .policy-subheading-disc::before {
    top: -0.5vw;
    left: -3vw;
    width: 1vw;
    height: 1vw;
  }

  .policy-subheading {
    margin: 1.28vw auto 0;
    font-size: 3.2vw;
    line-height: 1.6;
  }
}

/*parties-table*/
.parties-table {
  text-align: left;
  border-collapse: collapse;
  background: rgba(255, 255, 255, 1);
}

.parties-table thead th {
  padding: 1.04vw;
  width: 22.92vw;
  font-size: 1.08vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
  background: rgba(221, 221, 221, 1);
}

.parties-table th:first-child {
  width: 10.42vw;
}

.parties-table th:nth-child(2) {
  width: 12.5vw;
}

.parties-table tbody {
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.26;
  letter-spacing: 0;
}

.parties-table tbody th {
  font-weight: 700;
}

.parties-table th, .parties-table td {
  vertical-align: top;
  padding: 0.97vw 1.04vw;
  border: solid 1px rgba(171, 171, 171, 1);
}

.parties-table tr:nth-child(2n) {
  background: rgba(247, 247, 247, 1);
}

.parties-table .link-decoration {
  display: block;
  margin-top: 0.26vw;
  font-size: 0.94vw;
  font-weight: 400;
  line-height: 1.26;
  letter-spacing: 0;
}

@media screen and (max-width: 800px) {
  .parties-table thead th {
    vertical-align: middle;
    padding: 2.67vw 1.33vw;
    width: 28.97vw;
    font-size: 2.67vw;
  }

  .parties-table th:first-child {
    width: 17.33vw;
  }

  .parties-table th:nth-child(2) {
    width: 16.73vw;
  }

  .parties-table tbody {
    font-size: 2.4vw;
  }

  .parties-table th, .parties-table td {
    padding: 1.33vw 1.6vw;
  }

  .parties-table .link-decoration {
    margin-top: 0.47vw;
    font-size: 2.13vw;
  }
}

/*security-policy*/
.security-policy .policy-heading {
  margin-bottom: 1.16vw;
}

.policy-item {
  margin-top: 2.34vw;
}

.policy-text {
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}

.policy-text.mb80 {
  margin-bottom: 3.65vw;
}

.policy-footer {
  text-align: right;
  margin-top: 3.2vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}

@media screen and (max-width: 800px) {
  .security-policy .policy-heading {
    margin-bottom: 3.7vw;
  }

  .policy-item {
    margin-top: 3.7vw;
  }

  .policy-text {
    font-size: 3.2vw;
    line-height: 1.6;
  }

  .policy-text.mb80 {
    margin-bottom: 4vw;
  }

  .policy-footer {
    margin-top: 3.7vw;
    font-size: 3.2vw;
    line-height: 1.6;
  }
}

/*page-about-us*/
.page-about-us {
  padding-top: 13.75vw;
}

.about-us {
  margin: auto;
  width: 79.17vw;
  color: rgba(35, 34, 31, 1);
}

.about-us-title {
  font-size: 2.6vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.about-us-table {
  text-align: left;
  margin: 7.66vw auto 8.33vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.6;
  border-collapse: collapse;
}

.about-us-table tr {
  border-bottom: 1px solid rgba(171, 171, 171, 1)
}

.about-us-table th, .about-us-table td {
  padding: 1.38vw 5.21vw 1.38vw 0;
}

.about-us-table th {
  width: 17.45vw;
}

.about-us-address {
  vertical-align: top;
}

.map-link::after {
  display: inline-block;
  content: "";
  position: relative;
  top: 0.1vw;
  right: -0.5vw;
  width: 0.83vw;
  height: 0.88vw;
  background: url(/wp-content/uploads/img/link.svg) no-repeat center/contain;
}

.map {
  position: relative;
  margin: 1.12vw 0 1.82vw;
  aspect-ratio: 217 / 91;
  width: 100%;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 1.04vw;
}

@media screen and (max-width: 800px) {
  .page-about-us {
    padding-top: 27.5vw;
  }

  .about-us {
    width: 92vw;
  }

  .about-us-title {
    font-size: 6.93vw;
  }

  .about-us-table {
    margin: 11.5vw auto 12.8vw;
    font-size: 3.2vw;
  }

  .about-us-table th, .about-us-table td {
    padding: 3.97vw 0;
  }

  .about-us-table th {
    width: 18.67vw;
  }

  .map-link::after {
    top: 0.3vw;
    width: 2.66vw;
    height: 2.67vw;
  }

  .map {
    aspect-ratio: 20 / 11;
    width: 72.72%;
  }
}

/*app*/
.page-app {
  padding-top: 10.83vw;
}

.app {
  margin: auto;
  width: 79.17vw;
  color: rgba(35, 34, 31, 1);
}

.app-title {
  margin-bottom: 1.98vw;
  padding-bottom: 0.57vw;
  font-size: 1.82vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
  border-bottom: 2px solid rgba(68, 185, 34, 1);
}

.app-description {
  margin: 2vw auto;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}

.download-title {
  position: relative;
  padding-left: 1.04vw;
  font-size: 1.3vw;
  font-weight: 700;
  line-height: 2.08vw;
  letter-spacing: 0;
}

.download-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.26vw;
  height: 2.08vw;
  background: rgba(68, 185, 34, 1);
}

.download-description {
  margin: 1.48vw auto 0.89vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}

.app-name {
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0;
}

.download-links {
  display: flex;
  gap: 0.52vw;
  margin: 0.18vw auto 4.8vw;
}

.app-store {
  width: 9.35vw;
}

.google-play {
  width: 10.47vw;
}

.process-title {
  margin-top: 3.76vw;
  padding-bottom: 0.63vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
  border-bottom: 1px solid rgba(171, 171, 171, 1);
}

.process-num {
  margin: 0.91vw auto 0.86vw;
  padding-left: 1.5vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 2.5;
  letter-spacing: 0;
}

.device-title {
  position: relative;
  margin: 0.9vw auto 0.63vw 1.5vw;
  font-size: 0.94vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.device-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1vw;
  width: 0.3vw;
  height: 0.3vw;
  background: rgba(35, 34, 31, 1);
  border-radius: 50%;
  transform: translateY(-50%);
}

.device-description {
  font-size: 0.94vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.device-note {
  margin-top: 3.65vw;
  font-size: 0.94vw;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}

.campaign {
  margin: 4.69vw auto 5.21vw;
  width: 79.17vw;
}

.campaign-content {
  text-align: center;
  padding-top: 1.8vw;
  width: 38.54vw;
  height: 18.23vw;
  background: url(/wp-content/uploads/img/campaign-bg.png) no-repeat center/contain;
}

.campaign-title {
  margin: 0 auto 0.13vw;
  font-size: 1.67vw;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0;
  color: rgba(41, 114, 20, 1);
}

.free {
  font-size: 2.6vw;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0;
  color: rgb(249, 66, 94);
}

.campaign-code {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.04vw;
  margin: auto;
  width: 33.96vw;
  height: 4.53vw;
  font-weight: 700;
  color: rgba(255, 255, 255, 1);
  background: rgba(68, 185, 34, 1);
  border-radius: 0.52vw;
}

.campaign-label {
  font-size: 1.3vw;
}

.campaign-value {
  font-size: 2.6vw;
}

.campaign-note {
  text-align: left;
  margin: 0.59vw auto;
  width: fit-content;
  font-size: 0.83vw;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

@media screen and (max-width: 800px) {
  .page-app {
    padding-top: 27.67vw;
  }

  .app {
    width: 92vw;
  }

  .app-title {
    margin-bottom:  5.25vw;
    padding-bottom: 3.67vw;
    font-size: 6.4vw;
  }

  .app-description {
    margin: 6.59vw auto;
    font-size: 3.47vw;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .download-title {
    padding-left: 2.67vw;
    font-size: 4.8vw;
    line-height: 8.8vw;
  }

  .download-title::before {
    width: 0.8vw;
    height: 8.8vw;
  }

  .download-description {
    margin: 3.89vw auto 2.45vw;
    font-size: 3.47vw;
    line-height: 1.6;
  }

  .app-name {
    font-size: 3.47vw;
    line-height: 1.6;
  }

  .download-links {
    display: flex;
    gap: 1.74vw;
    margin: 1.23vw auto 12.4vw;
  }

  .app-store {
    width: 31.26vw;
  }

  .google-play {
    width: 35vw;
  }

  .process-title {
    margin-top: 12.4vw;
    padding-bottom: 1.73vw;
    font-size: 5.33vw;
    line-height: 1.6;
  }

  .process-num {
    margin: 6.61vw auto;
    padding-left: 5vw;
    font-size: 3.47vw;
    line-height: 1.6;
  }

  .device-title {
    margin: 4vw auto 2.67vw 5vw;
    font-size: 4vw;
  }

  .device-title::before {
    left: -3vw;
    width: 1vw;
    height: 1vw;
  }

  .device-description {
    font-size: 3.2vw;
  }

  .device-note {
    margin-top: 9.15vw;
    font-size: 3.2vw;
  }

  .campaign {
    margin: 6.48vw auto 12.8vw;
    width: 92vw;
  }

  .campaign-content {
    text-align: center;
    padding-top: 5.54vw;
    width: 100%;
    height: 50.67vw;
    background: url(/wp-content/uploads/img/campaign-bg.png) no-repeat center/100% 100%;
  }

  .campaign-title {
    font-size: 4.11vw;
  }

  .free {
    font-size: 6.42vw;
  }

  .campaign-code {
    gap: 2.49vw;
    width: 80.42vw;
    height: 10.75vw;
    border-radius: 1.24vw;
  }

  .campaign-label {
    font-size: 2.93vw;
  }

  .campaign-value {
    font-size: 6.22vw;
  }

  .campaign-note {
    margin: 3.37vw auto;
    font-size: 2.8vw;
    line-height: 1.6;
  }
}

/*page-contact*/
.page-contact {
  text-align: center;
  padding: 10.8vw 0 5.21vw;
  color: rgba(35, 34, 31, 1);
  background: rgba(244, 245, 247, 1);
}

.page-contact-title {
  font-size: 1.88vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.page-contact-description {
  margin: 0.72vw auto 2vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}

#wpcf7-f9-o1 {
  margin: auto;
  padding: 3.65vw 3.91vw;
  width: 52.1vw;
  background: rgba(255, 255, 255, 1);
  border-radius: 2.08vw;
}

.contact_form {
  display: flex;
  gap: 0.63vw;
}

.contact_form + .contact_form {
  margin-top: 1.82vw;
}

.form_title {
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 1.46vw;
  letter-spacing: 0;
}

.require {
  padding: 0 0.42vw;
  height: 1.46vw;
  font-size: 0.83vw;
  font-weight: 700;
  line-height: 1.46vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: rgba(249, 66, 94, 1);
}

.wpcf7-form-control-wrap {
  margin-left: auto;
}

.wpcf7-form-control.wpcf7-text {
  padding: 0 1.04vw;
  width: 30.83vw;
  height: 2.19vw;
  font-size: 0.99vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
  border: 1px solid rgba(222, 226, 230, 1);
  border-radius: 0.26vw;
}

.your-tel-text {
  display: flex;
  flex-direction: column;
  text-align: left;
  margin-left: auto;
  font-size: 0.63vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}

.contact_form_checkbox_outer {
  display: flex;
  margin: 1.6vw auto 1.04vw;
}

.contact_form_checkbox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.04vw;
  margin-left: auto;
  width: 30.83vw;
}

.contact_form_checkbox_item_text {
  position: relative;
  padding-left: 1.88vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}

.contact_form_checkbox_item_text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.25vw;
  height: 1.25vw;
  border-radius: 0.21vw;
  border: 1px solid rgba(222, 226, 230, 1);
  transform: translateY(-50%);
}

.contact_form_checkbox_item input {
  position: absolute;
  opacity: 0;
}

.contact_form_checkbox_item input:checked + .contact_form_checkbox_item_text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.31vw;
  width: 0.65vw;
  height: 0.53vw;
  background: url(/wp-content/uploads/img/check.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

.contact_form_checkbox_item input:focus + .contact_form_checkbox_item_text::before {
  box-shadow: 0 0 4px rgba(196, 202, 210, 1);
}

#form_your-message-text {
  padding: 0.7vw 1.04vw;
  width: 30.83vw;
  height: 12vw;
  font-size: 0.94vw;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  border: 1px solid rgba(222, 226, 230, 1);
  border-radius: 0.26vw;
}

#form_submit {
  display: inline-block;
  position: relative;
  margin-top: 3.65vw;
  cursor: pointer;
}

.wpcf7-form-control.wpcf7-submit.has-spinner {
  display: inline-block;
  text-align: center;
  position: relative;
  padding: 0 0.52vw 0 0;
  width: 13vw;
  height: 3.55vw;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 3.55vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: rgba(68, 185, 34, 1);
  border: none;
  border-radius: 6.8vw;
  cursor: pointer;
}

#form_submit::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5vw;
  width: 1.04vw;
  height: 1.04vw;
  background: url(/wp-content/uploads/img/btn-arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

#form_submit:hover {
  opacity: 0.5;
}

@media screen and (max-width: 800px) {
  .page-contact {
    padding: 28.51vw 0 13.33vw;
  }

  .page-contact-title {
    font-size: 5.33vw;
  }

  .page-contact-description {
    margin: 2.56vw auto 9.25vw;
    font-size: 3.47vw;
    line-height: 1.6;
  }

  #wpcf7-f9-o1 {
    padding: 4vw 4vw 6.67vw;
    width: 92vw;
    border-radius: 0;
  }

  .contact_form {
    gap: 1.65vw;
    flex-wrap: wrap;
  }

  .contact_form {
    flex-wrap: wrap;
    gap: 1.65vw;
  }

  .contact_form + .contact_form {
    margin-top: 5.33vw;
  }

  .form_title {
    font-size: 3.47vw;
    line-height: 4.07vw;
  }

  .require {
    padding: 0 1.1vw;
    height: 4.07vw;
    font-size: 2.67vw;
    line-height: 4.07vw;
  }

  .wpcf7-form-control-wrap {
    margin: auto;
    width: 100%;
  }

  .wpcf7-form-control.wpcf7-text {
    padding: 0 2.9vw;
    width: 100%;
    height: 9.1vw;
    font-size: 3.47vw;
    border-radius: 0.8vw;
  }

  .your-tel-text {
    font-size: 2.4vw;
  }

  .contact_form_checkbox_outer {
    flex-direction: column;
    align-items: flex-start;
    gap: 3.3vw;
    margin: 4vw auto 2.67vw;
  }

  .contact_form_checkbox {
    gap: 2.67vw;
    margin: auto;
    width: 100%;
  }

  .contact_form_checkbox_item_text {
    padding-left: 8vw;
    font-size: 3.47vw;
  }

  .contact_form_checkbox_item_text::before {
    width: 5.33vw;
    height: 5.33vw;
    border-radius: 0.8vw;
  }

  .contact_form_checkbox_item input:checked + .contact_form_checkbox_item_text::after {
    left: 1.44vw;
    width: 2.78vw;
    height: 2.27vw;
  }

  #form_your-message-text {
    padding: 2vw 4vw;
    width: 100%;
    height: 51vw;
    font-size: 3.2vw;
    border-radius: 0.8vw;
  }

  #form_submit {
    margin-top: 6.67vw;
  }

  #form_submit::after {
    right: 5.92vw;
    width: 3.63vw;
    height: 3.63vw;
  }

  .wpcf7-form-control.wpcf7-submit.has-spinner {
    padding: 0 2.67vw 0 0;
    width: 43.73vw;
    height: 13.87vw;
    font-size: 4.27vw;
    line-height: 13.87vw;
    border-radius: 22.09vw;
  }
}

/*page-contact-thanks*/
.page-contact-thanks {
  text-align: center;
  padding: 10.8vw 0 5.12vw;
  color: rgba(35, 34, 31, 1);
  background: rgba(244, 245, 247, 1);
}

.contact-thanks-title {
  font-size: 1.88vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.contact-thanks-description {
  margin: 1.5vw auto 2vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}

.contact-thanks-img {
  width: 35.57vw;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15);
}

.dl-btn {
  display: block;
  text-align: center;
  position: relative;
  margin: 2.6vw auto 0;
  padding-right: 1.43vw;
  width: 17.45vw;
  height: 3.55vw;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 3.55vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: rgba(68, 185, 34, 1);
  border-radius: 6.8vw;
}

.dl-btn:hover {
  color: rgba(255, 255, 255, 1);
}

.dl-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.43vw;
  width: 1.04vw;
  height: 1.04vw;
  background: url(/wp-content/uploads/img/btn-arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

@media screen and (max-width: 800px) {
  .page-contact-thanks {
    padding: 28.51vw 0 13.33vw;
  }

  .contact-thanks-title {
    font-size: 5.33vw;
  }

  .contact-thanks-description {
    margin: 3.92vw auto 9.28vw;
    font-size: 3.47vw;
    line-height: 1.6;
  }

  .contact-thanks-img {
    width: 78.67vw;
  }

 .dl-btn {
    margin: 10.67vw auto 0;
    padding-right: 5.12vw;
    width: 68.27vw;
    height: 13.87vw;
    font-size: 4.27vw;
    line-height: 13.87vw;
    border-radius: 22.1vw;
  }

  .dl-btn::after {
    right: 5.12vw;
    width: 3.63vw;
    height: 3.63vw;
  }
}

/*page-404*/
.page-404 {
  padding: 10.47vw 0 5.21vw;
  color: rgba(35, 34, 31, 1);
  background: rgba(244, 245, 247, 1);
}

.page-404-title {
  text-align: center;
  margin-bottom: 3.26vw;
  padding: 3.55vw 0 6.16vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
  background: url(/wp-content/uploads/img/404-bg.svg) no-repeat calc(50% + 1.6vw) center/contain;
}

.page-404-description {
  text-align: center;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}

.back-btn {
  display: block;
  text-align: center;
  position: relative;
  margin: 2.6vw auto 0;
  padding-right: 1.64vw;
  width: 18.44vw;
  height: 3.55vw;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 3.34vw;
  letter-spacing: 0;
  color: rgba(68, 185, 34, 1);
  background: rgba(255, 255, 255, 1);
  border: 0.1vw solid rgba(68, 185, 34, 1);
  border-radius: 6.8vw;
}

.back-btn:hover {
  color: rgba(68, 185, 34, 1);
}

.back-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.64vw;
  width: 1.04vw;
  height: 1.04vw;
  background: url(/wp-content/uploads/img/btn-arrow-reversal.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

@media screen and (max-width: 800px) {
  .page-404 {
    padding: 24.8vw 0 13.33vw;
  }

  .page-404-title {
    margin-bottom: 4vw;
    padding: 9vw 0 16.75vw;
    font-size: 5.33vw;
    background: url(/wp-content/uploads/img/404-bg.svg) no-repeat calc(50% + 2.5vw) center/contain;
  }

  .page-404-description {
    font-size: 3.47vw;
    line-height: 1.6;
  }

  .page-404-description + .page-404-description {
    margin-top: 5vw;
  }

 .back-btn {
    margin: 9vw auto 0;
    padding-right: 6.98vw;
    width: 77.6vw;
    height: 13.87vw;
    font-size: 4.27vw;
    line-height: 13.33vw;
    border-radius: 22.1vw;
    border: 0.27vw solid rgba(68, 185, 34, 1);
  }

  .back-btn::after {
    right: 6.98vw;
    width: 3.63vw;
    height: 3.63vw;
  }
}

/*footer*/
.footer-content {
  display: flex;
  justify-content: space-between;
  margin: auto;
  padding: 5.4vw 0 2.5vw;
  width: 79.17vw;
  border-bottom: 1px solid rgba(171, 171, 171, 1)
}

.footer-title {
  font-size: 1.15vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.025em;
}

.footer-menu-content {
  display: flex;
  gap: 7.81vw;
}

.footer-block-wrap {
  display: flex;
  gap: 7.81vw;
}

.footer-heading {
  margin: 1.31vw auto 1vw;
  font-size: 0.94vw;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 1vw;
}

.footer-links li {
  font-size: 0.94vw;
  font-weight: 400;
  line-height: 1.26;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
  text-decoration: underline;
}

.footer-company {
  width: 15.63vw;
}

.footer-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  padding: 2.6vw 0 2.77vw;
  width: 79.17vw;
}

.footer-policy-links {
  display: flex;
  gap: 1vw;
  margin-top: 1.87vw;
}

.footer-policy-links li {
  font-size: 0.83vw;
  font-weight: 400;
  line-height: 1.26;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.footer-policy-links li + li::before {
  content: "/";
  padding-right: 1vw;
}

.footer-policy-links li a {
  text-decoration: underline;
}

.footer-logo {
  width: 10.63vw;
}

.footer-cert-logo {
  width: 14.9vw;
}

.footer-social {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 5.53vw 10.73vw 2.42vw 9.79vw;
  background: rgba(134, 227, 92, 1);
}

.footer-sns-title {
  margin-bottom: 0.47vw;
  font-size: 0.83vw;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.035em;
}

.footer-copy {
  font-size: 0.83vw;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.035em;
  color: rgba(70, 70, 70, 1);
}

.footer-sns-list {
  display: flex;
  align-items: center;
  gap: 1.56vw;
}

.footer-sns-list img {
  width: 1.25vw;
}

@media screen and (max-width: 800px) {
  .footer-content {
    flex-direction: column;
    gap: 8vw;
    padding: 6.93vw 0;
    width: 92vw;
  }

  .footer-title {
    font-size: 4.27vw;
    letter-spacing: 0;
  }

  .footer-menu-content {
    gap: 0;
  }

  .footer-menu-content-item {
    flex: 1;
  }

  .footer-block-wrap {
    flex-direction: column;
    gap: 2vw;
  }

  .footer-heading {
    margin: 7vw auto 3.5vw;
    font-size: 4vw;
  }

  .footer-links {
    gap: 5vw;
  }

  .footer-links li {
    font-size: 3.47vw;
    font-weight: 700;
  }

  .footer-company {
    width: auto;
  }

  .footer-company .footer-links {
    flex-direction: revert;
  }

  .footer-info {
    flex-direction: column;
    align-items: flex-start;
    padding: 8vw 0 5.33vw;
    width: 92vw;
  }

  .footer-logo {
    width: 37.33vw;
  }

  .footer-policy-links {
    flex-wrap: wrap;
    gap: 2.5vw 5.33vw;
    margin: 5.8vw auto 3.7vw;
  }

  .footer-policy-links li {
    font-size: 3.2vw;
    font-weight: 700;
  }

  .footer-policy-links li + li::before {
    display: none;
  }

  .footer-cert-logo {
    width: 26.67vw;
  }

  .footer-social {
    align-items: center;
    padding: 2.67vw 4vw 10.67vw;
  }

  .footer-copy {
    font-size: 2.4vw;
    font-weight: 700;
  }

  .footer-sns-title {
    display: none;
  }

  .footer-sns-list {
    gap: 5.33vw;
  }

  .footer-sns-list img {
    width: 5.33vw;
  }
}

/*lifecard_abroad*/
#post-869 {
  background: rgba(241, 247, 255, 1);
}

/*life-fv*/
.life-fv {
  text-align: center;
  margin-top: 6vw;
  padding: 9.06vw 0 2.97vw;
  background: url(/wp-content/uploads/img/life-fv-bg.jpg) no-repeat center/cover;
}

.life-fv-content {
  margin: 0 auto 1.61vw;
  padding: 2.29vw 0;
  width: 51.2vw;
  background: rgba(255, 255, 255, 0.8);
}

.life-fv-logo {
  width: 26.2vw;
  border-radius: 0.78vw;
  box-shadow: 0 0 1.04vw 0 rgba(0, 0, 0, 0.15);
}

.life-fv-title {
  margin: 1.72vw auto 0;
  width: 38.8vw;
}

.life-fv-description {
  margin: auto;
  padding: 0.45vw 0.83vw 0.55vw 1.3vw;
  width: fit-content;
  font-size: 1.67vw;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgb(56, 147, 162);
  background: rgba(241, 255, 102, 1);
}

.life-fv-description span {
  font-weight: 700;
}

.life-fv-description + .life-fv-description {
  margin-top: 0.83vw;
}

@media screen and (max-width: 800px) {
  .life-fv {
    margin-top: 16.53vw;
    padding: 35.73vw 0 7.2vw;
    background: url(/wp-content/uploads/img/life-fv-bg-sp.jpg) no-repeat center/cover;
  }

  .life-fv-content {
    margin: 0 auto 8vw;
    padding: 4.98vw 0 5.67vw;
    width: 64.8vw;
  }

  .life-fv-logo {
    width: 51.73vw;
    border-radius: 1.66vw;
    box-shadow: 0 0 2.22vw 0 rgba(0, 0, 0, 0.15);
  }

  .life-fv-title {
    margin: 5.05vw auto 0;
    width: 60.15vw;
  }

  .life-fv-description {
    padding: 0.8vw 1.33vw 0.8vw 2.4vw;
    font-size: 4vw;
  }

  .life-fv-description + .life-fv-description {
    margin-top: 2.67vw;
  }
}

/*offer*/
.offer {
  padding: 4.17vw 0;
  background: rgba(255, 255, 255, 1);
}

.offer-btn {
  display: flex;
  align-items: center;
  gap: 0.8vw;
  text-align: center;
  position: relative;
  margin: auto;
  padding-left: 0.87vw;
  width: 36.82vw;
  height: 7.34vw;
  font-size: 1.81vw;
  font-weight: 700;
  line-height: 7.34vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: linear-gradient(104.57deg, #44B922 25.11%, #0F88D5 94.77%);
  border-radius: 1.04vw;
}

.offer-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.34vw;
  width: 0.59vw;
  height: 0.99vw;
  background: url(/wp-content/uploads/img/offer-btn-arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

.offer-btn:hover {
  color: rgba(255, 255, 255, 1);
}

.offer-label {
  display: inline-block;
  width: 6.15vw;
  height: 6.15vw;
  font-size: 1.13vw;
  line-height: 6.15vw;
  letter-spacing: 0px;
  vertical-align: middle;
  color: rgba(68, 185, 34, 1);
  background: rgba(255, 255, 255, 1);
  border-radius: 50%;
}

@media screen and (max-width: 800px) {
  .offer {
    padding: 8vw 0;
  }

  .offer-btn {
    gap: 1.54vw;
    padding-left: 2.14vw;
    width: 74.4vw;
    height: 14.4vw;
    font-size: 3.73vw;
    line-height: 14.4vw;
    border-radius: 1.33vw;
  }

  .offer-btn::after {
    right: 4.27vw;
    width: 1.6vw;
    height: 2.71vw;
  }

  .offer-label {
    width: 11vw;
    height: 11vw;
    font-size: 2.4vw;
    line-height: 11vw;
  }
}

/*features*/
.features {
  text-align: center;
  padding: 4.17vw 0 2.6vw;
}

.features-title {
  font-size: 2.08vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgb(54, 106, 178);
}

.features-description {
  margin: 1.04vw auto;
  font-size: 1.15vw;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}

.features-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  width: 83.33vw;
}

.features-item {
  padding: 1.3vw 0;
  width: 26.35vw;
  background: rgba(255, 255, 255, 1);
  border-radius: 0.52vw;
}

.features-item img {
  width: 5.21vw;
}

.features-item-text {
  margin-top: 1.04vw;
  font-size: 1.35vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

.feature1 {
  border: 1px solid rgba(255, 0, 140, 1);
}

.feature2 {
  border: 1px solid rgba(255, 75, 75, 1);
}

.feature3 {
  border: 1px solid rgba(68, 185, 34, 1);
}

.feature4 {
  border: 1px solid rgba(54, 106, 178, 1);
}

.features-item + .features-item {
  margin-top: 1.56vw;
}

.features-img {
  width: 23.5vw;
}

@media screen and (max-width: 800px) {
  .features {
    padding: 13.33vw 0 9.33vw;
  }

  .features-title {
    font-size: 5.87vw;
    line-height: 1.4;
  }

  .features-title span {
    display: none;
  }

  .features-description {
    margin: 4vw auto 5.33vw;
    font-size: 3.73vw;
    line-height: 1.6;
  }

  .features-content {
    flex-wrap: wrap;
    justify-content: normal;
    gap: 2.67vw;
    width: 92vw;
  }

  .features-img {
    order: 1;
    margin-bottom: 2.67vw;
    padding: 0 20.4vw;
    width: 100%;
  }

  .features-group-left {
    order: 2;
  }

  .features-group-right {
    order: 3;
  }

  .features-item {
    padding: 3.2vw 0;
    width: 44.6vw;
    border-radius: 2.67vw;
  }

  .features-item img {
    width: 16vw;
  }

  .features-item-text {
    margin-top: 2.13vw;
    font-size: 3.47vw;
  }
}

/*usage*/
.usage {
  text-align: center;
  padding: 4.17vw 0;
  background: rgba(255, 255, 255, 1);
}

.usage-title {
  margin-bottom: 1.04vw;
  font-size: 2.08vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgba(54, 106, 178, 1);
}

.usage-description {
  font-size: 1.15vw;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}

.usage-list {
  display: flex;
  gap: 2.08vw;
  margin: 2.08vw auto 0;
  width: 83.33vw;
}

.usage-item-content {
  padding: 1.04vw 0;
  background: rgba(241, 247, 255, 1);
}

.usage-item-title {
  font-size: 1.35vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.usage-item-text {
  margin-top: 0.52vw;
  font-size: 0.94vw;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

@media screen and (max-width: 800px) {
  .usage {
    padding: 13.33vw 0 6.67vw;
  }

  .usage-title {
    margin-bottom: 4vw;
    font-size: 5.87vw;
    line-height: 1.4;
  }

  .usage-description {
    font-size: 3.73vw;
    line-height: 1.6;
  }

  .usage-description + .usage-description {
    margin-top: 4vw;
  }

  .usage-list {
    flex-wrap: wrap;
    gap: 4vw 2.67vw;
    margin: 8vw auto 0;
    width: 92vw;
  }

  .usage-item {
    width: 44.6vw;
  }

  .usage-item-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2.13vw 0;
    height: 21.1vw;
  }

  .usage-item-title {
    font-size: 4.53vw;
    line-height: 1.6;
  }

  .usage-item-text {
    margin-top: 0;
    font-size: 3.47vw;
    line-height: 1.4;
  }
}

/*promo*/
.promo {
  display: flex;
  align-items: center;
  gap: 2.14vw;
  padding: 3.02vw 0 1.41vw 9.11vw;
  background: rgba(224, 252, 249, 1);
}

.promo img {
  width: 28.77vw;
}

.promo-lead {
  position: relative;
  text-align: center;
  margin: auto;
  width: 28.02vw;
  height: 3.54vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 3.54vw;
  letter-spacing: 0.0333em;
  color: rgba(255, 255, 255, 1);
  background: rgba(232, 114, 115, 1);
  border-radius: 5.21vw;
}

.promo-lead::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  border-style: solid;
  border-width: 1.04vw 0.52vw 0 0.52vw;
  border-color: rgba(232, 114, 115, 1) transparent transparent;
  translate: -50% 99%;
}

.promo-price {
  margin: 1.51vw auto 2.08vw;
  padding: 1.56vw 5.21vw 1.04vw;

  height: 13.39vw;
  font-weight: 700;
  color: rgba(255, 255, 255, 1);
  background: rgba(3, 174, 151, 1);
  border-radius: 1.04vw;
}

.promo-note {
  font-size: 1.67vw;
  line-height: 1.47;
  letter-spacing: 0.03125em;
}

.promo-num {
  font-size: 5.99vw;
  line-height: 1.3;
  letter-spacing: 0.0435em;
}

.promo-unit {
  font-size: 4.69vw;
  line-height: 1.89;
}

@media screen and (max-width: 800px) {
  .promo {
    justify-content: center;
    padding: 13.33vw 0;
  }

  .promo img {
    display: none;
  }

  .promo-lead {
    width: 76vw;
    height: 9.6vw;
    font-size: 4.53vw;
    line-height: 9.6vw;
    border-radius: 26.66vw;
  }

  .promo-lead::after {
    border-width: 3vw 1.5vw 0 1.5vw;
  }

  .promo-price {
    text-align: center;
    margin: 4.02vw auto 5.33vw;
    padding: 4vw 7.2vw;
    height: 37.07vw;
    border-radius: 1.59vw;
  }

  .promo-note {
    font-size: 5.33vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .promo-num {
    font-size: 16vw;
    line-height: 1.4;
    letter-spacing: 0.0333em;
  }

  .promo-unit {
    font-size: 10.67vw;
    line-height: 2.1;
  }
}

/*procedure*/
.procedure {
  text-align: center;
  padding: 4.69vw 0;
  background: rgba(255, 255, 255, 1);
}

.procedure-title {
  font-size: 2.08vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgba(54, 106, 178, 1);
}

.procedure-list {
  margin: 2.08vw auto;
  padding: 0;
  width: 72.92vw;
  list-style: none;
}

.procedure-item + .procedure-item {
  position: relative;
  margin-top: 4.27vw;
}

.procedure-item + .procedure-item::before {
  content: "";
  position: absolute;
  top: -3.23vw;
  right: 0;
  left: 0;
  margin: auto;
  width: 4.38vw;
  height: 2.19vw;
  background: url(/wp-content/uploads/img/steps-arrow.svg) no-repeat center/contain;
}

.procedure-item-title {
  padding: 1.04vw 0;
  font-family: "Jost", sans-serif;
  font-size: 1.77vw;
  font-weight: 600;
  line-height: 1.44;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: rgba(54, 106, 178, 1);
}

.procedure-item-title span {
  display: inline-block;
  margin-right: 2.08vw;
  width: 7.55vw;
  height: 2.76vw;
  font-size: 1.56vw;
  font-weight: 600;
  line-height: 2.76vw;
  letter-spacing: 0;
  color: rgba(54, 106, 178, 1);
  background: rgba(255, 255, 255, 1);
  border-radius: 2.08vw;
}

.procedure-item-content {
  display: flex;
  gap: 1.56vw;
  padding: 1.56vw;
  background: rgba(241, 247, 255, 1);
}

.procedure-detail-step1 {
  flex: 1;
  padding: 1.61vw 0 0.31vw;
  background: rgba(255, 255, 255, 1);
  border-radius: 1.04vw;
}

.procedure-subtitle {
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgba(54, 106, 178, 1);
}

.procedure-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.33vw;
  margin-top: 1.72vw;
}

.purchase-img {
  width: 12.03vw;
}

.procedure-btn {
  display: inline-block;
  text-align: center;
  position: relative;
  padding-right: 0.59vw;
  width: 12.05vw;
  height: 5.05vw;
  font-size: 1.3vw;
  font-weight: 700;
  line-height: 5.05vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: linear-gradient(104.57deg, #44B922 25.11%, #0F88D5 94.77%);
  border-radius: 1.04vw;
}

.procedure-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.08vw;
  width: 0.57vw;
  height: 0.99vw;
  background: url(/wp-content/uploads/img/offer-btn-arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

.procedure-btn:hover {
  color: rgba(255, 255, 255, 1);
}

.procedure-box-text {
  margin-top: 0.78vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}

.procedure-store {
  display: flex;
  justify-content: center;
  gap: 5.17vw;
  margin-top: 1.04vw;
}

.procedure-store-content-app {
  width: 8.94vw;
}

.procedure-store-content-google {
  width: 9.91vw;
}

.qr-img {
  width: 7.66vw;
}

.procedure-detail-step2 {
  flex: 1;
  padding: 1.61vw 0 0;
  background: rgba(255, 255, 255, 1);
  border-radius: 1.04vw;
}

.procedure-detail-text {
  margin: 0.63vw auto 1.56vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
}

.registration-img {
  width: 11.63vw;
}

.code-img {
  width: 11.63vw;
}

.start-img {
  width: 13.61vw;
}

.procedure-note {
  text-align: left;
  margin: auto;
  padding: 2.08vw 2.6vw;
  width: 72.92vw;
  background: rgba(255, 236, 236, 1);
}

.procedure-note-title {
  margin-bottom: 0.52vw;
  font-size: 1.35vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.procedure-note-list {
  padding-left: 1.2vw;
  font-size: 1.04vw; 
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  list-style: disc;
}

.procedure-note-list a {
  text-decoration: underline;
}

@media screen and (max-width: 800px) {
  .procedure {
    padding: 13.33vw 0 4vw;
  }

  .procedure-title {
    font-size: 5.87vw;
    line-height: 1.4;
  }

  .procedure-list {
    margin: 4vw auto;
    width: 92vw;
  }

  .procedure-item-title {
    padding: 4vw 0;
    font-size: 4.8vw;
  }

  .procedure-item-title span {
    margin: 0 0 2.67vw 0;
    width: 28vw;
    height: 8.8vw;
    font-size: 4.27vw;
    line-height: 8.8vw;
    border-radius: 10.67vw;
  }

  .procedure-item-content {
    flex-direction: column;
    gap: 4vw;
    padding: 4vw;
  }

  .procedure-detail-step1 {
    padding: 5.33vw 0;
    border-radius: 2.67vw;
  }

  .procedure-subtitle {
    font-size: 5.33vw;
    line-height: 1.45;
  }

  .procedure-box {
    flex-direction: column;
    gap: 4.27vw;
    margin-top: 4.27vw;
  }

  .purchase-img {
    width: 36.22vw;
  }

  .procedure-btn {
    padding-right: 5.6vw;
    width: 38.67vw;
    height: 12.27vw;
    font-size: 4.27vw;
    line-height: 12.27vw;
    border-radius: 1.33vw;
  }

  .procedure-btn::after {
    right: 6.67vw;
    width: 1.6vw;
    height: 2.71vw;
  }

  .procedure-box-text {
    margin-top: 4.27vw;
    font-size: 4.27vw;
  }

  .procedure-store {
    flex-direction: column;
    align-items: center;
    gap: 2.67vw;
    margin-top: 4vw;
  }

  .qr-img {
    display: none;
  }

  .procedure-store-content-app {
    width: 41vw;
  }

  .procedure-store-content-google {
    width: 41vw;
  }

  .procedure-item + .procedure-item {
    margin-top: 13.43vw;
  }

  .procedure-item + .procedure-item::before {
    top: -9.43vw;
    width: 10.67vw;
    height: 5.43vw;
  }

  .procedure-detail-step2 {
    padding: 5.33vw 0 0;
    border-radius: 2.67vw;
  }

  .procedure-detail-text {
    margin: 2.67vw auto 3.47vw;
    font-size: 4.27vw;
    line-height: 1.4;
  }

  .registration-img {
    width: 46.84vw;
  }

  .code-img {
    width: 46.84vw;
  }

  .start-img {
    width: 55.27vw;
  }

  .procedure-note {
    padding: 5.33vw;
    width: 92vw;
  }

  .procedure-note-title {
    margin-bottom: 2.67vw;
    font-size: 4.27vw;
    line-height: 1.3;
  }

  .procedure-note-list {
    padding-left: 3.5vw;
    font-size: 3.47vw;
    color: rgba(35, 34, 31, 1);
  }
}

/*qa*/
.qa {
  margin: 4.17vw auto;
  padding: 4.69vw 5.21vw;
  width: 72.92vw;
  background: rgba(255, 255, 255, 1);
}

.qa-title {
  text-align: center;
  font-size: 2.08vw; 
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgb(54, 106, 178);
}

.qa-list {
  margin-top: 1.56vw;
}

.qa-list-item {
  border-bottom: 1px solid rgba(171, 171, 171, 1);
}

.qa-list-question {
  padding: 1.56vw 1.04vw 1.04vw;
  cursor: pointer;
}

.qa-list-question p {
  position: relative;
  padding-left: 2.08vw;
  text-indent: -1.04vw;
  font-size: 1.35vw;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;
}

.qa-list-question p::before {
  display: inline-block;
  content: 'Q';
  position: relative;
  left: 0;
  text-align: center;
  vertical-align: text-top;
  margin-right: 1.04vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(54, 106, 178, 1);
}

.qa-list-answer {
  padding: 0 1.04vw 1.56vw;
}

.qa-list-answer p {
  position: relative;
  padding-left: 2.08vw;
  text-indent: -1.04vw;
  font-size: 1.15vw;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.qa-list-answer p::before {
  display: inline-block;
  content: 'A';
  position: relative;
  left: 0;
  vertical-align: text-top;
  text-align: center;
  margin-right: 1.04vw;
  font-size: 1.56vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(0, 0, 0, 1);
}

p.no-before {
  padding-left: 3.12vw;
}

p.no-before::before {
  display: none;
}

.apps-list {
  padding-left: 3.5vw;
  font-size: 1.15vw;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  list-style: disc;
}

.qa-list a {
  text-decoration: underline;
}

@media screen and (max-width: 800px) {
  .qa {
    margin: 5.33vw auto;
    padding: 10.67vw 6.57vw;
    width: 92vw;
  }

  .qa-title {
    font-size: 5.87vw;
  }

  .qa-list {
    margin-top: 4vw;
  }

  .qa-list-question {
    padding: 4vw 1.33vw 2.67vw;
  }

  .qa-list-question p {
    padding-left: 5.31vw;
    text-indent: -2.6vw;
    font-size: 3.73vw;
    line-height: 1.3;
  }

  .qa-list-question p::before {
    margin-right: 1.31vw;
    font-size: 4.8vw;
  }

  .qa-list-answer {
    padding: 0 1.33vw 4vw;
  }

  .qa-list-answer p {
    padding-left: 5.31vw;
    text-indent: -2.3vw;
    font-size: 3.47vw;
  }

  .qa-list-answer p::before {
    margin-right: 1.31vw;
    font-size: 4.8vw;
  }

  p.no-before {
    padding-left: 5.31vw;
    text-indent: 0vw;
  }

  .apps-list {
    padding-left: 10vw;
    font-size: 3.47vw;
  }
}

/*plan*/
.plan {
  text-align: center;
  padding: 4.17vw 0;
  background: rgba(255, 255, 255, 1);
}

.plan-title {
  font-size: 2.08vw;
  font-weight: 700;
  line-height: 1.48;
  letter-spacing: 0;
  color: rgba(54, 106, 178, 1);
}

.plan-description {
  margin: 1.04vw auto 1.56vw;
  font-size: 1.15vw;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
}

.plan-list {
  display: flex;
  gap: 1.56vw;
  margin: auto;
  width: 72.92vw;
}

.plan-item {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.plan-item-title {
  position: relative;
  height: 5.73vw;
  font-size: 1.77vw;
  font-weight: 700;
  line-height: 5.73vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
}

.one-day .plan-item-title {
  background: rgba(138, 165, 182, 1);
}

.three-days .plan-item-title {
  background: rgba(245, 144, 4, 1);
}

.one-week .plan-item-title {
  background: rgba(0, 112, 175, 1);
}

.plan-item-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-grow: 1;
  padding: 1.56vw 0 2.6vw;
}

.one-day .plan-item-content {
  background: rgba(244, 245, 247, 1);
}

.three-days .plan-item-content {
  background: rgba(254, 244, 230, 1);
}

.one-week .plan-item-content {
  background: rgba(241, 247, 255, 1);
}

.plan-item-price {
  font-size: 4.17vw;
  font-weight: 700;
  line-height: 1.48;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.plan-item-currency {
  font-size: 2.08vw;
  line-height: 1;
}

.plan-item-tax {
  font-size: 1.04vw;
  line-height: 1;
}

.plan-item-label {
  display: inline-block;
  margin: 1.04vw auto 0.52vw;
  padding: 0 0.52vw;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0;
  border-top: solid 2px;
  border-bottom: solid 2px;
}

.one-day .plan-item-label {
  color: rgba(138, 165, 182, 1);
}

.three-days .plan-item-label {
  color: rgba(245, 144, 4, 1);
}

.one-week .plan-item-label {
  color: rgba(0, 112, 175, 1);
}

.plan-item-text {
  flex-grow: 1;
  margin-bottom: 1.82vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  color: rgba(35, 34, 31, 1);
}

.plan-item-btn {
  display: inline-block;
  width: 10.68vw;
  height: 3.39vw;
  font-size: 1.3vw;
  font-weight: 700;
  line-height: 3.39vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  border-radius: 5.21vw;
}

.one-day .plan-item-btn {
  background: rgba(138, 165, 182, 1);
}

.three-days .plan-item-btn {
  background: rgba(245, 144, 4, 1);
}

.one-week .plan-item-btn {
  background: rgba(0, 112, 175, 1);
}

.plan-item-btn:hover {
  color: rgba(255, 255, 255, 1);
}

.plan-item-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0.64vw;
  bottom: 0;
  width: 5.1vw;
  height: 5.1vw;
  font-size: 1.3vw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgba(245, 144, 4, 1);
  background: rgba(255, 255, 255, 1);
  border-radius: 50%;
  transform: translateY(50%);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
}

.plan-menu {
  display: none;
}

@media screen and (max-width: 800px) {
  .plan {
    padding: 10.67vw 0 8vw;
  }

  .plan-title {
    font-size: 5.87vw;
    line-height: 1.5;
  }

  .plan-description {
    margin: 4vw auto 6.13vw;
    font-size: 3.73vw;
    line-height: 1.6;
  }

  .plan-menu {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 2.67vw;
  }

  .plan-menu li {
    border-radius: 2.67vw 2.67vw 0 0;
  }

  .plan-menu li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.33vw;
    height: 17.07vw;
    font-size: 5.33vw;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 1);
  }

  .plan-menu li :hover {
    opacity: 1;
  }

  .plan-menu li a.active  {
    height: 19.73vw;
  }

  .menu-three-days a {
    width: 30.67vw;
  }

  .menu-one-day a, .menu-one-week a {
    width: 28vw;
  }

  .menu-one-day a::after, .menu-one-week a::after {
    content: "";
    width: 2.71vw;
    height: 1.6vw;
    background: url(/wp-content/uploads/img/plan-menu-arrow.svg) no-repeat center/contain;
  }

  .plan-menu li a.active::after {
    display: none;
  }

  .menu-one-day {
    background: rgba(138, 165, 182, 1);
  }

  .menu-three-days {
    background: rgba(245, 144, 4, 1);
  }

  .menu-one-week {
    background: rgba(0, 112, 175, 1);
  }

  .plan-menu-badge {
    text-align: center;
    width: 18.13vw;
    height: 5.33vw;
    font-size: 3.2vw;
    font-weight: 700;
    line-height: 5.33vw;
    letter-spacing: 0;
    color: rgba(245, 144, 4, 1);
    background: rgba(255, 255, 255, 1);
    border-radius: 26.67vw;
  }

  .plan-list {
    width: auto;
  }

  .plan-item {
    display: none;
  }

  .plan-item.active {
    display: flex;
  }

  .plan-item-title {
    display: none;
  }

  .plan-item-content {
    padding: 4vw 0 8vw;
  }

  .one-day .plan-item-content {
    border-top: 0.8vw solid rgba(138, 165, 182, 1);
    border-bottom: 0.8vw solid rgba(138, 165, 182, 1);
  }

  .three-days .plan-item-content {
    border-top: 0.8vw solid rgb(245, 144, 4);
    border-bottom: 0.8vw solid rgb(245, 144, 4);
  }

  .one-week .plan-item-content {
    border-top: 0.8vw solid rgba(0, 112, 175, 1);
    border-bottom: 0.8vw solid rgba(0, 112, 175, 1);
  }

  .plan-item-price {
    font-size: 13.54vw;
  }

  .plan-item-currency {
    font-size: 7.73vw;
  }

  .plan-item-tax {
    font-size: 3.87vw;
  }

  .plan-item-label {
    margin: 2.67vw auto 4vw;
    padding: 0 2.67vw;
    font-size: 5.33vw;
    line-height: 2.1;
  }

  .plan-item-text {
    margin-bottom: 5.33vw;
    font-size: 3.73vw;
  }

  .plan-item-btn {
    width: 40vw;
    height: 12.53vw;
    font-size: 4.8vw;
    line-height: 12.53vw;
    border-radius: 26.67vw;
  }
}

/*line-contact*/
.line-contact-description {
  margin-bottom: 2.08vw;
  font-size: 1.04vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0;
}

.line-contact-btn {
  display: inline-block;
  position: relative;
  padding-left: 1.56vw;
  width: 19.01vw;
  height: 3.55vw;
  font-size: 1.04vw;
  font-weight: 700;
  line-height: 3.55vw;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 1);
  background: rgba(68, 185, 34, 1);
  border-radius: 6.8vw;
}

.line-contact-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2.6vw;
  width: 2.03vw;
  height: 2.03vw;
  background: rgba(255, 255, 255, 1);
  transform: translateY(-50%);
  -webkit-mask-image: url(/wp-content/uploads/img/line.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url(/wp-content/uploads/img/line.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.line-contact-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.74vw;
  width: 1.04vw;
  height: 1.04vw;
  background: url(/wp-content/uploads/img/btn-arrow.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

.line-contact-btn:hover {
  color: rgba(255, 255, 255, 1);
}

@media screen and (max-width: 800px) {
  .line-contact-description {
    margin-bottom: 8vw;
    font-size: 3.47vw;
    line-height: 1.5;
  }

  .line-contact-btn {
    padding-left: 5.33vw;
    width: 72vw;
    height: 14.9vw;
    font-size: 4.27vw;
    line-height: 14.9vw;
    border-radius: 22.1vw;
  }

  .line-contact-btn::before {
    left: 9.33vw;
    width: 6.93vw;
    height: 6.93vw;
  }

  .line-contact-btn::after {
    right: 5.92vw;
    width: 3.63vw;
    height: 3.63vw;
  }
}

.logo_padding {
  padding: 10px 0px;
}