@charset "UTF-8";
/* =================================
 common
================================= */
/* title
---------------------------------------------------------- */
.c-ttl_main {
  text-align: center;
  line-height: 1.4;
  font-weight: 900;
  margin-bottom: 70px; }
  @media screen and (max-width: 767px) {
    .c-ttl_main {
      margin-bottom: 40px; } }
  .c-ttl_main_jp {
    font-size: 5.4rem; }
    @media screen and (max-width: 767px) {
      .c-ttl_main_jp {
        font-size: 3.0rem; } }
    .c-ttl_main_jp .-sub {
      font-size: .62em;
      display: block; }
  .c-ttl_main_en {
    font-size: 2.4rem;
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    background-color: #fde730;
    display: inline-block;
    width: 120px;
    border-radius: 40px;
    padding: 2px 0px;
    margin-top: 10px; }
    @media screen and (max-width: 767px) {
      .c-ttl_main_en {
        font-size: 1.6rem;
        width: 90px; } }
.c-ttl_cont {
  background-color: #172e74;
  padding: 55px 0;
  margin-bottom: 70px; }
  @media screen and (max-width: 767px) {
    .c-ttl_cont {
      padding: 24px 0;
      margin-bottom: 30px; } }
  .c-ttl_cont .c-ttl_main {
    margin-bottom: 0; }
    .c-ttl_cont .c-ttl_main_jp {
      color: #fff; }
    .c-ttl_cont .c-ttl_main_en {
      background-color: unset;
      color: #fde730; }
.c-ttl_deco_main {
  text-align: center;
  font-weight: 900;
  border-top: solid 3px #8893b5;
  border-bottom: solid 3px #8893b5;
  line-height: 1.6;
  position: relative;
  padding: 30px 0;
  margin-bottom: 100px;
  letter-spacing: -.06em; }
  @media screen and (max-width: 767px) {
    .c-ttl_deco_main {
      border-top: solid 2px #8893b5;
      border-bottom: solid 2px #8893b5;
      padding: 16px 0;
      margin-bottom: 50px; } }
  .c-ttl_deco_main::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% - 10px);
    border-top: solid 3px #8893b5;
    border-bottom: solid 3px #8893b5;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto; }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_main::before {
        border-top: solid 2px #8893b5;
        border-bottom: solid 2px #8893b5;
        height: calc(100% - 6px); } }
  .c-ttl_deco_main_cont::before, .c-ttl_deco_main_cont::after {
    position: relative;
    content: "";
    display: block;
    width: 253px;
    height: auto;
    aspect-ratio: 253 / 44;
    background-image: url(../img/deco_ttl_main.webp);
    background-position: left top;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto; }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_main_cont::before, .c-ttl_deco_main_cont::after {
        width: 150px; } }
  .c-ttl_deco_main_cont::before {
    top: -36px; }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_main_cont::before {
        top: -24px; } }
  .c-ttl_deco_main_cont::after {
    bottom: -36px;
    transform: scale(1, -1); }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_main_cont::after {
        bottom: -24px; } }
  .c-ttl_deco_main .-sub {
    font-size: 3.4rem; }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_main .-sub {
        font-size: 1.6rem; } }
  .c-ttl_deco_main .-main {
    font-size: 5.4rem; }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_main .-main {
        font-size: 2.5rem; } }
.c-ttl_deco_sub {
  text-align: center;
  font-weight: 900;
  border-top: solid 2px #8893b5;
  border-bottom: solid 2px #8893b5;
  line-height: 1.6;
  position: relative;
  padding: 16px 0;
  margin-bottom: 60px;
  letter-spacing: -.06em; }
  @media screen and (max-width: 767px) {
    .c-ttl_deco_sub {
      padding: 12px 0;
      margin-bottom: 40px; } }
  .c-ttl_deco_sub::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% - 4px);
    border-top: solid 1px #8893b5;
    border-bottom: solid 1px #8893b5;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto; }
  .c-ttl_deco_sub_cont::before, .c-ttl_deco_sub_cont::after {
    position: relative;
    content: "";
    display: block;
    width: 164px;
    height: auto;
    aspect-ratio: 164 / 18;
    background-image: url(../img/deco_ttl_sub.webp);
    background-position: left top;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto; }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_sub_cont::before, .c-ttl_deco_sub_cont::after {
        width: 120px; } }
  .c-ttl_deco_sub_cont::before {
    top: -18px; }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_sub_cont::before {
        top: -13px; } }
  .c-ttl_deco_sub_cont::after {
    bottom: -18px;
    transform: scale(1, -1); }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_sub_cont::after {
        bottom: -13px; } }
  .c-ttl_deco_sub .-sub {
    font-size: 2.0rem; }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_sub .-sub {
        font-size: 1.5rem; } }
  .c-ttl_deco_sub .-main {
    font-size: 3.0rem; }
    @media screen and (max-width: 767px) {
      .c-ttl_deco_sub .-main {
        font-size: 2.0rem;
        line-height: 1.4; } }
    .c-ttl_deco_sub .-main .-num {
      font-size: 4.2rem;
      font-family: "Oswald", sans-serif;
      font-weight: 500;
      line-height: 1; }
      @media screen and (max-width: 767px) {
        .c-ttl_deco_sub .-main .-num {
          font-size: 3.0rem; } }

.c-ttl_border {
  position: relative;
  z-index: 0;
  line-height: 1.6;
  margin-bottom: 50px;
  padding-bottom: 20px;
  font-weight: 700;
  text-align: center; }
  .c-ttl_border::before {
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 50%;
    width: 60px;
    height: 1px;
    background-color: #284b7a;
    transform: translateX(-50%);
    content: ""; }
  .c-ttl_border span {
    display: block; }

@media screen and (max-width: 767px) {
  .c-ttl_border {
    margin-bottom: 15px;
    padding-bottom: 16px; } }
@media screen and (max-width: 767px) {
  .c-ttl_border::before {
    width: 30px; } }
.c-ttl_border_main {
  font-size: 38px;
  font-size: 3.8rem; }

@media screen and (max-width: 1240px) and (min-width: 768px) {
  .c-ttl_border_main {
    font-size: 30px;
    font-size: 3rem; } }
@media screen and (max-width: 767px) {
  .c-ttl_border_main {
    font-size: 20px;
    font-size: 2rem; } }
.c-ttl_border_sub {
  line-height: 1;
  margin-bottom: 3px;
  font-size: 28px;
  font-size: 2.8rem; }

@media screen and (max-width: 767px) {
  .c-ttl_border_sub {
    line-height: 1.5;
    margin-bottom: 5px;
    font-size: 16px;
    font-size: 1.6rem; } }
/* deco
---------------------------------------------------------- */
.c-deco_corner {
  position: relative; }
  .c-deco_corner::before {
    content: "";
    display: block;
    width: 56px;
    aspect-ratio: 1 / 1;
    background-image: url(../img/ico_corner.webp);
    background-position: left top;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -10px;
    left: -10px; }
    @media screen and (max-width: 767px) {
      .c-deco_corner::before {
        width: 34px;
        top: -6px;
        left: -6px; } }
  .c-deco_corner::after {
    content: "";
    display: block;
    width: 56px;
    aspect-ratio: 1 / 1;
    background-image: url(../img/ico_corner.webp);
    background-position: left top;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -10px;
    right: -10px;
    transform: scale(-1.1); }
    @media screen and (max-width: 767px) {
      .c-deco_corner::after {
        width: 34px;
        bottom: -6px;
        right: -6px; } }

