@charset "UTF-8";
/*====================================================================================
1. START MAIN VISUAL SECTION.
====================================================================================*/
.mainvisual {
  position: relative;
  background: url("../images/MV-bg.webp") no-repeat top center/cover;
  overflow: hidden;
  z-index: 3;
}
.mainvisual h1 {
  font-weight: bold;
  font-size: 1.5rem;
}
.mainvisual__logo {
  width: 80%;
  max-width: 80rem;
}
@media only screen and (max-width: 767px) {
  .mainvisual {
    padding-top: 10rem;
    height: 85vh;
    min-height: 50rem;
    max-height: 80rem;
  }
}
@media only screen and (min-width: 768px) {
  .mainvisual {
    height: 180vh;
    padding-top: 18rem;
  }
  .mainvisual h1 {
    font-size: 2rem;
  }
  .mainvisual__logo {
    margin-top: -4rem;
    max-width: 80rem;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 1200px) {
  .mainvisual__logo {
    width: 100%;
    max-width: 65rem;
  }
}
@media only screen and (min-width: 1441px) {
  .mainvisual__logo {
    max-width: 100%;
  }
}

.screenshot-wrapper {
  position: absolute;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  padding-top: 3rem;
  pointer-events: none;
  flex-direction: unset;
  align-items: unset;
}
.screenshot-wrapper .screenshot {
  position: absolute;
  width: 80%;
  height: auto;
  transform: none;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
@media only screen and (max-width: 767px) {
  .screenshot-wrapper {
    top: 50vh;
    left: 2%;
    height: 500px;
  }
  .screenshot-wrapper .screenshot {
    max-width: 100%;
  }
  .screenshot-wrapper .screenshot.sp {
    top: 7rem;
    width: 45%;
  }
  .screenshot-wrapper .screenshot.pc {
    position: absolute;
    top: 2rem;
    width: 115%;
    left: 15%;
  }
}
@media only screen and (min-width: 768px) {
  .screenshot-wrapper {
    top: 55vh;
    left: 12%;
    height: 1600px;
  }
  .screenshot-wrapper .screenshot {
    width: 80%;
  }
  .screenshot-wrapper .screenshot.sp {
    left: 0%;
    top: 12rem;
    transform: rotate(0);
    z-index: 1;
  }
  .screenshot-wrapper .screenshot.pc {
    right: -40px;
    top: 0;
    transform: rotate(0deg);
    z-index: 2;
  }
}
@media (max-width: 1500px) and (max-height: 650px) {
  .screenshot-wrapper {
    top: 78vh;
  }
}

/*====================================================================================
2. START MAIN TOP
====================================================================================*/
/*---------- START list-btn  ----------*/
.list-btn {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 2rem;
}
.list-btn--center {
  justify-content: center;
}
.list-btn .c-btn {
  width: 35rem;
}
.list-btn .c-btn__link {
  width: 100%;
  padding: 1.7rem 1rem;
}
@media only screen and (min-width: 768px) {
  .list-btn {
    gap: 3rem;
    margin-top: 4rem;
  }
}

/*---------- START head-catch  ----------*/
.head-catch {
  position: relative;
  background: #F5F5F5;
  padding: 3.5rem 0 2.5rem;
  z-index: 3;
}
.head-catch:after {
  position: absolute;
  content: "";
  background: linear-gradient(to top, rgb(245, 245, 245) 0%, rgba(245, 245, 245, 0.8) 30%, rgba(245, 245, 245, 0.4) 60%, rgba(245, 245, 245, 0) 100%);
  width: 100%;
  height: 10rem;
  top: -10rem;
  left: 0;
}
.head-catch__ttl {
  font-size: 3rem;
  text-align: center;
  line-height: 1.3;
}
.head-catch__ttl .dot {
  position: relative;
}
.head-catch__ttl .dot:after {
  position: absolute;
  content: "";
  background: #1A1A1C;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  left: 0;
  right: 0;
  top: -1rem;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .head-catch:after {
    height: 7rem;
    top: -7rem;
  }
}
@media only screen and (min-width: 768px) {
  .head-catch {
    padding: 8rem 0 5rem;
  }
  .head-catch__ttl {
    font-size: 6rem;
  }
  .head-catch__ttl .dot:after {
    width: 1.6rem;
    height: 1.6rem;
  }
}

/*---------- START Function_Environment  ----------*/
.Function_Environment {
  background: url("../images/function-bg.webp") no-repeat top center/cover;
  padding: 3rem 0 4rem;
}
.Function_Environment .c-title01__txt-eng {
  color: var(--white);
}
@media only screen and (min-width: 768px) {
  .Function_Environment {
    padding: 5rem 0 8rem;
  }
}

/*---------- START SLIDE  ----------*/
.card {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 2rem 1rem;
  text-align: center;
}
.card__icon {
  margin-bottom: 0.5rem;
}
.card__icon img {
  width: 10.8rem !important;
}
.card .title {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}
.card .desc {
  font-size: 1.4rem;
}
.card .desc p + p {
  margin-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .card {
    padding: 4rem 1.5rem;
    text-align: center;
  }
  .card__icon {
    margin-bottom: 1rem;
  }
  .card .title {
    font-size: 2.4rem;
    margin-bottom: 1rem;
  }
  .card .desc p + p {
    margin-top: 1rem;
  }
}

/*---------- START carousel3d ----------*/
#carousel3d .carousel-3d-slide {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #E5E5E5;
  padding: 1rem;
  transition: all 0.4s;
}
#carousel3d .carousel-3d-slide.current {
  background-color: #fff;
}
#carousel3d .carousel-3d-slide.current span {
  font-size: 2rem;
  font-weight: 500;
}
#carousel3d .carousel-3d-slide {
  counter-increment: Number;
}
#carousel3d .carousel-3d-slide:after {
  position: absolute;
  content: counter(Number, decimal-leading-zero);
  background: linear-gradient(to right, #FCBF08, #F0A400, #FED644, #E69805);
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: 9rem;
  height: 8rem;
  top: 0;
  right: 0;
  color: #1A1A1C;
  font-family: var(--font-Open_Sans);
  font-style: italic;
  font-size: 3rem;
  font-weight: 900;
  padding-right: 0.5rem;
}
#carousel3d .next, #carousel3d .prev {
  color: #fff;
}
@media only screen and (min-width: 768px) {
  #carousel3d .carousel-3d-slide {
    min-height: 36rem !important;
  }
  #carousel3d .carousel-3d-slide.current {
    min-height: 36rem !important;
  }
  #carousel3d .carousel-3d-slide.current .card {
    min-height: 36rem !important;
  }
  #carousel3d .carousel-3d-container {
    min-height: 36rem !important;
  }
}
@media only screen and (max-width: 767px) {
  #carousel3d .carousel-3d-slide {
    min-height: 32rem !important;
  }
  #carousel3d .carousel-3d-slide.current {
    min-height: 32rem !important;
  }
  #carousel3d .carousel-3d-slide.current .card {
    min-height: 32rem !important;
  }
  #carousel3d .carousel-3d-container {
    min-height: 32rem !important;
  }
  #carousel3d .next, #carousel3d .prev {
    color: #5f5b31;
  }
  #carousel3d .next {
    right: 0;
  }
  #carousel3d .prev {
    left: 0;
  }
}

