@charset "UTF-8";
/* placeholder color */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
/**********************************************************************************************

　common

**********************************************************************************************/
.wrap {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "sans-serif";
  font-optical-sizing: auto;
  font-weight: 500;
  overflow: hidden;
  letter-spacing: normal; }
  @media (min-width: 1337px) {
    .wrap {
      width: calc(100% - 400px); } }
  @media (max-width: 750px) {
    .wrap {
      font-size: 3.73vw; } }

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

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

.inner {
  max-width: 890px;
  margin: auto;
  position: relative;
  z-index: 2; }
  @media (max-width: 750px) {
    .inner {
      max-width: 90vw; } }

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 (max-width: 860px) {
  .u-tab {
    display: none !important; } }
@media (min-width: 751px) {
  .u-sp {
    display: none !important; }

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

　footer

**********************************************************************************************/
.l-footer {
  background: #02B756;
  color: #fff;
  padding: 1em 0; }
  @media (max-width: 750px) {
    .l-footer {
      padding: 5vw 10vw 6vw; } }

.foot_inner {
  max-width: 910px;
  margin: auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse; }
  @media (max-width: 750px) {
    .foot_inner {
      display: block; } }

.copyright {
  display: block;
  font-size: 1.4rem; }
  @media (max-width: 750px) {
    .copyright {
      font-size: 3.73vw;
      text-align: center; } }

.foot_list {
  display: flex;
  align-items: center; }
  @media (max-width: 750px) {
    .foot_list {
      display: block;
      margin: 0 0 10vw; } }
  .foot_list li:not(:last-child) {
    margin: 0 35px 0 0; }
    @media (max-width: 750px) {
      .foot_list li:not(:last-child) {
        margin: 0 0 1em; } }
  .foot_list a {
    border-bottom: 1px solid #fff; }
    .foot_list a::before {
      content: "＞";
      padding: 0 0.5em 0 0; }

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

　main

**********************************************************************************************/
/*---------------------------------------------
common
---------------------------------------------*/
.sec_titArea {
  text-align: center;
  position: relative; }

.sec_tit {
  padding: 13px 45px;
  display: inline-block;
  font-size: 3rem;
  font-weight: 700; }
  @media (max-width: 750px) {
    .sec_tit {
      padding: 2.6vw;
      display: block;
      font-size: 5.86vw; } }

.-balloon {
  position: relative;
  border-radius: 9999px;
  background-color: #fff;
  border: 2px solid #302D2C; }
  .-balloon:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 12px 10px 0 10px;
    border-color: #302D2C transparent transparent;
    translate: -50% 100%; }
  .-balloon::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 8.9px 7.4px 0 7.4px;
    border-color: #fff transparent transparent;
    translate: -50% 100%; }

.tit_illust {
  position: absolute; }

.-iBlock {
  display: inline-block; }

/*---------------------------------------------
kv
---------------------------------------------*/
.kv {
  position: relative;
  background: url("../img/kv_bg.svg") no-repeat;
  background-size: 110% auto;
  background-position: top -10px center;
  padding: 25px 0 75px; }
  @media (max-width: 750px) {
    .kv {
      padding: 8vw 0 26.6vw;
      background-size: 210% auto;
      background-position: top -10px left -15px; } }
  .kv::after {
    content: "";
    display: block;
    width: 100%;
    background: #EEEEEE;
    height: 120px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1; }
    @media (max-width: 750px) {
      .kv::after {
        height: 94.4vw; } }

.kv_inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  max-width: 966px;
  margin: auto; }
  @media (max-width: 750px) {
    .kv_inner {
      max-width: 81.3vw;
      display: block;
      position: relative; } }

.kv_content {
  width: 332px;
  margin: 0 0 0 20px; }
  @media (max-width: 750px) {
    .kv_content {
      width: 100%;
      margin: 0; } }

.kv_logo {
  width: 320px;
  margin: 0 auto 40px; }
  @media (max-width: 750px) {
    .kv_logo {
      width: 100%;
      margin: 0 0 125.3vw; } }

.kv_copyArea {
  margin: 0 0 30px; }
  @media (max-width: 750px) {
    .kv_copyArea {
      position: absolute;
      margin: 0;
      transform: rotate(90deg);
      top: 62vw;
      left: -36vw; } }