/* table
---------------------------------------------------------- */
.c-tbl_case tr:first-child th {
  border-top: solid 1px #172e74; }
@media screen and (min-width: 768px) {
  .c-tbl_case tr:first-child td {
    border-top: dotted 1px; } }
.c-tbl_case tr:last-child th {
  border-bottom: solid 1px #172e74; }
.c-tbl_case th,
.c-tbl_case td {
  padding: 16px 20px; }
  @media screen and (max-width: 767px) {
    .c-tbl_case th,
    .c-tbl_case td {
      display: block;
      width: 100% !important;
      padding: 8px 14px; } }
.c-tbl_case th {
  background-color: #172e74;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 900;
  width: 25%;
  border-bottom: solid 1px #fff; }
  @media screen and (max-width: 767px) {
    .c-tbl_case th {
      font-size: 1.3rem; } }
.c-tbl_case td {
  width: 75%;
  color: #000;
  font-weight: 500; }
  @media screen and (min-width: 768px) {
    .c-tbl_case td {
      border-bottom: dotted 1px; } }
.c-tbl_price {
  letter-spacing: -.06em;
  border-bottom: solid 1px #c1c5d3;
  width: 100%; }
  .c-tbl_price tr.-cont {
    border-top: solid 1px #c1c5d3; }
  .c-tbl_price tr:last-child th {
    border-bottom: solid 1px #c1c5d3; }
  .c-tbl_price th {
    background-color: #c1c5d3;
    color: #474744;
    font-weight: 900;
    font-size: 1.8rem;
    border-bottom: solid 1px #fff;
    padding: 16px 20px; }
    @media screen and (max-width: 767px) {
      .c-tbl_price th {
        font-size: 1.4rem;
        padding: 8px 14px;
        width: 43%; } }
    .c-tbl_price th .-sub {
      font-weight: 500;
      font-size: 1.4rem;
      display: block;
      margin-top: .8em; }
      @media screen and (max-width: 767px) {
        .c-tbl_price th .-sub {
          font-size: 1.2rem; } }
  .c-tbl_price td {
    font-weight: 500;
    color: #000;
    border-bottom: dotted 1px #d2d2d2;
    text-align: right;
    padding: 16px 20px; }
    @media screen and (max-width: 767px) {
      .c-tbl_price td {
        padding: 8px 0 8px 14px;
        width: 57%; } }
    .c-tbl_price td .-num {
      font-size: 2.0rem;
      font-family: "Oswald", sans-serif;
      font-weight: 400; }
      @media screen and (max-width: 767px) {
        .c-tbl_price td .-num {
          font-size: 1.7rem; } }
    .c-tbl_price td .-small {
      font-size: 1.3rem; }
      @media screen and (max-width: 767px) {
        .c-tbl_price td .-small {
          font-size: 1.2rem; } }
.c-tbl_info {
  width: 100%;
  border-top: dotted 1px #000; }
  .c-tbl_info tr {
    border-bottom: dotted 1px #000; }
  .c-tbl_info th {
    font-size: 1.8rem;
    font-weight: 900;
    padding: 16px 20px; }
  .c-tbl_info td {
    color: #000;
    font-weight: 500;
    padding: 16px 20px; }
  @media screen and (max-width: 767px) {
    .c-tbl_info th, .c-tbl_info td {
      padding: 8px 14px; }
    .c-tbl_info th {
      font-size: 1.3rem;
      word-break: keep-all;
      padding-left: 0; }
    .c-tbl_info td {
      padding-right: 0; } }

/* text
---------------------------------------------------------- */
.c-txt_lead {
  text-align: center;
  color: #000;
  font-size: 1.8rem;
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .c-txt_lead {
      font-size: 1.5rem;
      margin-bottom: 30px; } }
.c-txt_note {
  font-size: 1.4rem;
  line-height: 2;
  color: #000;
  margin-top: 20px; }
  @media screen and (max-width: 767px) {
    .c-txt_note {
      font-size: 1.2rem; } }
.c-txt_link {
  text-decoration: underline; }

.c-txt_gry {
  color: #959ca5; }

.c-txt_asterisk {
  position: relative;
  z-index: 0;
  padding-left: 1.1em; }
  .c-txt_asterisk::before {
    position: absolute;
    z-index: 0;
    top: 5px;
    left: 0;
    width: 1em;
    height: 1em;
    line-height: 1;
    content: "\203B"; }

@media screen and (max-width: 767px) {
  .c-txt_asterisk::before {
    top: 3px; } }
.c-txt_min {
  font-size: 14px;
  font-size: 1.4rem; }

@media screen and (max-width: 767px) {
  .c-txt_min {
    font-size: 11px;
    font-size: 1.1rem; } }
.c-txt_link {
  text-decoration: underline !important; }

/* list
---------------------------------------------------------- */
.c-list_asteNum li {
  position: relative;
  z-index: 0;
  counter-increment: number;
  padding-left: 2em; }
  .c-list_asteNum li:first-of-type {
    margin-top: 0; }
  .c-list_asteNum li::before {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 2em;
    height: 1em;
    content: "※" counter(number); }

.c-list_midpoint li {
  position: relative;
  z-index: 0;
  margin-top: 8px;
  padding-left: 1em; }
  .c-list_midpoint li:first-of-type {
    margin-top: 0; }
  .c-list_midpoint li::before {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    content: "\30fb"; }

@media screen and (max-width: 767px) {
  .c-list_midpoint li {
    margin-top: 5px; } }
/* =================================
 index
================================= */
/* mv
---------------------------------------------------------- */
.p-index_mv {
  width: 100%;
  height: auto;
  color: #fff; }
  .p-index_mv .l-cont_l {
    z-index: 0;
    height: 100%; }
  .p-index_mv_cont {
    width: 100%;
    background-color: #fde730;
    position: relative;
    padding-bottom: 80px;
    padding-top: 120px; }
    @media screen and (max-width: 767px) {
      .p-index_mv_cont {
        padding-top: 80px; } }
    .p-index_mv_cont::before {
      content: "";
      display: block;
      background-image: url(../img/bg_pattern.webp);
      background-size: 120%;
      background-position: center bottom;
      background-repeat: no-repeat;
      width: 100%;
      height: 100%;
      opacity: .16;
      mix-blend-mode: multiply;
      position: absolute;
      top: 0;
      left: 0; }
    .p-index_mv_cont_copy {
      opacity: 0;
      animation: fadein 1s ease 1s 1 forwards;
      backface-visibility: hidden; }
      .p-index_mv_cont_copy_wrap {
        display: flex;
        align-items: center;
        justify-content: center; }
        @media screen and (max-width: 767px) {
          .p-index_mv_cont_copy_wrap {
            flex-direction: column; } }
    .p-index_mv_cont_ttl {
      font-size: 19.5rem;
      font-weight: 900;
      line-height: 1.05;
      text-align: right;
      color: #172e74;
      transform: skewX(-10deg) rotate(-8deg);
      text-shadow: 2px 10px 0px white;
      margin-right: 60px; }
      @media screen and (max-width: 1340px) {
        .p-index_mv_cont_ttl {
          font-size: 16rem; } }
      @media screen and (max-width: 1285px) {
        .p-index_mv_cont_ttl {
          font-size: 14rem; } }
      @media screen and (max-width: 767px) {
        .p-index_mv_cont_ttl {
          font-size: 8.0rem;
          margin-right: 0;
          text-align: left;
          text-shadow: 2px 7px 0px white; } }
      .p-index_mv_cont_ttl .-small {
        font-size: .8em; }
    .p-index_mv_cont_implant {
      color: #172e74;
      font-size: 3.6rem;
      position: relative;
      padding: 0 120px; }
      @media screen and (max-width: 1340px) {
        .p-index_mv_cont_implant {
          font-size: 3.4rem; } }
      @media screen and (max-width: 1285px) {
        .p-index_mv_cont_implant {
          font-size: 3.2rem; } }
      @media screen and (max-width: 767px) {
        .p-index_mv_cont_implant {
          font-size: 1.8rem;
          padding: 0 50px;
          margin-left: auto;
          transform: scale(0.8);
          background-origin: top right;
          margin-top: -100px;
          margin-right: -30px; } }
      .p-index_mv_cont_implant img {
        width: 54px;
        margin: auto; }
        @media screen and (max-width: 767px) {
          .p-index_mv_cont_implant img {
            width: 30px; } }
      .p-index_mv_cont_implant::before, .p-index_mv_cont_implant::after {
        content: "";
        display: block;
        aspect-ratio: 83 / 277;
        width: 83px;
        height: auto;
        background-image: url(../img/ico_frame.webp);
        background-size: contain;
        background-position: left top;
        background-repeat: no-repeat;
        position: absolute;
        top: 10px; }
        @media screen and (max-width: 1340px) {
          .p-index_mv_cont_implant::before, .p-index_mv_cont_implant::after {
            width: 70px; } }
        @media screen and (max-width: 767px) {
          .p-index_mv_cont_implant::before, .p-index_mv_cont_implant::after {
            width: 40px; } }
      .p-index_mv_cont_implant::before {
        left: 0; }
      .p-index_mv_cont_implant::after {
        right: 0;
        transform: scale(-1, 1); }
      .p-index_mv_cont_implant .-sub {
        font-weight: 700;
        line-height: 1.35; }
        .p-index_mv_cont_implant .-sub .-line {
          position: relative; }
          .p-index_mv_cont_implant .-sub .-line::before {
            content: "";
            width: 100%;
            height: 2px;
            display: block;
            background-color: #172e74;
            position: absolute;
            bottom: 0;
            left: 0; }
      .p-index_mv_cont_implant .-main {
        font-family: "Oswald", sans-serif;
        font-weight: 900;
        font-size: 10.9rem;
        display: flex;
        align-items: flex-end;
        line-height: 1;
        text-shadow: 10px 0px 0px white;
        margin-top: 10px; }
        @media screen and (max-width: 1340px) {
          .p-index_mv_cont_implant .-main {
            font-size: 8rem; } }
        @media screen and (max-width: 767px) {
          .p-index_mv_cont_implant .-main {
            font-size: 4.6rem;
            text-shadow: 5px 0px 0px white;
            margin-top: 5px; } }
        .p-index_mv_cont_implant .-main::after {
          content: "本";
          display: block;
          font-size: .5em;
          font-family: "Zen Kaku Gothic New", sans-serif; }
      .p-index_mv_cont_implant .-note {
        font-size: 1.4rem;
        text-align: right; }
        @media screen and (max-width: 767px) {
          .p-index_mv_cont_implant .-note {
            font-size: 1.1rem; } }
    .p-index_mv_cont_navy {
      clip-path: polygon(0 0, 100% 0, 100% calc(100% - 180px), 0 100%);
      position: relative;
      margin-top: -120px; }
      @media screen and (max-width: 1340px) {
        .p-index_mv_cont_navy {
          margin-top: -100px;
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10vw), 0 100%); } }
      @media screen and (max-width: 1285px) {
        .p-index_mv_cont_navy {
          margin-top: -80px; } }
      @media screen and (max-width: 767px) {
        .p-index_mv_cont_navy {
          margin-top: -30px; } }
      .p-index_mv_cont_navy::before {
        content: "";
        display: block;
        width: 100%;
        height: 500px;
        position: absolute;
        bottom: 0;
        background-color: #172e74;
        clip-path: polygon(0 180px, 100% 0, 100% calc(100% - 180px), 0 100%);
        z-index: -1; }
        @media screen and (max-width: 1340px) {
          .p-index_mv_cont_navy::before {
            height: 40vw;
            clip-path: polygon(0 10vw, 100% 0, 100% calc(100% - 10vw), 0 100%);
            height: 400px; } }
        @media screen and (max-width: 1285px) {
          .p-index_mv_cont_navy::before {
            height: 350px; } }
        @media screen and (max-width: 767px) {
          .p-index_mv_cont_navy::before {
            height: 140px; } }
      .p-index_mv_cont_navy .l-cont_l {
        display: flex;
        align-items: flex-end; }
        @media screen and (max-width: 767px) {
          .p-index_mv_cont_navy .l-cont_l {
            justify-content: center; } }
      .p-index_mv_cont_navy .-img,
      .p-index_mv_cont_navy .-txt {
        opacity: 0;
        animation: fadein 1s ease 1s 1 forwards;
        backface-visibility: hidden; }
      .p-index_mv_cont_navy .-img {
        width: 656px;
        margin-left: -130px; }
        @media screen and (max-width: 1340px) {
          .p-index_mv_cont_navy .-img {
            width: 580px;
            margin-left: -80px; } }
        @media screen and (max-width: 1285px) {
          .p-index_mv_cont_navy .-img {
            width: 500px; } }
        @media screen and (max-width: 767px) {
          .p-index_mv_cont_navy .-img {
            width: 196px; } }
      .p-index_mv_cont_navy .-txt {
        font-size: 6.4rem;
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 220px; }
        @media screen and (max-width: 1340px) {
          .p-index_mv_cont_navy .-txt {
            margin-bottom: 150px; } }
        @media screen and (max-width: 1285px) {
          .p-index_mv_cont_navy .-txt {
            margin-bottom: 120px; } }
        @media screen and (max-width: 767px) {
          .p-index_mv_cont_navy .-txt {
            font-size: 2.4rem;
            margin-bottom: 40px; } }
        .p-index_mv_cont_navy .-txt span {
          font-size: .48em;
          display: block;
          letter-spacing: -.03em; }
          @media screen and (max-width: 767px) {
            .p-index_mv_cont_navy .-txt span {
              font-size: 1.4rem; } }
  .p-index_mv_counseling {
    margin-top: calc(calc(tan(-4deg) * 50%) - 180px);
    position: relative;
    border: solid 5px #172e74;
    border-radius: 10px;
    padding: 65px 80px;
    z-index: 1; }
    @media screen and (max-width: 1340px) {
      .p-index_mv_counseling {
        margin-top: calc(calc(tan(-4deg) * 50%) - 100px); } }
    @media screen and (max-width: 767px) {
      .p-index_mv_counseling {
        border-width: 3px;
        padding: 25px; } }
    .p-index_mv_counseling::before, .p-index_mv_counseling::after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      border-radius: 10px; }
    .p-index_mv_counseling::before {
      background-size: 4px;
      opacity: .2;
      background-image: url(../img/bg_dots.webp);
      background-position: left top;
      background-repeat: repeat;
      z-index: 0; }
    .p-index_mv_counseling::after {
      background-color: #fff;
      z-index: -1; }
    .p-index_mv_counseling_copy {
      font-weight: 900; }
      .p-index_mv_counseling_copy > span {
        background-color: #172e74;
        display: block;
        width: fit-content;
        line-height: 1;
        padding: 10px; }
      .p-index_mv_counseling_copy .-sub {
        font-size: 3.2rem;
        margin-bottom: 10px; }
        @media screen and (max-width: 767px) {
          .p-index_mv_counseling_copy .-sub {
            font-size: 1.8rem;
            background-color: unset;
            color: #172e74;
            line-height: 1.4;
            padding-bottom: 0;
            padding: 0;
            text-align: center;
            margin: 0 auto 10px; } }
      .p-index_mv_counseling_copy .-main {
        font-size: 5.2rem; }
        @media screen and (max-width: 767px) {
          .p-index_mv_counseling_copy .-main {
            font-size: 2.6rem;
            background-color: unset;
            color: #172e74;
            line-height: 1.3;
            padding: 0;
            text-align: center;
            margin: auto; } }
    .p-index_mv_counseling_contact {
      display: flex;
      justify-content: space-between;
      margin-top: 30px; }
      @media screen and (max-width: 767px) {
        .p-index_mv_counseling_contact {
          flex-direction: column;
          justify-content: center;
          margin-top: 10px; } }
      .p-index_mv_counseling_contact_tel {
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
        @media screen and (max-width: 767px) {
          .p-index_mv_counseling_contact_tel {
            justify-content: center;
            margin-bottom: 16px; } }
        .p-index_mv_counseling_contact_tel .-num {
          display: flex;
          align-items: center;
          font-size: 3.6rem;
          font-family: "Oswald", sans-serif;
          font-weight: 500;
          color: #000;
          margin-right: 10px; }
          @media screen and (max-width: 767px) {
            .p-index_mv_counseling_contact_tel .-num {
              font-size: 3.2rem; } }
          .p-index_mv_counseling_contact_tel .-num img {
            width: 36px;
            height: auto;
            margin-right: 10px; }
        .p-index_mv_counseling_contact_tel .-info {
          color: #000;
          line-height: 1.25;
          font-size: 1.2rem; }
      .p-index_mv_counseling_contact_btn {
        display: flex; }
        .p-index_mv_counseling_contact_btn .-btn_base {
          width: 280px;
          height: 84px;
          background-color: red;
          border-radius: 42px;
          overflow: hidden; }
          @media screen and (max-width: 767px) {
            .p-index_mv_counseling_contact_btn .-btn_base {
              height: 60px; } }
          .p-index_mv_counseling_contact_btn .-btn_base a {
            display: flex;
            justify-content: center;
            align-items: center;
            color: #fff;
            font-weight: 900;
            font-size: 2.4rem;
            width: 100%;
            height: 100%; }
            @media screen and (max-width: 767px) {
              .p-index_mv_counseling_contact_btn .-btn_base a {
                font-size: 1.6rem; } }
            .p-index_mv_counseling_contact_btn .-btn_base a .-eng {
              font-size: 2.8rem; }
              @media screen and (max-width: 767px) {
                .p-index_mv_counseling_contact_btn .-btn_base a .-eng {
                  font-size: 1.8rem; } }
          .p-index_mv_counseling_contact_btn .-btn_base.-web {
            background-color: #182a5a;
            box-shadow: 0px 8px 0px 0px black;
            margin-right: 20px; }
            @media screen and (max-width: 767px) {
              .p-index_mv_counseling_contact_btn .-btn_base.-web {
                margin-right: 10px; } }
          .p-index_mv_counseling_contact_btn .-btn_base.-line {
            background-color: #0caf1a;
            box-shadow: 0px 8px 0px 0px #07630f; }

/* trouble
---------------------------------------------------------- */
.p-index_trouble {
  margin-top: 26px;
  padding-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .p-index_trouble {
      padding-bottom: 50px; } }
  .p-index_trouble_inner {
    display: flex;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 1100px) {
      .p-index_trouble_inner {
        justify-content: space-between; } }
    .p-index_trouble_inner::before {
      content: "";
      display: block;
      height: 86%;
      width: 92vw;
      background-color: #d5d9e8;
      position: absolute;
      right: 0;
      bottom: -90px;
      z-index: -1; }
      @media screen and (max-width: 767px) {
        .p-index_trouble_inner::before {
          width: 96vw;
          bottom: -50px; } }
    .p-index_trouble_inner::after {
      content: "";
      display: block;
      height: 86%;
      width: 92vw;
      position: absolute;
      right: 0;
      bottom: -90px;
      z-index: -1;
      background-image: url(../img/bg_pattern.webp);
      background-size: cover;
      background-position: bottom;
      mix-blend-mode: multiply;
      opacity: .08; }
      @media screen and (max-width: 767px) {
        .p-index_trouble_inner::after {
          width: 96vw;
          bottom: -50px;
          opacity: .2; } }
    .p-index_trouble_inner_txt {
      width: 48%;
      max-width: 480px;
      margin-left: calc(52% + 60px);
      padding: 80px 0; }
      @media screen and (max-width: 767px) {
        .p-index_trouble_inner_txt {
          width: 90%;
          padding: 0 0 0 10px;
          margin: 0 auto;
          padding-top: 64vw; } }
      .p-index_trouble_inner_txt::before {
        content: "";
        display: block;
        width: 52%;
        height: 100%;
        background-image: url(../img/img_trouble.webp);
        background-size: cover;
        background-position: center;
        position: absolute;
        left: 0;
        top: 0; }
        @media screen and (max-width: 767px) {
          .p-index_trouble_inner_txt::before {
            width: 90%;
            aspect-ratio: 3 / 2;
            height: auto;
            z-index: -1; } }
      .p-index_trouble_inner_txt_ttl {
        font-size: 5rem;
        font-weight: 900;
        letter-spacing: -.05em;
        line-height: 1.4;
        margin-bottom: 30px; }
        @media screen and (max-width: 767px) {
          .p-index_trouble_inner_txt_ttl {
            font-size: 2.6rem;
            margin-bottom: 20px; } }
        .p-index_trouble_inner_txt_ttl .-small {
          font-size: .84em; }
        .p-index_trouble_inner_txt_ttl .-bg {
          background-color: #172e74;
          color: #fff;
          font-size: 5.2rem;
          line-height: 1;
          display: inline-block;
          padding: 4px 10px 8px;
          margin-left: 4px; }
          @media screen and (max-width: 767px) {
            .p-index_trouble_inner_txt_ttl .-bg {
              font-size: 3.0rem; } }
      .p-index_trouble_inner_txt_point {
        font-size: 2.0rem;
        font-weight: 700;
        letter-spacing: -.05em; }
        @media screen and (max-width: 767px) {
          .p-index_trouble_inner_txt_point {
            font-size: 1.6rem; } }
        .p-index_trouble_inner_txt_point li {
          background-color: #fff;
          line-height: 1;
          padding: 10px; }
          @media screen and (max-width: 767px) {
            .p-index_trouble_inner_txt_point li {
              padding: 8px; } }
          .p-index_trouble_inner_txt_point li:not(:last-child) {
            margin-bottom: 10px; }
  .p-index_trouble_kaiketsu {
    text-align: center;
    z-index: 1;
    position: relative;
    margin-top: 60px;
    font-size: 4.8rem;
    font-weight: 900;
    line-height: 1.45; }
    @media screen and (max-width: 767px) {
      .p-index_trouble_kaiketsu {
        font-size: 2.6rem;
        letter-spacing: -.05em; } }
    .p-index_trouble_kaiketsu::before {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-right: 60px solid transparent;
      border-left: 60px solid transparent;
      border-top: 50px solid #d4e0ed;
      border-bottom: 0;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      z-index: -1; }
      @media screen and (max-width: 767px) {
        .p-index_trouble_kaiketsu::before {
          transform: scale(0.6); } }
    .p-index_trouble_kaiketsu .-small {
      display: block;
      font-size: .7em; }

/* reason
---------------------------------------------------------- */
.p-index_reason {
  position: relative;
  padding: 100px 0 200px; }
  @media screen and (max-width: 767px) {
    .p-index_reason {
      padding: 50px 0 100px; } }
  .p-index_reason::before {
    content: "";
    display: block;
    width: 96%;
    max-width: 1310px;
    height: 100%;
    opacity: .2;
    background-image: url(../img/bg_dots.webp);
    background-size: 4px;
    background-position: left top;
    background-repeat: repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1; }
  .p-index_reason_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: relative; }
    @media screen and (max-width: 767px) {
      .p-index_reason_inner {
        flex-direction: column; } }
    .p-index_reason_inner:not(:first-child) {
      margin-top: 80px; }
      @media screen and (max-width: 767px) {
        .p-index_reason_inner:not(:first-child) {
          margin-top: 50px; } }
    .p-index_reason_inner + .p-index_reason_inner {
      margin-top: 160px; }
      @media screen and (max-width: 767px) {
        .p-index_reason_inner + .p-index_reason_inner {
          margin-top: 100px; } }
    .p-index_reason_inner.-reverse {
      flex-direction: row-reverse; }
      @media screen and (max-width: 767px) {
        .p-index_reason_inner.-reverse {
          flex-direction: column; } }
  .p-index_reason_img {
    width: 52%; }
    @media screen and (max-width: 767px) {
      .p-index_reason_img {
        width: 100%;
        margin-bottom: -5px; } }
  .p-index_reason_txt {
    width: 45%;
    /*yel*/
    /*yel end*/
    /*ble*/
    /*ble end*/ }
    @media screen and (max-width: 767px) {
      .p-index_reason_txt {
        width: 100%; } }
    .p-index_reason_txt::before, .p-index_reason_txt::after {
      content: "";
      display: block;
      width: 110%;
      height: 108%;
      position: absolute;
      z-index: -1;
      bottom: -5%; }
      @media screen and (max-width: 767px) {
        .p-index_reason_txt::before, .p-index_reason_txt::after {
          width: 100vw;
          height: 85%; } }
    .p-index_reason_txt::after {
      background-image: url(../img/bg_stripe.webp);
      background-size: 12px;
      background-position: left top;
      background-repeat: repeat;
      opacity: .4; }
    .p-index_reason_txt p.-note {
      font-size: 1.2rem;
      line-height: 1.7;
      margin-top: 1em;
      text-indent: -1em;
      margin-left: 1em; }
    .p-index_reason_txt.-yel::before, .p-index_reason_txt.-yel::after {
      transform: skewY(-4deg) translateX(-8.1%);
      left: 50%; }
      @media screen and (max-width: 767px) {
        .p-index_reason_txt.-yel::before, .p-index_reason_txt.-yel::after {
          left: 0;
          transform: skewY(-4deg) translateX(-5vw); } }
    .p-index_reason_txt.-yel::before {
      background-color: #fde730; }
    .p-index_reason_txt.-yel .p-index_reason_txt_top::before {
      background-color: #172e74; }
    .p-index_reason_txt.-ble::before, .p-index_reason_txt.-ble::after {
      transform: skewY(4deg) translateX(8.1%);
      right: 50%; }
      @media screen and (max-width: 767px) {
        .p-index_reason_txt.-ble::before, .p-index_reason_txt.-ble::after {
          right: 0;
          transform: skewY(4deg) translateX(5vw); } }
    .p-index_reason_txt.-ble::before {
      background-color: #172e74; }
    .p-index_reason_txt.-ble::after {
      content: "";
      display: block;
      opacity: .1; }
    .p-index_reason_txt.-ble > * {
      color: #fff; }
    .p-index_reason_txt.-ble .p-index_reason_txt_top::before {
      background-color: #fff; }
    .p-index_reason_txt_inner {
      padding: 0 0 5% 0; }
      @media screen and (max-width: 767px) {
        .p-index_reason_txt_inner {
          padding: 14px; } }
    .p-index_reason_txt_top {
      position: relative;
      transform: translate3d(0, 0, 0); }
      .p-index_reason_txt_top::before {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        width: 0;
        height: 100%;
        content: ""; }
      .p-index_reason_txt_top.move::before {
        animation: passing-bar 1s ease 0s 1 normal forwards; }
      .p-index_reason_txt_top.move .p-index_reason_txt_top_wrap {
        animation: passing-txt 0s ease .5s 1 normal forwards; }
      .p-index_reason_txt_top_wrap {
        display: flex;
        align-items: flex-start;
        margin-bottom: 30px;
        opacity: 0;
        transform: translate3d(0, 0, 0); }
        @media screen and (max-width: 767px) {
          .p-index_reason_txt_top_wrap {
            flex-direction: column;
            margin-bottom: 16px; } }
    .p-index_reason_txt_num {
      font-size: 6.6rem;
      font-family: "Oswald", sans-serif;
      font-weight: 600;
      position: relative;
      line-height: 1;
      border-right: solid 1px;
      margin: 0 16px 0 0;
      padding-right: 16px;
      word-break: keep-all; }
      @media screen and (max-width: 1285px) {
        .p-index_reason_txt_num {
          font-size: 6.2rem;
          margin: 0 12px 0 0;
          padding-right: 12px; } }
      @media screen and (max-width: 767px) {
        .p-index_reason_txt_num {
          font-size: 3.8rem;
          border-right: none;
          padding-right: 0;
          margin: 0 auto 10px; } }
      .p-index_reason_txt_num::before {
        content: "REASON";
        display: block;
        font-size: 1.8rem; }
        @media screen and (max-width: 767px) {
          .p-index_reason_txt_num::before {
            font-size: 1.2rem; } }
    .p-index_reason_txt_ttl {
      font-weight: 900;
      letter-spacing: -.06em;
      line-height: 1.35; }
      @media screen and (max-width: 767px) {
        .p-index_reason_txt_ttl {
          margin: auto;
          text-align: center; } }
      .p-index_reason_txt_ttl .-sub {
        font-size: 2.5rem;
        margin-bottom: 5px; }
        @media screen and (max-width: 1285px) {
          .p-index_reason_txt_ttl .-sub {
            font-size: 2.3rem; } }
        @media screen and (max-width: 767px) {
          .p-index_reason_txt_ttl .-sub {
            font-size: 1.6rem;
            line-height: 1.5; } }
        .p-index_reason_txt_ttl .-sub .-num {
          font-size: 3.0rem;
          font-family: "Oswald", sans-serif;
          font-weight: 500; }
          @media screen and (max-width: 1285px) {
            .p-index_reason_txt_ttl .-sub .-num {
              font-size: 2.6rem; } }
          @media screen and (max-width: 767px) {
            .p-index_reason_txt_ttl .-sub .-num {
              font-size: 2.2rem; } }
      .p-index_reason_txt_ttl .-main {
        font-size: 3.6rem;
        display: flex;
        align-items: center;
        line-height: 1.3; }
        @media screen and (min-width: 1299px) {
          .p-index_reason_txt_ttl .-main.-reason06 {
            font-size: 3.4rem; } }
        @media screen and (max-width: 1285px) {
          .p-index_reason_txt_ttl .-main {
            font-size: 3.4rem; } }
        @media screen and (max-width: 767px) {
          .p-index_reason_txt_ttl .-main {
            font-size: 2.4rem;
            justify-content: center; } }
      .p-index_reason_txt_ttl small.-note {
        font-size: 1.4rem;
        font-weight: 500;
        margin-left: 20px;
        letter-spacing: 0; }
        @media screen and (max-width: 767px) {
          .p-index_reason_txt_ttl small.-note {
            font-size: 1.3rem;
            margin-left: 10px; } }
  .p-index_reason_point {
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 60px auto 0; }
    @media screen and (max-width: 767px) {
      .p-index_reason_point {
        flex-wrap: wrap;
        width: 100%;
        margin: 10px auto 0; } }
    .p-index_reason_point li {
      width: 30%;
      position: relative;
      line-height: 1.2;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .p-index_reason_point li {
          width: 70%; }
          .p-index_reason_point li:nth-child(1) {
            width: 100%;
            margin-bottom: 30px; }
            .p-index_reason_point li:nth-child(1) .-line {
              font-size: 2.0rem; }
            .p-index_reason_point li:nth-child(1) .p-index_reason_point_main {
              font-size: 6rem; }
              .p-index_reason_point li:nth-child(1) .p-index_reason_point_main::after {
                font-size: 3rem; }
          .p-index_reason_point li:nth-child(2), .p-index_reason_point li:nth-child(3) {
            width: 49%; } }
      .p-index_reason_point li img {
        width: 39px;
        margin: 0 auto 6px; }
        @media screen and (max-width: 767px) {
          .p-index_reason_point li img {
            width: 26px; } }
      .p-index_reason_point li::before, .p-index_reason_point li::after {
        content: "";
        display: block;
        aspect-ratio: 83 / 277;
        width: 52px;
        height: auto;
        background-image: url(../img/ico_frame_ble.webp);
        background-position: left top;
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: 10px; }
        @media screen and (max-width: 767px) {
          .p-index_reason_point li::before, .p-index_reason_point li::after {
            width: 36px;
            top: unset;
            bottom: 0; } }
      .p-index_reason_point li::before {
        left: 0; }
      .p-index_reason_point li::after {
        right: 0;
        transform: scale(-1, 1); }
      .p-index_reason_point li .-line {
        position: relative;
        font-size: 2.4rem;
        font-weight: 700;
        display: inline-block;
        padding-bottom: 12px; }
        @media screen and (max-width: 767px) {
          .p-index_reason_point li .-line {
            font-size: 1.5rem; } }
        .p-index_reason_point li .-line::before {
          content: "";
          width: 100%;
          height: 2px;
          display: block;
          background-color: #172e74;
          position: absolute;
          bottom: 0;
          left: 0; }
      .p-index_reason_point li .-note {
        color: #000;
        font-size: 1.4rem; }
    .p-index_reason_point_main_txt {
      font-size: 7.2rem;
      font-family: "Oswald", sans-serif;
      font-weight: 700;
      position: relative; }
      @media screen and (max-width: 767px) {
        .p-index_reason_point_main_txt {
          font-size: 3.8rem; } }
      .p-index_reason_point_main_txt::after {
        content: "本";
        font-weight: 900;
        font-size: 2.8rem; }
        @media screen and (max-width: 767px) {
          .p-index_reason_point_main_txt::after {
            font-size: 2.2rem; } }
      .p-index_reason_point_main_txt.-year::after {
        content: "年"; }
  .p-index_reason_box {
    position: relative;
    z-index: 0;
    border: solid 4px #172e74;
    background-color: #fff;
    padding: 70px;
    margin-top: 60px; }
    @media screen and (max-width: 767px) {
      .p-index_reason_box {
        border-width: 3px;
        padding: 20px;
        margin-top: 20px; } }
    .p-index_reason_box_top {
      display: flex;
      align-items: center;
      margin-bottom: 50px; }
      @media screen and (max-width: 767px) {
        .p-index_reason_box_top {
          flex-direction: column;
          align-items: flex-start;
          margin-bottom: 20px; } }
      .p-index_reason_box_top .p-index_reason_box_ttl {
        border-right: solid 2px;
        padding-right: 30px;
        margin-right: 30px; }
        @media screen and (max-width: 767px) {
          .p-index_reason_box_top .p-index_reason_box_ttl {
            border-right: none;
            margin-right: 0;
            padding-right: 0;
            margin-bottom: 16px; } }
    .p-index_reason_box_ttl {
      font-weight: 900;
      letter-spacing: -.05em;
      line-height: 1.35;
      word-break: keep-all; }
      .p-index_reason_box_ttl .-sub {
        font-size: 2.0rem; }
        @media screen and (max-width: 767px) {
          .p-index_reason_box_ttl .-sub {
            font-size: 1.6rem;
            margin-bottom: 2px; } }
      .p-index_reason_box_ttl .-main {
        font-size: 3.6rem; }
        @media screen and (max-width: 767px) {
          .p-index_reason_box_ttl .-main {
            font-size: 2.4rem; } }
    @media screen and (min-width: 768px) {
      .p-index_reason_box_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; } }
    @media screen and (min-width: 768px) {
      .p-index_reason_box_list li {
        width: 31.25%; } }
    @media screen and (max-width: 767px) {
      .p-index_reason_box_list li {
        margin-top: 22px; }
        .p-index_reason_box_list li:first-of-type {
          margin-top: 0; } }
    .p-index_reason_box_list li p {
      line-height: 1.7;
      color: #000; }
    @media screen and (max-width: 767px) {
      .p-index_reason_box_list_sp {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 15px; }
        .p-index_reason_box_list_sp .p-index_reason_box_list_img,
        .p-index_reason_box_list_sp .p-index_reason_box_list_ttl {
          width: 48%; } }
    .p-index_reason_box_list_ttl {
      font-size: 2.6rem;
      font-weight: 700;
      margin: 20px 0 10px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .p-index_reason_box_list_ttl {
          font-size: 1.6rem;
          margin: 10px 0 5px; } }
    .p-index_reason_box_flex {
      display: flex;
      align-items: center; }
      @media screen and (max-width: 767px) {
        .p-index_reason_box_flex {
          flex-direction: column; } }
      .p-index_reason_box_flex_img {
        width: 240px;
        margin: 0 60px 0 0; }
        @media screen and (max-width: 767px) {
          .p-index_reason_box_flex_img {
            margin: 0 auto 20px; } }
      .p-index_reason_box_flex_txt {
        width: calc(100% - 300px); }
        @media screen and (max-width: 767px) {
          .p-index_reason_box_flex_txt {
            width: 100%; } }
        .p-index_reason_box_flex_txt .p-index_reason_box_ttl {
          margin-bottom: 30px; }
          @media screen and (max-width: 767px) {
            .p-index_reason_box_flex_txt .p-index_reason_box_ttl {
              margin-bottom: 16px; } }

/* cases
---------------------------------------------------------- */
.p-index_case {
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px;
  background-repeat: repeat;
  background-position: center;
  background-color: #faf7e2;
  padding: 100px 0 120px; }
  @media screen and (max-width: 767px) {
    .p-index_case {
      padding: 50px 0 60px; }
      .p-index_case .c-ttl_main_jp {
        font-size: 2.8rem; } }
  .p-index_case_cont {
    background-color: #fff;
    padding: 80px 60px;
    border-radius: 20px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1); }
    @media screen and (max-width: 767px) {
      .p-index_case_cont {
        padding: 30px 20px;
        border-radius: 10px; } }
    .p-index_case_cont:not(:last-child) {
      margin-bottom: 60px; }
      @media screen and (max-width: 767px) {
        .p-index_case_cont:not(:last-child) {
          margin-bottom: 30px; } }
    .p-index_case_cont_photo {
      display: flex;
      justify-content: space-between;
      position: relative;
      margin-bottom: 50px; }
      @media screen and (max-width: 767px) {
        .p-index_case_cont_photo {
          margin-bottom: 20px;
          flex-direction: column; } }
      .p-index_case_cont_photo::before {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 27px solid transparent;
        border-bottom: 27px solid transparent;
        border-left: 22px solid #fde730;
        border-right: 0;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto; }
        @media screen and (max-width: 767px) {
          .p-index_case_cont_photo::before {
            border-top: 14px solid transparent;
            border-bottom: 14px solid transparent;
            border-left: 12px solid #fde730;
            transform: rotate(90deg); } }
      .p-index_case_cont_photo > div {
        width: 46%; }
        @media screen and (max-width: 767px) {
          .p-index_case_cont_photo > div {
            width: 100%; } }
        .p-index_case_cont_photo > div.-bef {
          position: relative; }
          @media screen and (max-width: 767px) {
            .p-index_case_cont_photo > div.-bef {
              margin-bottom: 40px; } }
          .p-index_case_cont_photo > div.-bef::before {
            content: "";
            display: block;
            width: 118px;
            height: 34px;
            background-image: url(../img/txt_bef.webp);
            background-position: left top;
            background-size: contain;
            background-repeat: no-repeat;
            position: absolute;
            top: -22px;
            left: 16px; }
            @media screen and (max-width: 767px) {
              .p-index_case_cont_photo > div.-bef::before {
                transform: scale(0.7);
                transform-origin: left bottom; } }
        .p-index_case_cont_photo > div.-aft {
          position: relative; }
          .p-index_case_cont_photo > div.-aft::before {
            content: "AFTER";
            display: block;
            position: absolute;
            top: -22px;
            left: 16px;
            font-family: "Oswald", sans-serif;
            font-weight: 500;
            line-height: 1;
            font-size: 4.0rem; }
            @media screen and (max-width: 767px) {
              .p-index_case_cont_photo > div.-aft::before {
                transform: scale(0.7);
                transform-origin: left bottom;
                top: -26px; } }

/* flow
---------------------------------------------------------- */
.p-index_flow {
  background-color: #e7ecfb;
  position: relative;
  overflow: hidden;
  z-index: 1;
  padding-bottom: 70px; }
  @media screen and (max-width: 767px) {
    .p-index_flow {
      padding-bottom: 50px; } }
  .p-index_flow::before {
    content: "";
    display: block;
    background-image: url(../img/bg_tile.webp);
    background-position: left top;
    background-size: 200px;
    background-repeat: repeat;
    width: 10000vw;
    height: 10000vw;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(8deg);
    z-index: -1; }
  .p-index_flow_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .p-index_flow_list {
        width: 90%;
        margin: auto; } }
    .p-index_flow_list li {
      width: 30%;
      margin: 2.5% 0; }
      @media screen and (min-width: 768px) {
        .p-index_flow_list li:not(:nth-child(3), :nth-child(5)) {
          margin-right: 5%; } }
      @media screen and (max-width: 767px) {
        .p-index_flow_list li {
          width: 100%; } }
    .p-index_flow_list_num {
      font-family: "Oswald", sans-serif;
      font-weight: 500;
      font-size: 6.0rem;
      position: relative;
      display: flex;
      align-items: center;
      text-align: center;
      justify-content: center;
      line-height: 1;
      margin-bottom: -16px;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        .p-index_flow_list_num {
          font-size: 4.8rem; } }
      .p-index_flow_list_num::before {
        content: "STEP";
        display: inline-block;
        font-size: 2.0rem;
        margin-top: 4px; }
        @media screen and (max-width: 767px) {
          .p-index_flow_list_num::before {
            font-size: 1.6rem; } }
    .p-index_flow_list_img {
      position: relative;
      z-index: 0; }
    .p-index_flow_list_ttl {
      font-size: 2.6rem;
      font-weight: 700;
      position: absolute;
      bottom: 30px; }
      @media screen and (max-width: 767px) {
        .p-index_flow_list_ttl {
          font-size: 1.8rem;
          bottom: 16px; } }
      .p-index_flow_list_ttl .-bg {
        background-color: #fde730;
        padding: 0 16px;
        position: relative;
        display: inline-block; }
        .p-index_flow_list_ttl .-bg:not(:last-child) {
          margin-bottom: 6px; }
        .p-index_flow_list_ttl .-bg::before {
          content: "";
          display: block;
          width: 14px;
          height: 100%;
          aspect-ratio: 1;
          clip-path: polygon(0 0, 100% 0, 0 100%);
          background: #fde730;
          position: absolute;
          right: -14px;
          top: 0; }
    .p-index_flow_list_txt {
      color: #000;
      width: 96%;
      margin: 20px auto 0;
      display: block; }
      @media screen and (max-width: 767px) {
        .p-index_flow_list_txt {
          margin: 16px 0 0; } }
    .p-index_flow_list_btm {
      margin-top: 20px;
      padding: 15px 20px;
      background-color: #fff;
      color: #000; }
      @media screen and (max-width: 767px) {
        .p-index_flow_list_btm {
          margin-top: 15px;
          padding: 10px 15px; } }

/* price
---------------------------------------------------------- */
.p-index_price {
  padding: 100px 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    .p-index_price {
      padding: 50px 0; } }
  .p-index_price::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    opacity: .6;
    background-image: url(../img/bg_price.webp);
    background-position: left top;
    background-size: contain;
    background-repeat: repeat;
    z-index: -1; }
  .p-index_price_inner {
    padding: 70px 60px;
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      .p-index_price_inner {
        padding: 50px 16px 30px; } }
    .p-index_price_inner_cont {
      padding: 0 5%; }
      .p-index_price_inner_cont > *:last-child {
        margin-bottom: 0; }
      .p-index_price_inner_cont .c-txt_note {
        margin-bottom: 90px;
        font-weight: 400; }
        @media screen and (max-width: 767px) {
          .p-index_price_inner_cont .c-txt_note {
            margin-bottom: 50px; } }
  .p-index_price_month {
    text-align: center;
    letter-spacing: -.05em;
    position: relative;
    width: fit-content;
    margin: 0 auto 100px;
    padding: 0 100px; }
    @media screen and (max-width: 767px) {
      .p-index_price_month {
        padding: 0 20px;
        margin: 0 auto 50px; } }
    .p-index_price_month::before, .p-index_price_month::after {
      content: "";
      display: block;
      aspect-ratio: 13 / 43;
      height: auto;
      background-image: url(../img/ico_frame_ble.webp);
      background-position: left top;
      background-size: contain;
      background-repeat: repeat;
      width: 100px;
      position: absolute;
      top: 0;
      margin: auto; }
      @media screen and (max-width: 767px) {
        .p-index_price_month::before, .p-index_price_month::after {
          width: 30px;
          bottom: unset; } }
    .p-index_price_month::before {
      left: 0; }
      @media screen and (max-width: 767px) {
        .p-index_price_month::before {
          left: -20px; } }
    .p-index_price_month::after {
      right: 0;
      transform: scale(-1, 1); }
      @media screen and (max-width: 767px) {
        .p-index_price_month::after {
          right: -20px; } }
    .p-index_price_month_head {
      font-size: 2.6rem;
      font-weight: 700;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        .p-index_price_month_head {
          font-size: 1.4rem;
          line-height: 1.3;
          margin-bottom: 4px; } }
      .p-index_price_month_head::before {
        content: "";
        display: block;
        width: 100%;
        height: 7px;
        background-color: #fff77d;
        position: absolute;
        bottom: 10px;
        z-index: -1; }
        @media screen and (max-width: 767px) {
          .p-index_price_month_head::before {
            height: 4px;
            width: 10em;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto; } }
      @media screen and (max-width: 767px) {
        .p-index_price_month_head::after {
          content: "";
          display: block;
          width: 100%;
          height: 4px;
          background-color: #fff77d;
          position: absolute;
          bottom: 20px;
          z-index: -1; } }
      .p-index_price_month_head .-small {
        font-size: .7em; }
      .p-index_price_month_head .-large {
        font-size: 1.23em; }
    .p-index_price_month_main {
      display: flex;
      align-items: center;
      margin: auto;
      justify-content: center;
      line-height: 1;
      margin-bottom: 40px; }
      @media screen and (max-width: 767px) {
        .p-index_price_month_main {
          margin-bottom: 30px; } }
      .p-index_price_month_main img {
        width: 130px;
        height: 130px;
        margin-right: 30px; }
        @media screen and (max-width: 767px) {
          .p-index_price_month_main img {
            width: 40px;
            height: 40px;
            margin-right: 10px; } }
      .p-index_price_month_main .-num {
        font-size: 16.3rem;
        font-family: "Oswald", sans-serif;
        font-weight: 500; }
        @media screen and (max-width: 767px) {
          .p-index_price_month_main .-num {
            font-size: 4.8rem; } }
        .p-index_price_month_main .-num .-yen {
          font-size: 5.8rem;
          font-weight: 900;
          font-family: "Zen Kaku Gothic New", sans-serif;
          position: relative; }
          @media screen and (max-width: 767px) {
            .p-index_price_month_main .-num .-yen {
              font-size: 2.8rem; } }
          .p-index_price_month_main .-num .-yen::before {
            content: "（税込）";
            font-size: 1.6rem;
            font-weight: 700;
            position: absolute;
            top: -4px;
            left: 0;
            right: 0;
            margin: auto;
            text-align: center;
            word-break: keep-all; }
            @media screen and (max-width: 767px) {
              .p-index_price_month_main .-num .-yen::before {
                font-size: 1.0rem; } }
    .p-index_price_month_note {
      font-size: 1.4rem;
      color: #000;
      font-weight: 400;
      letter-spacing: 0; }
      @media screen and (max-width: 767px) {
        .p-index_price_month_note {
          font-size: 1.2rem; } }
  .p-index_price_total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 80px; }
    @media screen and (max-width: 767px) {
      .p-index_price_total {
        flex-direction: column;
        margin-bottom: 40px; } }
    .p-index_price_total_img {
      width: 32%; }
      @media screen and (max-width: 767px) {
        .p-index_price_total_img {
          width: 100%;
          margin-bottom: 16px; } }
    .p-index_price_total_txt {
      width: 64%;
      color: #000; }
      @media screen and (max-width: 767px) {
        .p-index_price_total_txt {
          width: 100%; } }
    .p-index_price_total_list {
      width: 64%; }
      @media screen and (max-width: 767px) {
        .p-index_price_total_list {
          width: 100%; } }
      .p-index_price_total_list li {
        line-height: 1.55;
        color: #000;
        position: relative;
        padding-left: 22px; }
        .p-index_price_total_list li::before {
          content: "";
          display: block;
          width: 16px;
          height: 21px;
          background-image: url(../img/ico_logo.webp);
          background-position: left top;
          background-size: contain;
          background-repeat: repeat;
          position: absolute;
          top: 4px;
          left: 0; }
        .p-index_price_total_list li:not(:last-child) {
          margin-bottom: .8em; }
        .p-index_price_total_list li strong {
          color: #172e74;
          font-weight: 900; }
    @media screen and (max-width: 767px) {
      .p-index_price_total_tblcont {
        overflow-x: scroll; }
        .p-index_price_total_tblcont .c-tbl_price {
          min-width: 540px; } }
  .p-index_price_pay_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .p-index_price_pay_list li {
      border: solid 1px #8893b5;
      background-color: #f9f9fc;
      width: 24%;
      height: 189px;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        .p-index_price_pay_list li {
          width: 100%;
          height: 88px; }
          .p-index_price_pay_list li:not(:last-child) {
            margin-bottom: 6px; } }
      .p-index_price_pay_list li::before, .p-index_price_pay_list li::after {
        content: "";
        display: block;
        width: 28px;
        height: 28px;
        background-image: url(../img/ico_corner02.webp);
        background-position: left top;
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        z-index: -1; }
      .p-index_price_pay_list li::before {
        top: 0;
        left: 0; }
      .p-index_price_pay_list li::after {
        bottom: 0;
        left: 0;
        transform: rotate(270deg); }
      .p-index_price_pay_list li .-wrap {
        width: calc(100% - 4px);
        height: calc(100% - 4px);
        margin: 2px auto 0;
        z-index: 1;
        border: solid 1px #8893b5; }
        .p-index_price_pay_list li .-wrap::before, .p-index_price_pay_list li .-wrap::after {
          content: "";
          display: block;
          width: 28px;
          height: 28px;
          background-image: url(../img/ico_corner02.webp);
          background-position: left top;
          background-size: contain;
          background-repeat: no-repeat;
          position: absolute;
          z-index: -1;
          transform: scale(-1, 1); }
        .p-index_price_pay_list li .-wrap::before {
          top: 0;
          right: 0; }
        .p-index_price_pay_list li .-wrap::after {
          bottom: 0;
          right: 0;
          transform: rotate(180deg); }
      .p-index_price_pay_list li .-inner {
        position: absolute;
        z-index: 0;
        top: 50%;
        left: 0;
        width: 100%;
        transform: translateY(-50%); }
      .p-index_price_pay_list li img {
        padding: 0 3%;
        margin-top: 8px; }
      .p-index_price_pay_list li p {
        color: #474744;
        text-align: center;
        letter-spacing: -.05em; }
      .p-index_price_pay_list li .-main {
        font-size: 1.8rem;
        font-weight: 900; }
        @media screen and (max-width: 767px) {
          .p-index_price_pay_list li .-main {
            font-size: 1.6rem; } }

/* doctor
---------------------------------------------------------- */
.p-index_doctor {
  background-color: #fff073;
  padding: 130px 0;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 767px) {
    .p-index_doctor {
      padding: 50px 0; } }
  .p-index_doctor::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../img/bg_pattern.webp);
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: .16;
    mix-blend-mode: multiply;
    z-index: -1; }
  .p-index_doctor_cont {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .p-index_doctor_cont {
        flex-direction: column;
        position: relative;
        padding-top: 80px; } }
    .p-index_doctor_cont_img {
      width: 51%;
      background-color: #172e74;
      position: relative;
      aspect-ratio: 7 / 4;
      height: auto; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_cont_img {
          width: 100%;
          margin-bottom: 16px; } }
      .p-index_doctor_cont_img img {
        position: absolute;
        width: 80%;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto; }
    .p-index_doctor_cont_txt {
      width: 44%; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_cont_txt {
          width: 94%; } }
    .p-index_doctor_cont_ttl {
      display: flex;
      align-items: center;
      margin-bottom: 15px; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_cont_ttl {
          position: absolute;
          top: 0; } }
      .p-index_doctor_cont_ttl_jp {
        font-size: 4.2rem;
        font-weight: 900;
        margin-right: 20px; }
        @media screen and (max-width: 767px) {
          .p-index_doctor_cont_ttl_jp {
            font-size: 3.0rem; } }
      .p-index_doctor_cont_ttl_en {
        font-size: 2.4rem;
        font-family: "Oswald", sans-serif;
        line-height: 1;
        background-color: #fff;
        padding: 4px 15px;
        border-radius: 30px; }
        @media screen and (max-width: 767px) {
          .p-index_doctor_cont_ttl_en {
            font-size: 1.6rem;
            padding: 6px 15px; } }
    .p-index_doctor_cont_name {
      text-align: right;
      line-height: 1.4;
      margin-top: 30px;
      font-weight: 700; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_cont_name {
          margin-top: 16px; } }
      .p-index_doctor_cont_name .-main {
        font-size: 2.6rem; }
        @media screen and (max-width: 767px) {
          .p-index_doctor_cont_name .-main {
            font-size: 2.0rem; } }
    @media screen and (max-width: 767px) {
      .p-index_doctor_cont.-staff {
        padding-top: 0; } }
    .p-index_doctor_cont.-staff .p-index_doctor_cont_txt {
      width: 57%; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_cont.-staff .p-index_doctor_cont_txt {
          width: 100%; } }
    .p-index_doctor_cont.-staff .p-index_doctor_cont_img {
      width: 40%; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_cont.-staff .p-index_doctor_cont_img {
          width: 100%;
          margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .p-index_doctor_cont.-staff .p-index_doctor_history {
        margin-top: 30px; } }
    @media screen and (min-width: 768px) {
      .p-index_doctor_cont.-staff .p-index_doctor_history_ttl {
        font-size: 2.2rem; } }
    .p-index_doctor_cont.-reverse {
      flex-direction: row-reverse; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_cont.-reverse {
          flex-direction: column; } }
      .p-index_doctor_cont.-reverse .p-index_doctor_cont_name {
        text-align: left; }
        @media screen and (min-width: 768px) {
          .p-index_doctor_cont.-reverse .p-index_doctor_cont_name {
            transform: scale(1.05); } }
  .p-index_doctor_history {
    display: flex;
    background-color: #fff;
    max-width: 820px;
    margin: 60px auto 80px;
    padding: 40px 60px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .p-index_doctor_history {
        padding: 30px;
        flex-direction: column; } }
    .p-index_doctor_history::before {
      content: "";
      display: block;
      width: 100%;
      height: 30px;
      clip-path: polygon(0 100%, 100% 0, 100% 100%);
      background: #fff;
      position: absolute;
      top: -29px;
      left: 0; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_history::before {
          height: 20px;
          top: -19px; } }
    .p-index_doctor_history::after {
      content: "";
      display: block;
      width: 100%;
      height: 30px;
      clip-path: polygon(0 100%, 100% 0, 100% 100%);
      background: #fff;
      transform: scale(1, -1);
      position: absolute;
      bottom: -29px;
      left: 0; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_history::after {
          height: 20px;
          bottom: -19px; } }
    .p-index_doctor_history_ttl {
      font-size: 3.2rem;
      font-weight: 700;
      margin-right: 50px; }
      @media screen and (max-width: 767px) {
        .p-index_doctor_history_ttl {
          font-size: 1.8rem; } }
    .p-index_doctor_history_list dl {
      display: flex; }
      .p-index_doctor_history_list dl dt {
        width: 70px; }
        @media screen and (max-width: 767px) {
          .p-index_doctor_history_list dl dt {
            width: 55px; } }
      .p-index_doctor_history_list dl dd {
        width: calc(100% - 70px); }
        @media screen and (max-width: 767px) {
          .p-index_doctor_history_list dl dd {
            width: calc(100% - 55px); } }
  .p-index_doctor_staff {
    width: 90%;
    margin: 40px auto 0; }
    @media screen and (max-width: 767px) {
      .p-index_doctor_staff {
        width: 100%; } }

/* access
---------------------------------------------------------- */
.p-index_access {
  padding-bottom: 80px; }
  @media screen and (max-width: 767px) {
    .p-index_access {
      padding-bottom: 50px; } }
  @media screen and (max-width: 767px) {
    .p-index_access .c-ttl_main_jp {
      font-size: 2.4rem; } }
  .p-index_access_cont {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px; }
    @media screen and (max-width: 767px) {
      .p-index_access_cont {
        flex-direction: column;
        margin-bottom: 40px; } }
    .p-index_access_cont_map {
      width: 45%; }
      @media screen and (max-width: 767px) {
        .p-index_access_cont_map {
          width: 100%;
          height: 240px;
          margin-bottom: 16px; } }
      .p-index_access_cont_map iframe {
        width: 100%;
        height: 100%; }
    .p-index_access_cont .c-tbl_info {
      width: 51%; }
      @media screen and (max-width: 767px) {
        .p-index_access_cont .c-tbl_info {
          width: 100%; } }
  .p-index_access_photo {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .p-index_access_photo li {
      width: 32%;
      margin-bottom: 2%;
      position: relative; }
      @media screen and (max-width: 767px) {
        .p-index_access_photo li {
          width: 49%; } }
    .p-index_access_photo_ttl {
      position: absolute;
      top: 30px;
      font-size: 2.6rem;
      font-weight: 700;
      background-color: #172e74;
      color: #fff;
      padding: 0px 16px;
      display: inline-block; }
      @media screen and (max-width: 767px) {
        .p-index_access_photo_ttl {
          font-size: 1.4rem;
          padding: 0 12px;
          top: 10px; } }
      .p-index_access_photo_ttl::before {
        content: "";
        display: block;
        width: 14px;
        height: 100%;
        aspect-ratio: 1;
        clip-path: polygon(0 0, 100% 0, 0 100%);
        background: #172e74;
        position: absolute;
        right: -13.5px;
        top: 0; }

/* clinic
---------------------------------------------------------- */
.p-index_clinic {
  padding: 60px 0; }
  @media screen and (max-width: 767px) {
    .p-index_clinic {
      padding: 30px 0; } }
  @media screen and (min-width: 768px) {
    .p-index_clinic .l-cont_l {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      flex-direction: row-reverse; }
    .p-index_clinic_cont {
      width: 46%;
      max-width: 565px; }
    .p-index_clinic_map {
      width: 50%;
      max-width: 620px; } }
  .p-index_clinic_tbl {
    width: 100%; }
    .p-index_clinic_tbl tr {
      border-bottom: 1px dotted #284b7a; }
    .p-index_clinic_tbl th,
    .p-index_clinic_tbl td {
      padding: 20px 0;
      vertical-align: top; }
      @media screen and (max-width: 767px) {
        .p-index_clinic_tbl th,
        .p-index_clinic_tbl td {
          padding: 12px 0; } }
    .p-index_clinic_tbl th {
      width: 30%; }
    .p-index_clinic_tbl td {
      width: 70%; }
  .p-index_clinic_map {
    height: 490px; }
    @media screen and (max-width: 767px) {
      .p-index_clinic_map {
        height: 245px;
        margin-top: 25px; } }
    .p-index_clinic_map iframe {
      width: 100%;
      height: 100%; }

/* cv
---------------------------------------------------------- */
.p-index_cv {
  background-image: url(../img/bg_cv.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 80px; }
  @media screen and (max-width: 767px) {
    .p-index_cv {
      padding: 30px 20px; } }
  .p-index_cv_ttl {
    font-weight: 900;
    color: #fff;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 40px; }
    .p-index_cv_ttl .-sub {
      font-size: 3.4rem; }
      @media screen and (max-width: 767px) {
        .p-index_cv_ttl .-sub {
          font-size: 1.8rem; } }
    .p-index_cv_ttl .-main {
      font-size: 5.4rem; }
      @media screen and (max-width: 767px) {
        .p-index_cv_ttl .-main {
          font-size: 2.8rem; } }
  .p-index_cv_contact {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .p-index_cv_contact {
        flex-direction: column; } }
  .p-index_cv_btn {
    height: 100px;
    border-radius: 50px;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .p-index_cv_btn {
        height: 76px; } }
    .p-index_cv_btn a {
      width: 100%;
      height: 100%;
      font-weight: 900;
      display: flex;
      align-items: center;
      justify-content: center; }
      .p-index_cv_btn a .-en {
        font-size: 3.4rem; }
        @media screen and (max-width: 767px) {
          .p-index_cv_btn a .-en {
            font-size: 2.0rem !important; } }
    .p-index_cv_btn.-tel {
      width: 38%;
      background-color: #fde730;
	  border: #fff 4px solid;}
      @media screen and (max-width: 767px) {
        .p-index_cv_btn.-tel {
          width: 100%;
          margin-bottom: 10px; } }
      .p-index_cv_btn.-tel a {
        color: #182a5a;
        flex-direction: column;
        line-height: 1.1; }
        .p-index_cv_btn.-tel a .-sub {
          font-size: 1.8rem;
          display: block; }
          @media screen and (max-width: 767px) {
            .p-index_cv_btn.-tel a .-sub {
              font-size: 1.4rem; } }
        .p-index_cv_btn.-tel a .-num {
          font-size: 4.4rem;
          font-family: "Oswald", sans-serif;
          font-weight: 500;
          position: relative;
          display: flex;
          align-items: center; }
          @media screen and (max-width: 767px) {
            .p-index_cv_btn.-tel a .-num {
              font-size: 3.2rem; } }
          .p-index_cv_btn.-tel a .-num::before {
            content: "";
            display: block;
            width: 40px;
            height: 40px;
            background-image: url(../img/ico_tel_navy.webp);
            background-position: left top;
            background-size: contain;
            background-repeat: no-repeat;
            margin-right: 4px; }
            @media screen and (max-width: 767px) {
              .p-index_cv_btn.-tel a .-num::before {
                width: 28px;
                height: 28px; } }
    .p-index_cv_btn.-web {
      width: 29%;
      background-color: #182a5a;
      border: #fff 4px solid; }
      @media screen and (max-width: 767px) {
        .p-index_cv_btn.-web {
          width: 100%;
          margin-bottom: 10px; } }
      .p-index_cv_btn.-web a {
        color: #fde730;
        font-size: 3.0rem; }
        @media screen and (max-width: 767px) {
          .p-index_cv_btn.-web a {
            font-size: 1.8rem; } }
    .p-index_cv_btn.-line {
      width: 29%;
      background-color: #0caf1a;
	  border: #fff 4px solid; }
      @media screen and (max-width: 767px) {
        .p-index_cv_btn.-line {
          width: 100%; } }
      .p-index_cv_btn.-line a {
        color: #fff;
        font-size: 3.0rem; }
        @media screen and (max-width: 767px) {
          .p-index_cv_btn.-line a {
            font-size: 1.8rem; } }

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