/*---------- START list-card  ----------*/
.list-card {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.list-card__item {
  position: relative;
  background: #fff;
  width: 100%;
  padding: 1rem;
  z-index: 2;
}
.list-card__item:after {
  position: absolute;
  content: "";
  background: #F4F3F1;
  clip-path: polygon(0 0, 50% 0, 100% 100%, 0% 100%);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
.list-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--brown);
  margin-bottom: 1rem;
}
.list-card__icon {
  display: flex;
  gap: 1rem;
  width: 6rem;
  min-width: 6rem;
  max-width: 6rem;
  height: auto;
  max-height: 4.5rem;
}
.list-card__icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.list-card__title {
  width: calc(100% - 7rem);
  font-weight: bold;
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .list-card {
    gap: 3.5rem;
  }
  .list-card__item {
    width: calc((100% - 7rem) / 3);
    padding: 2rem 3rem;
  }
  .list-card__icon {
    width: 8rem;
    min-width: 8rem;
    max-width: 8rem;
    max-height: 6.5rem;
  }
  .list-card__title {
    width: calc(100% - 9rem);
    font-size: 2rem;
  }
}

/*---------- START c-list_btn  ----------*/
.c-list_btn {
  background: #222;
  padding: 4rem 0;
}
.c-list_btn .list-btn {
  justify-content: center;
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .c-list_btn {
    padding: 8rem 0;
  }
  .c-list_btn .list-btn {
    gap: 5rem;
  }
}

