@charset "UTF-8";
/* ==========================================================================
	root
========================================================================== */
:root {
  --base-pc-width:1500;
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeOutQuad:cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeOutQuint:cubic-bezier(.25, .46, .45, .94);
  --easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
  --easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
  --easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
  --easeInCirc:cubic-bezier(0.55, 0, 1, 0.45); }

/* ==========================================================================
	animations
========================================================================== */
.grecaptcha-badge {
  z-index: 9999;
  /* 必要な値を指定 */ }

/* ==========================================================================
	tit_area
========================================================================== */
#hasei_fv {
  overflow: visible;
  z-index: 70; }
  #hasei_fv .tit_area {
    bottom: 0; }
    #hasei_fv .tit_area .n_txt {
      font-size: 2rem;
      --lh:2;
      color: #fff;
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      margin-top: 7rem; }
      #hasei_fv .tit_area .n_txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      #hasei_fv .tit_area .n_txt::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }

/* ==========================================================================
	intro
========================================================================== */
.intro {
  position: relative;
  background: var(--theme-color02);
  z-index: 60;
  padding-top: 12rem;
  padding-bottom: 45rem; }
  .intro .inr {
    position: relative;
    width: clamp(804px, 89.3333333333vw, 1715.2px);
    max-width: 95%;
    z-index: 10;
    margin: 0 auto; }
  .intro .links {
    display: grid;
    gap: 0 2.9850746269%;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 22rem; }
    .intro .links a:nth-child(2) {
      -webkit-transform: translateY(10rem);
              transform: translateY(10rem); }
    .intro .links.ushizu a:nth-child(2) {
      pointer-events: none; }
      .intro .links.ushizu a:nth-child(2) .text_area {
        padding-right: 0; }
    .intro .links .img_area {
      position: relative;
      border-radius: .5rem;
      border: 1px solid #fff;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      overflow: hidden;
      aspect-ratio: calc(420/280);
      margin-bottom: 6rem; }
      .intro .links .img_area img {
        -webkit-transition: -webkit-transform 0.4s var(--easeOutQuad);
        transition: -webkit-transform 0.4s var(--easeOutQuad);
        transition: transform 0.4s var(--easeOutQuad);
        transition: transform 0.4s var(--easeOutQuad), -webkit-transform 0.4s var(--easeOutQuad); }
    .intro .links .text_area {
      position: relative;
      padding: 0 185px 0 1rem;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      color: #fff; }
      .intro .links .text_area .b_txt {
        font-size: 2.8rem;
        --lh:1.5;
        position: relative;
        /*
        overflow: hidden;
        */
        line-height: calc(var(--lh)* 1em);
        padding-top: .1px;
        padding-bottom: .1px;
        margin-bottom: 3rem; }
        .intro .links .text_area .b_txt::before {
          content: '';
          display: block;
          height: 0;
          width: 0;
          /*
          margin-top: calc((1 - var(--lh)) * 0.5em);
          */
          margin-top: calc((1 - var(--lh))* .5em); }
        .intro .links .text_area .b_txt::after {
          content: '';
          display: block;
          height: 0;
          width: 0;
          margin-bottom: calc((1 - var(--lh))* .5em); }
      .intro .links .text_area .n_txt {
        font-size: 1.7rem;
        --lh:calc(30/17);
        position: relative;
        /*
        overflow: hidden;
        */
        line-height: calc(var(--lh)* 1em);
        padding-top: .1px;
        padding-bottom: .1px; }
        .intro .links .text_area .n_txt::before {
          content: '';
          display: block;
          height: 0;
          width: 0;
          /*
          margin-top: calc((1 - var(--lh)) * 0.5em);
          */
          margin-top: calc((1 - var(--lh))* .5em); }
        .intro .links .text_area .n_txt::after {
          content: '';
          display: block;
          height: 0;
          width: 0;
          margin-bottom: calc((1 - var(--lh))* .5em); }
      .intro .links .text_area .w-arrow {
        position: absolute;
        right: 0;
        top: 0;
        width: 160px;
        height: 160px; }
        .intro .links .text_area .w-arrow span {
          position: relative;
          display: inline-block;
          font-size: 1.8rem;
          padding-top: 3.4rem;
          font-weight: 500;
          z-index: 10;
          color: #262626; }
          .intro .links .text_area .w-arrow span:before {
            content: "";
            display: block;
            width: 26px;
            height: 24px;
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            -webkit-transform: translateX(-2px);
                    transform: translateX(-2px);
            margin: auto;
            background: url(../img/common/theme-arrow.png);
            background-size: cover;
            -webkit-transition: -webkit-transform 0.6s var(--easeOutQuad);
            transition: -webkit-transform 0.6s var(--easeOutQuad);
            transition: transform 0.6s var(--easeOutQuad);
            transition: transform 0.6s var(--easeOutQuad), -webkit-transform 0.6s var(--easeOutQuad); }
          .intro .links .text_area .w-arrow span:after {
            content: "";
            display: block;
            width: 100%;
            height: 1px;
            background: #aaaaaa;
            position: absolute;
            left: 0;
            top: calc(100% + 2px); }
    @media (hover: hover) {
      .intro .links a:hover .img_area img {
        -webkit-transform: scale(1.05);
                transform: scale(1.05); }
      .intro .links a:hover .w-arrow span:before {
        -webkit-transform: translateX(3px);
                transform: translateX(3px); } }

@media screen and (max-width: 1200px) {
  .intro .links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .intro .links a {
      width: 47%; }
      .intro .links a:first-child {
        margin-bottom: 8rem; }
      .intro .links a:nth-child(2) {
        -webkit-transform: translateY(30rem);
                transform: translateY(30rem); } }
@media screen and (max-width: 800px) {
  .intro {
    padding-top: 9.5rem;
    padding-bottom: 220px; }
    .intro:after {
      content: "";
      display: block;
      width: 100%;
      height: 220px;
      background: #fff;
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 2; }
    .intro .inr {
      width: 100%;
      max-width: 100%; }
    .intro .n_txt {
      width: 81.25%;
      margin: 0 auto;
      font-size: 1.6rem;
      --lh:calc(60/32);
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      color: #fff;
      margin-bottom: 7.5rem; }
      .intro .n_txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .intro .n_txt::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    .intro .links {
      display: block;
      margin-bottom: 13rem; }
      .intro .links a {
        display: block;
        position: relative;
        width: 100%;
        margin-bottom: 5.5rem; }
      .intro .links .img_area {
        width: 70%;
        margin-bottom: 3rem;
        border: none; }
      .intro .links .text_area {
        position: static;
        padding: 3rem 0 0;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        color: #fff; }
        .intro .links .text_area .b_txt {
          position: absolute;
          top: -1rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          width: 25%;
          font-size: clamp(2.5rem, 6.25vw, 50px);
          margin-bottom: 0; }
        .intro .links .text_area .n_txt {
          position: relative;
          font-size: 1.5rem;
          width: 48.375%;
          margin-bottom: 0;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box; }
        .intro .links .text_area .w-arrow {
          position: absolute;
          bottom: 0;
          width: 150px;
          height: 150px; }
          .intro .links .text_area .w-arrow span {
            font-size: 1.6rem;
            padding-top: 3.4rem; }
            .intro .links .text_area .w-arrow span:before {
              width: 22px;
              height: 20px; }
      .intro .links a:not(:nth-child(2)) .img_area {
        margin-left: 30%; }
      .intro .links a:not(:nth-child(2)) .b_txt {
        left: 5vw; }
      .intro .links a:not(:nth-child(2)) .n_txt {
        margin-left: calc(150px + 10vw); }
      .intro .links a:not(:nth-child(2)) .w-arrow {
        right: auto;
        top: auto;
        left: 2.875vw;
        bottom: 0; }
      .intro .links a:nth-child(2) {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        margin-bottom: 8rem; }
        .intro .links a:nth-child(2) .b_txt {
          right: 0;
          width: 30%; }
        .intro .links a:nth-child(2) .n_txt {
          margin-left: 5vw; }
        .intro .links a:nth-child(2) .w-arrow {
          right: 2.875vw;
          top: auto;
          bottom: 0; }
      .intro .links.ushizu a:nth-child(2) .n_txt {
        margin-left: 5vw;
        width: calc(100% - 10vw); } }
/* ==========================================================================
	form_wrap
========================================================================== */
.form_wrap {
  background: #fff;
  border-radius: 6rem;
  padding: 10rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  .form_wrap .tell_wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 6rem;
    margin-bottom: 6rem; }
    .form_wrap .tell_wrap:after {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      position: absolute;
      right: 0;
      bottom: 0;
      background: url(../img/daily/other_x_line.jpg) repeat-x;
      background-size: 557px,1px; }
  .form_wrap .tit_area {
    position: relative;
    width: 40rem;
    padding-left: 7rem; }
    .form_wrap .tit_area .icon {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 38px; }
    .form_wrap .tit_area h3 {
      font-size: 2.4rem;
      margin-bottom: 1rem; }
    .form_wrap .tit_area .en {
      font-size: 1.2rem;
      color: var(--theme-color); }
    .form_wrap .tit_area.mail .icon {
      left: 5px;
      top: 8px; }
  .form_wrap .tell_area {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: right; }
    .form_wrap .tell_area .tell_txt {
      position: relative;
      display: inline-block;
      font-size: 4rem;
      letter-spacing: -0.06em;
      color: var(--theme-color);
      margin-right: 2.8rem; }
      .form_wrap .tell_area .tell_txt:before {
        content: "Tel.";
        color: #232323;
        position: absolute;
        left: -4rem;
        bottom: 5px;
        font-size: 1.6rem; }
    .form_wrap .tell_area .n_txt {
      display: inline-block;
      font-size: 1.5rem;
      -webkit-transform: translateY(-1rem);
              transform: translateY(-1rem); }
  .form_wrap .thanks_wrap {
    text-align: center; }
    .form_wrap .thanks_wrap h3 {
      font-size: 4rem;
      font-weight: 500;
      letter-spacing: 0.08em;
      margin-bottom: 6rem;
      color: var(--theme-color); }
    .form_wrap .thanks_wrap p {
      font-size: 1.8rem;
      --lh: 2;
      position: relative;
      /* overflow: hidden; */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      margin-bottom: 5rem; }
    .form_wrap .thanks_wrap .link_btn {
      position: relative;
      margin: 0 auto;
      width: 300px; }
  .form_wrap .form {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .form_wrap .form .box {
      width: 48.2456140351%;
      padding: 4rem 0 0; }
    .form_wrap .form .b_box {
      width: 100%;
      padding-top: 4rem; }
    .form_wrap .form .form_tit {
      position: relative;
      display: block;
      margin-bottom: 2.6rem;
      height: 23px; }
      .form_wrap .form .form_tit label {
        font-size: 1.8rem;
        color: var(--theme-color);
        letter-spacing: 0.12em; }
      .form_wrap .form .form_tit.req:after {
        content: "必須";
        display: inline-block;
        font-size: 12px;
        padding: 5px 9px;
        color: #fff;
        background: var(--theme-color);
        margin-left: 15px;
        font-weight: 700;
        border-radius: 11px;
        -webkit-transform: translateY(-2px);
                transform: translateY(-2px); }
  .form_wrap .form_input {
    width: 100%;
    height: 70px;
    border: 1px solid var(--theme-color);
    border-radius: .5rem; }
    .form_wrap .form_input .form-item {
      width: 100%;
      height: 70px;
      padding: 0 2.5rem;
      font-size: 1.6rem;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border: none;
      background: none;
      letter-spacing: 0.08em; }
    .form_wrap .form_input.b-item {
      height: 380px;
      padding-top: 2.5rem; }
      .form_wrap .form_input.b-item .form-item {
        height: 380px; }
  .form_wrap .form-foot {
    position: relative;
    padding-right: 245px;
    margin-top: 5.5rem; }
    .form_wrap .form-foot .n_txt {
      font-size: 1.6rem;
      line-height: calc(30/16); }
  .form_wrap .link_btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 235px; }
    .form_wrap .link_btn .submit-btn {
      position: absolute;
      left: 0;
      top: 0;
      /* buttonタグのリセットCSS */
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      width: 100%;
      height: 70px;
      background: none;
      cursor: pointer;
      /* ポインターカーソルを表示 */
      -webkit-transition: background .4s ease;
      transition: background .4s ease;
      z-index: 10; }

@media screen and (max-width: 1200px) {
  .form_wrap {
    padding: 8rem 5rem 10rem; }
    .form_wrap .tell_wrap {
      display: block; }
    .form_wrap .tit_area {
      width: 100%;
      text-align: center;
      padding-left: 0; }
      .form_wrap .tit_area .icon {
        left: 0;
        right: 0;
        margin: auto; }
      .form_wrap .tit_area h3 {
        padding-top: 5.5rem; }
      .form_wrap .tit_area .en {
        font-size: 1.2rem;
        color: var(--theme-color); }
      .form_wrap .tit_area.mail .icon {
        left: 5px;
        top: 8px; }
    .form_wrap .tell_area {
      text-align: center; }
      .form_wrap .tell_area .tell_txt {
        margin: 3rem 0 2rem;
        -webkit-transform: translateX(1rem);
                transform: translateX(1rem); }
      .form_wrap .tell_area .n_txt {
        display: block;
        -webkit-transform: translateY(0);
                transform: translateY(0); } }
@media screen and (max-width: 800px) {
  .form_wrap {
    position: relative;
    background: #fff;
    border-radius: 0;
    padding: 0; }
    .form_wrap:before {
      content: "";
      display: block;
      width: 95%;
      height: 51px;
      background: #fff;
      position: absolute;
      left: 0;
      right: 0;
      top: -50px;
      margin: auto;
      border-radius: .5rem .5rem 0 0; }
    .form_wrap .tell_wrap {
      padding-bottom: 5rem;
      margin-bottom: 4rem; }
      .form_wrap .tell_wrap:after {
        width: 99%;
        height: 1px;
        left: 0;
        margin: auto; }
    .form_wrap .tit_area .icon {
      width: 30px; }
    .form_wrap .tit_area h3 {
      padding-top: 4.7rem;
      font-size: 1.8rem;
      margin-bottom: 1rem; }
    .form_wrap .tit_area .en {
      font-size: 1.1rem;
      color: var(--theme-color); }
    .form_wrap .tell_area {
      position: relative; }
      .form_wrap .tell_area .tell_txt {
        font-size: 3rem;
        margin: 2.3rem 0 1.2rem; }
        .form_wrap .tell_area .tell_txt:before {
          bottom: 5px;
          font-size: 1.5rem; }
      .form_wrap .tell_area .n_txt {
        font-size: 1.4rem;
        color: #232323;
        margin-bottom: 0; }
    .form_wrap .thanks_wrap {
      width: 81.25%;
      margin: 0 auto; }
      .form_wrap .thanks_wrap h3 {
        font-size: 2.7rem;
        margin-bottom: 4.5rem; }
      .form_wrap .thanks_wrap p {
        font-size: 1.5rem;
        margin-bottom: 4.5rem;
        text-align: left; }
      .form_wrap .thanks_wrap .link_btn {
        width: 100%; }
    .form_wrap .form {
      width: 90%;
      margin: 3rem auto 0; }
      .form_wrap .form .box {
        width: 100%;
        padding: 2rem 0 0; }
      .form_wrap .form .b_box {
        width: 100%;
        padding-top: 2rem; }
      .form_wrap .form .form_tit {
        margin-bottom: 1.9rem;
        height: auto; }
        .form_wrap .form .form_tit label {
          font-size: 1.6rem; }
        .form_wrap .form .form_tit.req:after {
          font-size: 10px;
          padding: 5px 8px;
          margin-left: 10px;
          -webkit-transform: translateY(-2px);
                  transform: translateY(-2px); }
    .form_wrap .form_input {
      height: 50px; }
      .form_wrap .form_input .form-item {
        height: 50px;
        padding: 0 1.5rem;
        font-size: 1.5rem; }
      .form_wrap .form_input.b-item {
        height: 250px;
        padding-top: 2rem; }
        .form_wrap .form_input.b-item .form-item {
          height: 250px; }
    .form_wrap .form-foot {
      width: 80%;
      margin: 4rem auto 0;
      padding-right: 0; }
      .form_wrap .form-foot .n_txt {
        font-size: 1.5rem;
        --lh: calc(50/30);
        position: relative;
        /*
        overflow: hidden;
        */
        line-height: calc(var(--lh)* 1em);
        padding-top: .1px;
        padding-bottom: .1px;
        color: #252525;
        margin-bottom: 4rem;
        width: 100%; }
        .form_wrap .form-foot .n_txt::before {
          content: '';
          display: block;
          height: 0;
          width: 0;
          /*
          margin-top: calc((1 - var(--lh)) * 0.5em);
          */
          margin-top: calc((1 - var(--lh))* .5em); }
        .form_wrap .form-foot .n_txt::after {
          content: '';
          display: block;
          height: 0;
          width: 0;
          margin-bottom: calc((1 - var(--lh))* .5em); }
    .form_wrap .link_btn {
      position: relative;
      width: 100%; }
      .form_wrap .link_btn .submit-btn {
        height: 60px; } }
/* ==========================================================================
	animations
========================================================================== */

/*# sourceMappingURL=contact.css.map */