@charset "UTF-8";
/* placeholder color */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
/**********************************************************************************************

　common

**********************************************************************************************/
#site-wrpper {
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  overflow: hidden; }
  @media (max-width: 750px) {
    #site-wrpper {
      font-size: 3.46vw; } }

img[src$=".svg"] {
  width: 100%; }

/* common */
img {
  max-width: 100%;
  height: auto; }

.inner {
  max-width: 1000px;
  margin: auto;
  position: relative; }
  @media (max-width: 750px) {
    .inner {
      max-width: 94vw; } }
  @media (min-width: 751px) {
    .inner {
      width: 94%; } }

main {
  display: block;
  position: relative; }

@media (min-width: 751px) {
  .fadelink {
    transition: .4s opacity; }
    .fadelink:hover {
      opacity: 0.6; } }

/* フェードイン */
.is-fadeIn {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity 1.0s, transform 1.0s; }
  @media (min-width: 751px) {
    .is-fadeIn {
      transform: translate3d(0, 40px, 0); } }

.is-fadeIn.is-scrollIn {
  opacity: 1;
  transform: translate(0, 0); }

@media (min-width: 751px) {
  .u-sp {
    display: none !important; }

  a[href^="tel:"] {
    pointer-events: none; } }
@media (max-width: 750px) {
  .u-pc {
    display: none !important; } }
/**********************************************************************************************

　header

**********************************************************************************************/
header {
  background: #ff5014;
  padding: 15px 0;
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1000; }
  @media (max-width: 750px) {
    header {
      padding: 3vw 0; } }
  header .inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }

.head_logo {
  width: 204px; }
  @media (max-width: 750px) {
    .head_logo {
      width: 36vw; } }

.head_contact {
  display: inline-block;
  border-radius: 100px;
  background: #2b3d63;
  color: #fff;
  font-weight: 700;
  font-size: 2rem;
  padding: 6px 25px; }
  @media (max-width: 750px) {
    .head_contact {
      font-size: 4vw;
      padding: 1.2vw 5vw; } }

/**********************************************************************************************

　footer

**********************************************************************************************/
footer {
  padding: 80px 0 3px; }
  @media (max-width: 750px) {
    footer {
      padding: 14vw 0 3px; } }
  footer .sec_titArea {
    margin: 0 0 75px; }
    @media (max-width: 750px) {
      footer .sec_titArea {
        margin: 0 0 10vw; } }

