@charset "UTF-8";
.header_box h1 {
  pointer-events: none;
  opacity: 0; }

/****************************************/
.mv {
  background-color: #FEFBF0;
  padding: 130px 0 0 0; }

.mv_box {
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0 60px;
  position: relative; }
  .mv_box:before {
    position: absolute;
    content: "";
    left: 0;
    top: -130px;
    border-radius: 0 50px 50px 0;
    aspect-ratio: 1/1;
    max-width: 800px;
    width: 100%;
    height: auto;
    background-color: #FFE2C5; }

.mv_txt {
  position: relative;
  z-index: 10;
  width: 500px;
  text-align: center;
  padding: 70px 50px; }
  .mv_txt h1 {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background: url("../images/logo.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 238/282;
    width: 100%;
    max-width: 296px;
    margin: 0 auto 15px;
    height: auto;
    position: relative; }
  .mv_txt span {
    display: block;
    aspect-ratio: 126/123;
    width: 100%;
    max-width: 123px;
    height: auto;
    margin: 0 auto; }
    .mv_txt span img {
      width: 100%; }

.pic {
  position: relative;
  z-index: 5;
  max-width: 1300px;
  width: calc(100% - 500px);
  height: 800px;
  margin: 0 0 0 auto; }
  .pic:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/mv.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 354/286;
    width: 100%;
    max-width: 354px;
    height: auto;
    left: -220px;
    bottom: -80px; }

.slide {
  width: 100%;
  height: 100%;
  border-radius: 50px 0 0 50px;
  background: url("../images/mv.jpg") center center no-repeat;
  background-size: cover; }

@media (max-width: 1280px) {
  .mv_box {
    padding: 0; }

  .mv_txt {
    width: 450px; }

  .pic {
    width: calc(100% - 450px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .mv {
    padding: 85px 0 0 0; }

  .mv_box {
    display: block;
    padding: 0;
    position: relative; }
    .mv_box:before {
      position: absolute;
      content: "";
      left: 0;
      top: 10px;
      border-radius: 0 50px 50px 0;
      aspect-ratio: 1/1;
      max-width: 800px;
      width: 100%;
      height: 70%;
      background-color: #FFE2C5; }

  .mv_txt {
    position: relative;
    z-index: 10;
    max-width: 500px;
    width: calc(100% - 80px);
    text-align: center;
    padding: 70px 0;
    margin: 0 auto; }

  .pic {
    width: 100%;
    height: 500px;
    position: relative;
    align-content: 20; }
    .pic:before {
      display: none; }

  .slide {
    border-radius: 0;
    width: 100%;
    height: 100%;
    background: url("../images/mv.jpg") center bottom no-repeat;
    background-size: 1024px auto; } }
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .mv {
    padding: 80px 0 0 0; }

  .mv_box {
    display: block;
    padding: 0;
    position: relative; }
    .mv_box:before {
      top: 5px; }

  .mv_txt {
    padding: 40px 0 20px; }
    .mv_txt h1 {
      max-width: 175px;
      margin: 0 auto 15px; }
    .mv_txt span {
      max-width: 65px; }
      .mv_txt span img {
        width: 100%; }

  .pic {
    height: 360px;
    overflow: hidden; }
    .pic:before {
      display: none; }

  .slide {
    border-radius: 0;
    width: 100%;
    height: 100%;
    background: url("../images/mv.jpg") center bottom no-repeat;
    background-size: 768px auto; } }
/*max-width:480px*/
/****************************************/
.nice {
  background-color: #FEFBF0;
  position: relative;
  padding: 80px 0 130px; }
  .nice:before {
    background: url("../images/nice_bg.png") center top no-repeat;
    background-size: 1920px 67px;
    width: 100%;
    height: 67px;
    position: absolute;
    content: "";
    top: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    /* Safari用 */
    transform: translate(-50%, 0%);
    z-index: 1; }
  .nice h1 {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background: url("../images/nice_logo.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 599/119;
    width: 100%;
    max-width: 599px;
    height: auto;
    position: relative;
    z-index: 10;
    margin: 0 auto 60px; }
  .nice p {
    font: 2.2rem/2.4em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
    text-align: justify;
    text-justify: inter-ideograph; }
  .nice span {
    position: absolute;
    top: 0;
    left: 10%;
    font: 16rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    color: #FDE9D9; }

.nice_item {
  width: fit-content;
  margin: 0 auto;
  padding: 60px;
  position: relative;
  z-index: 20;
  border-radius: 50px; }

.nice_box {
  padding: 100px 0 200px;
  max-width: 1920px;
  margin: 0 auto;
  position: relative; }
  .nice_box:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/nice_item.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 292/218;
    width: 100%;
    max-width: 292px;
    height: auto;
    bottom: -50px;
    left: 450px;
    z-index: 30; }
  .nice_box .nice01 {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 15px 0 0 15px; }
  .nice_box .nice02 {
    display: block;
    position: absolute;
    left: 0;
    top: auto;
    bottom: 0;
    border-radius: 0 15px 15px 0; }

@media (min-width: 1920px) {
  .nice:before {
    background: url("../images/nice_bg.png") center top no-repeat;
    background-size: 100% 67px; } }
/*max-width:1280px*/
@media (max-width: 1280px) {
  .nice_item {
    padding: 60px 0 0; }

  .nice_box {
    padding: 100px 0 460px;
    max-width: 1920px;
    margin: 0 auto;
    position: relative; }
    .nice_box:before {
      display: none; }
    .nice_box .nice01 {
      display: block;
      position: absolute;
      right: calc(50% - 420px);
      top: auto;
      bottom: 0;
      border-radius: 15px; }
    .nice_box .nice02 {
      display: block;
      position: absolute;
      left: calc(50% - 420px);
      top: auto;
      bottom: 0;
      border-radius: 15px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .nice {
    background-color: #FEFBF0;
    position: relative;
    padding: 80px 0 150px; }

  .nice_item {
    padding: 60px 40px 0; }

  .nice_box {
    padding: 100px 0 330px;
    max-width: 1920px;
    margin: 0 auto;
    position: relative; }
    .nice_box:before {
      display: none; }
    .nice_box .nice01 {
      width: 300px;
      display: block;
      position: absolute;
      right: calc(50% - 320px);
      top: auto;
      bottom: 0;
      border-radius: 15px; }
    .nice_box .nice02 {
      width: 300px;
      display: block;
      position: absolute;
      left: calc(50% - 320px);
      top: auto;
      bottom: 0;
      border-radius: 15px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .nice {
    padding: 80px 0 100px; }
    .nice h1 {
      aspect-ratio: 599/119;
      width: 100%;
      max-width: 599px;
      height: auto;
      position: relative;
      z-index: 10;
      margin: 0 auto 60px; }
    .nice p {
      font: 2rem/2.4em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      width: 100%;
      max-width: 520px;
      margin: 0 auto;
      position: relative;
      z-index: 10; }
    .nice span {
      position: absolute;
      top: 0;
      left: 10%;
      font: 10rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      color: #FDE9D9; }

  .nice_item {
    padding: 60px 40px 0; }

  .nice_box {
    padding: 100px 0 260px;
    max-width: 1920px;
    margin: 0 auto;
    position: relative; }
    .nice_box:before {
      display: block;
      top: auto;
      bottom: 0;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); }
    .nice_box .nice01,
    .nice_box .nice02 {
      display: none; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .nice {
    padding: 50px 0 100px; }
    .nice h1 {
      aspect-ratio: 599/119;
      width: 100%;
      max-width: 599px;
      height: auto;
      position: relative;
      z-index: 10;
      margin: 0 auto 40px; }
    .nice p {
      font: 1.8rem/2.4em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      width: 100%;
      max-width: 325px;
      margin: 0 auto;
      position: relative;
      z-index: 10; }
    .nice span {
      position: absolute;
      top: 0;
      left: 25px;
      font: 11rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      color: #FDE9D9; }

  .nice_item {
    padding: 30px 20px 0; }

  .nice_box {
    padding: 0 0 190px;
    max-width: 1920px;
    margin: 0 auto;
    position: relative; }
    .nice_box:before {
      width: 220px; } }
/*max-width:480px*/
/****************************************/
.solution {
  padding: 190px 0 280px;
  margin: 0 auto;
  width: calc(100% - 120px);
  position: relative; }
  .solution h1 {
    font: 3.4rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    color: #89655A;
    text-align: center;
    letter-spacing: 0.12em;
    margin: 0 auto 80px;
    position: relative; }
    .solution h1 strong {
      font-weight: 700;
      color: #DF816E; }
    .solution h1:before {
      position: absolute;
      content: "solution";
      letter-spacing: 0;
      right: 5%;
      top: -110px;
      font: 16rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      color: #FCF2EE;
      z-index: -1; }
    .solution h1:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/nice_item02.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 337/316;
      width: 100%;
      max-width: 292px;
      height: auto;
      right: 5%;
      top: -400px;
      z-index: 30; }
  .solution h2 {
    font: 5.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    margin: 0 0 50px;
    display: block;
    width: fit-content;
    position: relative; }
    .solution h2 small {
      font: 2.7rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      display: block;
      margin: 0 0 10px; }
    .solution h2:before {
      position: absolute;
      content: "";
      display: block; }
  .solution ul {
    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: stretch; }
  .solution li {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 15px;
    font: 1.8rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    text-align: center;
    position: relative;
    max-width: 340px;
    width: calc((100% - 60px)/3);
    margin-bottom: 70px;
    background-color: #fff; }
    .solution li:before {
      position: absolute;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      left: 10px;
      top: 10px;
      z-index: -1; }
  .solution p {
    font: 1.6rem/2.2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }
    .solution p strong {
      font-weight: 500; }

.solution_box {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto; }

.solution_item01 {
  margin-bottom: 200px; }
  .solution_item01 h2 {
    color: #DF816E; }
    .solution_item01 h2:before {
      background: url("../images/solution01.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 152/123;
      width: 100%;
      max-width: 152px;
      height: auto;
      right: -170px;
      top: -10px; }
  .solution_item01 li {
    border: 1px solid #DF816E; }
    .solution_item01 li strong {
      color: #DF816E; }
    .solution_item01 li:before {
      border: 1px solid #DF816E; }
  .solution_item01 p strong {
    color: #DF816E; }

.solution_item02 h2 {
  color: #F5A21B; }
  .solution_item02 h2:before {
    background: url("../images/solution02.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 198/125;
    width: 100%;
    max-width: 198px;
    height: auto;
    right: -180px;
    top: 0px; }
.solution_item02 li {
  border: 1px solid #F5A21B; }
  .solution_item02 li strong {
    color: #F5A21B; }
  .solution_item02 li:before {
    border: 1px solid #F5A21B; }
.solution_item02 p strong {
  color: #F5A21B; }

@media (max-width: 1024px) {
  .solution {
    margin: 0 auto;
    width: calc(100% - 80px); }
    .solution h1 {
      font: 3.2rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700; }
      .solution h1:before {
        right: auto;
        left: 0;
        width: 100%;
        text-align: center;
        top: -110px; }
    .solution ul {
      width: 100%;
      margin: 0 auto; }
    .solution li {
      max-width: 480px;
      width: calc((100% - 30px)/2); }

  .solution_box {
    margin: 0 auto;
    max-width: 768px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .solution {
    padding: 350px 0 150px;
    margin: 0 auto;
    width: 100%; }
    .solution h1 {
      font: 3rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700; }
      .solution h1 strong {
        display: block; }
      .solution h1:before {
        right: auto;
        left: 0;
        width: 100%;
        text-align: center;
        top: -60px;
        font: 12rem / 1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 300; }
      .solution h1:after {
        position: absolute;
        content: "";
        display: block;
        background: url("../images/nice_item02.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 337/316;
        width: 100%;
        max-width: 250px;
        height: auto;
        right: auto;
        top: -310px;
        left: 50%;
        -webkit-transform: translate(-50%, 0%);
        /* Safari用 */
        transform: translate(-50%, 0%);
        z-index: 30; }
    .solution ul {
      max-width: 480px;
      width: 100%;
      margin: 0 auto; }
    .solution li {
      padding: 30px 15px;
      max-width: 480px;
      width: 100%;
      margin: 0 auto 30px; }
      .solution li:last-of-type {
        margin: 0 auto 50px; }

  .solution_box {
    margin: 0 auto;
    width: 100%; }

  .solution_item01 {
    max-width: 480px;
    width: calc(100% - 80px);
    margin: 0 auto 150px; }

  .solution_item02 {
    max-width: 480px;
    width: calc(100% - 80px);
    margin: 0 auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .solution {
    margin: 0 auto;
    width: 100%; }
    .solution h1 {
      font: 3.2rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      margin: 0 auto 60px; }
      .solution h1 strong {
        display: block; }
      .solution h1 br {
        display: block; }
      .solution h1:before {
        top: -30px;
        font: 8rem / 1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 300; }
    .solution h2 {
      font: 4.4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      margin: 0 0 35px;
      display: block;
      width: fit-content;
      position: relative; }
      .solution h2 small {
        font: 2rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 300;
        display: block;
        margin: 0 0 10px; }
      .solution h2:before {
        position: absolute;
        content: "";
        display: block; }
    .solution ul {
      max-width: 315px;
      width: 100%;
      margin: 0 auto; }
    .solution li {
      font: 1.7rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      padding: 30px 10px;
      width: 100%;
      margin: 0 auto 30px; }
      .solution li:last-of-type {
        margin: 0 auto 50px; }

  .solution_box {
    margin: 0 auto;
    width: 100%; }

  .solution_item01 {
    max-width: 315px;
    width: calc(100% - 40px);
    margin: 0 auto 100px; }
    .solution_item01 h2:before {
      max-width: 110px;
      height: auto;
      right: -135px;
      top: -10px; }

  .solution_item02 {
    max-width: 315px;
    width: calc(100% - 40px);
    margin: 0 auto; }
    .solution_item02 h2:before {
      right: -135px;
      top: 0px; } }
/*max-width:480px*/
/****************************************/
.flow {
  max-width: 1585px;
  width: 100%;
  margin: 0 auto 200px;
  counter-reset: step; }
  .flow h1 {
    color: #DF816E;
    max-width: 1450px;
    width: 100%;
    position: relative;
    margin: 0 auto 80px;
    font: 9rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: 0.04em; }
    .flow h1 span {
      display: block;
      font: 3rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.12em;
      margin: 10px 0 0; }
      .flow h1 span br {
        display: none; }
    .flow h1:before, .flow h1:after {
      display: none; }
  .flow .flex {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    counter-reset: hoge; }
  .flow .flow_flex {
    width: calc((100% - 100px)/6);
    position: relative; }
    .flow .flow_flex .item {
      height: 100%;
      max-width: 240px;
      background-color: #fff;
      border-radius: 10px;
      border: 1px solid #DF816E;
      text-align: center;
      position: relative;
      padding: 120px 15px 20px;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: stretch; }
      .flow .flow_flex .item:before {
        font: 1.4rem/58px "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        text-align: center;
        position: absolute;
        counter-increment: hoge;
        content: "STEP " counter(hoge);
        display: block;
        width: 60px;
        height: 60px;
        border-radius: 100%;
        background-color: #DF816E;
        color: #fff;
        top: -30px;
        left: 0; }
      .flow .flow_flex .item p {
        padding: 0 0 95px;
        font: 2.5rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        color: #DF816E; }
      .flow .flow_flex .item span {
        transition: .3s;
        color: #DF816E;
        font: 1.6rem/37px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        max-width: 180px;
        width: calc(100% - 10px);
        margin: 0 auto 0;
        text-align: center;
        display: block;
        border: 1px solid #DF816E;
        border-radius: 50px;
        height: 40px; }
    .flow .flow_flex .fukidashi {
      position: fixed;
      top: 0;
      box-sizing: border-box;
      max-width: 750px;
      width: 80%;
      background-color: #fff;
      border: 1px solid #DF816E;
      border-radius: 20px;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      /* Safari用 */
      transform: translate(-50%, -50%);
      padding: 50px 50px 50px;
      pointer-events: none;
      z-index: 1000;
      opacity: 0;
      transition: .3s; }
      .flow .flow_flex .fukidashi.active {
        pointer-events: all;
        opacity: 1; }
      .flow .flow_flex .fukidashi dt {
        font: 2.5rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 700;
        color: #DF816E;
        margin: 0 0 20px;
        position: relative; }
      .flow .flow_flex .fukidashi dd {
        font: 1.6rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        color: #DF816E;
        text-align: justify;
        text-justify: inter-ideograph; }
        .flow .flow_flex .fukidashi dd.close {
          cursor: pointer;
          padding: 30px 0 0;
          font: 1.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 700;
          color: #DF816E;
          text-align: center;
          width: fit-content;
          margin: 0 0 0 auto; }
      .flow .flow_flex .fukidashi:after {
        font: 1.4rem/58px "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        text-align: center;
        position: absolute;
        counter-increment: step;
        content: "STEP " counter(step);
        display: block;
        width: 60px;
        height: 60px;
        border-radius: 100%;
        background-color: #DF816E;
        color: #fff;
        top: -30px;
        left: 0; }
  .flow .flow01 p {
    position: relative; }
    .flow .flow01 p:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow01_top.svg") center center no-repeat;
      aspect-ratio: 50/37;
      width: 100%;
      max-width: 50px;
      height: auto;
      top: -50px;
      left: 50%;
      transform: translate(-50%, 0%); }
  .flow .flow01 .fukidashi dt {
    padding: 0 0 0 65px; }
    .flow .flow01 .fukidashi dt:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow01_top.svg") center center no-repeat;
      aspect-ratio: 50/37;
      width: 100%;
      max-width: 50px;
      height: auto;
      top: 50%;
      left: 0%;
      transform: translate(0%, -50%); }
  .flow .flow02 p {
    position: relative; }
    .flow .flow02 p:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow02.svg") center center no-repeat;
      aspect-ratio: 68/67;
      width: 100%;
      max-width: 68px;
      height: auto;
      top: 45px;
      left: 50%;
      transform: translate(-50%, 0%); }
    .flow .flow02 p:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow02_top.svg") center center no-repeat;
      aspect-ratio: 53/48;
      width: 100%;
      max-width: 53px;
      height: auto;
      top: -55px;
      left: 50%;
      transform: translate(-50%, 0%); }
  .flow .flow02 .fukidashi dt {
    padding: 0 0 0 65px; }
    .flow .flow02 .fukidashi dt:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow02_top.svg") center center no-repeat;
      aspect-ratio: 53/48;
      width: 100%;
      max-width: 53px;
      height: auto;
      top: 50%;
      left: 0%;
      transform: translate(0%, -50%); }
  .flow .flow03 p {
    position: relative; }
    .flow .flow03 p:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow03_top.svg") center center no-repeat;
      aspect-ratio: 58/49;
      width: 100%;
      max-width: 58px;
      height: auto;
      top: -60px;
      left: 50%;
      transform: translate(-50%, 0%); }
  .flow .flow03 .fukidashi dt {
    padding: 0 0 0 65px; }
    .flow .flow03 .fukidashi dt:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow03_top.svg") center center no-repeat;
      aspect-ratio: 58/49;
      width: 100%;
      max-width: 58px;
      height: auto;
      top: 50%;
      left: 0%;
      transform: translate(0%, -50%); }
  .flow .flow04 p {
    position: relative; }
    .flow .flow04 p:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow04_top.svg") center center no-repeat;
      aspect-ratio: 41/45;
      width: 100%;
      max-width: 41px;
      height: auto;
      top: -60px;
      left: 50%;
      transform: translate(-50%, 0%); }
  .flow .flow04 .fukidashi dt {
    padding: 0 0 0 55px; }
    .flow .flow04 .fukidashi dt:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow04_top.svg") center center no-repeat;
      aspect-ratio: 41/45;
      width: 100%;
      max-width: 41px;
      height: auto;
      top: 50%;
      left: 0%;
      transform: translate(0%, -50%); }
  .flow .flow05 p {
    position: relative; }
    .flow .flow05 p:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow05_top.svg") center center no-repeat;
      aspect-ratio: 41/34;
      width: 100%;
      max-width: 41px;
      height: auto;
      top: -50px;
      left: 50%;
      transform: translate(-50%, 0%); }
  .flow .flow05 .fukidashi dt {
    padding: 0 0 0 55px; }
    .flow .flow05 .fukidashi dt:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow05_top.svg") center center no-repeat;
      aspect-ratio: 41/34;
      width: 100%;
      max-width: 41px;
      height: auto;
      top: 50%;
      left: 0%;
      transform: translate(0%, -50%); }
  .flow .flow06 p {
    position: relative; }
    .flow .flow06 p:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow06_top.svg") center center no-repeat;
      aspect-ratio: 44/44;
      width: 100%;
      max-width: 44px;
      height: auto;
      top: -55px;
      left: 50%;
      transform: translate(-50%, 0%); }
  .flow .flow06 .fukidashi dt {
    padding: 0 0 0 55px; }
    .flow .flow06 .fukidashi dt:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/flow06_top.svg") center center no-repeat;
      aspect-ratio: 44/44;
      width: 100%;
      max-width: 44px;
      height: auto;
      top: 50%;
      left: 0%;
      transform: translate(0%, -50%); }

.bg {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #000;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 999;
  pointer-events: none;
  transition: .3s; }
  .bg.active {
    opacity: 0.5; }

@media (max-width: 1280px) {
  .flow .flow_flex {
    width: calc((100% - 40px)/3);
    position: relative;
    margin-bottom: 60px; }
    .flow .flow_flex .item {
      height: 100%;
      max-width: 480px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .flow .flow_flex {
    width: calc((100% - 20px)/2);
    position: relative;
    margin-bottom: 60px; }
    .flow .flow_flex .item {
      height: 100%;
      max-width: 480px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .flow {
    width: calc(100% - 60px);
    margin: 0 auto 200px; }
    .flow h1 {
      max-width: 1450px;
      font: 10rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      letter-spacing: 0.04em; }
      .flow h1 span {
        display: block;
        font: 3rem/1.3em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400;
        letter-spacing: 0.12em;
        margin: 10px 0 0; }
        .flow h1 span br {
          display: block; }
    .flow .flow_flex .item {
      padding: 80px 0 20px;
      margin: 0 auto; }
      .flow .flow_flex .item p {
        font: 2.2rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        padding: 0 0 25px; }
        .flow .flow_flex .item p.muryo {
          padding: 0 0 90px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .flow {
    max-width: 330ppx;
    margin: 0 auto 100px;
    counter-reset: step; }
    .flow h1 {
      margin: 0 auto 70px;
      font: 8rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      letter-spacing: 0.04em; }
      .flow h1 span {
        display: block;
        font: 2.6rem/1.3em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400;
        letter-spacing: 0.12em;
        margin: 10px 0 0; }
    .flow .flow_flex {
      width: 100%; }
      .flow .flow_flex .item {
        padding: 80px 0 20px;
        margin: 0 auto; }
        .flow .flow_flex .item p {
          font: 2.2rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 500;
          padding: 0 0 25px; }
          .flow .flow_flex .item p.muryo {
            padding: 0 0 90px; }
      .flow .flow_flex .fukidashi {
        width: 90%;
        padding: 60px 20px 40px; }
        .flow .flow_flex .fukidashi dt {
          font: 2.2rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 700;
          color: #DF816E;
          margin: 0 0 20px;
          position: relative; }
        .flow .flow_flex .fukidashi dd {
          font: 1.6rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
          font-weight: 500;
          color: #DF816E; }
          .flow .flow_flex .fukidashi dd.close {
            cursor: pointer;
            padding: 30px 0 0;
            font: 1.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
            font-weight: 700;
            color: #DF816E;
            text-align: center;
            width: fit-content;
            margin: 0 0 0 auto; } }
/*max-width:480px*/
@media (hover: hover) {
  .flow .flow_flex .fukidashi dd.close:hover {
    cursor: pointer;
    opacity: 0.5; }
  .flow .flow_flex .item span:hover {
    color: #fff;
    background-color: #DF816E;
    cursor: pointer; } }
/****************************************/
.bg_orange {
  background-color: #FEF3E7;
  border-radius: 100px;
  padding: 0 0 100px;
  margin: 0 auto 300px; }

.reason {
  max-width: 1370px;
  width: calc(100% - 120px);
  margin: 0 auto; }
  .reason h1 {
    color: #DF816E;
    max-width: 1200px;
    width: 100%;
    position: relative;
    top: -70px;
    margin: 0 auto 50px;
    font: 12rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: 0.04em; }
    .reason h1 span {
      display: block;
      font: 4.5rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.12em;
      margin: 10px 0 0;
      position: relative;
      width: fit-content; }
      .reason h1 span:before {
        position: absolute;
        content: "";
        background: url("../images/reason.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 155/128;
        width: 100%;
        max-width: 155px;
        height: auto;
        top: -145px;
        right: -85px; }
  .reason ul {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    counter-reset: hoge; }
  .reason li {
    width: calc((100% - 80px)/3);
    max-width: 420px;
    position: relative;
    margin-bottom: 110px;
    height: auto; }
    .reason li:after {
      color: #DF816E;
      font: 4.6rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      position: absolute;
      counter-increment: hoge;
      content: counter(hoge);
      top: -10px;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); }
    .reason li:before {
      position: absolute;
      content: "";
      display: block;
      aspect-ratio: 1/1;
      border-radius: 100%;
      background-color: #fff;
      width: 100%;
      max-width: 380px;
      height: auto;
      top: 15px;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); }
  .reason h2 {
    padding: 230px 0 0;
    font: 2.2rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #DF816E;
    position: relative;
    z-index: 10;
    text-align: center;
    margin: 0 0 10px; }
    .reason h2 br {
      display: none; }
    .reason h2:before {
      display: block;
      width: 100%;
      height: 210px;
      position: absolute;
      content: "";
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); }
    .reason h2.reason01:before {
      background: url("../images/reason01.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 230/131;
      width: 100%;
      max-width: 230px;
      height: auto;
      top: 70px; }
    .reason h2.reason02:before {
      background: url("../images/reason02.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 205/171;
      width: 100%;
      max-width: 205px;
      height: auto;
      top: 40px; }
    .reason h2.reason03:before {
      background: url("../images/reason03.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 192/175;
      width: 100%;
      max-width: 192px;
      height: auto;
      top: 45px; }
    .reason h2.reason04:before {
      background: url("../images/reason04.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 250/151;
      width: 100%;
      max-width: 250px;
      height: auto;
      top: 63px; }
    .reason h2.reason05:before {
      background: url("../images/reason05.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 194/185;
      width: 100%;
      max-width: 194px;
      height: auto;
      top: 30px; }
    .reason h2.reason06:before {
      background: url("../images/reason06.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 207/146;
      width: 100%;
      max-width: 207px;
      height: auto;
      top: 63px; }
  .reason p {
    max-width: 370px;
    margin: 0 auto;
    font: 1.6rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    position: relative;
    z-index: 10; }

@media (max-width: 1280px) {
  .bg_orange {
    margin: 0 auto 200px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .bg_orange {
    margin: 0 auto 200px;
    border-radius: 50px; }

  .reason {
    max-width: 1370px;
    width: calc(100% - 80px); }
    .reason h1 {
      color: #DF816E;
      max-width: 1200px;
      width: 100%;
      position: relative;
      top: -70px;
      margin: 0 auto 50px;
      font: 12rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      letter-spacing: 0.04em; }
      .reason h1 span {
        display: block;
        font: 4.5rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400;
        letter-spacing: 0.12em;
        margin: 10px 0 0;
        position: relative;
        width: fit-content; }
        .reason h1 span:before {
          position: absolute;
          content: "";
          background: url("../images/reason.svg") center center no-repeat;
          background-size: contain;
          aspect-ratio: 155/128;
          width: 100%;
          max-width: 155px;
          height: auto;
          top: -145px;
          right: -85px; }
    .reason li {
      width: calc((100% - 40px)/2);
      max-width: 420px;
      position: relative;
      margin-bottom: 110px;
      height: auto; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .bg_orange {
    border-radius: 50px;
    padding: 70px 0 100px;
    margin: 0 auto 100px; }

  .reason {
    max-width: 480px;
    width: calc(100% - 80px); }
    .reason h1 {
      position: relative;
      top: auto;
      margin: 0 auto 70px;
      font: 10rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      letter-spacing: 0.04em;
      text-align: center;
      padding: 100px 0 0; }
      .reason h1:before {
        position: absolute;
        content: "";
        background: url("../images/reason.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 155/128;
        width: 100%;
        max-width: 120px;
        height: auto;
        top: 0%;
        left: 50%;
        -webkit-transform: translate(-50%, 0%);
        /* Safari用 */
        transform: translate(-50%, 0%); }
      .reason h1 span {
        display: block;
        font: 3.3rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400;
        letter-spacing: 0.12em;
        margin: 10px auto 0; }
        .reason h1 span:before {
          display: none; }
    .reason li {
      width: 100%;
      max-width: 400px;
      min-height: 400px;
      margin: 0 auto 80px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .reason {
    max-width: 480px;
    width: calc(100% - 40px); }
    .reason h1 {
      font: 8rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      padding: 80px 0 0; }
      .reason h1:before {
        max-width: 100px; }
      .reason h1 span {
        font: 2.6rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; }
    .reason li {
      width: 100%;
      max-width: 330px;
      min-height: 330px;
      margin: 0 auto 50px; }
      .reason li:before {
        width: 100%;
        max-width: 100%; }
    .reason h2 br {
      display: block; } }
/*max-width:480px*/
/****************************************/
.introduction {
  margin: 0 auto 130px; }

.introduction_box {
  position: relative;
  width: 100%;
  color: #89655A; }
  .introduction_box h1 {
    color: #DF816E;
    position: absolute;
    top: -70px;
    max-width: 1660px;
    width: 100%;
    left: auto;
    right: 120px;
    padding: 0 140px 0 0;
    text-align: right;
    font: 12rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: 0.04em; }
    .introduction_box h1 span {
      margin: 15px 0 0;
      display: block;
      font: 4.5rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.12em; }
    .introduction_box h1:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/introduction_ttl.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 102/111;
      width: 100%;
      max-width: 102px;
      height: auto;
      top: 10px;
      right: 0; }
    .introduction_box h1 br {
      display: none; }
  .introduction_box:before {
    position: absolute;
    content: "";
    display: block;
    width: 95%;
    height: 100%;
    background-color: #FEF5F3;
    z-index: -1;
    max-width: 1700px; }
  .introduction_box.introduction_box01 {
    margin: 0;
    padding: 260px 100px 130px 100px;
    margin: 0 auto 130px; }
    .introduction_box.introduction_box01:before {
      top: 0;
      left: 0;
      border-radius: 0 40px 40px 0; }
    .introduction_box.introduction_box01 .introduction_flex {
      max-width: 1520px;
      width: calc(100% - 120px);
      margin: 0 auto 130px; }
    .introduction_box.introduction_box01 .img:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/introduction01_item.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 148/92;
      width: 100%;
      max-width: 148px;
      height: auto;
      left: 0;
      bottom: -70px; }
    .introduction_box.introduction_box01 .introduction_item {
      max-width: 1520px;
      width: calc(100% - 120px);
      margin: 0 auto 130px; }
  .introduction_box.introduction_box02 {
    padding: 170px 100px 130px 100px; }
    .introduction_box.introduction_box02:before {
      top: 0;
      right: 0;
      border-radius: 40px 0 0 40px; }
    .introduction_box.introduction_box02 .introduction_item {
      margin: 0 auto 65px;
      max-width: 1200px;
      padding: 0 0 0 100px; }
      .introduction_box.introduction_box02 .introduction_item p {
        max-width: 870px;
        font: 1.5rem/2.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; }
    .introduction_box.introduction_box02 .introduction_flex {
      margin: 0 auto;
      max-width: 1200px;
      margin-bottom: 50px;
      padding: 0 0 0 100px; }
      .introduction_box.introduction_box02 .introduction_flex dl {
        margin-bottom: 35px; }
      .introduction_box.introduction_box02 .introduction_flex p {
        font: 1.5rem/2.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; }
      .introduction_box.introduction_box02 .introduction_flex .img:before {
        position: absolute;
        content: "";
        display: block;
        background: url("../images/introduction02_item.svg") center center no-repeat;
        background-size: contain;
        aspect-ratio: 109/171;
        width: 100%;
        max-width: 109px;
        height: auto;
        right: 20px;
        bottom: -80px; }

.introduction_dog {
  margin: 0 auto;
  max-width: 1200px;
  margin-bottom: 50px;
  padding: 0 0 0 100px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }
  .introduction_dog .img {
    width: 450px;
    position: relative; }
    .introduction_dog .img img {
      border-radius: 20px;
      width: 100%; }
  .introduction_dog h2 {
    font: 4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    color: #DF816E;
    letter-spacing: 0.08em;
    margin: 0 0 45px;
    width: fit-content;
    position: relative; }
    .introduction_dog h2 small {
      display: block;
      font: 1.8rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0;
      margin: 0 0 13px; }
    .introduction_dog h2:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/hone.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 87/95;
      width: 100%;
      max-width: 87px;
      height: auto;
      right: -80px;
      bottom: 20px; }
  .introduction_dog .txt {
    padding: 30px 0 0 0;
    width: calc(100% - 520px); }
  .introduction_dog p {
    word-break: break-all;
    max-width: 555px;
    width: fit-content;
    font: 1.5rem/2.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    margin: 0 0 20px; }
    .introduction_dog p:last-of-type {
      margin: 0; }
    .introduction_dog p span {
      display: block;
      position: relative;
      font-weight: 700;
      padding: 0 0 0 20px; }
      .introduction_dog p span:before {
        position: absolute;
        content: "";
        display: block;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        border: 1px solid #79503A;
        left: 0;
        top: 12px; }
      .introduction_dog p span.black:before {
        background-color: #79503A; }
      .introduction_dog p span.white:before {
        background-color: #fff; }

.introduction_flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }
  .introduction_flex .img {
    width: 450px;
    position: relative; }
    .introduction_flex .img img {
      border-radius: 20px;
      width: 100%; }
  .introduction_flex .txt {
    padding: 60px 0 0 0;
    width: calc(100% - 520px); }
  .introduction_flex h2 {
    font: 4rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    color: #DF816E;
    letter-spacing: 0.08em;
    margin: 0 0 45px; }
    .introduction_flex h2 small {
      display: block;
      font: 1.8rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0;
      margin: 0 0 13px; }
  .introduction_flex h3 {
    font: 2.2rem/2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    color: #DF816E; }
  .introduction_flex dl {
    max-width: 560px;
    font: 1.5rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch; }
  .introduction_flex dt {
    width: 150px;
    padding: 18px 0 18px 15px;
    border-bottom: 1px solid #CBB199; }
  .introduction_flex dd {
    width: calc(100% - 150px);
    padding: 18px 0;
    border-bottom: 1px solid #CBB199; }

.introduction_item h3 {
  font: 3.2rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 400;
  letter-spacing: 0.04em;
  margin: 0 0 10px;
  color: #DF816E; }
.introduction_item p {
  max-width: 935px;
  font: 1.5rem/2.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 400; }
.introduction_item ul {
  margin: 30px 0 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start; }
.introduction_item li {
  font: 1.5rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 500;
  width: calc((100% - 40px)/3);
  max-width: 120px;
  margin: 0 20px 0 0; }
  .introduction_item li:nth-of-type(1) {
    width: 100%;
    max-width: 100%;
    margin: 0 0 15px; }
  .introduction_item li img {
    width: 100%; }
  .introduction_item li:last-of-type {
    margin-right: 0; }

@media (max-width: 1280px) {
  .introduction_box h1 {
    width: fit-content;
    left: 80px;
    right: auto;
    padding: 0 140px 0 0;
    text-align: left; }
    .introduction_box h1 span {
      text-align: right; }
  .introduction_box.introduction_box01 {
    margin: 0;
    padding: 260px 100px 130px 80px;
    margin: 0 auto 130px; }
    .introduction_box.introduction_box01 .introduction_flex,
    .introduction_box.introduction_box01 .introduction_item {
      width: 100%; }
  .introduction_box.introduction_box02 {
    margin: 0;
    padding: 170px 80px 130px 100px;
    margin: 0 auto 130px; }
    .introduction_box.introduction_box02 .introduction_flex, .introduction_box.introduction_box02 .introduction_item {
      width: 100%;
      padding: 0 0 0 50px; }

  .introduction_flex .img {
    width: 400px;
    position: relative; }
  .introduction_flex .txt {
    width: calc(100% - 450px); }
  .introduction_flex dt {
    width: 120px;
    padding: 18px 0 18px 15px;
    border-bottom: 1px solid #CBB199; }
  .introduction_flex dd {
    width: calc(100% - 120px);
    padding: 18px 0;
    border-bottom: 1px solid #CBB199; }

  .introduction_dog {
    margin: 0 auto;
    max-width: 1200px;
    margin-bottom: 50px;
    padding: 0 0 0 50px; }
    .introduction_dog h2:before {
      right: -65px;
      bottom: 20px; }
    .introduction_dog .txt {
      padding: 30px 0 0 0;
      width: calc(100% - 500px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .introduction_box h1 {
    font: 9.5rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    position: relative;
    width: fit-content;
    left: auto;
    top: auto;
    right: auto;
    padding: 0;
    text-align: left;
    word-break: break-all;
    margin: 0 auto 50px; }
    .introduction_box h1 span {
      text-align: right; }
    .introduction_box h1:before {
      top: -120px;
      right: 0; }
  .introduction_box.introduction_box01 {
    margin: 0;
    padding: 60px 80px 120px 40px;
    margin: 0 auto 100px; }
    .introduction_box.introduction_box01 .introduction_flex,
    .introduction_box.introduction_box01 .introduction_item {
      width: 100%;
      margin: 0 auto; }
  .introduction_box.introduction_box02 {
    margin: 0;
    padding: 170px 40px 130px 40px;
    margin: 0 auto 130px; }
    .introduction_box.introduction_box02 .introduction_flex, .introduction_box.introduction_box02 .introduction_item {
      width: 100%;
      padding: 0 0 0 50px; }

  .introduction_flex {
    margin: 0 auto 50px; }
    .introduction_flex .img {
      width: 280px;
      position: relative; }
    .introduction_flex .txt {
      width: calc(100% - 320px); }
    .introduction_flex dt {
      width: 100%;
      padding: 18px 0 5px 0;
      border-bottom: none; }
    .introduction_flex dd {
      width: 100%;
      padding: 0 0 18px;
      border-bottom: 1px solid #CBB199; }

  .introduction_dog {
    margin: 0 auto;
    max-width: 1200px;
    margin-bottom: 50px;
    padding: 0 0 0 50px; }
    .introduction_dog .img {
      width: 280px; }
      .introduction_dog .img img {
        border-radius: 20px;
        width: 100%; }
    .introduction_dog .txt {
      padding: 30px 0 0 0;
      width: calc(100% - 320px); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .introduction_box:before {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FEF5F3;
    z-index: -1;
    max-width: 1700px;
    border-radius: 40px !important; }
  .introduction_box h1 {
    font: 8rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    position: relative;
    width: fit-content;
    left: auto;
    top: auto;
    right: auto;
    padding: 0;
    text-align: left;
    word-break: break-all;
    margin: 0 0 50px; }
    .introduction_box h1 span {
      text-align: left; }
    .introduction_box h1:before {
      top: -40px;
      right: 0; }
    .introduction_box h1 br {
      display: block; }
  .introduction_box.introduction_box01 {
    margin: 0;
    padding: 60px 40px 60px 40px;
    margin: 0 auto 50px; }
    .introduction_box.introduction_box01 .introduction_flex,
    .introduction_box.introduction_box01 .introduction_item {
      max-width: 480px;
      margin: 0 auto 0; }
    .introduction_box.introduction_box01 .introduction_flex {
      margin: 0 auto 50px; }
    .introduction_box.introduction_box01 .img:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/introduction01_item.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 148/92;
      width: 100%;
      max-width: 148px;
      height: auto;
      left: auto;
      right: 0;
      bottom: -70px; }
  .introduction_box.introduction_box02 {
    margin: 0;
    padding: 60px 40px 60px 40px;
    margin: 0 auto 100px; }
    .introduction_box.introduction_box02 .introduction_flex, .introduction_box.introduction_box02 .introduction_item {
      max-width: 480px;
      padding: 0; }

  .introduction_flex {
    max-width: 480px;
    margin: 0 auto 50px; }
    .introduction_flex .img {
      width: 100%;
      position: relative; }
    .introduction_flex .txt {
      width: 100%; }
    .introduction_flex dt {
      width: 100%;
      padding: 18px 0 5px 0;
      border-bottom: none; }
    .introduction_flex dd {
      width: 100%;
      padding: 0 0 18px;
      border-bottom: 1px solid #CBB199; }

  .introduction_dog {
    display: block;
    margin: 0 auto;
    max-width: 480px;
    margin-bottom: 0;
    padding: 0; }
    .introduction_dog .img {
      width: 100%;
      max-width: 480px; }
      .introduction_dog .img img {
        border-radius: 20px;
        width: 100%; }
    .introduction_dog .txt {
      padding: 30px 0 0 0;
      width: 100%;
      max-width: 480px; }
    .introduction_dog h2:before {
      bottom: -0px;
      right: -80px; }
    .introduction_dog p {
      word-break: break-all;
      max-width: 555px;
      font: 1.5rem/2.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      position: relative; }
      .introduction_dog p:before {
        display: none; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .introduction {
    margin: 0 auto 50px; }

  .introduction_box h1 {
    margin: 0 0 50px; }
    .introduction_box h1 span {
      text-align: left;
      font: 2.6rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }
  .introduction_box.introduction_box01 {
    margin: 0;
    padding: 60px 20px 60px 20px; }
    .introduction_box.introduction_box01 .img:before {
      max-width: 130px;
      bottom: -30px; }
  .introduction_box.introduction_box02 {
    margin: 0;
    padding: 60px 20px 60px 20px;
    margin: 0 auto; }

  .introduction_flex {
    max-width: 480px;
    margin: 0 auto 50px; }
    .introduction_flex h2 {
      margin: 0 0 30px; }
    .introduction_flex .txt {
      padding: 40px 0 0 0; }

  .introduction_dog h2 {
    width: 100%;
    margin: 0 0 30px; }
    .introduction_dog h2:before {
      width: 70px;
      bottom: 10px;
      right: 0; } }
/*max-width:480px*/
/****************************************/
.service_flex_set {
  max-width: 1100px;
  width: calc(100% - 120px);
  margin: 0 auto 100px;
  position: relative;
  clear: both;
  padding: 80px 0 200px; }
  .service_flex_set h1 {
    font: 6rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: 0.04em;
    margin: 0 0 60px; }
    .service_flex_set h1 span {
      margin: 15px 0 0 0;
      display: block;
      font: 2.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }

.service,
.company {
  max-width: 600px;
  width: 100%;
  min-height: 660px;
  padding: 120px 60px 120px 140px;
  background-color: #fff; }
  .service:before,
  .company:before {
    position: absolute;
    content: "";
    display: block;
    right: -50px;
    top: -35px;
    width: 100%;
    max-width: 100px;
    height: auto; }

.service {
  z-index: 5;
  border: 1px solid #DF816E;
  position: absolute;
  left: 0;
  top: 0; }
  .service h1 {
    color: #DF816E; }
  .service li {
    color: #89655A;
    padding: 0 0 0 20px;
    font: 1.8rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    position: relative;
    margin: 0 0 30px; }
    .service li:before {
      position: absolute;
      content: "";
      display: block;
      width: 15px;
      height: 15px;
      border-radius: 50px;
      background-color: #89655A;
      left: 0;
      top: 6px; }
  .service:before {
    background: url("../images/dog_w.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 100/81;
    z-index: 10; }

.company {
  border: 1px solid #89655A;
  margin: 0 0 0 auto;
  position: relative;
  z-index: 1; }
  .company h1 {
    color: #89655A; }
  .company dl {
    font: 1.6rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch; }
  .company dt {
    width: 90px;
    padding: 10px 0; }
  .company dd {
    width: calc(100% - 90px);
    padding: 10px 0; }
    .company dd small {
      display: block; }
  .company:before {
    background: url("../images/dog_b.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 100/71; }

@media (max-width: 1280px) {
  .service,
  .company {
    max-width: 640px;
    width: 100%;
    min-height: auto;
    padding: 70px;
    background-color: #fff; }

  .service {
    position: relative; }

  .company {
    padding: 100px 70px 70px;
    margin: -50px 0 0 auto;
    position: relative;
    z-index: 1; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .service,
  .company {
    max-width: 640px;
    width: 100%;
    min-height: auto;
    background-color: #fff; }
    .service:before,
    .company:before {
      position: absolute;
      content: "";
      display: block;
      right: auto;
      left: 50%;
      transform: translate(-50%, 0%);
      top: -35px;
      width: 100%;
      max-width: 100px;
      height: auto; }

  .service {
    position: relative;
    margin: 0 auto 80px;
    padding: 50px 70px; }

  .company {
    padding: 50px 70px;
    margin: 0 auto;
    position: relative;
    z-index: 1; }

  .service_flex_set {
    max-width: 1100px;
    width: calc(100% - 80px);
    margin: 0 auto;
    position: relative;
    clear: both;
    padding: 80px 0 200px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .service,
  .company {
    max-width: 640px;
    width: 100%;
    min-height: auto;
    background-color: #fff; }

  .service {
    position: relative;
    margin: 0 auto 80px;
    padding: 50px; }

  .company {
    padding: 50px;
    margin: 0 auto;
    position: relative;
    z-index: 1; }
    .company dd span {
      display: block; }
    .company dd br {
      display: none; }

  .service_flex_set {
    max-width: 1100px;
    width: calc(100% - 80px);
    margin: 0 auto;
    position: relative;
    clear: both;
    padding: 80px 0 200px; }
    .service_flex_set h1 {
      font: 5.5rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      letter-spacing: 0.04em;
      margin: 0 0 60px; }
      .service_flex_set h1 span {
        margin: 15px 0 0 0;
        display: block;
        font: 2.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .service,
  .company {
    max-width: 640px;
    width: 100%;
    min-height: auto;
    background-color: #fff; }
    .service:before,
    .company:before {
      position: absolute;
      content: "";
      display: block;
      right: auto;
      left: 50%;
      transform: translate(-50%, 0%);
      top: -35px;
      width: 100%;
      max-width: 100px;
      height: auto; }

  .service {
    margin: 0 auto 80px;
    padding: 70px 25px 40px; }
    .service li {
      font: 1.6rem/1.5em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      margin: 0 0 20px; }
      .service li:before {
        width: 13px;
        height: 13px;
        top: 4px; }

  .company {
    padding: 70px 25px 40px;
    margin: 0 auto;
    position: relative;
    z-index: 1; }
    .company dt {
      display: block;
      width: 90px;
      padding: 0 0 5px; }
    .company dd {
      width: 100%;
      padding: 0;
      margin: 0 0 25px; }
      .company dd:last-of-type {
        margin: 0; }

  .service_flex_set {
    max-width: 1100px;
    width: calc(100% - 40px);
    margin: 0 auto;
    position: relative;
    clear: both;
    padding: 80px 0 200px; }
    .service_flex_set h1 {
      font: 5rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300;
      letter-spacing: 0.04em;
      margin: 0 0 35px;
      text-align: center; }
      .service_flex_set h1 span {
        margin: 15px 0 0 0;
        display: block;
        font: 2.2rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; } }
/*max-width:480px*/
/****************************************/
.price {
  clear: both;
  padding: 0 0 130px; }
  .price h1 {
    text-align: center;
    color: #F5A21B;
    font: 6rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 300;
    letter-spacing: 0.04em;
    margin: 0 0 60px; }
    .price h1 span {
      font: 2.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.012em;
      display: inline-block;
      padding: 0 0 0 20px; }
  .price ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    max-width: 1200px;
    width: calc(100% - 120px);
    margin: 0 auto 100px; }
  .price li {
    padding: 40px;
    width: calc((100% - 40px)/3);
    max-width: 360px;
    border-radius: 10px;
    border: 1px solid #F5A21B; }
  .price h2 {
    text-align: center;
    color: #F5A21B;
    font: 2.4rem/1.4em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    margin: 0 0 15px; }
    .price h2 span {
      font: 2rem/1.4em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      display: block;
      height: 28px; }
  .price .txt {
    font: 1.6rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    margin-bottom: 20px; }
    .price .txt.line {
      text-align: center;
      font-weight: 500; }
      .price .txt.line span {
        padding: 0 10px;
        background: linear-gradient(transparent 60%, #FFF799 0%);
        display: inline; }
  .price .price_txt {
    margin: 20px 0 0;
    text-align: center;
    font: 3.2rem/1.4em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }
    .price .price_txt span {
      color: #F5A21B;
      font: 1.6rem/1.4em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      display: block;
      margin-bottom: 5px; }
      .price .price_txt span.txt {
        font: 1.8rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        color: #79503A; }
    .price .price_txt small {
      font: 1.4rem/1.4em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      padding: 0 0 5px; }
  .price a {
    transition: .3s;
    text-decoration: none;
    font: 1.8rem/78px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    display: block;
    width: calc(100% - 80px);
    max-width: 500px;
    height: 80px;
    text-align: center;
    color: #fff;
    background-color: #F5A21B;
    margin: 0 auto;
    border-radius: 50px; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .price li {
    padding: 40px 30px;
    width: calc((100% - 40px)/2);
    max-width: 480px;
    margin: 0 auto 30px; }
  .price h2 span.none {
    display: none; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .price h1 {
    margin: 0 0 50px; }
    .price h1 span {
      display: block;
      font: 2.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.012em;
      padding: 20px 0 0; }
  .price ul {
    display: block;
    max-width: 1200px;
    width: calc(100% - 80px);
    margin: 0 auto 100px; }
  .price li {
    width: 100%;
    max-width: 480px;
    margin: 0 auto 30px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .price {
    padding: 0 0 100px; }
    .price h1 {
      font: 5rem/1em "Poppins", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 300; }
      .price h1 span {
        font: 2.2rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 400; }
    .price ul {
      display: block;
      max-width: 1200px;
      width: calc(100% - 40px);
      margin: 0 auto 40px; }
    .price li {
      width: 100%;
      max-width: 330px;
      margin: 0 auto 15px; }
    .price a {
      width: calc(100% - 40px); } }
/*max-width:480px*/
@media (hover: hover) {
  .price a:hover {
    opacity: 0.5; } }
