/*wellnest clinic color*/
/*blue*/
/*red*/
.bg_blue {
  background: #F2F4F5; }

.page-ttl {
  padding: 7% 0 6% 0; }

.pc-flex {
  display: flex;
  justify-content: space-between; }

p {
  font-size: 1.6rem;
  line-height: 1.7;
  text-align: justify; }

@media screen and (max-width: 767px) {
  .pc-flex {
    display: block; } }
.container {
  position: relative;
  background: url("../img/travel/main_pc@2x.jpg") repeat-ycenter 600px;
  background-size: 100% auto;
  overflow: inherit;
  box-sizing: border-box; }

/*.pnkz ul li {
  color: #FFF;

  a {
    color: #FFF;
  }

  &:not(:last-of-type):after {
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
  }
}*/
.container:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: '';
  width: 100%;
  height: 709px;
  background: url(../img/travel/main_pc@2x.jpg) no-repeat center 90px;
  background-size: cover;
  z-index: -1; }

.page-ttl_wrap .page-ttl {
  padding: 50px 0 30px 0;
  box-sizing: border-box;
  font-weight: 500;
  letter-spacing: .15rem; }
  .page-ttl_wrap .page-ttl .big {
    display: block;
    font-size: 4.0rem;
    line-height: 1.45;
    margin-top: 10px;
    letter-spacing: .8rem; }
.page-ttl_wrap .label {
  background-image: linear-gradient(45deg, #988222 0%, #ddc452 50%, #8b6009 100%);
  color: #041E42;
  text-align: center;
  max-width: 300px;
  padding: 15px 40px;
  margin: 0 auto;
  font-size: 2.2rem;
  white-space: nowrap; }

.ttl {
  position: relative;
  text-align: center;
  font-size: 2.1rem;
  letter-spacing: .3rem;
  font-weight: 700;
  color: #041E42;
  margin-bottom: 40px; }
  .ttl:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    margin: 0 20px 0 0;
    background-size: 100% auto !important; }

.linettl {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .2rem;
  text-align: center;
  line-height: 1;
  color: #041E42;
  margin-bottom: 40px; }
  .linettl:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    border-top: 1px solid #041E42; }
  .linettl span {
    position: relative;
    padding: 0 50px;
    background: #fff;
    z-index: 1; }

.ico {
  text-align: center; }
  .ico img {
    height: 55px;
    width: auto; }

.text {
  max-width: 960px;
  margin: 0 auto;
  font-size: 1.6rem; }
  .text a {
    color: #041E42;
    border-bottom: 1px solid; }

.atten {
  color: #C8102E;
  font-weight: 600; }

.atten_bl {
  color: #041E42;
  font-weight: 600; }

.under_line {
  border-bottom: 1px solid; }

.box {
  padding: 40px 0;
  margin: 40px auto; }

