@charset "UTF-8";
body {
  padding: 180px 0 0; }

.anchor {
  padding: 150px 0 0;
  margin: -150px 0 0;
  display: block;
  position: relative;
  z-index: -1; }

/*max-width:1280px*/
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .anchor {
    padding: 50px 0 0;
    margin: -50px 0 0; }

  body {
    padding: 105px 0 0; } }
/*max-width:480px*/
/********************************************/
.nekko_toggle {
  display: none; }

/*max-width:1280px*/
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .nekko_toggle {
    position: fixed;
    right: 15px;
    top: 95px;
    background-color: #256D5A;
    border: 1px solid #fff;
    color: #fff;
    display: block;
    width: 65px;
    height: 65px;
    border-radius: 50px;
    display: flex;
    z-index: 777;
    flex-direction: column;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    padding: 0 0 5px;
    transition: .3s; }
    .nekko_toggle.active {
      top: 85px; }
    .nekko_toggle.open {
      transform: rotateY(-180deg);
      top: 20px;
      z-index: 99999; }
      .nekko_toggle.open span:nth-of-type(1) {
        transform: rotate(30deg);
        top: 7%; }
      .nekko_toggle.open span:nth-of-type(2) {
        transform: rotate(-30deg);
        top: -8%; }
      .nekko_toggle.open p {
        transform: rotateY(-180deg); }
    .nekko_toggle span {
      transition: .3s;
      width: 28px;
      height: 3px;
      border-radius: 5px;
      background-color: #fff;
      display: block;
      margin: 0 auto 6px;
      position: relative; }
    .nekko_toggle p {
      width: 100%;
      position: relative;
      font: 1.1rem / 1em "Noto Sans JP", serif;
      font-weight: 700;
      text-align: center; }
      .nekko_toggle p:before {
        position: absolute;
        content: "nekko";
        width: 100%;
        height: auto;
        text-align: center;
        left: 0;
        top: 0; } }