/*---------- START Security_DLP  ----------*/
.Security_DLP {
  background: url("../images/security-bg.webp") no-repeat top center/cover;
  padding: 4rem 0 6rem;
}
@media only screen and (min-width: 768px) {
  .Security_DLP {
    padding: 8rem 0 12rem;
  }
}

.card-security {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}
.card-security__item {
  width: 100%;
  background: #232323;
  border-radius: 1.6rem;
  padding: 2rem 1.5rem;
}
.card-security__icon {
  text-align: center;
  margin-bottom: 1.5rem;
}
.card-security__icon img {
  zoom: 50%;
}
.card-security__title {
  color: var(--olive);
  font-weight: bold;
  text-align: center;
  font-size: 1.8rem;
}
.card-security__decs {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .card-security__icon img {
    width: auto;
    max-height: 15rem;
  }
}
@media only screen and (min-width: 768px) {
  .card-security {
    gap: 4rem;
  }
  .card-security__item {
    width: calc((100% - 4rem) / 2);
    max-width: 42rem;
    padding: 4rem;
  }
  .card-security__icon {
    margin-bottom: 3rem;
  }
  .card-security__title {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
}

/*---------- START Plan  ----------*/
.Plan {
  background: url("../images/plan.webp") no-repeat top center/100%;
  padding: 4rem 0 6rem;
}
.Plan .container {
  max-width: 80rem;
}
.Plan .price {
  display: flex;
  justify-content: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--gray);
}
.Plan .price__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  line-height: 1;
}
.Plan .price__txt01 {
  font-size: 1.6rem;
  font-weight: bold;
}
.Plan .price__txt02 {
  color: var(--red);
  font-size: 1.6rem;
  font-weight: 900;
}
.Plan .price__txt02 small {
  font-size: 1.4rem;
  font-weight: 500;
}
.Plan .price__number {
  font-size: 5rem;
  font-family: var(--font-Open_Sans);
  font-style: italic;
}
.Plan .price__decs {
  font-size: 1.2rem;
  margin-top: 1.5rem;
}
.Plan .price__decs p + p {
  margin-top: 1rem;
}
.Plan .price__btn {
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
}
.Plan .price__btn .c-btn__link {
  width: 100%;
  max-width: 56rem;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 1.5rem 3rem;
}
.Plan .price__btn .c-btn__link .c-arr {
  position: absolute;
  right: 1rem;
}
@media only screen and (min-width: 768px) {
  .Plan {
    padding: 8rem 0 12rem;
  }
  .Plan .price {
    padding-bottom: 5rem;
  }
  .Plan .price__head {
    gap: 1rem;
  }
  .Plan .price__txt01 {
    font-size: 3.4rem;
  }
  .Plan .price__txt02 {
    font-size: 2.9rem;
  }
  .Plan .price__txt02 small {
    font-size: 2rem;
  }
  .Plan .price__number {
    font-size: 9.2rem;
  }
  .Plan .price__decs {
    margin-top: 3rem;
  }
  .Plan .price__btn {
    margin-top: 3rem;
  }
  .Plan .price__btn .c-btn__link {
    font-size: 1.9rem;
    padding: 2.5rem 7rem;
  }
  .Plan .price__btn .c-btn__link .c-arr {
    right: 3rem;
  }
}