.tb_container {
  margin: 40px auto 24px;
  max-width: 1000px; }
  .tb_container table {
    width: 100%;
    background: #fff;
    border-collapse: collapse;
    font-size: 1.6rem; }
    .tb_container table th {
      background-color: #CDD2D9;
      border: 1px solid #9BA5B3;
      text-align: left;
      padding: 16px;
      line-height: 1.5; }
    .tb_container table th.vac_ttl {
      position: relative;
      text-align: center;
      font-size: 1.6rem;
      letter-spacing: .3rem;
      font-weight: 700;
      color: #ffffff;
      background-color: #041E42;
      border: 1px solid #a5a5a5;
      padding: 16px;
      line-height: 1.5; }
    .tb_container table td {
      padding: 8px 16px;
      border: 1px solid #a5a5a5;
      text-align: center;
      line-height: 1.5; }
      .tb_container table td span.price {
        float: right; }
      .tb_container table td span.atten {
        font-weight: 600;
        color: #C8102E; }
      .tb_container table td span.bg_red {
        background-color: #C8102E;
        color: #ffffff;
        padding: 0 6px 3px;
        border-radius: 3px;
        margin-right: 8px; }
      .tb_container table td span.btn_det {
        color: #ffffff;
        background-color: #96a4b8;
        border-radius: 3px;
        padding: 0 10px 3px;
        white-space: nowrap; }
      .tb_container table td .modal-wrap button {
        position: relative;
        color: #ffffff;
        background-color: #68788E;
        border-radius: 3px;
        padding: 3px 30px 3px 10px;
        white-space: nowrap;
        border: #96a4b8;
        cursor: pointer; }
        .tb_container table td .modal-wrap button:before {
          position: absolute;
          transform: translate(-50%, -50%);
          top: 50%;
          right: 5%;
          content: '';
          width: 10px;
          height: 10px;
          background: url(../img/common/ico-arrow_white.svg) no-repeat center center; }
      .tb_container table td .modal {
        display: none;
        position: fixed;
        z-index: 8887;
        left: 0;
        top: 0;
        width: 100%;
        height: 100vh;
        overflow: auto;
        background-color: rgba(0, 0, 0, 0.4);
        transition: all 1s ease-in-out; }
        .tb_container table td .modal .modal-container {
          padding-bottom: 50px; }
          .tb_container table td .modal .modal-container .linettl span {
            background: #fff; }
          .tb_container table td .modal .modal-container h3 {
            text-align: left;
            border-left: #041E42 5px solid;
            margin-bottom: 30px; }
          .tb_container table td .modal .modal-container p {
            text-align: left;
            font-size: 1.6rem;
            margin-bottom: 10px;
            margin-bottom: 50px;
            line-height: 1.66; }
        .tb_container table td .modal .modal-content {
          width: 90%;
          max-width: 800px;
          border-radius: 10px;
          padding: 66px 50px 75px 50px;
          box-shadow: 4px 4px 10px -4px #727272;
          background: #FFF;
          overflow-y: auto;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          animation: show 0.6s linear 0s;
          filter: drop-shadow(0px 2px 6px #777); }
          .tb_container table td .modal .modal-content .modal-close {
            position: absolute;
            bottom: 50px;
            left: 50%;
            background: transparent;
            border-color: transparent;
            padding: 0;
            margin: 0;
            cursor: pointer;
            display: block;
            height: 28px; }
            .tb_container table td .modal .modal-content .modal-close span {
              position: relative;
              transform: translate(-50%, -50%);
              display: inline-block;
              vertical-align: middle;
              padding-left: 20px;
              font-size: 1.6rem;
              line-height: 1.66;
              font-weight: 600;
              color: #041E42;
              box-sizing: border-box; }
              .tb_container table td .modal .modal-content .modal-close span:before, .tb_container table td .modal .modal-content .modal-close span:after {
                position: absolute;
                content: "";
                width: 20px;
                height: 1px;
                background: #041E42;
                transform: translate(-50%, -50%) rotate(-45deg);
                top: 50%;
                left: 0; }
              .tb_container table td .modal .modal-content .modal-close span:after {
                transform: translate(-50%, -50%) rotate(45deg); }
          .tb_container table td .modal .modal-content .modal-close:hover,
          .tb_container table td .modal .modal-content .modal-close:focus {
            text-decoration: none;
            cursor: pointer; }
@keyframes show {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
    .tb_container table .name {
      text-align: left;
      color: #041E42;
      font-weight: 500; }

.remarks_box {
  padding: 0 0 40px 0; }

.box_shadow {
  box-shadow: 2px 2px 10px 0px rgba(114, 114, 114, 0.2);
  border-radius: 8px;
  padding: 40px 160px;
  background: #fff; }
  .box_shadow p {
    text-align: center; }
  .box_shadow ul.item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 24px 0 0; }
    .box_shadow ul.item li {
      font-size: 1.8rem;
      color: #041E42;
      font-weight: 600;
      position: relative;
      padding: 0 40px; }
      .box_shadow ul.item li:before {
        position: absolute;
        content: '';
        transform: translate(-50%, -50%);
        top: 50%;
        left: 10px;
        width: 16px;
        height: 16px;
        background: url(../img/travel/ico_check.svg) no-repeat center center; }

.box_frame {
  background: #fff;
  border: #041E42 1px solid;
  border-radius: 8px;
  padding: 64px 64px 40px 64px; }
  .box_frame .ttl span {
    position: relative; }
  .box_frame .img {
    margin: 50px auto 30px;
    max-width: 800px; }
    .box_frame .img img {
      width: 100%; }

.box_bl {
  background-color: rgba(0, 31, 75, 0.2);
  border-radius: 10px; }
  .box_bl .ext_link .btn {
    width: 100%;
    background-color: rgba(0, 31, 75, 0.4);
    border-radius: 10px;
    margin: 0 20px; }
    .box_bl .ext_link .btn h3 {
      color: #fff;
      text-align: center;
      border-bottom: #fff 1px solid;
      line-height: 2.5; }
    .box_bl .ext_link .btn p {
      color: #fff;
      text-align: center;
      padding: 20px 0;
      line-height: 1.5; }
    .box_bl .ext_link .btn:after {
      content: none; }

.btn_wrap {
  max-width: 320px;
  margin: 40px auto; }
  .btn_wrap .btn_back {
    margin-bottom: 80px; }
    .btn_wrap .btn_back .btn {
      background: #c9c9c9;
      margin-top: 40px; }

@media screen and (max-width: 767px) {
  .container {
    background: none; }
    .container:before {
      display: none; }

  .pnkz ul li {
    color: #041E42; }
    .pnkz ul li a {
      color: #99a5b7; }
    .pnkz ul li:not(:last-of-type):after {
      border-top: 1px solid #99a5b7;
      border-right: 1px solid #99a5b7; }

  .page-ttl_wrap .page-ttl {
    color: #041E42;
    padding: 8vw 0 4vw 0; }
    .page-ttl_wrap .page-ttl .big {
      font-size: 6.7vw;
      margin-top: 4vw;
      letter-spacing: .2rem; }
  .page-ttl_wrap .label {
    max-width: 64vw;
    padding: 2vw;
    font-size: 5.33vw; }

  .ico {
    text-align: center; }
    .ico img {
      width: 16vw;
      height: 16vw; }

  .linettl {
    font-size: 5.867vw;
    margin-bottom: 8vw;
    line-height: 1.7; }
    .linettl span {
      padding: 1vw 4vw; }

  .ttl {
    font-size: 5.333vw;
    letter-spacing: .2rem;
    margin-bottom: 4vw;
    line-height: 1.5; }
    .ttl:before {
      display: block;
      margin: 0 auto 3% auto; }

  .text {
    font-size: 3.733vw; }

  .tb_container {
    margin-inline: auto;
    overflow-x: scroll;
    width: 100%;
    margin: 8vw 0; }
    .tb_container table {
      width: max-content;
      min-width: 100%;
      font-size: 3.2vw; }
      .tb_container table th.vac_ttl {
        font-size: 3.2vw;
        padding: 2vw;
        letter-spacing: 0; }
      .tb_container table th.name {
        padding: 2vw; }
      .tb_container table td {
        padding: 2vw; }
        .tb_container table td .modal-wrap button {
          font-size: 3.2vw;
          width: 100%;
          padding: 1vw 4vw 1vw 1vw; }
          .tb_container table td .modal-wrap button::before {
            right: 3%;
            width: 1.5vw;
            height: 1.5vh; }
        .tb_container table td .modal .modal-container {
          padding-bottom: 15%; }
          .tb_container table td .modal .modal-container h3 {
            padding-left: 3%;
            font-size: 4.26vw;
            margin: 0 5% 5% 0; }
          .tb_container table td .modal .modal-container p {
            font-size: 3.733vw; }
        .tb_container table td .modal .modal-content {
          width: 70%;
          padding: 10%; }
          .tb_container table td .modal .modal-content .modal-close {
            height: 28px; }
      .tb_container table span.btn_det {
        padding: 2% 5%;
        white-space: nowrap; }
      .tb_container table span.bg_red {
        padding: 0 1vw 1vw; }

  .box {
    padding: 0;
    margin: 8vw auto; }

  .remarks_box {
    margin: 0 auto 16vw auto; }

  .box_shadow,
  .box_frame,
  .box_bl {
    padding: 8vw 4vw; }

  .box_shadow .text {
    text-align: left; }
  .box_shadow ul.item li {
    padding: 2% 2% 2% 8%; }
    .box_shadow ul.item li:before {
      left: 7px; }

  .btn_wrap {
    max-width: inherit;
    margin: 8vw auto 0 auto; }
    .btn_wrap .btn_back {
      margin-bottom: 16vw; }
      .btn_wrap .btn_back .btn {
        margin-top: 8vw; } }
/* ------------------------------
sec01
------------------------------ */
.sec01 {
  max-width: 1280px;
  padding: 16px 104px 0 104px; }
  .sec01 .img {
    text-align: center; }
    .sec01 .img img {
      max-width: 550px;
      margin: 20px auto 70px; }
  .sec01 .front_btn_wrap {
    margin: 80px auto;
    max-width: 960px; }
    .sec01 .front_btn_wrap .text {
      text-align: center; }
    .sec01 .front_btn_wrap .btn_wrap.page-link {
      width: 100%;
      max-width: 400px;
      margin: 0 auto; }
    .sec01 .front_btn_wrap .box_btn {
      margin: 40px 0; }
    .sec01 .front_btn_wrap .btn {
      background: #001e4e;
      color: #FFF;
      font-size: 1.8rem;
      border-radius: 12px;
      padding: 28px 30px;
      text-align: left;
      box-sizing: border-box;
      line-height: 1.5;
      padding-left: 100px; }
    .sec01 .front_btn_wrap .fr-btn01:before {
      position: absolute;
      transform: translate(-50%, -50%);
      top: 60%;
      left: 13%;
      margin-top: -7px;
      display: block;
      content: "";
      background: url(../img/travel/ico_per.png) no-repeat center center;
      background-size: 100% auto;
      width: 75px;
      height: 75px; }
    .sec01 .front_btn_wrap .fr-btn02:before {
      position: absolute;
      transform: translate(-50%, -50%);
      top: 60%;
      left: 13%;
      margin-top: -7px;
      display: block;
      content: "";
      background: url(../img/travel/ico_co.png) no-repeat center center;
      background-size: 100% auto;
      width: 75px;
      height: 75px; }
    .sec01 .front_btn_wrap .fr-btn03 {
      background: #ffffff;
      border: #001e4e 1px solid;
      color: #001e4e; }
      .sec01 .front_btn_wrap .fr-btn03:before {
        position: absolute;
        transform: translate(-50%, -50%);
        top: 52%;
        left: 13%;
        margin-top: -7px;
        display: block;
        content: "";
        background: url(../img/travel/ico_world.svg) no-repeat center center;
        background-size: 100% auto;
        width: 45px;
        height: 55px; }
      .sec01 .front_btn_wrap .fr-btn03:after {
        position: absolute;
        right: 22px;
        top: 50%;
        margin-top: -7px;
        display: block;
        content: '';
        background: url(../img/common/ico-arrow.svg) no-repeat center center;
        background-size: 100% auto;
        width: 14px;
        height: 13px; }

@media screen and (max-width: 767px) {
  .sec01 {
    max-width: inherit;
    padding: 8vw 0; }
    .sec01 .img {
      text-align: center; }
      .sec01 .img img {
        max-width: 650px;
        margin: 0 auto 10%; }
    .sec01 .front_btn_wrap {
      margin: 4vw auto; }
      .sec01 .front_btn_wrap .text {
        text-align: left;
        margin: 8vw 0; }
      .sec01 .front_btn_wrap .btn_wrap.page-link {
        margin-bottom: 4vw;
        max-width: 600px; }
        .sec01 .front_btn_wrap .btn_wrap.page-link .btn {
          padding: 4vw 4vw 4vw 24vw;
          font-size: 1.6rem; }
        .sec01 .front_btn_wrap .btn_wrap.page-link .fr-btn01:before,
        .sec01 .front_btn_wrap .btn_wrap.page-link .fr-btn02:before {
          top: 60%;
          left: 12%;
          width: 16vw;
          height: 12vh; }
        .sec01 .front_btn_wrap .btn_wrap.page-link .fr-btn03:before {
          top: 55%;
          left: 13%;
          width: 9vw;
          height: 13vh; }
      .sec01 .front_btn_wrap .box_btn {
        margin: 0; }
    .sec01 .clinic_btn_wra .btn {
      width: 100%;
      padding: 5% 2%;
      height: 18vh; } }
/* ------------------------------
sec02
------------------------------ */
.sec02 {
  padding: 80px 104px;
  background: #9BA5B3;
  box-sizing: border-box; }
  .sec02 .ttl {
    position: relative;
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.025em;
    text-align: center;
    line-height: 1;
    color: #041E42;
    margin-bottom: 40px; }
  .sec02 .clinic_btn_wrap {
    max-width: 1280px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0 auto; }
    .sec02 .clinic_btn_wrap .btn {
      position: relative;
      width: calc((100% - 80px) / 4);
      height: 176px;
      display: block;
      background: #FFF;
      box-shadow: 3px 2px 3px 0 rgba(114, 114, 114, 0.3);
      border-radius: 8px 0 8px 8px;
      padding: 40px 16px;
      margin: 8px;
      box-sizing: border-box; }
      .sec02 .clinic_btn_wrap .btn:before {
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 20px 20px 0;
        border-color: transparent #001e4e transparent transparent; }
      .sec02 .clinic_btn_wrap .btn img {
        width: 50px;
        height: 50px; }
      .sec02 .clinic_btn_wrap .btn p {
        text-align: center;
        font-size: inherit;
        font-weight: 500;
        color: #001e4e;
        padding-top: 16px;
        line-height: 1.5; }

@media screen and (max-width: 767px) {
  .sec02 {
    max-width: inherit;
    padding: 8vw 0; }
    .sec02 .ttl {
      margin: 0; }
    .sec02 .clinic_btn_wrap {
      margin: 8vw auto 4vw; }
      .sec02 .clinic_btn_wrap .btn {
        width: calc((100% - 40px) / 2);
        padding: 4vw 1vw;
        height: 32vw;
        margin: 2vw; }
        .sec02 .clinic_btn_wrap .btn img {
          width: 15vw;
          height: 15vw; }
        .sec02 .clinic_btn_wrap .btn p {
          font-size: 3.6vw;
          letter-spacing: 0;
          padding-top: 4vw; } }
/* ------------------------------
sec03
------------------------------ */
.sec03 {
  padding: 80px 104px;
  box-sizing: border-box; }
  .sec03 .feature_wrap .box {
    width: 650px;
    margin: 0 auto 16px auto;
    display: flex;
    padding: 0; }
    .sec03 .feature_wrap .box p {
      font-size: 2rem;
      line-height: 1.5; }
      .sec03 .feature_wrap .box p span {
        font-size: smaller; }
    .sec03 .feature_wrap .box .num {
      background: #001e4e;
      padding: 16px 24px;
      border-radius: 8px 0 0 8px;
      margin: 0;
      box-shadow: 2px 2px 10px 0px rgba(114, 114, 114, 0.6); }
      .sec03 .feature_wrap .box .num p {
        color: #ffffff;
        text-align: center; }
    .sec03 .feature_wrap .box .txt {
      width: 95%;
      padding: 16px;
      border-radius: 0 8px 8px 0;
      margin: 0;
      background: #fff;
      box-shadow: 2px 2px 10px 0px rgba(114, 114, 114, 0.2); }
      .sec03 .feature_wrap .box .txt p {
        font-weight: 700;
        color: #001e4e; }

@media screen and (max-width: 767px) {
  .sec03 {
    max-width: inherit;
    padding: 8vw 0 0;
    margin-bottom: 16vw; }
    .sec03 .feature_wrap .box {
      width: 100%;
      margin: 0 auto 2% auto; }
      .sec03 .feature_wrap .box .num {
        background: #001e4e;
        padding: 2% 5%;
        border-radius: 5px 0 0 5px;
        margin: 0; }
        .sec03 .feature_wrap .box .num p {
          color: #ffffff;
          text-align: center;
          line-height: 1.5;
          font-size: 4.26vw; }
      .sec03 .feature_wrap .box .txt {
        width: 95%;
        padding: 2.5% 5%;
        border-radius: 5px;
        margin: 0; }
        .sec03 .feature_wrap .box .txt p {
          font-weight: 500;
          color: #001e4e;
          line-height: 1.5;
          font-size: 4.26vw; } }
/* ------------------------------
sec04
------------------------------ */
.sec04 {
  background: #F2F4F5; }
  .sec04 .sec04inner {
    max-width: 1280px;
    padding: 80px 104px;
    box-sizing: border-box;
    margin: 0 auto; }
  .sec04 .linettl span {
    background: #F2F4F5; }
  .sec04 h3 {
    font-size: 2.1rem; }
  .sec04 p {
    font-size: 1.6rem; }
  .sec04 .box ul.info {
    padding: 0 25px; }
    .sec04 .box ul.info li {
      position: relative;
      font-size: 1.6rem;
      line-height: 1.5;
      letter-spacing: .1rem;
      margin-bottom: 10px; }
      .sec04 .box ul.info li::before {
        position: absolute;
        content: '';
        background-color: #041E42;
        width: 10px;
        height: 10px;
        border-radius: 30px;
        transform: translate(-50%, -50%);
        top: 12px;
        left: -15px; }
  .sec04 .box .flow_box {
    position: relative;
    box-sizing: border-box;
    max-width: 800px;
    margin: 0 auto; }
    .sec04 .box .flow_box h3 {
      font-size: 2.1rem;
      font-weight: 700;
      color: #FFF;
      background: #041E42;
      padding: 16px 24px;
      border-radius: 16px 16px 0 0;
      box-sizing: border-box; }
      .sec04 .box .flow_box h3 span {
        position: relative;
        top: -2px;
        font-size: 1.6rem;
        margin-right: 16px; }
    .sec04 .box .flow_box .boxIn {
      border-radius: 0 0 16px 16px;
      padding: 24px 32px;
      background: #fff;
      box-sizing: border-box; }
      .sec04 .box .flow_box .boxIn .alignCenter {
        align-items: center; }
  .sec04 .box .flow_box:not(.no-arrow):after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -56px;
    margin: 0 auto;
    display: block;
    content: '';
    background: url(../img/online/ico_arrow.svg) no-repeat center center;
    background-size: 100% auto;
    width: 60px;
    height: 28px;
    box-sizing: border-box; }
  .sec04 .box .flow_box + .flow_box {
    margin-top: 80px; }
  .sec04 .box_frame .ttl span:before {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/travel/ico_plane.svg) no-repeat center center;
    width: 35px;
    height: 35px;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    top: 17px;
    left: -45px; }

@media screen and (max-width: 767px) {
  .sec04 .sec04inner {
    width: 92%;
    max-width: inherit;
    padding: 16vw 0; }
  .sec04 h3 {
    font-size: 4.8vw; }
  .sec04 p {
    font-size: 3.733vw; }
  .sec04 .box ul.info {
    padding: 0 0 0 5%; }
  .sec04 .box .flow_box {
    position: relative;
    box-sizing: border-box; }
    .sec04 .box .flow_box h3 {
      font-size: 5.333vw;
      padding: 4vw;
      letter-spacing: .2rem; }
      .sec04 .box .flow_box h3 span {
        top: 0;
        font-size: 4.267vw;
        margin-right: 4%; }
    .sec04 .box .flow_box .boxIn {
      border-radius: 0 0 8px 8px;
      padding: 4vw 4vw 8vw; }
      .sec04 .box .flow_box .boxIn .alignCenter {
        align-items: center; }
  .sec04 .box .flow_box:not(.no-arrow):after {
    bottom: -6vw;
    background-size: 100% auto;
    width: 8vw;
    height: 3.733vw; }
  .sec04 .box .flow_box + .flow_box {
    margin-top: 8vw; }
  .sec04 .box_frame {
    padding: 8vw 4vw; }
    .sec04 .box_frame .ttl {
      margin-top: 16vw;
      line-height: 1.5; }
      .sec04 .box_frame .ttl span::before {
        top: -75%;
        left: 50%;
        width: 12vw;
        height: 12vw; }
    .sec04 .box_frame .img {
      margin: 8vw 0; }
  .sec04 .box_bl {
    padding: 5%; }
    .sec04 .box_bl .ext_link .btn {
      border-radius: 10px;
      margin: 0;
      margin-bottom: 5%;
      padding: 2%; }
      .sec04 .box_bl .ext_link .btn h3 {
        font-size: 4.26vw;
        font-weight: 600; } }
/* ------------------------------
sec05
------------------------------ */
.sec05 {
  max-width: 1280px;
  padding: 80px 104px;
  box-sizing: border-box; }
  .sec05 .box ul.info {
    padding: 0 25px; }
    .sec05 .box ul.info li {
      position: relative;
      font-size: 1.6rem;
      line-height: 1.5;
      letter-spacing: .1rem;
      margin-bottom: 4vw; }
      .sec05 .box ul.info li::before {
        position: absolute;
        content: '';
        background-color: #041E42;
        width: 10px;
        height: 10px;
        border-radius: 30px;
        transform: translate(-50%, -50%);
        top: 12px;
        left: -15px; }
  .sec05 .box_bl {
    background-color: #E5E8EC;
    margin: 40px auto 0; }
    .sec05 .box_bl p {
      text-align: center; }
    .sec05 .box_bl .recommend {
      margin-top: 20px; }
      .sec05 .box_bl .recommend .reco_item {
        display: flex;
        max-width: 450px;
        justify-content: center;
        margin: 20px; }
        .sec05 .box_bl .recommend .reco_item img {
          width: 13%;
          max-width: 50px; }
        .sec05 .box_bl .recommend .reco_item .txt {
          width: 250px;
          padding: 0 20px; }
          .sec05 .box_bl .recommend .reco_item .txt h4 {
            text-align: left;
            font-weight: 600;
            font-size: 1.8rem;
            margin-bottom: 15px; }
          .sec05 .box_bl .recommend .reco_item .txt p {
            text-align: left; }
    .sec05 .box_bl .recommend.pc-flex {
      justify-content: center; }
  .sec05 .box_frame {
    border: #041E42 1px solid; }
    .sec05 .box_frame .ttl {
      margin-bottom: 40px; }

@media screen and (max-width: 767px) {
  .sec05 {
    max-width: inherit;
    padding: 16vw 0 0;
    margin-bottom: 16vw; }
    .sec05 .box.inner {
      width: 100%; }
    .sec05 .box .tb_container {
      padding: 8vw 0 0;
      margin-bottom: 4vw; }
    .sec05 .box_frame .ttl {
      margin-bottom: 4vw; }
    .sec05 .box_bl {
      background: #CDD2D9;
      margin: 8vw auto 0;
      padding: 4ve; }
      .sec05 .box_bl p {
        text-align: left;
        margin-bottom: 5%; }
      .sec05 .box_bl .recommend .reco_item {
        display: flex;
        max-width: 450px;
        justify-content: center;
        margin: 20px; }
        .sec05 .box_bl .recommend .reco_item img {
          width: 13%;
          max-width: 50px; }
        .sec05 .box_bl .recommend .reco_item .txt {
          width: 250px;
          padding: 0 20px; }
          .sec05 .box_bl .recommend .reco_item .txt h4 {
            font-size: 3.73vw;
            margin-bottom: 5%; } }
/* ------------------------------
sec06
------------------------------ */
.sec06 {
  background: #F2F4F5; }
  .sec06 .inner {
    max-width: 1280px;
    padding: 80px 104px;
    box-sizing: border-box; }
    .sec06 .inner .linettl span {
      background: #F2F4F5; }
    .sec06 .inner .box {
      padding-top: 0; }
      .sec06 .inner .box table {
        margin: 0 0 10px; }

@media screen and (max-width: 767px) {
  .sec06 .inner {
    max-width: inherit;
    padding: 16vw 0; }
    .sec06 .inner .box table {
      margin: 0 0 5%; } }
/* ------------------------------
sec07
------------------------------ */
.sec07 {
  max-width: 1200px;
  padding: 70px 100px 100px 100px;
  box-sizing: border-box; }
  .sec07 .box table {
    margin: 0 0 10px; }
  .sec07 .box2 {
    margin-bottom: 50px; }
    .sec07 .box2 .box3 {
      width: calc((100% - 50px) / 2);
      box-shadow: 2px 2px 10px 0px rgba(114, 114, 114, 0.2);
      border-radius: 10px; }
      .sec07 .box2 .box3 h3 {
        background-color: #041E42;
        color: #fff;
        padding: 20px;
        font-weight: 600;
        border-radius: 10px 10px 0 0;
        text-align: center; }
      .sec07 .box2 .box3 .txt {
        padding: 20px 20px 30px 20px; }
        .sec07 .box2 .box3 .txt p {
          text-align: center; }
        .sec07 .box2 .box3 .txt .atten_bl span {
          font-size: 2.5rem; }
  .sec07 .box_shadow {
    padding: 50px 160px; }
    .sec07 .box_shadow ul.item li {
      padding: 10px 30px 0 30px; }

@media screen and (max-width: 767px) {
  .sec07 {
    max-width: inherit;
    padding: 16vw 0; }
    .sec07 .box + .box {
      margin-top: 16vw; }
    .sec07 .box_shadow {
      padding: 8vw; }
      .sec07 .box_shadow.inner {
        width: 100%; }
      .sec07 .box_shadow ul.item {
        justify-content: inherit;
        width: 80vw;
        margin: 4vw auto 0 auto; }
        .sec07 .box_shadow ul.item li {
          padding: 2% 2% 2% 8%; }
    .sec07 .box2 .box3 {
      width: 100%;
      margin-bottom: 5%; }
      .sec07 .box2 .box3 .txt {
        padding: 2% 5% 5% 5%; } }
/* ------------------------------
sec08
------------------------------ */
.sec08 {
  background: #F2F4F5;
  margin-bottom: 80px; }
  .sec08 .inner {
    max-width: 1280px;
    padding: 80px 104px;
    box-sizing: border-box; }
    .sec08 .inner .linettl span {
      background: #F2F4F5; }
    .sec08 .inner .box {
      margin-bottom: 0; }
    .sec08 .inner .box2 {
      margin-bottom: 50px;
      display: flex; }
      .sec08 .inner .box2 .box3 {
        width: calc((100% - 100px) / 3);
        box-shadow: 2px 2px 10px 0px rgba(114, 114, 114, 0.2);
        border-radius: 10px;
        margin-right: 50px; }
        .sec08 .inner .box2 .box3 h3 {
          background-color: #041E42;
          color: #fff;
          padding: 20px;
          font-weight: 600;
          border-radius: 10px 10px 0 0;
          text-align: center; }
        .sec08 .inner .box2 .box3 .ttl {
          margin: 0;
          white-space: nowrap; }
        .sec08 .inner .box2 .box3 .txt {
          padding: 20px;
          max-width: 220px;
          margin: 0 auto; }
          .sec08 .inner .box2 .box3 .txt p {
            font-size: 1.6rem;
            text-align: center;
            color: #041E42;
            font-weight: 600;
            line-height: 1.5;
            letter-spacing: 1px;
            display: flex;
            vertical-align: bottom;
            justify-content: center;
            align-items: baseline; }
            .sec08 .inner .box2 .box3 .txt p span {
              font-size: 2.6rem; }
            .sec08 .inner .box2 .box3 .txt p .cate1 {
              font-size: 1.3rem;
              background: #041E42;
              padding: 5px 20px;
              border-radius: 20px;
              color: #fff;
              margin-right: 20px; }
            .sec08 .inner .box2 .box3 .txt p .cate2 {
              font-size: 1.3rem;
              background: rgba(0, 31, 75, 0.5);
              padding: 5px 20px;
              border-radius: 20px;
              color: #fff;
              margin-right: 20px; }
          .sec08 .inner .box2 .box3 .txt .price_box p {
            justify-content: space-between; }
      .sec08 .inner .box2 .box3:first-child {
        position: relative; }
        .sec08 .inner .box2 .box3:first-child:after {
          position: absolute;
          content: '=';
          transform: translate(-50%, -50%);
          top: 50%;
          right: -47px;
          font-size: 4rem;
          color: #041E42; }
      .sec08 .inner .box2 .box3:nth-child(2) {
        position: relative;
        background: #fff; }
        .sec08 .inner .box2 .box3:nth-child(2):after {
          position: absolute;
          content: '+';
          transform: translate(-50%, -50%);
          top: 50%;
          right: -47px;
          font-size: 4rem;
          color: #041E42; }
      .sec08 .inner .box2 .box3:last-child {
        margin: 0;
        background: #fff; }
      .sec08 .inner .box2 .bg_blue {
        background-color: #041E42;
        position: relative;
        border-radius: 10px; }
        .sec08 .inner .box2 .bg_blue h3 {
          position: absolute;
          transform: translate(-50%, -50%);
          top: 50%;
          left: 50%; }
    .sec08 .inner .money_box_wrap p {
      text-align: center; }
    .sec08 .inner .money_box_wrap .money_box {
      border: #c7c7c7 1px solid;
      background-color: #fff;
      margin: 20px 0 0 0; }
      .sec08 .inner .money_box_wrap .money_box h3 {
        text-align: center;
        font-size: 1.8rem;
        letter-spacing: 0.3rem;
        font-weight: 700;
        color: #fff;
        padding: 20px 10px;
        background-color: #9BA5B3; }
      .sec08 .inner .money_box_wrap .money_box .box02,
      .sec08 .inner .money_box_wrap .money_box .box03 {
        border-left-style: dashed;
        border-left-color: #c7c7c7; }
      .sec08 .inner .money_box_wrap .money_box .box01 {
        width: 25%; }
        .sec08 .inner .money_box_wrap .money_box .box01 .box {
          margin: 0;
          padding: 30px 0; }
      .sec08 .inner .money_box_wrap .money_box .box02 {
        width: 25%; }
        .sec08 .inner .money_box_wrap .money_box .box02 .box {
          margin: 0;
          padding: 30px 0; }
      .sec08 .inner .money_box_wrap .money_box .box03 {
        width: 50%; }
        .sec08 .inner .money_box_wrap .money_box .box03 .box {
          margin: 0;
          padding: 30px 0; }
        .sec08 .inner .money_box_wrap .money_box .box03 .pc-flex {
          justify-content: space-around; }
      .sec08 .inner .money_box_wrap .money_box .money_img {
        object-fit: contain;
        width: 180px;
        margin: 0 auto;
        display: block; }

@media screen and (max-width: 767px) {
  .sec08 {
    margin-bottom: 0; }
    .sec08 .inner {
      max-width: inherit;
      padding: 16vw 0; }
      .sec08 .inner .box2 {
        margin-bottom: 4vw; }
        .sec08 .inner .box2 .box3 {
          margin-right: 6vw;
          width: 40%;
          height: inherit; }
          .sec08 .inner .box2 .box3 h3.ttl {
            font-size: 3.2vw;
            padding: 2vw;
            letter-spacing: 0.5px;
            white-space: inherit; }
          .sec08 .inner .box2 .box3 .txt {
            padding: 2vw; }
            .sec08 .inner .box2 .box3 .txt p {
              font-size: 3.2vw;
              align-items: end; }
              .sec08 .inner .box2 .box3 .txt p span {
                font-size: 3.7vw; }
              .sec08 .inner .box2 .box3 .txt p .cate1,
              .sec08 .inner .box2 .box3 .txt p .cate2 {
                font-size: 2.5vw;
                padding: 2% 6%;
                margin-right: 2%; }
            .sec08 .inner .box2 .box3 .txt .price_box p {
              margin-bottom: 10%; }
        .sec08 .inner .box2 .box3:first-child:after {
          right: -90%;
          font-size: 3rem; }
        .sec08 .inner .box2 .box3:nth-child(2) {
          position: relative; }
          .sec08 .inner .box2 .box3:nth-child(2):after {
            right: -23%;
            font-size: 3rem; }
        .sec08 .inner .box2 .bg_blue {
          width: 10%; }
          .sec08 .inner .box2 .bg_blue h3.ttl {
            padding: 0; }
      .sec08 .inner .money_box_wrap .money_box {
        margin: 10% 0 0 0; }
        .sec08 .inner .money_box_wrap .money_box h3 {
          text-align: center;
          font-size: 1.8rem;
          letter-spacing: 0.3rem;
          font-weight: 700;
          color: #333333;
          padding: 20px 10px;
          background-color: #cfcfcf; }
        .sec08 .inner .money_box_wrap .money_box .box01,
        .sec08 .inner .money_box_wrap .money_box .box02,
        .sec08 .inner .money_box_wrap .money_box .box03 {
          width: 100%;
          border-left-style: none; }
        .sec08 .inner .money_box_wrap .money_box .money_img {
          width: 55vw;
          margin: 2% auto; } }