/*max-width:480px*/
/********************************************/
.lp_menu {
  background-color: #256D5A;
  position: fixed;
  left: 0;
  top: 120px;
  width: 100%;
  transition: .3s;
  z-index: 8888;
  padding: 20px 0 21px; }
  .lp_menu.active {
    top: 105px; }
  .lp_menu ul {
    max-width: 840px;
    width: calc(100% - 80px);
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start; }
  .lp_menu a {
    font: 1.6rem/1em "Noto Sans JP", serif;
    font-weight: 700;
    text-decoration: none;
    color: #fff; }

@media (hover: hover) {
  .lp_menu a:hover {
    color: yellow; } }
@media (max-width: 768px) {
  .lp_menu {
    background-color: #256D5A;
    position: fixed;
    left: 0;
    top: 120px;
    width: 100%;
    transition: .3s;
    z-index: 8888;
    overflow-x: scroll;
    padding: 0 0;
    padding: 0; }
    .lp_menu.active {
      top: 102px; }
      .lp_menu.active ul:before, .lp_menu.active ul:after {
        display: block;
        position: fixed;
        content: "";
        width: 20px;
        height: 20px;
        top: 122px; }
    .lp_menu .nav {
      position: relative;
      max-width: 768px;
      width: 768px;
      padding: 20px 30px; }
    .lp_menu ul {
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      position: relative; }
    .lp_menu a {
      font: 1.6rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      text-decoration: none;
      color: #fff; }

  .lp_menu::-webkit-scrollbar {
    height: 10px; }

  .lp_menu::-webkit-scrollbar-thumb {
    background: #9C5C43; }

  .lp_menu::-webkit-scrollbar-track {
    background: #595757; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .lp_menu {
    display: block;
    opacity: 0;
    z-index: 9999;
    pointer-events: none;
    transition: .3s;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0 !important;
    left: 0;
    overflow-y: scroll;
    overflow-x: hidden; }
    .lp_menu.open {
      pointer-events: all;
      z-index: 9999;
      opacity: 1; }
    .lp_menu .nav {
      position: relative;
      max-width: 768px;
      width: 100%;
      padding: 100px 30px 100%;
      margin: 0 auto; }
    .lp_menu ul {
      display: block;
      width: 100%; }
    .lp_menu a {
      font: 1.8rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      text-decoration: none;
      color: #fff;
      display: block;
      padding: 20px;
      border-bottom: dashed 1px #fff;
      position: relative; }
      .lp_menu a:before {
        position: absolute;
        content: "";
        top: 54%;
        left: auto;
        right: 20px;
        transform: translate(0%, -50%) rotate(45deg);
        width: 8px;
        height: 8px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff; }

  .lp_menu::-webkit-scrollbar {
    width: 1px; } }
/*max-width:480px*/
/********************************************/
.mv {
  width: 100%;
  position: relative;
  z-index: 10; }
  .mv:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/lp/circle_orange.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 1/1;
    width: 100%;
    max-width: 200px;
    height: auto;
    right: 5%;
    bottom: 5%;
    z-index: 10; }
  .mv:after {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/lp/taniku.png") center right no-repeat;
    background-size: contain;
    aspect-ratio: 498/843;
    width: 100%;
    max-width: 498px;
    bottom: -50%;
    height: auto;
    left: 0; }
  .mv .mv_box {
    width: 100%;
    height: 865px;
    background: url("../images/lp/mv.jpg") right top no-repeat;
    background-size: cover;
    position: relative; }
    .mv .mv_box:before {
      position: absolute;
      content: "";
      display: block;
      width: 100%;
      background: url("../images/lp/mv_line.png") center bottom no-repeat;
      background-size: 1920px142px;
      height: 142px;
      left: 0;
      bottom: 0; }
  .mv .mv_txt {
    max-width: 1200px;
    width: calc(100% - 80px);
    margin: 0 auto;
    height: 100%;
    padding: 0 0 8%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    z-index: 10;
    color: #fff;
    text-align: center; }
    .mv .mv_txt > div {
      max-width: 750px;
      width: 100%; }
    .mv .mv_txt .txt {
      background: url("../images/lp/mv_txt.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 723/451;
      width: 100%;
      max-width: 723px;
      height: auto;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap; }

@media (max-width: 1366px) {
  .mv:before {
    right: 20px;
    bottom: 5%; }
  .mv:after {
    transform: scale(0.8);
    transform-origin: center left; } }
/*max-width:1366px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .mv:before {
    max-width: 120px;
    height: auto;
    right: 10px;
    bottom: 10px;
    z-index: 10; }
  .mv:after {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/lp/taniku_all.png") center right no-repeat;
    background-size: contain;
    aspect-ratio: 689/843;
    width: 100%;
    max-width: 350px;
    bottom: -300px;
    height: auto;
    left: 0;
    transform: scale(1) rotate(-45deg); }
  .mv .mv_box {
    aspect-ratio: 3/4;
    width: 100%;
    max-width: 100%;
    height: 550px;
    background: url("../images/lp/mv.jpg") center right no-repeat;
    background-size: cover;
    position: relative; }
    .mv .mv_box:before {
      background: url("../images/lp/mv_line.png") center bottom no-repeat;
      background-size: 768px auto;
      height: 60px; }
  .mv .mv_txt {
    padding: 0 0 10%; }
    .mv .mv_txt .txt {
      background: url("../images/lp/sp_mv_txt.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 728/475;
      width: 90%;
      max-width: 480px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .mv:before {
    max-width: 120px;
    height: auto;
    right: 10px;
    bottom: 10px;
    z-index: 10; }
  .mv .mv_box {
    height: auto; }
    .mv .mv_box:before {
      background: url("../images/lp/mv_line.png") center bottom no-repeat;
      background-size: 540px auto;
      height: 48px; }

  .mv:after {
    max-width: 280px;
    bottom: -240px; } }
/*max-width:480px*/
/********************************************/
.about {
  background-color: #FBFAF3;
  padding: 0 0 200px;
  position: relative; }
  .about:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/lp/taniku02.png") center left no-repeat;
    background-size: contain;
    aspect-ratio: 620/680;
    width: 100%;
    max-width: 620px;
    height: auto;
    right: 0;
    bottom: -15%; }
  .about h2 {
    color: #256D5A;
    font: 6rem/1em "Noto Sans JP", serif;
    font-weight: 700;
    text-align: center;
    padding: 70px 0 0;
    letter-spacing: 0.12em;
    margin: 0 auto 30px;
    position: relative;
    z-index: 50; }
    .about h2:before {
      position: absolute;
      content: "";
      aspect-ratio: 278/43;
      width: 100%;
      max-width: 278px;
      height: auto;
      top: 0%;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%);
      background: url("../images/lp/about.svg") center center no-repeat;
      background-size: contain; }
  .about > p {
    position: relative;
    z-index: 50;
    text-align: center;
    color: #256D5A;
    font: 3.2rem/1.6em "Noto Sans JP", serif;
    font-weight: 500;
    margin: 0 auto 40px; }
  .about ul {
    position: relative;
    z-index: 50;
    max-width: 1080px;
    width: calc(100% - 40px);
    margin: 0 auto 40px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    counter-reset: about; }
  .about li {
    color: #256D5A;
    width: calc((100% - 60px)/3);
    margin: 0 30px 25px 0;
    position: relative;
    padding: 70px 0 0 0; }
    .about li:nth-of-type(3n) {
      margin-right: 0; }
    .about li span {
      font: 1.8rem/1em "Oswald", sans-serif;
      font-weight: 400;
      position: absolute;
      top: 0;
      left: 0;
      text-align: center;
      width: 80px; }
      .about li span:before {
        position: absolute;
        counter-increment: about;
        content: counter(about);
        width: 100%;
        top: 15px;
        left: 0;
        text-align: center;
        font: 11.5rem/1em "Oswald", sans-serif;
        font-weight: 400;
        z-index: 1; }
    .about li img {
      width: 100%; }
    .about li p {
      margin: 10px 0 0;
      color: #256D5A;
      font: 2rem/1.8em "Noto Sans JP", serif;
      font-weight: 500; }

@media (max-width: 1366px) {
  .about:before {
    background: url("../images/lp/taniku02.png") center left no-repeat;
    background-size: contain;
    transform: scale(0.8);
    transform-origin: center right; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .about {
    padding: 130px 0 200px; }
    .about:before {
      width: 100%;
      max-width: 500px;
      height: auto;
      right: 0;
      bottom: -12%; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .about {
    padding: 130px 0 200px;
    background-color: #FBFAF3;
    position: relative; }
    .about:before {
      width: 100%;
      max-width: 400px;
      height: auto;
      right: 0;
      bottom: -8%; }
    .about h2 {
      font: 5rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      padding: 60px 0 0; }
      .about h2:before {
        width: 100%;
        max-width: 260px; }
    .about > p {
      font: 2.6rem/1.6em "Noto Sans JP", serif;
      font-weight: 500;
      margin: 0 auto 40px; }
    .about ul {
      position: relative;
      z-index: 50;
      max-width: 1080px;
      width: calc(100% - 40px);
      margin: 0 auto 40px;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      counter-reset: about; }
    .about li {
      color: #256D5A;
      width: calc((100% - 20px)/2);
      margin: 0 0 30px 0;
      position: relative;
      padding: 60px 0 0 0; }
      .about li:nth-of-type(3n) {
        margin-right: 0; }
      .about li span {
        font: 1.6rem/1em "Oswald", sans-serif;
        font-weight: 400;
        position: absolute;
        top: 0;
        left: 0;
        text-align: center;
        width: 70px; }
        .about li span:before {
          top: 15px;
          font: 9rem/1em "Oswald", sans-serif;
          font-weight: 400; }
      .about li p {
        font: 1.8rem/1.8em "Noto Sans JP", serif;
        font-weight: 500; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .about {
    padding: 130px 0 150px; }
    .about:before {
      aspect-ratio: 620/680;
      width: 100%;
      max-width: 280px;
      height: auto;
      right: 0;
      bottom: -3%;
      display: block; }
    .about h2 {
      font: 4rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      padding: 50px 0 0; }
      .about h2:before {
        width: 100%;
        max-width: 200px; }
    .about > p {
      font: 1.8rem/1.8em "Noto Sans JP", serif;
      font-weight: 500; }
    .about ul {
      width: calc(100% - 60px); }
    .about li {
      color: #256D5A;
      width: 100%;
      margin: 0 auto 40px;
      position: relative; }
      .about li p {
        font: 1.6rem/1.8em "Noto Sans JP", serif;
        font-weight: 500; } }
/*max-width:480px*/
/********************************************/
.modal {
  background-color: #925A37;
  display: block;
  width: calc(100% - 100px);
  margin: 0 auto;
  max-width: 600px;
  height: 100px;
  border-radius: 50px;
  text-align: center;
  position: relative;
  font: 2.7rem/98px "Noto Sans JP", serif;
  font-weight: 700;
  color: #fff;
  transition: .3s; }
  .modal > span {
    padding: 0 35px 0 0;
    position: relative; }
    .modal > span:before {
      top: 51%;
      left: auto;
      transform: translate(0%, -50%);
      right: 0;
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 15px solid #fff;
      border-right: 0; }

@media (hover: hover) {
  .modal:hover {
    cursor: pointer;
    background-color: orange; } }
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .modal {
    height: 80px;
    font: 2.2rem/78px "Noto Sans JP", serif;
    font-weight: 700; }
    .modal > span:before {
      top: 52%;
      border-top: 8px solid transparent;
      border-bottom: 8px solid transparent;
      border-left: 13px solid #fff; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .modal {
    height: 70px;
    font: 2rem/68px "Noto Sans JP", serif;
    font-weight: 700;
    width: calc(100% - 60px); } }
/*max-width:480px*/
/*****************************************/
body.active {
  overflow: hidden; }

main.active {
  z-index: 999999; }

.message_window {
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: .3s; }
  .message_window.active {
    opacity: 1;
    z-index: 999999; }

.message_window_content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  /* Safari用 */
  transform: translate(-50%, -50%);
  z-index: 101;
  background: #fff;
  padding: 80px 80px 50px;
  width: 90%;
  height: 90%;
  max-width: 1480px;
  border-radius: 10px;
  overflow-y: scroll; }
  .message_window_content .close {
    transition: .3s;
    font: 2rem/1em "Noto Sans JP", serif;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #000;
    position: relative;
    padding: 0 0 0 35px;
    display: block;
    width: fit-content;
    margin: 0 auto; }
    .message_window_content .close:before {
      transition: .3s;
      position: absolute;
      content: "×";
      left: 0;
      color: #C30D23;
      font: 2.5rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      top: -2px; }
    .message_window_content .close.top {
      position: absolute;
      right: 100px;
      top: 100px; }
  .message_window_content h2 {
    width: 100%;
    max-width: 260px;
    height: 60px;
    color: #fff;
    font: 3.2rem/58px "Noto Sans JP", serif;
    font-weight: 700;
    background-color: #925A37;
    text-align: center;
    margin: 0 0 100px; }
  .message_window_content h3 {
    font: 5.1rem / 1.8em "Noto Sans JP", serif;
    font-weight: 700;
    color: #925A37;
    width: 100%;
    margin: 0 0 25px; }
  .message_window_content p {
    font: 1.8rem/2.2em "Noto Sans JP", serif;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #000;
    margin: 0 auto 35px;
    text-align: justify;
    text-justify: inter-ideograph; }
    .message_window_content p.mb00 {
      margin-bottom: 0; }
    .message_window_content p.midashi {
      text-align: center;
      font: 3.3rem/1.5em "Noto Sans JP", serif;
      font-weight: 500;
      letter-spacing: 0.06em; }
      .message_window_content p.midashi br {
        display: none; }
  .message_window_content .flex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 80px;
    width: 100%; }
    .message_window_content .flex .txt {
      width: calc(100% - 680px);
      max-width: 750px; }
    .message_window_content .flex img {
      width: 610px; }

.bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #FBFAF3;
  opacity: 0.8; }