.foot_table {
  width: 100%;
  border-top: 1px solid #2b3d63;
  max-width: 650px;
  margin: auto;
  line-height: 2.2; }
  @media (max-width: 750px) {
    .foot_table {
      max-width: 100%;
      line-height: 1.6;
      font-size: 3.4vw; } }
  .foot_table th, .foot_table td {
    padding: 25px 25px;
    vertical-align: middle; }
    @media (max-width: 750px) {
      .foot_table th, .foot_table td {
        padding: 1.3vw 2.6vw; } }
  .foot_table th {
    background: #2b3d63;
    font-weight: 700;
    text-align: center;
    color: #fff;
    width: 150px;
    border-bottom: 1px solid #fff; }
    @media (max-width: 750px) {
      .foot_table th {
        width: 20vw;
        white-space: nowrap; } }
  .foot_table td {
    border-bottom: 1px solid #2b3d63; }
  .foot_table tr:last-child th {
    border-color: #2b3d63; }

.copyright {
  margin: 80px 0 0;
  display: block;
  letter-spacing: .1em;
  padding: 5px;
  text-align: center;
  color: #fff;
  background: #ff5014;
  font-size: 1.2rem; }
  @media (max-width: 750px) {
    .copyright {
      font-size: 2.6vw;
      margin: 12vw 0 0;
      padding: 0.3vw; } }

.position_table th, .position_table td {
  border: none !important;
  background: none !important;
  padding: 0 25px 20px 0;
  color: #2b3d63 !important;
  font-weight: 400;
  vertical-align: top;
  text-align: left;
  width: auto; }
  @media (max-width: 750px) {
    .position_table th, .position_table td {
      padding: 0 1em 0 0; } }
.position_table tr:last-child th, .position_table tr:last-child td {
  padding-bottom: 0; }

/**********************************************************************************************

　main

**********************************************************************************************/
/*---------------------------------------------
common
---------------------------------------------*/
.indentList li {
  padding-left: 1em;
  text-indent: -1em; }

.sec_titArea {
  text-align: center;
  margin: 0 0 60px;
  position: relative;
  z-index: 100; }
  @media (max-width: 750px) {
    .sec_titArea {
      margin: 0 0 8vw; } }

.sec {
  padding-top: 100px;
  position: relative; }
  @media (max-width: 750px) {
    .sec {
      padding-top: 14.6vw; } }
  .sec::before {
    content: "";
    display: block;
    width: 2px;
    height: 120px;
    background: #ff5014;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%); }
    @media (max-width: 750px) {
      .sec::before {
        height: 16vw;
        top: 0;
        transform: translate(-50%, -50%); } }

.sec_tit {
  font-size: 3.5rem;
  font-weight: 700; }
  @media (max-width: 750px) {
    .sec_tit {
      font-size: 6.6vw;
      line-height: 1.4; } }

.sec_txt {
  font-size: 2rem;
  font-weight: 700;
  margin: 20px 0 0;
  text-align: center; }
  @media (max-width: 750px) {
    .sec_txt {
      font-size: 3.43vw;
      margin: 2.6vw 0 0; } }

.decoTit {
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-weight: 700; }
  @media (max-width: 750px) {
    .decoTit {
      font-size: 3.43vw; } }
  .decoTit::before, .decoTit::after {
    content: "";
    display: block;
    width: 10px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat; }
    @media (max-width: 750px) {
      .decoTit::before, .decoTit::after {
        width: 1.6vw;
        height: 3.3vw; } }
  .decoTit::before {
    margin: 0 5px 0 0; }
    @media (max-width: 750px) {
      .decoTit::before {
        margin: 0 1.3vw 0 0; } }
  .decoTit::after {
    margin: 0 0 0 5px; }
    @media (max-width: 750px) {
      .decoTit::after {
        margin: 0 0 0 1.3vw; } }
  .decoTit.-orange {
    color: #ff5014; }
    .decoTit.-orange::before {
      background-image: url("../img/deco_orange01.svg"); }
    .decoTit.-orange::after {
      background-image: url("../img/deco_orange02.svg"); }
  .decoTit.-white {
    color: #fff; }
    .decoTit.-white::before {
      background-image: url("../img/deco_white01.svg"); }
    .decoTit.-white::after {
      background-image: url("../img/deco_white02.svg"); }

.linkBtn {
  display: block;
  width: 300px;
  margin: auto;
  border-radius: 100px;
  background: #fff;
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
  box-shadow: 3px 5px 0 #2b3d63;
  padding: 15px 0;
  transition: .4s; }
  @media (max-width: 750px) {
    .linkBtn {
      width: 60vw;
      font-size: 4.2vw;
      padding: 4vw 0; } }
  @media (min-width: 751px) {
    .linkBtn:hover {
      opacity: 1;
      box-shadow: none;
      transform: translate(3px, 5px); } }

/* contact */
.sec-contact {
  padding: 80px 0 110px; }
  @media (max-width: 750px) {
    .sec-contact {
      padding: 6.6vw 0 14.6vw;
      background: #ff5014;
      margin: 0 0 24vw; } }

.contact_box {
  background: #ff5014;
  max-width: 800px;
  margin: auto;
  position: relative;
  text-align: center;
  padding: 40px;
  border-radius: 10px; }
  @media (max-width: 750px) {
    .contact_box {
      padding: 0;
      position: static; } }

.contact_subTit {
  justify-content: center;
  margin: 0 0 20px; }
  @media (max-width: 750px) {
    .contact_subTit {
      margin: 0 0 2.6vw; } }

.contact_box_img {
  width: 182px;
  position: absolute;
  left: 20px;
  bottom: -20px;
  z-index: 10; }
  @media (max-width: 750px) {
    .contact_box_img {
      width: 24.2vw;
      bottom: -17vw;
      left: -3vw; } }

/*---------------------------------------------
kv
---------------------------------------------*/
.kv {
  background: #ff5014;
  padding: 120px 0 60px;
  position: relative;
  margin: 0 0 80px; }
  @media (max-width: 750px) {
    .kv {
      padding: 22vw 0 5vw;
      margin: 0 0 14.6vw; }
      .kv .inner {
        max-width: 100%; } }
  .kv::after {
    content: "";
    display: block;
    width: 90px;
    height: 40px;
    background: url("../img/kv_deco.svg") no-repeat;
    background-size: contain;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%); }
    @media (max-width: 750px) {
      .kv::after {
        width: 18vw;
        height: 8vw; } }

/*---------------------------------------------
result
---------------------------------------------*/
.sec-result {
  margin: 0 0 270px; }
  @media (max-width: 750px) {
    .sec-result {
      margin: 0 0 48.4vw; } }

.result_box {
  background: #ffdc3f;
  max-width: 800px;
  padding: 30px;
  position: relative;
  margin: auto; }
  @media (max-width: 750px) {
    .result_box {
      padding: 5vw 3vw 6.6vw; } }

.result_flex {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0 0 35px; }
  @media (max-width: 750px) {
    .result_flex {
      display: block;
      margin: 0 0 4vw; } }

.result_box_img {
  width: 224px;
  margin: 0 20px 0 0; }
  @media (max-width: 750px) {
    .result_box_img {
      width: 45vw;
      margin: 0 auto 4vw; } }

.result_box_subTIt {
  margin: 0 0 10px; }
  @media (max-width: 750px) {
    .result_box_subTIt {
      margin: 0 0 1.3vw;
      justify-content: center; } }

.result_box_tit {
  display: inline-block;
  line-height: 2; }
  .result_box_tit span {
    background: #2b3d63;
    color: #fff;
    padding: 5px 10px;
    font-size: 3.5rem;
    font-weight: 700; }
    @media (max-width: 750px) {
      .result_box_tit span {
        font-size: 6.6vw;
        padding: 0.7vw 2vw; } }

.result_txt {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.9; }
  @media (max-width: 750px) {
    .result_txt {
      font-size: 3.43vw;
      text-align: left; } }

.result_baloon {
  position: absolute;
  right: -130px;
  top: calc(100% - 100px); }
  @media (max-width: 750px) {
    .result_baloon {
      right: 0;
      top: calc(100% - 10vw); } }

.result_baloon_img {
  width: 316px; }
  @media (max-width: 750px) {
    .result_baloon_img {
      width: 46.6vw; } }

.result_baloon_txt {
  color: #ff5014;
  text-align: right;
  font-size: 2rem;
  line-height: 1.5;
  position: absolute;
  top: 50%;
  right: calc(100% - 10px);
  white-space: nowrap;
  font-weight: 700; }
  @media (max-width: 750px) {
    .result_baloon_txt {
      font-size: 4vw;
      right: 100%; } }

/*---------------------------------------------
can
---------------------------------------------*/
.sec-can {
  background-color: rgba(255, 220, 63, 0.5);
  background-image: repeating-linear-gradient(-45deg, #fff, #fff 9px, transparent 0, transparent 18px);
  padding-bottom: 30px; }
  @media (max-width: 750px) {
    .sec-can {
      padding-bottom: 13.3vw; } }
  .sec-can .sec_titArea {
    margin: 0 0 40px; }
    @media (max-width: 750px) {
      .sec-can .sec_titArea {
        margin: 0 0 5.3vw; } }

.canList {
  display: flex;
  justify-content: space-between;
  margin: 0 0 20px; }
  @media (max-width: 750px) {
    .canList {
      display: block;
      margin: 0 auto 9.3vw;
      max-width: 66vw; } }
  .canList li {
    width: 30%;
    border: 1px solid #2b3d63;
    box-shadow: 5px 5px 0 #2b3d63;
    background: #fff;
    border-radius: 10px;
    padding: 25px 25px 30px; }
    @media (max-width: 750px) {
      .canList li {
        width: 100%;
        padding: 5vw; }
        .canList li:not(:last-child) {
          margin: 0 0 8vw; } }

.canList_icon {
  width: 162px;
  margin: 0 auto 5px; }
  @media (max-width: 750px) {
    .canList_icon {
      width: 36vw;
      margin: 0 auto 2.6vw; } }

.canList_tit {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 15px; }
  @media (max-width: 750px) {
    .canList_tit {
      font-size: 4vw;
      margin: 0 0 2.6vw; } }

.can_description {
  display: flex;
  align-items: center; }
  @media (max-width: 750px) {
    .can_description {
      display: block;
      position: relative;
      padding: 0 2.6vw; } }

.can_description_tit {
  font-size: 3.5rem;
  letter-spacing: .15em;
  font-weight: 500; }
  @media (max-width: 750px) {
    .can_description_tit {
      font-size: 4.8vw; } }
  .can_description_tit span {
    border-bottom: 6px solid #ff5014; }
    @media (max-width: 750px) {
      .can_description_tit span {
        border-width: 3px; } }

.can_description_img {
  width: 238px;
  margin-left: 30px; }
  @media (max-width: 750px) {
    .can_description_img {
      margin: 0;
      width: 42.8vw;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: -3vw; } }

/*---------------------------------------------
case
---------------------------------------------*/
.sec-case {
  background: #ffdc3f;
  padding-bottom: 110px; }
  @media (max-width: 750px) {
    .sec-case {
      padding-bottom: 16vw; } }

.sec_case_tit {
  width: 522px;
  margin: auto; }
  @media (max-width: 750px) {
    .sec_case_tit {
      width: 69.6vw; } }

.caseList li {
  border-radius: 10px;
  overflow: hidden; }
  @media (max-width: 750px) {
    .caseList li {
      border-radius: 5px; } }
  .caseList li:not(:last-child) {
    margin: 0 0 50px; }
    @media (max-width: 750px) {
      .caseList li:not(:last-child) {
        margin: 0 0 6.6vw; } }
  .caseList li:nth-child(even) .caseList_titArea {
    background: #ff5014; }
  .caseList li:nth-child(even) .caseList_txt {
    border-color: #2b3d63; }
  .caseList li:nth-child(even) .caseList_content_inner {
    flex-direction: row-reverse; }
  .caseList li:nth-child(even) .plus-icon::before, .caseList li:nth-child(even) .plus-icon::after {
    background: #2b3d63; }
  .caseList li:nth-child(1) .caseList_img {
    width: 294px;
    margin: auto; }
    @media (max-width: 750px) {
      .caseList li:nth-child(1) .caseList_img {
        width: 39.2vw; } }
  .caseList li:nth-child(2) .caseList_img {
    width: 397px; }
    @media (max-width: 750px) {
      .caseList li:nth-child(2) .caseList_img {
        width: 52.9vw; } }
  .caseList li:nth-child(3) .caseList_img {
    width: 389px; }
    @media (max-width: 750px) {
      .caseList li:nth-child(3) .caseList_img {
        width: 51.8vw; } }
  .caseList li:nth-child(4) .caseList_img {
    width: 280px;
    margin: auto; }
    @media (max-width: 750px) {
      .caseList li:nth-child(4) .caseList_img {
        width: 37.3vw; } }

.caseList_titArea {
  display: flex;
  padding: 20px 40px;
  background: #2b3d63;
  color: #fff;
  align-items: center;
  position: relative;
  cursor: pointer; }
  @media (max-width: 750px) {
    .caseList_titArea {
      padding: 2.6vw; } }

.caseList_tit {
  width: 170px;
  margin: 0 30px 0 0; }
  @media (max-width: 750px) {
    .caseList_tit {
      width: 22.6vw;
      margin: 0 2vw 0 0; } }

.caseList_txt {
  line-height: 1.6;
  padding: 0 30px;
  font-weight: 500;
  font-size: 2rem;
  border-left: 3px solid #ff5014; }
  @media (max-width: 750px) {
    .caseList_txt {
      font-size: 3.43vw;
      padding: 0 2.6vw;
      border-width: 2px; } }

.caseList_content {
  background: #fff; }

.caseList_content_inner {
  padding: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media (max-width: 750px) {
    .caseList_content_inner {
      padding: 6.6vw;
      display: block; } }

.caseList_content_tit {
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1.7;
  margin: 0 0 30px; }
  @media (max-width: 750px) {
    .caseList_content_tit {
      font-size: 5.3vw;
      line-height: 1.5;
      margin: 0 0 4vw; } }

.caseList_content_txtArea {
  width: 450px; }
  @media (max-width: 750px) {
    .caseList_content_txtArea {
      width: 100%; } }

@media (max-width: 750px) {
  .caseList_img {
    margin: 0 auto 5vw !important; } }

.caseList_content {
  display: none; }

.plus-icon::before, .plus-icon::after {
  content: '';
  display: block;
  width: 34px;
  height: 5px;
  background: #ff5014;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.5s; }
  @media (max-width: 750px) {
    .plus-icon::before, .plus-icon::after {
      right: 2.6vw;
      width: 4.5vw;
      height: 3px; } }
.plus-icon::after {
  transform: translateY(-50%) rotate(90deg);
  transition: 0.5s; }
.plus-icon.active::before {
  opacity: 0; }
.plus-icon.active::after {
  transform: rotate(0);
  transition: 0.5s; }

/*---------------------------------------------
service
---------------------------------------------*/
.sec-service {
  background-color: rgba(255, 220, 63, 0.5);
  background-image: repeating-linear-gradient(-45deg, #fff, #fff 9px, transparent 0, transparent 18px);
  padding-bottom: 100px; }
  @media (max-width: 750px) {
    .sec-service {
      padding: 29.6vw 0 14.6vw; } }
  .sec-service .sec_titArea {
    margin: 0 0 135px; }
    @media (max-width: 750px) {
      .sec-service .sec_titArea {
        margin: 0 0 19.2vw; } }

.service_img {
  position: absolute;
  width: 267px;
  top: -100px;
  right: -30px; }
  @media (max-width: 750px) {
    .service_img {
      width: 35.6vw;
      top: -42vw;
      right: 2vw; } }

.serviceList {
  display: flex;
  justify-content: space-between;
  margin: 0 0 45px; }
  @media (max-width: 750px) {
    .serviceList {
      display: block;
      margin: 0 0 5.3vw; } }
  .serviceList li {
    box-shadow: 5px 5px 0 #2b3d63;
    border: 1px solid #2b3d63;
    border-radius: 10px;
    background: #fff;
    width: 45%;
    padding: 60px 20px 25px;
    position: relative; }
    @media (max-width: 750px) {
      .serviceList li {
        width: 100%;
        padding: 12vw 4vw 5vw; }
        .serviceList li:not(:last-child) {
          margin: 0 0 18.6vw; } }

.serviceList_balloon {
  width: 144px;
  position: absolute;
  left: 25px;
  top: -75px; }
  @media (max-width: 750px) {
    .serviceList_balloon {
      width: 28.8vw;
      left: 5vw;
      top: -14.6vw; } }

.serviceList_tit {
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 15px; }
  @media (max-width: 750px) {
    .serviceList_tit {
      font-size: 4.8vw;
      margin: 0 0 3vw; } }

.support_box {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 120px; }
  @media (max-width: 750px) {
    .support_box {
      margin: 0 0 14.6vw; } }

.support_box_inner {
  display: flex;
  align-items: center;
  text-align: left;
  justify-content: center;
  margin: 0 0 50px;
  padding: 0 20px; }
  @media (max-width: 750px) {
    .support_box_inner {
      margin: 0 0 6.6vw;
      padding: 0; } }

.support_box_ballon {
  width: 145px;
  margin: 0 20px 0 0;
  flex-shrink: 0; }
  @media (max-width: 750px) {
    .support_box_ballon {
      width: 29vw;
      margin: 0 1.3vw 0 0; } }

.support_box_tit {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 10px; }
  @media (max-width: 750px) {
    .support_box_tit {
      font-size: 4.8vw;
      margin: 0 0 2vw; } }

.support_copy {
  background: #29abe2;
  color: #fff;
  padding: 10px;
  font-size: 2.5rem;
  font-weight: 700; }
  @media (max-width: 750px) {
    .support_copy {
      font-size: 4vw;
      padding: 1.3vw;
      line-height: 1.4; } }

/* product */
.product_wrap {
  margin: 0 0 80px; }
  @media (max-width: 750px) {
    .product_wrap {
      margin: 0 0 8vw; } }

.product_box:not(:last-child) {
  margin: 0 0 120px; }
  @media (max-width: 750px) {
    .product_box:not(:last-child) {
      margin: 0 0 10vw; } }

.product_tit {
  position: relative;
  border-bottom: 3px solid #2b3d63;
  margin: 0 0 50px 40px;
  font-size: 2.5rem;
  font-weight: 700;
  padding-bottom: 10px; }
  @media (max-width: 750px) {
    .product_tit {
      font-size: 4vw;
      margin: 0 0 5vw 6.6vw;
      border-width: 2px; } }
  .product_tit::before {
    content: "";
    display: block;
    background: url("../img/exmark.svg") no-repeat;
    background-size: contain;
    width: 35px;
    height: 84px;
    position: absolute;
    left: -50px;
    bottom: -10px; }
    @media (max-width: 750px) {
      .product_tit::before {
        width: 4.6vw;
        height: 11.2vw;
        bottom: -1.3vw;
        left: -6.6vw; } }

.productList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 -40px; }
  @media (max-width: 750px) {
    .productList {
      margin: 0 0 -4vw; } }
  .productList::after {
    content: "";
    display: block;
    order: 1;
    width: 30%; }
    @media (max-width: 750px) {
      .productList::after {
        display: none; } }
  .productList li {
    width: 30%;
    margin: 0 0 40px;
    border: 1px solid #2b3d63;
    background: #fff;
    overflow: hidden;
    border-radius: 10px; }
    @media (max-width: 750px) {
      .productList li {
        margin: 0 0 4vw;
        width: 44vw; } }
  .productList a {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 20px 0 0; }
    @media (max-width: 750px) {
      .productList a {
        padding: 4vw 0 0; } }

.productList_icon {
  width: 210px;
  margin: 0 auto 10px;
  min-height: 1px; }
  @media (max-width: 750px) {
    .productList_icon {
      width: 28vw;
      margin: 0 auto 1.3vw; } }

.productList_tit {
  background: #2b3d63;
  min-height: 1px;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  padding: 5px 15px;
  position: relative;
  margin: auto 0 0;
  justify-content: center;
  width: 100%; }
  @media (max-width: 750px) {
    .productList_tit {
      font-size: 3.43vw;
      padding: 1vw 2.6vw; } }
  @media (min-width: 751px) {
    .productList_tit.pc-left {
      text-align: left; } }
  @media (max-width: 750px) {
    .productList_tit.sp-left {
      text-align: left; } }
  .productList_tit .icon {
    background: #fff;
    border-radius: 50%;
    position: absolute;
    width: 30px;
    height: 30px;
    top: 50%;
    right: 15px;
    transform: translateY(-50%); }
    .productList_tit .icon::before, .productList_tit .icon::after {
      content: '';
      display: block;
      width: 18px;
      height: 3px;
      background: #ff5014;
      position: absolute;
      right: 6px;
      top: 50%;
      transform: translateY(-50%);
      transition: 0.5s; }
    .productList_tit .icon::after {
      transform: translateY(-50%) rotate(90deg);
      transition: 0.5s; }

.product_comment {
  margin: 50px 0 0; }
  @media (max-width: 750px) {
    .product_comment {
      margin: 6.6vw 0 0; } }

.consult_box {
  max-width: 900px;
  margin: auto;
  background: #29abe2;
  padding: 25px 30px;
  position: relative;
  border-radius: 16px; }
  @media (max-width: 750px) {
    .consult_box {
      padding: 2.6vw 3vw 5vw;
      border-radius: 10px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between; } }

.consult_txt {
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  line-height: 2; }
  @media (max-width: 750px) {
    .consult_txt {
      font-size: 3.43vw;
      line-height: 1.6; } }

.consult_img {
  width: 198px;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%); }
  @media (max-width: 750px) {
    .consult_img {
      position: static;
      transform: none;
      width: 26.6vw;
      flex-shrink: 0; } }

.modaal-close {
  display: none; }

.modaal-container {
  max-width: 480px;
  border-radius: 10px;
  position: relative;
  font-family: 'Noto Sans JP', sans-serif; }
  @media (max-width: 750px) {
    .modaal-container {
      max-width: 86.6vw; } }

.modaal-content-container {
  padding: 40px;
  position: relative; }
  @media (max-width: 750px) {
    .modaal-content-container {
      padding: 6.6vw; } }

.modal_icon {
  width: 350px;
  margin: 0 auto 20px; }
  @media (max-width: 750px) {
    .modal_icon {
      width: 44vw;
      margin: 0 auto 4vw; } }

.modal_tit {
  font-size: 2.5rem;
  font-weight: 700;
  color: #ff5014;
  text-align: center;
  margin: 0 0 20px; }
  @media (max-width: 750px) {
    .modal_tit {
      font-size: 4.8vw; } }

.modal_txtArea {
  color: #2b3d63;
  font-size: 1.6rem;
  font-weight: 400; }
  @media (max-width: 750px) {
    .modal_txtArea {
      font-size: 3.43vw; } }
  .modal_txtArea p + p {
    margin: 2em 0 0; }
    @media (max-width: 750px) {
      .modal_txtArea p + p {
        margin: 1.5em 0 0; } }

.closeBtn01 {
  position: absolute;
  width: 30px;
  z-index: 10;
  right: 20px;
  top: 20px;
  cursor: pointer;
  display: block; }
  @media (max-width: 750px) {
    .closeBtn01 {
      width: 5.3vw;
      top: 4vw;
      right: 4vw; } }

.closeBtn02 {
  border-radius: 100px;
  width: 250px;
  margin: 30px auto 0;
  display: block;
  color: #fff;
  background: #2b3d63;
  text-align: center;
  cursor: pointer;
  padding: 10px;
  font-size: 2rem;
  font-weight: 700; }
  @media (max-width: 750px) {
    .closeBtn02 {
      width: 53.3vw;
      font-size: 4vw;
      padding: 2vw;
      margin: 4vw auto 0; } }

/*---------------------------------------------
contact
---------------------------------------------*/
.sec-contact-form {
  background: #ff5014;
  margin: 0 0 80px;
  padding: 40px 0; }
  @media (max-width: 750px) {
    .sec-contact-form {
      margin: 0 0 22.6vw;
      padding: 8vw 0 10vw; } }

/*---------------------------------------------
flow
---------------------------------------------*/
.sec-flow {
  padding-bottom: 240px; }
  @media (max-width: 750px) {
    .sec-flow {
      padding: 10vw 0 13.3vw; } }
  .sec-flow .sec_titArea {
    margin: 0 0 40px; }
    @media (max-width: 750px) {
      .sec-flow .sec_titArea {
        margin: 0 0 5vw; } }

.flowList {
  max-width: 800px;
  margin: 0 auto 70px; }
  @media (max-width: 750px) {
    .flowList {
      margin: 0 0 12vw; } }
  .flowList li {
    background: #ffdc3f;
    padding: 15px 25px;
    border-radius: 10px;
    display: flex;
    align-items: center; }
    @media (max-width: 750px) {
      .flowList li {
        padding: 2vw 3vw;
        border-radius: 5px; } }
    .flowList li:not(:last-child) {
      margin: 0 0 30px; }
      @media (max-width: 750px) {
        .flowList li:not(:last-child) {
          margin: 0 0 4vw; } }

.flowList_num {
  width: 70px;
  height: 70px;
  background: #fff;
  border-radius: 50%;
  margin: 0 15px 0 0;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3.5rem;
  font-weight: 700;
  padding: 0 0 3px; }
  @media (max-width: 750px) {
    .flowList_num {
      width: 9.3vw;
      height: 9.3vw;
      font-size: 4.6vw;
      margin: 0 4vw 0 0;
      padding: 0 0 2px; } }

.flowList_tit {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 5px; }
  @media (max-width: 750px) {
    .flowList_tit {
      font-size: 4vw;
      margin: 0; } }

@media (max-width: 750px) {
  .flowList_txt {
    line-height: 1.4; } }

.flow_contact {
  background: #ff5014;
  border-radius: 10px;
  padding: 30px 0 40px;
  text-align: center;
  position: relative; }
  @media (max-width: 750px) {
    .flow_contact {
      border-radius: 6px;
      padding: 16vw 4vw 5vw; } }

.flow_contact_tit {
  text-align: center;
  margin: 0 0 30px;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
  display: inline-block; }
  @media (max-width: 750px) {
    .flow_contact_tit {
      font-size: 4vw;
      display: flex;
      justify-content: center;
      align-items: flex-end;
      margin: 0 0 10vw;
      position: absolute;
      top: -4vw;
      left: 50%;
      transform: translateX(-50%);
      white-space: nowrap; } }
  .flow_contact_tit::before {
    content: "";
    display: block;
    width: 101px;
    height: 105px;
    background: url("../img/form_img.svg") no-repeat;
    background-size: contain;
    position: absolute;
    right: calc(100% + 25px);
    bottom: -20px; }
    @media (max-width: 750px) {
      .flow_contact_tit::before {
        width: 13.3vw;
        height: 14vw;
        position: static;
        margin: 0 2vw 0 0; } }

.flow_contactList {
  display: flex; }
  @media (max-width: 750px) {
    .flow_contactList {
      display: block; } }
  .flow_contactList li {
    width: 50%; }
    @media (max-width: 750px) {
      .flow_contactList li {
        width: 100%; } }
    @media (min-width: 751px) {
      .flow_contactList li:not(:last-child) {
        border-right: 1px solid #fff; } }
    @media (max-width: 750px) {
      .flow_contactList li:not(:last-child) {
        border-bottom: 1px solid #fff; } }
    @media (max-width: 750px) {
      .flow_contactList li:nth-child(1) {
        padding: 0 0 5.3vw;
        margin: 0 0 6.6vw; } }

.flow_contactList_tit {
  color: #fff;
  margin: 0 0 20px;
  font-size: 2rem;
  font-weight: 700; }
  @media (max-width: 750px) {
    .flow_contactList_tit {
      font-size: 4vw;
      margin: 0 0 2.6vw; } }

.flow_contactList_txt {
  color: #fff;
  margin: 20px 0 0; }
  @media (max-width: 750px) {
    .flow_contactList_txt {
      margin: 4vw 0 0; } }

/*---------------------------------------------
form
---------------------------------------------*/
.sec-form {
  background: #e6e6e6;
  padding-bottom: 120px; }
  @media (max-width: 750px) {
    .sec-form {
      padding-bottom: 17.3vw; } }
  @media (max-width: 750px) {
    .sec-form .inner {
      max-width: 90vw; } }

.contact_txt {
  text-align: center;
  margin: 40px 0 0; }
  @media (max-width: 750px) {
    .contact_txt {
      margin: 4vw 0 0;
      text-align: left; } }
  .contact_txt span {
    color: #ff5014; }

.contactList {
  max-width: 450px;
  margin: 0 auto 45px; }
  @media (max-width: 750px) {
    .contactList {
      max-width: 100%;
      margin: 0 0 8vw; } }
  .contactList li:not(:last-child) {
    margin: 0 0 25px; }
    @media (max-width: 750px) {
      .contactList li:not(:last-child) {
        margin: 0 0 4.8vw; } }

.contactList_tit {
  font-weight: 700;
  margin: 0 0 10px; }
  @media (max-width: 750px) {
    .contactList_tit {
      margin: 0 0 2vw; } }

.required::after {
  content: "※";
  font-weight: 400;
  color: #ff5014;
  margin: 0 0 0 10px; }
  @media (max-width: 750px) {
    .required::after {
      margin: 0 0 0 1em; } }

.inpTxt {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  width: 100%;
  padding: 12px;
  background: #fff;
  border-radius: 0;
  box-shadow: none; }
  @media (max-width: 750px) {
    .inpTxt {
      padding: 2vw; } }

.submitBtn {
  -webkit-appearance: none;
  appearance: button;
  cursor: pointer;
  background: #ff5014;
  border: none;
  color: #fff;
  box-shadow: 3px 5px 0 #fff; }

/*---------------------------------------------
thanks
---------------------------------------------*/
.sec-thanks {
  padding: 200px 0 0; }
  @media (max-width: 750px) {
    .sec-thanks {
      padding: 32vw 0 0; } }

.thanks_tit {
  width: 552px;
  margin: 0 auto 30px; }
  @media (max-width: 750px) {
    .thanks_tit {
      width: 90vw;
      margin: 0 auto 4vw; } }

.thanks_subTit {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 0 0 50px;
  text-align: center;
  letter-spacing: .1em; }
  @media (max-width: 750px) {
    .thanks_subTit {
      font-size: 3.9vw;
      margin: 0 0 8vw; } }

.thanks_txtArea {
  text-align: center; }
  .thanks_txtArea p + p {
    margin: 2em 0 0; }
    @media (max-width: 750px) {
      .thanks_txtArea p + p {
        margin: 1.5em 0 0; } }

.thanks_tel {
  background: #ff5014;
  border-radius: 6px;
  margin: 60px auto;
  padding: 30px 30px 40px;
  text-align: center;
  max-width: 650px; }
  @media (max-width: 750px) {
    .thanks_tel {
      padding: 6.6vw 5vw 8vw;
      margin: 8vw 0 12vw;
      max-width: 100%; } }

.backBtn {
  background: #2b3d63;
  color: #fff;
  box-shadow: 3px 5px 0 #ff5014; }