.kv_txt {
  width: 100%;
  margin: 0 auto 10px; }
  @media (max-width: 750px) {
    .kv_txt {
      width: 85.3vw;
      margin: 0 0 1.3vw; } }

.kv_tit {
  width: 244px;
  margin: auto; }
  @media (max-width: 750px) {
    .kv_tit {
      margin: 0;
      width: 42.1vw; } }

.kv_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700; }
  @media (max-width: 750px) {
    .kv_list {
      font-size: 4.8vw; } }
  .kv_list li {
    max-width: 160px;
    width: 48%;
    border-radius: 10px;
    position: relative;
    padding: 12px 20px;
    text-align: right;
    margin: 0 0 14px; }
    @media (max-width: 750px) {
      .kv_list li {
        width: 39vw;
        padding: 2vw 2.6vw;
        max-width: 100%; } }
    .kv_list li:nth-child(odd) {
      margin-right: 12px; }
      @media (max-width: 750px) {
        .kv_list li:nth-child(odd) {
          margin-right: 2.6vw; } }
    .kv_list li:nth-child(1) {
      background: #01A7FC; }
      .kv_list li:nth-child(1) .kv_list_icon {
        width: 37px;
        left: 17px; }
        @media (max-width: 750px) {
          .kv_list li:nth-child(1) .kv_list_icon {
            width: 8.53vw;
            left: 5vw; } }
    .kv_list li:nth-child(2) {
      background: #02B756; }
      .kv_list li:nth-child(2) .kv_list_icon {
        width: 62px;
        left: 0;
        top: -3px; }
        @media (max-width: 750px) {
          .kv_list li:nth-child(2) .kv_list_icon {
            width: 14.4vw;
            left: 1.3vw;
            top: -3px; } }
    .kv_list li:nth-child(3) {
      background: #FF931D;
      padding-right: 28px; }
      .kv_list li:nth-child(3) .kv_list_icon {
        width: 50px;
        left: 14px; }
        @media (max-width: 750px) {
          .kv_list li:nth-child(3) .kv_list_icon {
            width: 11.7vw;
            left: 4.5vw; } }
    .kv_list li:nth-child(4) {
      background: #F44656;
      padding-right: 12px; }
      @media (max-width: 750px) {
        .kv_list li:nth-child(4) {
          padding-right: 1.3vw; } }
      .kv_list li:nth-child(4) .kv_list_icon {
        width: 48px;
        left: 5px; }
        @media (max-width: 750px) {
          .kv_list li:nth-child(4) .kv_list_icon {
            width: 11.2vw;
            left: 1.3vw; } }

.kv_list_icon {
  position: absolute;
  top: 0; }

.kv_img {
  width: 51.7%;
  margin: 0 0 0 50px; }
  @media (max-width: 750px) {
    .kv_img {
      position: absolute;
      width: 78.6vw;
      margin: 0;
      position: absolute;
      top: 20.3vw;
      right: -14.6vw; } }

/*---------------------------------------------
worries
---------------------------------------------*/
.sec-worries {
  padding: 110px 0 80px;
  background: #02B756;
  position: relative; }
  @media (max-width: 750px) {
    .sec-worries {
      padding: 21vw 0 13.3vw; } }
  .sec-worries::before, .sec-worries::after {
    content: "";
    display: block;
    background-size: 100% auto;
    background-repeat: no-repeat;
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0; }
    @media (max-width: 750px) {
      .sec-worries::before, .sec-worries::after {
        background-size: 190% auto; } }
  .sec-worries::before {
    background-image: url("../img/sec_bg_top.svg");
    background-position: top center;
    top: 0; }
  .sec-worries::after {
    background-image: url("../img/sec_bg_bottom.svg");
    background-position: bottom center;
    bottom: 0; }
  .sec-worries .tit_illust {
    width: 100px;
    z-index: -1;
    top: -132px;
    left: 50%;
    transform: translate(-50%); }
    @media (max-width: 750px) {
      .sec-worries .tit_illust {
        width: 22.6vw;
        top: -30.1vw; } }
  .sec-worries .sec_tit {
    background: #FFD527; }
    .sec-worries .sec_tit::after {
      border-color: #FFD527 transparent transparent; }

.worries_list {
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
  gap: 0 17px;
  margin: 10px 0 -40px;
  position: relative;
  z-index: 3; }
  @media (max-width: 750px) {
    .worries_list {
      margin: 3vw 0 -10vw;
      gap: 0 2.6vw;
      line-height: 1.4; } }
  .worries_list li {
    width: 22.4%;
    padding: 1em 0;
    position: relative; }
    @media (max-width: 750px) {
      .worries_list li {
        width: 43.2vw;
        padding: 0.8em;
        margin: 0 0 2.8vw; } }
    @media (min-width: 751px) {
      .worries_list li:nth-child(1) {
        margin-left: 10%;
        z-index: 3;
        margin-bottom: -10px; }
      .worries_list li:nth-child(2) {
        z-index: 3;
        margin-bottom: -10px; }
      .worries_list li:nth-child(3) {
        margin-right: 10%;
        z-index: 3;
        margin-bottom: -10px; } }
  .worries_list span {
    color: #E4372B; }

.worries_content {
  background: #fff;
  border-radius: 50px;
  padding: 70px 35px 40px;
  position: relative; }
  @media (max-width: 750px) {
    .worries_content {
      border-radius: 30px;
      padding: 16vw 5vw 10vw; } }

.worries_tit {
  text-align: center;
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 40px; }
  @media (max-width: 750px) {
    .worries_tit {
      font-size: 6.4vw;
      white-space: nowrap;
      margin: 0 0 10vw -5vw;
      width: 90vw; } }
  .worries_tit span {
    color: #E4372B; }

.worries_ilust01 {
  position: absolute;
  width: 50px;
  top: 58px;
  left: 90px;
  z-index: 20; }
  @media (max-width: 750px) {
    .worries_ilust01 {
      width: 11vw;
      top: -17vw;
      left: 0; } }

.worries_ilust02 {
  position: absolute;
  width: 66px;
  top: 58px;
  right: 90px;
  z-index: 20; }
  @media (max-width: 750px) {
    .worries_ilust02 {
      width: 14.4vw;
      top: -17vw;
      right: 0; } }

.worries_storongList {
  display: flex;
  justify-content: space-between;
  margin: 0 0 40px; }
  @media (max-width: 750px) {
    .worries_storongList {
      display: block;
      margin: 0 auto 6vw;
      width: 65.6vw; } }
  .worries_storongList li {
    width: 31.3%; }
    @media (max-width: 750px) {
      .worries_storongList li {
        width: 100%;
        margin: 0 0 6.6vw; } }

.worries_storongList_txt {
  font-size: 1.4rem;
  margin: 5px 0 0; }
  @media (max-width: 750px) {
    .worries_storongList_txt {
      font-size: 3.73vw;
      margin: 1vw 0 0; } }

.worries_bcp {
  padding: 35px;
  border-radius: 20px;
  background: #EEEEEE;
  display: flex;
  align-items: center; }
  @media (max-width: 750px) {
    .worries_bcp {
      padding: 8vw 6vw;
      display: block; } }

.worries_bcp_img {
  flex-shrink: 0;
  margin: 0 25px 0 0;
  width: 220px; }
  @media (max-width: 750px) {
    .worries_bcp_img {
      margin: 0 0 4vw;
      width: 100%; } }

.worries_bcp_tit {
  color: #02B756;
  font-size: 2.8rem;
  font-weight: 700;
  margin: 0 0 4px; }
  @media (max-width: 750px) {
    .worries_bcp_tit {
      font-size: 4.8vw;
      margin: 0 0 2vw; } }

.worries_bcp_txt {
  font-size: 1.4rem; }
  @media (max-width: 750px) {
    .worries_bcp_txt {
      font-size: 3.73vw; } }

/*---------------------------------------------
case
---------------------------------------------*/
.sec-case {
  background: #EEEEEE;
  padding: 65px 0 105px; }
  @media (max-width: 750px) {
    .sec-case {
      padding: 17.3vw 0 21vw; } }

.case_tit {
  width: 446px;
  margin: 0 auto 65px; }
  @media (max-width: 750px) {
    .case_tit {
      width: 78.6vw;
      margin: 0 auto 18.6vw; } }

.caseList > li {
  background: #fff;
  position: relative;
  border-radius: 25px;
  padding: 50px 35px 45px; }
  @media (max-width: 750px) {
    .caseList > li {
      padding: 12.2vw 5vw 10vw; } }
  .caseList > li:not(:last-child) {
    margin: 0 0 75px; }
    @media (max-width: 750px) {
      .caseList > li:not(:last-child) {
        margin: 0 0 21vw; } }

.caseList_num {
  font-size: 4.2rem;
  font-weight: 600;
  background: #fff;
  padding: 0 30px;
  border-radius: 20px;
  font-family: "Poppins", sans-serif;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap; }
  @media (max-width: 750px) {
    .caseList_num {
      font-size: 9.6vw;
      padding: 1vw 11vw;
      top: -11.2vw;
      transform: translateX(-50%); } }

.caseList_flex {
  display: flex;
  margin: 0 0 20px; }
  @media (max-width: 750px) {
    .caseList_flex {
      display: block;
      margin: 0 0 5vw; } }

.caseList_flex_img {
  width: 44%;
  margin: 0 25px 0 0;
  flex-shrink: 0; }
  @media (max-width: 750px) {
    .caseList_flex_img {
      width: 100%;
      margin: 0 0 2.6vw; } }

.caseList_comment {
  display: flex;
  margin: 0 0 10px; }
  @media (max-width: 750px) {
    .caseList_comment {
      margin: 0 0 6vw; } }

.caseList_comment_person {
  flex-shrink: 0;
  width: 90px;
  margin: 0 18px 0 0; }
  @media (max-width: 750px) {
    .caseList_comment_person {
      width: 19.2vw;
      margin: 0 4.26vw 0 0; } }

.caseList_comment_content {
  padding: 20px 0 0 5px;
  font-weight: 700;
  width: 100%; }
  @media (max-width: 750px) {
    .caseList_comment_content {
      padding: 0.6vw 0 0; } }

.caseList_comment_balloon {
  position: relative;
  margin: 0 0 5px 10px;
  padding: 10px 15px;
  border: 2px solid #302D2C;
  border-radius: 10px;
  background-color: #fff;
  font-size: 1.8rem;
  line-height: 1.33;
  text-align: left; }
  @media (max-width: 750px) {
    .caseList_comment_balloon {
      margin: 0 0 0.6vw;
      padding: 1.3vw 2vw 1.3vw 2.73vw;
      font-size: 4vw;
      white-space: nowrap; } }
  .caseList_comment_balloon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    border-style: solid;
    border-width: 11px 18px 11px 0;
    border-color: transparent #302D2C transparent transparent;
    translate: -100% -50%; }
  .caseList_comment_balloon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    border-style: solid;
    border-width: 8.7px 14.2px 8.7px 0;
    border-color: transparent #fff transparent transparent;
    translate: -100% -50%; }

@media (max-width: 750px) {
  .caseList_comment_name {
    padding: 0 0 0 4vw; }
    .caseList_comment_name.-spml {
      white-space: nowrap;
      margin: 0 0 0 -6vw; } }

.caseList_tit {
  font-weight: 700;
  font-size: 2.7rem;
  line-height: 1.35; }
  @media (max-width: 750px) {
    .caseList_tit {
      font-size: 6vw; } }
  .caseList_tit span {
    color: #E4372B; }

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

.caseList_content_tit {
  background: #02B756;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  border-radius: 10px;
  text-align: center;
  padding: 3px; }
  @media (max-width: 750px) {
    .caseList_content_tit {
      font-size: 4.8vw;
      padding: 2vw; } }

.caseList_set {
  margin: 10px 0 0;
  display: flex;
  justify-content: space-between;
  font-size: 1.4rem; }
  @media (max-width: 860px) {
    .caseList_set {
      display: block; } }
  @media (max-width: 750px) {
    .caseList_set {
      display: block;
      margin: 2.6vw 0 0;
      font-size: 3.73vw; } }

@media (max-width: 750px) {
  .caseList_setList_head {
    background: #EEEEEE; } }

.caseList_setList {
  width: 48.7%; }
  @media (max-width: 860px) {
    .caseList_setList {
      width: 100%; } }
  .caseList_setList li {
    border-bottom: 1px solid #02B756;
    display: flex;
    align-items: center;
    height: 2.3em; }
    @media (max-width: 860px) {
      .caseList_setList li {
        height: auto; } }
    @media (max-width: 750px) {
      .caseList_setList li {
        height: auto;
        padding: 1vw 0;
        align-items: flex-start; } }

.caseList_setList_num {
  width: 3em;
  flex-shrink: 0;
  text-align: center; }
  @media (max-width: 750px) {
    .caseList_setList_num {
      font-size: 3.2vw; } }

.caseList_setList_count {
  width: 4.5em;
  flex-shrink: 0;
  text-align: center; }
  @media (max-width: 750px) {
    .caseList_setList_count {
      margin: auto 0 0; } }

.caseList_setList_tit {
  width: 100%;
  padding: 0 10px; }
  @media (max-width: 750px) {
    .caseList_setList_tit {
      padding: 0 1.3vw; } }

.caseList_productList {
  margin: 15px 0 0;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 750px) {
    .caseList_productList {
      flex-wrap: wrap;
      margin: 4vw 0 -5vw; } }
  .caseList_productList li {
    width: 31.3%; }
    @media (max-width: 750px) {
      .caseList_productList li {
        width: 38vw;
        margin: 0 0 5vw; } }

.caseList_productList_tit {
  font-weight: 700;
  color: #E4372B;
  margin: 7px 0 5px;
  line-height: 1.4;
  text-align: center; }
  @media (max-width: 750px) {
    .caseList_productList_tit {
      margin: 1.3vw 0 1vw; }
      .caseList_productList_tit.-sp2em {
        min-height: 2.8em; }
      .caseList_productList_tit.-sp3em {
        min-height: 4.2em; } }

.caseList_productList_img {
  position: relative; }

.caseList_productList_img_period {
  display: flex;
  justify-content: center;
  position: absolute;
  align-items: center;
  top: 10px;
  right: 12px;
  border: 1px solid #302D2C;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.28;
  text-align: center;
  width: 70px;
  height: 70px;
  background: #FFD527;
  border-radius: 50%; }
  @media (max-width: 750px) {
    .caseList_productList_img_period {
      top: -1.6vw;
      right: auto;
      left: -1.6vw;
      font-size: 2.6vw;
      width: 13.3vw;
      height: 13.3vw; } }

.caseList_productList_txt {
  font-size: 1.4rem; }
  @media (max-width: 750px) {
    .caseList_productList_txt {
      font-size: 3.73vw; } }

.caseList_allergy {
  background: #EEEEEE;
  border-radius: 10px;
  padding: 25px;
  margin: 32px 0 0; }
  @media (max-width: 750px) {
    .caseList_allergy {
      padding: 10vw 5vw 13.3vw;
      margin: 10vw 0 0; } }

.caseList_allergy_tit {
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
  margin: 0 0 16px; }
  @media (max-width: 750px) {
    .caseList_allergy_tit {
      font-size: 5.3vw;
      margin: 0 0 6vw;
      line-height: 1.6; } }

.caseList_allergy_list {
  display: flex;
  flex-wrap: wrap; }
  @media (min-width: 751px) {
    .caseList_allergy_list {
      gap: 17px 12px; } }
  @media (max-width: 750px) {
    .caseList_allergy_list {
      justify-content: space-between; } }
  .caseList_allergy_list li {
    width: 43px; }
    @media (max-width: 750px) {
      .caseList_allergy_list li {
        width: 18.9vw;
        margin: 0 0 2.6vw; } }

/*---------------------------------------------
goods
---------------------------------------------*/
.sec-goods {
  padding: 60px 0;
  background: #02B756;
  position: relative; }
  @media (max-width: 750px) {
    .sec-goods {
      padding: 17.3vw 0 15vw; } }
  .sec-goods::before, .sec-goods::after {
    content: "";
    display: block;
    background-size: 100% auto;
    background-repeat: no-repeat;
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0; }
    @media (max-width: 750px) {
      .sec-goods::before, .sec-goods::after {
        background-size: 190% auto; } }
  .sec-goods::before {
    background-image: url("../img/sec_bg_top.svg");
    background-position: top center;
    top: 0; }
  .sec-goods::after {
    background-image: url("../img/sec_bg_bottom.svg");
    background-position: bottom center;
    bottom: 0; }
  .sec-goods .sec_titArea {
    margin: 0 0 35px;
    z-index: 3; }
    @media (max-width: 750px) {
      .sec-goods .sec_titArea {
        margin: 0 0 9vw; } }
  @media (max-width: 750px) {
    .sec-goods .sec_tit {
      font-size: 4.8vw;
      width: 90vw;
      margin: auto; } }
  .sec-goods .tit_illust {
    width: 240px;
    z-index: -1;
    bottom: 100%;
    left: 50%;
    transform: translate(-50%); }
    @media (max-width: 750px) {
      .sec-goods .tit_illust {
        width: 58.6vw; } }

.goods_list {
  display: flex; }
  .goods_list:nth-child(2) img {
    transform: translateX(calc(50% + 12px)); }
    @media (max-width: 750px) {
      .goods_list:nth-child(2) img {
        transform: translateX(calc(50% + 1.6vw)); } }
  .goods_list li {
    width: 135px;
    margin: 0 12px 20px; }
    @media (max-width: 750px) {
      .goods_list li {
        width: 20.8vw;
        margin: 0 1.6vw 3.2vw; } }

/*---------------------------------------------
contact
---------------------------------------------*/
.sec-contact {
  padding: 50px 0 55px; }
  @media (max-width: 750px) {
    .sec-contact {
      padding: 13.3vw 0; } }

.contact_tit {
  font-weight: 700;
  font-size: 4.2rem;
  line-height: 1.28;
  text-align: center; }
  @media (max-width: 860px) {
    .contact_tit {
      font-size: 4rem; } }
  @media (max-width: 750px) {
    .contact_tit {
      font-size: 6.4vw;
      margin: 0 0 2vw; } }

.contact_txt {
  color: #E4372B;
  font-weight: 700;
  font-size: 3rem;
  margin: 0 0 60px;
  text-align: center; }
  @media (max-width: 750px) {
    .contact_txt {
      font-size: 4.26vw;
      margin: 0 0 13.3vw; } }

.contact_catalog {
  position: relative;
  border-radius: 9999px;
  background: #FFD527;
  padding: 22px 190px 27px 56px;
  display: flex;
  align-items: flex-end;
  max-width: 816px;
  margin: auto; }
  @media (max-width: 860px) {
    .contact_catalog {
      padding: 22px 150px 27px 56px; } }
  @media (max-width: 750px) {
    .contact_catalog {
      padding: 8vw 13.3vw;
      display: block;
      border-radius: 90px; } }

.contact_catalog_img {
  width: 187px;
  flex-shrink: 0;
  margin: 0 30px 0 0; }
  @media (max-width: 750px) {
    .contact_catalog_img {
      width: 45.8vw;
      margin: 0 auto 16vw; } }

.contact_catalog_content {
  position: relative; }
  .contact_catalog_content::after {
    content: "";
    display: block;
    width: 122px;
    height: 300px;
    background: url("../img/catalog_illiust.svg") no-repeat;
    background-size: contain;
    bottom: 0;
    left: calc(100% + 6px);
    position: absolute; }
    @media (max-width: 750px) {
      .contact_catalog_content::after {
        width: 18.6vw;
        height: 45.3vw;
        left: 100%;
        bottom: -8vw; } }

.contact_catalog_titArea {
  margin: 0 0 10px;
  position: relative; }
  @media (max-width: 750px) {
    .contact_catalog_titArea {
      margin: 0 0 2vw; } }

.contact_catalog_tit {
  font-weight: 700;
  font-size: 4.2rem; }
  @media (max-width: 750px) {
    .contact_catalog_tit {
      font-size: 7.4vw; } }

.contact_catalog_balloon {
  display: inline-block;
  font-size: 2.2rem;
  font-weight: 700;
  padding: 5px 25px;
  position: absolute;
  left: 0;
  bottom: 100%; }
  @media (max-width: 750px) {
    .contact_catalog_balloon {
      font-size: 4.2vw;
      padding: 0.6vw 4vw;
      left: 50%;
      transform: translateX(-50%);
      white-space: nowrap; } }

.contact_catalog_txt {
  font-size: 1.4rem;
  margin: 0 0 1em; }
  @media (max-width: 750px) {
    .contact_catalog_txt {
      font-size: 3.73vw; } }

.contact_catalog_btn {
  display: block;
  background: #302D2C;
  color: #fff;
  padding: 18px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
  border-radius: 9999px; }
  @media (max-width: 750px) {
    .contact_catalog_btn {
      font-size: 4.2vw;
      padding: 2.6vw; } }

/*---------------------------------------------
contact
---------------------------------------------*/
.sec-company {
  padding: 60px 0 80px; }
  @media (max-width: 750px) {
    .sec-company {
      padding: 12vw 0 18.6vw; } }

.company_tit {
  font-weight: 700;
  font-size: 4.2rem;
  line-height: 1.28;
  text-align: center;
  margin: 0 0 25px; }
  @media (max-width: 750px) {
    .company_tit {
      font-size: 8.53vw;
      margin: 0 0 4.5vw; } }

.company_table {
  width: 100%;
  max-width: 816px;
  margin: auto; }
  .company_table th, .company_table td {
    border-top: 1px solid #02B756;
    border-bottom: 1px solid #02B756;
    padding: 8px 40px; }
    @media (max-width: 750px) {
      .company_table th, .company_table td {
        padding: 2.6vw 5vw; } }
  .company_table th {
    white-space: nowrap;
    text-align: center;
    width: 5em; }
    @media (max-width: 750px) {
      .company_table th {
        text-align: left; } }
  @media (max-width: 750px) {
    .company_table td {
      padding: 2.6vw 5vw 2.6vw 0; } }

/*---------------------------------------------
form
---------------------------------------------*/
.form {
  position: fixed;
  width: 400px;
  height: 100%;
  right: 0;
  top: 0;
  background: #FFD527;
  z-index: 1000;
  overflow: auto;
  padding: 25px 30px 80px; }
  @media (min-width: 1337px) {
    .form {
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.34); } }
  @media (max-width: 1336px) {
    .form {
      position: static;
      width: 100%; } }
  @media (max-width: 750px) {
    .form {
      position: static;
      width: 100%;
      padding: 16vw 5vw; } }
  @media (min-width: 751px) {
    .form .inner {
      max-width: 600px; } }

.form_tit {
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
  margin: 0 0 23px; }
  @media (max-width: 750px) {
    .form_tit {
      font-size: 5vw;
      margin: 0 0 6vw; } }

.form_checkWrap {
  background: rgba(255, 255, 255, 0.7);
  border-radius: 8px;
  padding: 18px 27px;
  margin: 0 0 20px;
  font-size: 1.4rem;
  text-align: left; }
  @media (max-width: 750px) {
    .form_checkWrap {
      padding: 5vw 7vw;
      font-size: 3.73vw;
      margin: 0 0 5vw; } }

.formList {
  font-size: 1.2rem;
  margin: 0 0 18px; }
  @media (max-width: 1336px) {
    .formList {
      font-size: 1.4rem; } }
  @media (max-width: 750px) {
    .formList {
      font-size: 3.73vw;
      margin: 0 0 4.8vw; } }
  .formList li:not(:last-child) {
    margin: 0 0 5px; }
    @media (max-width: 750px) {
      .formList li:not(:last-child) {
        margin: 0 0 1.3vw; } }

.inpTxt {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid #302D2C;
  width: 100%;
  padding: 0.5em;
  background: #fff;
  box-shadow: none;
  border-radius: 8px;
  font-size: 1.2rem; }
  @media (max-width: 750px) {
    .inpTxt {
      font-size: 3.73vw;
      padding: 0.3em 0.5em; } }

.formList_tit {
  margin: 0 0 2px;
  display: flex;
  align-items: center; }
  @media (max-width: 750px) {
    .formList_tit {
      margin: 0 0 0.4vw;
      display: block; } }

.-required {
  display: flex;
  align-items: center; }
  .-required::after {
    content: "*";
    color: #E4372B;
    display: inline-block;
    margin: 0 0 0 0.3em; }

.formBtn {
  -webkit-appearance: none;
  appearance: button;
  border: none;
  display: block;
  cursor: pointer;
  box-shadow: none;
  background: #E4372B;
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 12px;
  border-radius: 100px;
  width: 100%;
  font-size: 1.6rem; }
  @media (max-width: 750px) {
    .formBtn {
      font-size: 4.2vw;
      padding: 2vw; } }

input[type=checkbox] {
  display: none; }

.form_checkList label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer; }
.form_checkList .inpTxt {
  width: calc(100% - 24px);
  margin: 0 0 0 24px; }
  @media (max-width: 750px) {
    .form_checkList .inpTxt {
      margin: 0 0 0 6.8vw;
      width: calc(100% - 6.8vw); } }
.form_checkList .formError {
  margin: 2px 0 0 24px;
  display: block; }
  @media (max-width: 750px) {
    .form_checkList .formError {
      margin: 1.3vw 0 0 6.8vw; } }

.checkbox-icon {
  background: #fff;
  border: 1px solid #302D2C;
  border-radius: 4px;
  display: inline-block;
  height: 16px;
  position: relative;
  width: 16px;
  margin: 0 8px 0 0; }
  @media (max-width: 750px) {
    .checkbox-icon {
      width: 4.6vw;
      height: 4.6vw;
      margin: 0 2.2vw 0 0;
      border-radius: 3px; } }
  .checkbox-icon::after {
    border-right: 2px solid #E4372B;
    border-bottom: 2px solid #E4372B;
    content: '';
    content: '';
    display: block;
    height: 10px;
    left: 6px;
    margin: -9px 0 0 -3px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 6px; }
    @media (max-width: 750px) {
      .checkbox-icon::after {
        width: 1.65vw;
        height: 3vw;
        left: 1.65vw;
        margin: -2vw 0 0 -0.5vw; } }

input[type=checkbox]:checked + .checkbox-icon::after {
  opacity: 1; }

.formError {
  color: #E4372B;
  margin: 0 0 0 1em;
  font-size: 1.2rem; }
  @media (max-width: 1336px) {
    .formError {
      font-size: 1.4rem; } }
  @media (max-width: 750px) {
    .formError {
      line-height: 1.4;
      margin: 0;
      font-size: 3.73vw; } }

.modalWrap {
  position: fixed;
  z-index: 1001;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  display: none; }
  .modalWrap.-bg {
    background: rgba(0, 0, 0, 0.3); }

.thanks_modal {
  background: #FFD527;
  position: fixed;
  top: 50%;
  left: 50%;
  max-width: 780px;
  width: 90%;
  padding: 60px 0 40px;
  border-radius: 25px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  text-align: center;
  font-weight: 700;
  transform: translate(-50%, -50%);
  z-index: 1002; }
  @media (min-width: 1337px) {
    .thanks_modal {
      left: calc(50% - 200px); } }
  @media (max-width: 750px) {
    .thanks_modal {
      width: 90vw;
      padding: 8vw 0 5.3vw; } }

.thanks_icon {
  width: 101px;
  margin: 0 auto 22px;
  transform: translateX(9px); }
  @media (max-width: 750px) {
    .thanks_icon {
      width: 18.6vw;
      transform: translateX(1.6vw); } }

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

.thanks_txt {
  font-size: 2.2rem;
  margin: 0 0 35px; }
  @media (max-width: 750px) {
    .thanks_txt {
      font-size: 3.73vw;
      margin: 0 0 5vw; } }

.thanks_time {
  margin: 0 0 40px; }
  @media (max-width: 750px) {
    .thanks_time {
      margin: 0 0 5vw;
      font-size: 3.73vw; } }

.modal_close {
  border: none;
  width: 310px;
  display: block;
  color: #fff;
  background: #E4372B;
  padding: 10px;
  font-size: 2.2rem;
  border-radius: 100px;
  margin: auto;
  cursor: pointer; }
  @media (max-width: 750px) {
    .modal_close {
      width: 49.8vw;
      font-size: 4.26vw;
      padding: 2vw; } }