.message_window_content::-webkit-scrollbar {
  width: 8px;
  border-radius: 0 5px 5px 0; }

.message_window_content::-webkit-scrollbar-thumb {
  width: 6px;
  border-radius: 5px;
  background-color: #256D5A; }

@media (hover: hover) {
  .message_window_content .close:hover {
    cursor: pointer;
    color: darkorange; }
    .message_window_content .close:hover:before {
      color: darkorange; } }
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .message_window {
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: .3s; }
    .message_window.active {
      opacity: 1;
      z-index: 999999; }

  .message_window_content {
    padding: 60px 30px 40px; }
    .message_window_content .close {
      transition: .3s;
      font: 1.8rem/1em "Noto Sans JP", serif;
      font-weight: 700; }
      .message_window_content .close:before {
        font: 2rem/1em "Noto Sans JP", serif;
        font-weight: 700;
        top: -0px; }
      .message_window_content .close.top {
        position: absolute;
        right: 20px;
        top: 25px; }
    .message_window_content h2 {
      max-width: 220px;
      font: 2.4rem/58px "Noto Sans JP", serif;
      font-weight: 700;
      margin: 0 0 60px; }
    .message_window_content h3 {
      font: 6.5vw / 1.8em "Noto Sans JP", serif;
      font-weight: 700; }
    .message_window_content p {
      font: 1.7rem/2.2em "Noto Sans JP", serif;
      font-weight: 700;
      letter-spacing: 0.06em;
      color: #000;
      margin: 0 auto 35px;
      text-align: justify;
      text-justify: inter-ideograph; }
    .message_window_content .flex {
      display: block;
      margin-bottom: 80px;
      width: 100%; }
      .message_window_content .flex .txt {
        width: 100%;
        max-width: 750px; }
      .message_window_content .flex img {
        max-width: 610px;
        width: 100%;
        display: block;
        margin: 0 auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .message_window_content {
    padding: 60px 20px 40px; }
    .message_window_content h2 {
      max-width: 200px;
      font: 2.2rem/48px "Noto Sans JP", serif;
      font-weight: 700;
      height: 50px;
      margin: 15px 0 40px; }
    .message_window_content h3 {
      font: 6.5vw / 1.8em "Noto Sans JP", serif;
      font-weight: 700; }
    .message_window_content p {
      font: 1.6rem/2.2em "Noto Sans JP", serif;
      font-weight: 700; } }
/*max-width:480px*/
/********************************************/
.plan_circle {
  position: absolute;
  display: block;
  background: url("../images/lp/circle01.svg") center center no-repeat;
  background-size: contain;
  aspect-ratio: 343/334;
  width: 100%;
  max-width: 343px;
  height: auto;
  bottom: -15%;
  left: 5%;
  z-index: 50; }
  .plan_circle:before {
    position: absolute;
    background: url("../images/lp/circle02.svg") center center no-repeat;
    background-size: contain;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    animation: spin 25s linear infinite; }

@keyframes spin {
  to {
    transform: rotate(360deg); } }
@media (max-width: 1366px) {
  .plan_circle {
    transform: scale(0.8);
    transform-origin: center left;
    left: 5%; } }
/*max-width:1366px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .plan_circle {
    transform: scale(1);
    max-width: 200px;
    bottom: -100px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .plan_circle {
    max-width: 150px;
    bottom: -70px; } }
/*max-width:480px*/
/********************************************/
.plan {
  background-color: #256D5A;
  padding: 0 0 160px; }

.plan_mv {
  aspect-ratio: 1920/900;
  width: 100%;
  max-width: 100%;
  height: auto;
  background: url("../images/lp/plan_mv.jpg") center center no-repeat;
  background-size: cover; }

.plan_content ul {
  margin: -100px auto 50px;
  max-width: 1080px;
  width: calc(100% - 100px);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between; }
.plan_content li {
  border: 1px solid #5F8472;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  background-color: #584333;
  padding: 20px 20px;
  width: calc((100% - 60px)/3);
  max-width: 330px;
  min-height: 280px;
  position: relative; }
  .plan_content li:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/lp/plan_try.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 1/1;
    width: 100%;
    max-width: 98px;
    height: auto;
    top: 0;
    left: 0; }
  .plan_content li .price {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    width: fit-content;
    margin: 0 auto 15px;
    font: 6rem/1em "Oswald", sans-serif;
    font-weight: 400;
    color: #FFF462; }
    .plan_content li .price span:nth-of-type(1) {
      font: 2.3rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      color: #fff;
      border: 1px solid #fff;
      padding: 5px 10px;
      margin: 0 8px 5px 0; }
    .plan_content li .price small {
      margin: 0 0 5px 5px;
      font: 3rem/1em "Noto Sans JP", serif;
      font-weight: 700; }
  .plan_content li .txt {
    max-width: 245px;
    width: 100%;
    margin: 0 auto;
    font: 1.4rem/1.8em "Noto Sans JP", serif;
    font-weight: 400;
    color: #fff; }
  .plan_content li:last-of-type .txt {
    max-width: 265px; }
.plan_content a {
  transition: .3s;
  z-index: 10;
  background-color: #fff;
  display: block;
  width: calc(100% - 100px);
  margin: 0 auto;
  max-width: 600px;
  height: 100px;
  border-radius: 50px;
  text-align: center;
  position: relative;
  font: 2.7rem/98px "Noto Sans JP", serif;
  font-weight: 700;
  color: #000;
  text-decoration: none; }
  .plan_content a > span {
    position: relative;
    padding: 0 35px 0 0; }
    .plan_content a > span:before {
      top: 51%;
      left: auto;
      transform: translate(0%, -50%);
      right: 0;
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 15px solid #C30D23;
      border-right: 0; }

.plan_txt {
  position: relative;
  z-index: 10;
  color: #fff;
  font: 4rem/1.8em "Noto Sans JP", serif;
  font-weight: 700;
  margin: 0 auto 40px;
  text-align: center; }
  .plan_txt strong {
    font-weight: 700;
    color: #FFF100; }

@media (hover: hover) {
  .plan_content a:hover {
    cursor: pointer;
    background-color: orange; } }
@media (max-width: 1366px) {
  .plan_content li {
    width: calc((100% - 40px)/3); }
    .plan_content li:before {
      width: 100%;
      max-width: 85px; }
    .plan_content li .price {
      font: 5rem/1em "Oswald", sans-serif;
      font-weight: 400; } }
/*max-width:1366px*/
@media (max-width: 1024px) {
  .plan_content ul {
    width: calc(100% - 80px); }
  .plan_content li {
    margin: 0 auto 10px;
    min-height: 220px;
    padding: 20px 20px; }
    .plan_content li .price {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center; }
      .plan_content li .price span:nth-of-type(1) {
        margin: 0 auto 5px;
        width: 85px;
        text-align: center; }
    .plan_content li .txt {
      max-width: 230px;
      width: 100%;
      padding: 0 10px; }
    .plan_content li:last-of-type .txt {
      max-width: 230px;
      width: 100%; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .plan_mv {
    aspect-ratio: 4/3; }

  .plan_content ul {
    width: calc(100% - 60px);
    margin: -40px auto 50px;
    max-width: 640px;
    justify-content: center; }
  .plan_content li {
    width: calc((100% - 20px)/2);
    margin: 0 5px 10px;
    min-height: 260px; }
    .plan_content li:before {
      width: 100%;
      max-width: 70px; }
    .plan_content li .price {
      font: 4.8rem / 1em "Oswald", sans-serif;
      font-weight: 400;
      display: flex; }
      .plan_content li .price span:nth-of-type(1) {
        font: 1.8rem/1em "Noto Sans JP", serif;
        font-weight: 700; }
      .plan_content li .price small {
        margin: 0 0 5px 5px;
        font: 2.5rem/1em "Noto Sans JP", serif;
        font-weight: 700; }
  .plan_content a {
    margin: 0 auto;
    width: calc(100% - 100px);
    max-width: 400px;
    height: 80px;
    border-radius: 50px;
    font: 2.2rem/78px "Noto Sans JP", serif;
    font-weight: 700; }

  .plan_txt {
    width: calc(100% - 60px);
    text-align: left;
    max-width: 540px;
    font: 2.8rem/1.9em "Noto Sans JP", serif;
    font-weight: 700; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .plan {
    background-color: #256D5A;
    padding: 0 0 100px; }

  .plan_mv {
    aspect-ratio: 4/3; }

  .plan_content ul {
    margin: -40px auto 50px;
    max-width: 520px;
    width: calc(100% - 60px);
    justify-content: center; }
  .plan_content li {
    width: 100%;
    margin: 0 auto 10px;
    min-height: 220px; }
    .plan_content li .price {
      font: 4.5rem / 1em "Oswald", sans-serif;
      font-weight: 400;
      flex-direction: row; }
      .plan_content li .price span:nth-of-type(1) {
        font: 1.8rem/1em "Noto Sans JP", serif;
        font-weight: 700;
        margin: 5px 10px 0 0;
        width: 65px; }
      .plan_content li .price small {
        margin: 0 0 5px 5px;
        font: 2.5rem/1em "Noto Sans JP", serif;
        font-weight: 700; }
  .plan_content a {
    width: calc(100% - 60px);
    margin: 0 auto;
    height: 70px;
    font: 2rem/68px "Noto Sans JP", serif;
    font-weight: 700; }

  .plan_txt {
    width: calc(100% - 60px);
    text-align: left;
    max-width: 540px;
    font: 2.3rem/1.9em "Noto Sans JP", serif;
    font-weight: 700; } }
/*max-width:480px*/
/********************************************/
.flow {
  background: url("../images/lp/wood_bg.jpg") center center repeat;
  padding: 100px 0 160px;
  position: relative; }
  .flow:after {
    background: url("../images/lp/wave.png") center bottom repeat;
    background-size: 100% 12px;
    width: 100%;
    height: 12px;
    position: absolute;
    content: "";
    display: block;
    left: 0;
    bottom: 0; }
  .flow:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/lp/taniku03.png") bottom left no-repeat;
    background-size: contain;
    aspect-ratio: 580/584;
    width: 100%;
    max-width: 580px;
    height: auto;
    left: 0;
    top: -180px;
    z-index: 1; }
  .flow a {
    transition: .3s;
    z-index: 10;
    background-color: #F08300;
    display: block;
    width: calc(100% - 100px);
    margin: 0 auto;
    max-width: 600px;
    height: 100px;
    border-radius: 50px;
    text-align: center;
    position: relative;
    font: 2.7rem/98px "Noto Sans JP", serif;
    font-weight: 700;
    color: #fff;
    text-decoration: none; }
    .flow a > span {
      position: relative;
      padding: 0 45px 0 0; }
      .flow a > span:before {
        background: url("../images/lp/arrow.svg") center center no-repeat;
        background-size: contain;
        width: 21px;
        height: 21px;
        position: absolute;
        content: "";
        top: 53%;
        left: auto;
        transform: translate(0%, -50%);
        right: 0; }

.delivery,
.application {
  width: 100%;
  position: relative; }
  .delivery:before,
  .application:before {
    position: absolute;
    content: "";
    width: 50%;
    height: 100%;
    top: 0;
    display: block; }
  .delivery:after,
  .application:after {
    bottom: 10px;
    font: 7.8vw/1em "Noto Serif JP", serif;
    font-weight: 500; }

.application {
  margin-bottom: 50px; }
  .application:before {
    top: 0;
    background-color: #F2F6E9; }
  .application:after {
    text-align: left;
    position: absolute;
    content: "APPLICATION FLOW";
    left: 3%;
    color: #256D5A; }

.delivery {
  margin-bottom: 120px; }
  .delivery:before {
    right: 0;
    left: auto;
    background-color: #F8F7F3; }
  .delivery:after {
    color: #925A37;
    text-align: right;
    position: absolute;
    content: "DELIVERY FLOW";
    right: 3%;
    left: auto; }

.app_box,
.deli_box {
  position: relative;
  padding: 100px 50px 200px;
  text-align: center;
  max-width: 1300px;
  width: calc(100% - 80px);
  margin: 0 auto; }
  .app_box h2,
  .deli_box h2 {
    font: 5rem/1.8em "Noto Sans JP", serif;
    font-weight: 700;
    position: relative;
    z-index: 15;
    letter-spacing: 0.12em;
    margin: 0 auto 70px; }
  .app_box ul,
  .deli_box ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 960px;
    width: 100%;
    position: relative;
    z-index: 15;
    margin: 0 auto 25px; }
  .app_box li,
  .deli_box li {
    text-align: center;
    width: calc(100%/3); }
    .app_box li h3,
    .deli_box li h3 {
      font: 2rem/1.8em "Noto Sans JP", serif;
      font-weight: 500; }
    .app_box li img,
    .deli_box li img {
      display: block;
      margin: 0 auto 10px;
      max-width: 100%; }
    .app_box li .num,
    .deli_box li .num {
      font: 5.5rem/1em "Oswald", sans-serif;
      font-weight: 400;
      display: block;
      position: relative;
      padding: 0 0 20px;
      margin: 0 0 20px; }
      .app_box li .num:before,
      .deli_box li .num:before {
        position: absolute;
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        top: auto;
        bottom: 0;
        left: 50%;
        -webkit-transform: translate(-50%, 0%);
        /* Safari用 */
        transform: translate(-50%, 0%); }
      .app_box li .num:after,
      .deli_box li .num:after {
        position: absolute;
        content: "";
        display: block;
        width: 120%;
        height: 2px;
        bottom: 3px;
        left: 50%;
        -webkit-transform: translate(-50%, 0%);
        /* Safari用 */
        transform: translate(-50%, 0%); }
    .app_box li:nth-of-type(1) .num:after,
    .deli_box li:nth-of-type(1) .num:after {
      width: 50%;
      left: auto;
      right: 0;
      -webkit-transform: translate(0%, 0%);
      /* Safari用 */
      transform: translate(0%, 0%); }
    .app_box li:nth-of-type(3) .num:after,
    .deli_box li:nth-of-type(3) .num:after {
      width: 50%;
      left: 0;
      -webkit-transform: translate(0%, 0%);
      /* Safari用 */
      transform: translate(0%, 0%); }

.app_box {
  background-color: #F2F6E9;
  border-radius: 0 25px 25px 0; }
  .app_box h2 {
    color: #256D5A; }
  .app_box li h3 {
    color: #256D5A; }
  .app_box li .num {
    color: #256D5A; }
    .app_box li .num:before, .app_box li .num:after {
      background-color: #256D5A; }
  .app_box > p {
    font: 2.9rem/1.8em "Noto Sans JP", serif;
    font-weight: 700;
    color: #C30D23;
    position: relative;
    z-index: 15; }
    .app_box > p br {
      display: none; }

.deli_box {
  background-color: #F8F7F3;
  border-radius: 25px 0 0 25px; }
  .deli_box h2 {
    color: #925A37; }
  .deli_box li h3 {
    color: #925A37; }
  .deli_box li .num {
    color: #925A37; }
    .deli_box li .num:before, .deli_box li .num:after {
      background-color: #925A37; }
  .deli_box p {
    font: 1.6rem/1.8em "Noto Sans JP", serif;
    font-weight: 500;
    max-width: 188px;
    margin: 5px auto 0;
    text-align: left; }
    .deli_box p span {
      color: #925A37; }

@media (hover: hover) {
  .flow a:hover {
    cursor: pointer;
    background-color: #FFB96C; } }
@media (min-width: 1920px) {
  .delivery:after,
  .application:after {
    font: 13rem/1em "Noto Serif JP", serif;
    font-weight: 500; } }
/*max-width:1280px*/
@media (max-width: 1366px) {
  .flow:before {
    transform: scale(0.8);
    transform-origin: center left; }

  .delivery:after,
  .application:after {
    font: 8.5vw/1em "Noto Serif JP", serif;
    font-weight: 500; } }
/*max-width:1366px*/
/*max-width:1280px*/
/*max-width:1280px*/
@media (max-width: 1024px) {
  .flow:before {
    max-width: 480px;
    height: auto;
    left: 0;
    top: -200px;
    z-index: 1; }

  .app_box,
  .deli_box {
    padding: 80px 20px 100px;
    width: calc(100% - 50px);
    margin: 0 auto; }
    .app_box h2,
    .deli_box h2 {
      font: 4.5rem/1.8em "Noto Sans JP", serif;
      font-weight: 700; }

  .app_box > p br {
    display: block; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .flow {
    background: url("../images/lp/wood_bg.jpg") center center repeat;
    background-size: 480px auto;
    padding: 100px 0 100px;
    position: relative; }
    .flow:after {
      background: url("../images/lp/wave.png") center bottom repeat;
      background-size: 1024px auto;
      width: 100%;
      height: 6px; }
    .flow:before {
      max-width: 400px;
      height: auto;
      left: 0;
      top: -180px;
      z-index: 1; }
    .flow a {
      width: calc(100% - 100px);
      max-width: 400px;
      height: 80px;
      border-radius: 50px;
      font: 2.2rem/78px "Noto Sans JP", serif;
      font-weight: 700; }

  .delivery:after,
  .application:after {
    font: 8vw/1em "Noto Serif JP", serif;
    font-weight: 500; }

  .application {
    margin-bottom: 50px; }

  .delivery {
    margin-bottom: 80px; }

  .app_box,
  .deli_box {
    position: relative;
    text-align: center;
    max-width: 1300px;
    width: calc(100% - 30px);
    margin: 0 auto; }
    .app_box h2,
    .deli_box h2 {
      font: 3.8rem/1.8em "Noto Sans JP", serif;
      font-weight: 700;
      position: relative;
      z-index: 15;
      letter-spacing: 0.12em;
      margin: 0 auto 70px; }
    .app_box ul,
    .deli_box ul {
      display: block;
      max-width: 960px;
      width: 100%;
      position: relative;
      z-index: 15;
      margin: 0 auto 25px; }
    .app_box li,
    .deli_box li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: stretch;
      text-align: left;
      width: 100%;
      margin-bottom: 30px; }
      .app_box li h3,
      .deli_box li h3 {
        font: 1.8rem/1.8em "Noto Sans JP", serif;
        font-weight: 500; }
      .app_box li img,
      .deli_box li img {
        display: block;
        margin: 0 18px;
        max-width: 80px; }
      .app_box li .num,
      .deli_box li .num {
        font: 5rem/1em "Oswald", sans-serif;
        font-weight: 400;
        display: block;
        position: relative;
        padding: 0;
        margin: 0;
        width: 70px;
        text-align: left;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center; }
        .app_box li .num:before,
        .deli_box li .num:before {
          width: 8px;
          height: 8px;
          border-radius: 50%;
          top: 50%;
          bottom: auto;
          left: auto;
          right: 0;
          -webkit-transform: translate(0%, -50%);
          /* Safari用 */
          transform: translate(0%, -50%); }
        .app_box li .num:after,
        .deli_box li .num:after {
          position: absolute;
          content: "";
          display: block;
          width: 2px;
          height: calc(100% + 60px);
          bottom: 0;
          top: 50%;
          left: auto;
          right: 3px !important;
          -webkit-transform: translate(0%, -50%);
          /* Safari用 */
          transform: translate(0%, -50%); }
      .app_box li:nth-of-type(1) .num:after,
      .deli_box li:nth-of-type(1) .num:after {
        width: 2px;
        height: 50%;
        left: auto;
        bottom: 0;
        -webkit-transform: translate(0%, 0%);
        /* Safari用 */
        transform: translate(0%, 0%); }
      .app_box li:nth-of-type(3),
      .deli_box li:nth-of-type(3) {
        margin-bottom: 0; }
        .app_box li:nth-of-type(3) .num:after,
        .deli_box li:nth-of-type(3) .num:after {
          width: 2px;
          height: 50%;
          top: 0;
          left: auto;
          -webkit-transform: translate(0%, 0%);
          /* Safari用 */
          transform: translate(0%, 0%); }

  .app_box h3 {
    width: calc(100% - 190px); }
  .app_box > p {
    font: 2.5rem/1.8em "Noto Sans JP", serif;
    font-weight: 700;
    color: #C30D23;
    position: relative;
    z-index: 15; }
    .app_box > p br {
      display: block; }

  .deli_box li div {
    width: calc(100% - 190px); }
  .deli_box p {
    max-width: 100%; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .flow {
    padding: 80px 0 100px;
    background: url("../images/lp/wood_bg.jpg") center center repeat;
    background-size: 350px auto; }
    .flow:before {
      max-width: 300px;
      top: -120px;
      z-index: 1; }
    .flow a {
      width: calc(100% - 60px);
      height: 70px;
      font: 2rem/68px "Noto Sans JP", serif;
      font-weight: 700; }

  .delivery:after,
  .application:after {
    font: 3rem/1em "Noto Serif JP", serif;
    font-weight: 500; }

  .application {
    margin-bottom: 40px; }

  .delivery {
    margin-bottom: 50px; }

  .app_box,
  .deli_box {
    position: relative;
    text-align: center;
    max-width: 1300px;
    width: calc(100% - 30px);
    margin: 0 auto;
    padding: 80px 0 100px; }
    .app_box h2,
    .deli_box h2 {
      font: 3rem/1.8em "Noto Sans JP", serif;
      font-weight: 700;
      position: relative;
      z-index: 15;
      letter-spacing: 0.12em;
      margin: 0 auto 40px;
      padding: 0 20px 0 0; }
    .app_box ul,
    .deli_box ul {
      padding: 0 10px 0 0; }
    .app_box li h3,
    .deli_box li h3 {
      max-width: 100%;
      font: 1.7rem/1.8em "Noto Sans JP", serif;
      font-weight: 500; }
    .app_box li img,
    .deli_box li img {
      display: block;
      margin: 0 18px 0 10px;
      max-width: 60px; }
    .app_box li .num,
    .deli_box li .num {
      font: 4rem/1em "Oswald", sans-serif;
      font-weight: 400;
      width: 60px; }

  .app_box h3 {
    width: calc(100% - 148px); }
  .app_box > p {
    font: 2rem/1.8em "Noto Sans JP", serif;
    font-weight: 700;
    padding: 0 20px 0 0; }

  .deli_box {
    padding: 50px 0 80px; }
    .deli_box ul, .deli_box h2 {
      padding: 0 0 0 20px; }
    .deli_box li div {
      width: calc(100% - 148px); }
    .deli_box p {
      margin: 0;
      font: 1.5rem/1.8em "Noto Sans JP", serif;
      font-weight: 500;
      max-width: 100%; } }
/*max-width:480px*/
/********************************************/
.voice_mv {
  background-color: #256D5A;
  padding: 90px 0 100px;
  position: relative; }
  .voice_mv div {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    aspect-ratio: 1400/840;
    width: calc(100% - 80px);
    max-width: 1400px;
    height: auto;
    margin: 0 auto;
    background: url("../images/lp/voice_mv.jpg") center bottom no-repeat;
    background-size: cover;
    position: relative; }
    .voice_mv div:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/lp/voice_txt.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 941/105;
      width: calc(100% - 100px);
      max-width: 100%;
      height: auto;
      top: auto;
      bottom: 8%;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%);
      z-index: 20; }
  .voice_mv:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/lp/mono.png") center left no-repeat;
    background-size: contain;
    aspect-ratio: 700/760;
    width: 100%;
    max-width: 700px;
    height: auto;
    left: auto;
    right: 0;
    bottom: -400px;
    z-index: 8; }

.voice_box {
  background-color: #6E594E;
  padding: 112px 0;
  position: relative; }
  .voice_box:after {
    background: url("../images/lp/voice_wave.png") center bottom repeat;
    width: 100%;
    height: 12px;
    position: absolute;
    content: "";
    display: block;
    left: 0;
    top: -12px;
    z-index: 5; }
  .voice_box h2 {
    color: #fff;
    font: 5.6rem/1em "Noto Sans JP", serif;
    font-weight: 700;
    text-align: center;
    position: relative;
    padding: 85px 0 0;
    letter-spacing: 0.12em;
    margin: 0 auto 85px; }
    .voice_box h2:before {
      position: absolute;
      content: "";
      aspect-ratio: 253/59;
      width: 100%;
      max-width: 253px;
      height: auto;
      top: 0%;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%);
      background: url("../images/lp/voice.svg") center center no-repeat;
      background-size: contain; }

.voice_item {
  max-width: 1200px;
  width: calc(100% - 80px);
  margin: 0 auto; }

.voice_flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  max-width: 1030px;
  margin-bottom: 40px !important;
  position: relative;
  z-index: 10; }
  .voice_flex .img {
    width: 460px; }
  .voice_flex .txt {
    max-width: 570px;
    width: calc(100% - 500px); }
  .voice_flex dl {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-end;
    margin: 0 0 15px; }
  .voice_flex dt {
    color: #3AA789;
    font: 9.6rem/1em "Oswald", sans-serif;
    font-weight: 400; }
  .voice_flex dd {
    font: 2.4rem/1.5em "Noto Sans JP", serif;
    font-weight: 700;
    color: #fff;
    padding: 0 0 0 20px; }
    .voice_flex dd span {
      margin: 0 0 5px;
      text-align: center;
      color: #fff;
      font: 1.5rem/38px "Oswald", sans-serif;
      font-weight: 400;
      display: block;
      background-color: #3AA789;
      width: 60px;
      height: 40px;
      padding: 0 10px;
      border-radius: 10px; }
  .voice_flex p {
    text-align: justify;
    text-justify: inter-ideograph;
    font: 1.8rem/2.2em "Noto Sans JP", serif;
    font-weight: 400;
    color: #fff; }
  .voice_flex:nth-of-type(2n) {
    margin: 0 0 0 auto; }
    .voice_flex:nth-of-type(2n) .img {
      order: 2; }
    .voice_flex:nth-of-type(2n) .txt {
      order: 1; }

@media (max-width: 1366px) {
  .voice_mv:before {
    transform: scale(0.8);
    transform-origin: center right; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .voice_mv div:after {
    bottom: 8%; }

  .voice_mv {
    background-color: #256D5A;
    padding: 90px 0 100px;
    position: relative; }
    .voice_mv:before {
      width: 100%;
      max-width: 480px;
      bottom: -210px;
      z-index: 8; }

  .voice_item {
    max-width: 800px;
    margin: 0 auto; }

  .voice_flex {
    max-width: 600px;
    margin: 0 0 50px;
    position: relative;
    z-index: 10; }
    .voice_flex .img {
      order: 2;
      width: 100%;
      max-width: 460px; }
    .voice_flex .txt {
      order: 1;
      max-width: 100%;
      width: 100%;
      margin: 0 0 20px; }
    .voice_flex:nth-of-type(2n) {
      margin: 0 0 40px auto; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .voice_mv {
    background-color: #256D5A;
    padding: 90px 0 100px;
    position: relative; }
    .voice_mv div {
      aspect-ratio: 140/100;
      width: calc(100% - 60px); }
      .voice_mv div:after {
        width: calc(100% - 60px);
        bottom: 3%;
        z-index: 20; }
    .voice_mv:before {
      width: 100%;
      max-width: 350px;
      bottom: -150px;
      z-index: 8; }

  .voice_box {
    padding: 112px 0; }
    .voice_box:after {
      background: url("../images/lp/voice_wave.png") center bottom repeat;
      background-size: 1024px auto;
      width: 100%;
      height: 6px;
      top: -6px; }
    .voice_box h2 {
      font: 4.6rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      padding: 60px 0 0;
      margin: 0 auto 85px; }
      .voice_box h2:before {
        height: 40px; }

  .voice_item {
    width: calc(100% - 60px);
    margin: 0 auto; }

  .voice_flex {
    max-width: 480px;
    margin: 0 auto 50px;
    position: relative;
    z-index: 10; }
    .voice_flex .img {
      max-width: 480px;
      margin: 0 auto;
      order: 2;
      width: 100%; }
      .voice_flex .img img {
        display: block;
        margin: 0 auto; }
    .voice_flex .txt {
      order: 1;
      max-width: 570px;
      width: 100%;
      margin: 0 0 20px; }
    .voice_flex dt {
      font: 9rem/1em "Oswald", sans-serif;
      font-weight: 400; }
    .voice_flex dd {
      font: 2.2rem/1.5em "Noto Sans JP", serif;
      font-weight: 700; }
      .voice_flex dd span {
        font: 1.5rem/33px "Oswald", sans-serif;
        font-weight: 400;
        width: 60px;
        height: 35px; }
    .voice_flex p {
      font: 1.7rem/2.2em "Noto Sans JP", serif;
      font-weight: 400; }
    .voice_flex:nth-of-type(2n) {
      margin: 0 auto 40px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .voice_mv {
    padding: 60px 0 50px;
    position: relative; }
    .voice_mv div {
      aspect-ratio: 140/100;
      width: calc(100% - 40px); }
      .voice_mv div:after {
        width: calc(100% - 40px);
        height: 40px;
        bottom: 20px;
        z-index: 20; }
    .voice_mv:before {
      max-width: 254px;
      bottom: -125px; }

  .voice_box {
    padding: 120px 0; }
    .voice_box h2 {
      font: 3.6rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      padding: 50px 0 0;
      margin: 0 auto 40px; }
      .voice_box h2:before {
        height: 30px; }

  .voice_flex dt {
    font: 7.5rem/1em "Oswald", sans-serif;
    font-weight: 400; }
  .voice_flex dd {
    font: 2rem/1.5em "Noto Sans JP", serif;
    font-weight: 700; }
    .voice_flex dd span {
      font: 1.4rem/30px "Oswald", sans-serif;
      font-weight: 400;
      height: 30px; }
  .voice_flex p {
    font: 1.6rem/2.2em "Noto Sans JP", serif;
    font-weight: 400; } }
/*max-width:480px*/
/******************************************/
.faq {
  padding: 120px 0 120px;
  position: relative; }
  .faq:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/lp/taniku04.png") center left no-repeat;
    background-size: contain;
    aspect-ratio: 500/500;
    width: 100%;
    max-width: 500px;
    height: auto;
    left: 0;
    top: -260px;
    z-index: 1; }
  .faq h2 {
    z-index: 10;
    color: #256D5A;
    font: 4.6rem/1em "Noto Sans JP", serif;
    font-weight: 700;
    text-align: center;
    position: relative;
    padding: 60px 0 0;
    letter-spacing: 0.12em;
    margin: 0 auto 85px; }
    .faq h2:before {
      position: absolute;
      content: "";
      aspect-ratio: 44/19;
      width: 100%;
      max-width: 44px;
      height: auto;
      top: 0%;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%);
      background: url("../images/lp/faq.svg") center center no-repeat;
      background-size: contain; }
  .faq dl {
    position: relative;
    z-index: 10;
    border-radius: 15px;
    background-color: #EDEFED;
    max-width: 1080px;
    width: calc(100% - 80px);
    margin: 0 auto 30px;
    padding: 25px; }
    .faq dl:last-of-type {
      margin-bottom: 100px; }
  .faq dt {
    font: 2rem/1.8em "Noto Sans JP", serif;
    font-weight: 700;
    color: #256D5A;
    padding: 0 50px;
    position: relative; }
    .faq dt:before {
      font: 3rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      position: absolute;
      content: "+";
      top: 1px;
      right: 0; }
    .faq dt:after {
      font: 2.5rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      position: absolute;
      content: "Q";
      top: 3px;
      left: 10px; }
    .faq dt.active:before {
      font: 4rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      position: absolute;
      content: "-";
      top: -4px;
      right: 0; }
  .faq dd {
    display: none;
    font: 1.6rem/2.2em "Noto Sans JP", serif;
    font-weight: 400;
    border-top: 2px solid #B5B5B6;
    width: calc(100% - 100px);
    padding: 20px 0 0;
    margin: 20px auto 0;
    transition: 0.3; }
  .faq a {
    transition: .3s;
    z-index: 10;
    background-color: #925A37;
    display: block;
    width: calc(100% - 100px);
    margin: 0 auto;
    max-width: 600px;
    height: 100px;
    border-radius: 50px;
    text-align: center;
    position: relative;
    font: 2.7rem/98px "Noto Sans JP", serif;
    font-weight: 700;
    color: #fff;
    text-decoration: none; }
    .faq a > span {
      position: relative;
      padding: 0 45px 0 0; }
      .faq a > span:before {
        background: url("../images/lp/arrow.svg") center center no-repeat;
        background-size: contain;
        width: 21px;
        height: 21px;
        position: absolute;
        content: "";
        top: 53%;
        left: auto;
        transform: translate(0%, -50%);
        right: 0; }

@media (hover: hover) {
  .faq dt:hover {
    opacity: 0.5;
    cursor: pointer; }

  .faq a:hover {
    cursor: pointer;
    background-color: orange; } }
@media (max-width: 1366px) {
  .faq:before {
    top: -200px;
    transform: scale(0.8);
    transform-origin: center left; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .faq:before {
    top: -230px;
    transform: scale(0.69);
    transform-origin: center left; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .faq {
    padding: 120px 0 120px;
    position: relative; }
    .faq:before {
      transform: scale(0.8);
      max-width: 350px;
      top: -180px; }
    .faq h2 {
      font: 4rem/1em "Noto Sans JP", serif;
      font-weight: 700; }
    .faq dl {
      width: calc(100% - 60px);
      margin: 0 auto 20px;
      padding: 20px; }
    .faq dt {
      font: 2rem/1.8em "Noto Sans JP", serif;
      font-weight: 700;
      color: #256D5A;
      padding: 0 30px; }
      .faq dt:after {
        left: 0; }
    .faq dd {
      display: none;
      font: 1.6rem/2.2em "Noto Sans JP", serif;
      font-weight: 400;
      border-top: 2px solid #B5B5B6;
      width: calc(100% - 60px);
      padding: 20px 0 0;
      margin: 20px auto 0;
      transition: 0.3; }
    .faq a {
      width: calc(100% - 100px);
      max-width: 400px;
      height: 80px;
      border-radius: 50px;
      font: 2.2rem/78px "Noto Sans JP", serif;
      font-weight: 700; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .faq {
    padding: 120px 0 120px;
    position: relative; }
    .faq:before {
      max-width: 270px;
      top: -155px;
      z-index: 1; }
    .faq h2 {
      font: 3rem/1em "Noto Sans JP", serif;
      font-weight: 700;
      padding: 40px 0 0;
      margin: 0 auto 40px; }
    .faq dl:last-of-type {
      margin-bottom: 60px; }
    .faq dt {
      font: 1.7rem/1.8em "Noto Sans JP", serif;
      font-weight: 700;
      color: #256D5A;
      padding: 0 30px; }
      .faq dt:after {
        left: 0;
        top: -3px; }
      .faq dt:before {
        top: -3px; }
      .faq dt.active:before {
        top: -10px; }
    .faq dd {
      font: 1.5rem/2.2em "Noto Sans JP", serif;
      font-weight: 400;
      width: calc(100% - 40px);
      padding: 10px 0 0;
      margin: 10px auto 0; }
    .faq a {
      width: calc(100% - 60px);
      height: 70px;
      border-radius: 50px;
      font: 2rem/68px "Noto Sans JP", serif;
      font-weight: 700; } }
/*max-width:480px*/