.list-indent1 {
  margin-top: 1rem;
}
.list-indent1 li {
  text-indent: -1.8rem;
  margin-left: 1.8rem;
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .list-indent1 {
    margin-top: 1.5rem;
  }
  .list-indent1 li {
    text-indent: -2rem;
    margin-left: 2rem;
    margin-bottom: 1rem;
  }
}

.list-indent2 {
  margin-top: 1rem;
}
.list-indent2 li {
  text-indent: -2.3rem;
  margin-left: 2.3rem;
}
@media only screen and (min-width: 768px) {
  .list-indent2 {
    margin-top: 1.5rem;
  }
  .list-indent2 li {
    text-indent: -2.6rem;
    margin-left: 2.6rem;
  }
}

/*---------- START Movie  ----------*/
.Movie {
  padding: 4rem 0;
}
@media only screen and (min-width: 768px) {
  .Movie {
    padding: 8rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .Movie .youtube iframe {
    width: auto;
    height: auto;
    min-width: 100%;
    max-width: 100%;
    min-height: 200px;
  }
}

/*---------- START White_Paper  ----------*/
.White_Paper {
  background: url("../images/white_paper-bg.webp") no-repeat center/cover;
  padding: 4rem 0 2rem;
}
.White_Paper .c-title01 span {
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .White_Paper {
    padding: 8rem 0 4rem;
  }
}

/*---------- START c-contact  ----------*/
.c-contact {
  padding: 2rem 0 4rem;
}
.c-contact .container {
  max-width: 108rem;
}
.c-contact__terms {
  width: 100%;
  background: #F5F5F5;
  border: 1px solid var(--gray);
  max-height: 25rem;
  overflow: auto;
  padding: 2rem 1rem;
  margin-top: 2rem;
}
.c-contact__terms * + h3 {
  margin-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .c-contact {
    padding: 5rem 0 8rem;
  }
  .c-contact__terms {
    padding: 2rem;
  }
  .c-contact__terms * + h3 {
    margin-top: 2rem;
  }
}

.list-dot {
  margin-top: 1rem;
}
.list-dot li {
  position: relative;
  padding-left: 2rem;
}
.list-dot li:after {
  position: absolute;
  content: "";
  background: #1A1A1C;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  left: 0;
  top: 1rem;
}
@media only screen and (min-width: 768px) {
  .list-dot {
    margin-top: 2rem;
  }
}

/*---------- START form ----------*/
.form {
  display: block;
  width: 100%;
}
.form .form-content {
  background: #fff;
  padding: 1.5rem;
}
.form .form-content__dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid var(--gray);
}
.form .form-content__dl:last-child {
  border-bottom: 1px solid var(--gray);
}
.form .form-content__dt {
  background: var(--dark_gray);
  position: relative;
  display: flex;
  align-items: flex-start;
  font-weight: bold;
}
.form .form-content__dd {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.form .form-content__title {
  position: relative;
  width: 100%;
  font-weight: bold;
}
.form .form-content__title:after {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  text-align: center;
  line-height: 1;
  font-weight: normal;
  width: 3rem;
  height: 1.9rem;
  font-size: 1.1rem;
}
.form .form-content__title.hissu:after {
  border: 1px solid var(--red);
  color: var(--red);
  content: "必須";
}
.form .form-content__title.ninni:after {
  border: 1px solid var(--gray);
  color: var(--gray);
  content: "任意";
}
.form .form-content .selectable {
  width: 100%;
  min-width: 30rem;
  appearance: auto;
}
.form .form-content .error {
  color: #ff0000;
  font-size: 1.2rem;
  font-weight: normal;
}
.form .form-content .ipt-error {
  background: #f9e6db;
}
@media only screen and (max-width: 767px) {
  .form .form-content dl {
    position: relative;
  }
  .form .form-content__dt, .form .form-content__dd {
    display: block;
    width: 100% !important;
    padding: 1rem;
  }
  .form .form-content dt:after {
    height: 2px;
  }
  .form .form-content__title {
    display: block;
    width: 100%;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .form .form-content__dt {
    width: 28rem;
    padding: 1.5rem 0;
  }
  .form .form-content__dd {
    width: calc(100% - 28rem);
    padding: 1.5rem 0;
    padding-left: 6rem;
  }
  .form .form-content__title {
    font-size: 1.6rem;
    padding-right: 4rem;
  }
}

/*---------- START Contact ----------*/
.Contact {
  background: url("../images/contact-bg.webp") no-repeat center/cover;
  padding: 4rem 0 2rem;
}
.Contact .c-title01 span {
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .Contact {
    padding: 8rem 0 4rem;
  }
}

.btn-contact {
  display: flex;
  justify-content: center;
}
.btn-contact .c-btn__link {
  width: 100%;
  max-width: 56rem;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 1.5rem 3rem;
}
.btn-contact .c-btn__link .c-arr {
  position: absolute;
  right: 1rem;
}
@media only screen and (min-width: 768px) {
  .btn-contact .c-btn__link {
    font-size: 1.9rem;
    padding: 2.5rem 7rem;
  }
  .btn-contact .c-btn__link .c-arr {
    right: 3rem;
  }
}

/*---------- START FAQ ----------*/
.faq {
  background: url("../images/faq-bg.webp") no-repeat top center/cover, #F5F5F5;
  padding: 6rem 0;
}
.faq__box {
  width: 100%;
  background: #fff;
  border-radius: 1.2rem;
  padding: 3rem 1.5rem;
}
.faq__section {
  width: 100%;
  position: relative;
  border-top: 1px solid var(--gray);
}
.faq__section:last-child {
  border-bottom: 1px solid var(--gray);
}
.faq__section_name {
  padding: 1rem;
}
.faq__section_name span {
  display: inline-block;
  background: url("../images/faq-icon.webp") no-repeat top left;
  background-size: 3.6rem;
  padding: 0.5rem;
  padding-left: 5rem;
  font-weight: bold;
  font-size: 1.6rem;
}
.faq__ttl {
  position: relative;
  width: 100%;
  cursor: pointer;
}
.faq__ttl:after, .faq__ttl:before {
  position: absolute;
  content: "";
  top: 0;
  right: 1rem;
  bottom: 0;
  width: 14px;
  height: 2px;
  margin: auto;
  background-color: #000;
}
.faq__ttl:after {
  transform: rotate(-90deg);
  transition: transform 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
}
.faq__ttl.active:after {
  transform: rotate(0);
}
.faq__section_content {
  display: none;
  background: #F5F5F5;
  padding: 2rem 1rem;
}
.faq__desc {
  margin-bottom: 1.5rem;
}
.faq__desc:last-child {
  margin-bottom: 0;
}
.faq__summary {
  background: #000;
  color: #fff;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 1rem;
}
.faq__summary span {
  position: relative;
  display: inline-block;
  padding: 0 2.5rem;
}
.faq__summary span:after {
  position: absolute;
  content: "Q";
  color: #fff;
  font-weight: bold;
  font-size: 1.7rem;
  font-family: var(--font-Open_Sans);
  line-height: 1;
  top: 0rem;
  left: 0;
}
.faq__summary.faq__ttl:after, .faq__summary.faq__ttl:before {
  background: #fff;
  width: 10px;
}
.faq__detail {
  position: relative;
  display: none;
  padding-top: 1rem;
  padding-left: 3.5rem;
}
.faq__detail:after {
  position: absolute;
  content: "A";
  font-weight: bold;
  font-size: 2rem;
  font-family: var(--font-Open_Sans);
  line-height: 1;
  top: 1.5rem;
  left: 1rem;
}
.faq__detail .btn-olive {
  width: 30rem;
  max-width: 100%;
  font-size: 1.6rem;
}
.faq__detail .btn-olive .icon__trial {
  background-size: 2.5rem;
  padding-left: 3.5rem;
}
@media only screen and (min-width: 768px) {
  .faq {
    padding: 12rem 0;
  }
  .faq__box {
    padding: 5rem;
  }
  .faq__section_name {
    padding: 1.5rem 2rem;
    padding-right: 5rem;
  }
  .faq__ttl:after, .faq__ttl:before {
    width: 18px;
    right: 1.6rem;
  }
  .faq__section_content {
    padding: 4rem 6rem;
  }
  .faq__desc {
    margin-bottom: 3rem;
  }
  .faq__summary {
    padding: 1rem 1.5rem;
  }
  .faq__summary.faq__ttl:after, .faq__summary.faq__ttl:before {
    width: 12px;
  }
  .faq__summary span:after {
    font-size: 2.4rem;
    top: -0.2rem;
  }
  .faq__detail {
    padding-top: 2rem;
    padding-left: 4.5rem;
  }
  .faq__detail:after {
    font-size: 2.8rem;
    top: 2rem;
    left: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq__section_name span {
    padding-right: 2rem;
  }
}

/*---------- START PRICE BOX ----------*/
.price-box {
  width: 100%;
  max-width: 75rem;
  margin: auto;
}
.price-box .number-account {
  width: 100%;
  background: #E8E9EC;
  display: flex;
  align-items: center;
  padding: 1rem;
  gap: 1rem;
}
.price-box .number-account label {
  font-weight: bold;
  font-size: 1.5rem;
  white-space: nowrap;
}
.price-box .number-account #account-count {
  appearance: auto;
  background: #fff;
}
.price-box .option-box {
  width: 100%;
  border: 2px solid var(--gray);
  border-radius: 0.4rem;
  padding: 1rem 2rem;
  margin: 2rem 0;
}
.price-box .option-box label {
  display: flex;
  align-items: center;
  gap: 5px;
}
.price-box__txt-note {
  font-size: 1.2rem;
}
.price-box .arrow {
  text-align: center;
  margin: 1.5rem 0;
}
.price-box .arrow img {
  zoom: 50%;
}
.price-box__main-price {
  position: relative;
  padding: 0 2px;
}
.price-box__main-price:after, .price-box__main-price:before {
  position: absolute;
  content: "";
  background: var(--gray);
  width: 2px;
  height: 86%;
  top: 0;
  bottom: 0;
  margin: auto;
}
.price-box__main-price:after {
  left: 0;
}
.price-box__main-price:before {
  right: 0;
}
.price-box__main-price .notes {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-flow: column;
  align-items: center;
  border-bottom: 4px solid #000;
  padding: 1.5rem 0;
}
.price-box__main-price .notes .list-indent1 {
  margin-top: 0;
}
.price-box__main-price .notes .list-indent1 li {
  margin-bottom: 0;
}
.price-box__main-price .notes .c-btn__link {
  width: 25rem;
  font-size: 1.3rem;
  font-weight: bold;
}
.price-box__main-price .notes .c-btn__link .c-arr {
  position: absolute;
  right: 1rem;
  padding: 3px;
  border-width: 2px;
}
.price-box__table {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 2px;
}
.price-box__table:after, .price-box__table:before {
  position: absolute;
  content: "";
  background: #000;
  width: calc(100% - 2rem);
  height: 4px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.price-box__table:before {
  width: calc(100% + 4px);
  top: 0;
  left: -2px;
  bottom: auto;
  z-index: 3;
}
.price-box__column {
  position: relative;
  flex: 1;
  text-align: center;
}
.price-box__column:first-child:after {
  position: absolute;
  content: "";
  width: 2px;
  height: 80%;
  background: var(--gray);
  right: -2px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.price-box__header {
  font-weight: bold;
  padding: 1.5rem 0;
}
.price-box__header.bg-yellow {
  background: url("../images/bg-yellow.webp") repeat top center;
}
.price-box__header.bg-pink {
  background: url("../images/bg-pink.webp") repeat top center;
}
.price-box__value {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  font-size: 2.6rem;
  font-weight: bold;
  font-family: var(--font-Open_Sans);
  color: var(--red);
  padding: 1.5rem 0;
  font-weight: 900;
  line-height: normal;
}
.price-box__value small {
  font-size: 1.5rem;
}
.price-box__value span {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .price-box .arrow img {
    width: auto;
    height: 8rem;
  }
}
@media only screen and (min-width: 768px) {
  .price-box .number-account {
    padding: 1rem 2rem;
  }
  .price-box .number-account label {
    font-size: 1.8rem;
  }
  .price-box .arrow {
    margin: 3rem 0;
  }
  .price-box__main-price .notes {
    padding: 3rem 0;
  }
  .price-box__header {
    padding: 2.5rem 0;
  }
  .price-box__value {
    font-size: 5rem;
    padding: 2.5rem 0;
  }
  .price-box__value small {
    font-size: 2rem;
  }
  .price-box__value span {
    font-size: 3rem;
  }
}

/*====================================================================================
3. START CONFIRM
====================================================================================*/
.p-second .c-main {
  margin-top: var(--headerH);
}

.contact-group-btn {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 2.5rem auto 0;
  gap: 2rem;
}
.contact-group-btn .c-btn {
  width: 30rem;
}
.contact-group-btn .c-btn__link {
  width: 100%;
  font-weight: bold;
  padding: 1.5rem 3rem;
}
.contact-group-btn .c-btn__link .c-arr {
  position: absolute;
  right: 1rem;
}
.contact-group-btn .c-btn__link .c-arr--back {
  right: auto;
  left: 1rem;
  transform: rotate(-135deg);
}
.contact-group-btn .contact-btn {
  position: relative;
  width: 30rem;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  margin-top: 0;
  z-index: 3;
}
.contact-group-btn .contact-btn input {
  width: 100%;
  outline: none;
  border: none;
  cursor: pointer;
  padding: 1.5rem 3rem;
}
.contact-group-btn .contact-btn .c-arr {
  position: absolute;
  right: 1rem;
}
@media only screen and (min-width: 768px) {
  .contact-group-btn {
    margin: 5rem auto 0;
    gap: 5rem;
  }
}

/*====================================================================================
4. START TRIAL
====================================================================================*/
.c-mv {
  background: url("../trial/images/bg_trial_mv.png") no-repeat center/cover;
  height: 16rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-mv h1 {
  text-align: center;
}
.c-mv h1 img {
  display: inline-block;
  max-width: 20rem;
  margin-bottom: 1rem;
}
.c-mv h1 p {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 7px;
}
@media only screen and (min-width: 768px) {
  .c-mv {
    height: 32rem;
  }
  .c-mv h1 img {
    max-width: 30rem;
    margin-bottom: 1.5rem;
  }
}

.questionnaire_wrapper {
  padding: 2rem;
  border: solid 1px #ccc;
  margin: 3rem auto 1rem;
}
.questionnaire_wrapper p {
  margin-bottom: 1rem;
}
.questionnaire_wrapper .contact_q_box {
  display: flex;
  flex-flow: wrap;
  gap: 2rem 3rem;
  margin-top: 3rem;
}
.questionnaire_wrapper .contact_q_box .contact_q_label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.questionnaire_wrapper .contact_q_box .contact_q_label:last-child {
  width: 100%;
}
.questionnaire_wrapper .contact_q_box .contact_q_label:last-child .contact_q_txt {
  white-space: nowrap;
}
.questionnaire_wrapper .contact_q_box .contact_q_label .acquaintance {
  max-width: 30rem;
}