/*! Writen  by SCSS */
.breadlist {
  display: none; }

div.wrap {
  padding-top: 0 !important; }

.container {
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  padding: 0; }
  .container::before {
    content: '';
    position: fixed;
    inset: 0;
    background: url("../images/common/bg.png") left top/cover no-repeat;
    z-index: -1; }

.sec01 {
  background: #fff;
  padding-top: 120px;
  padding-bottom: 120px; }
  @media screen and (max-width: 767px) {
    .sec01 {
      padding-top: 50px;
      padding-bottom: 50px; } }
  @media screen and (max-width: 480px) {
    .sec01 .sec01_in li {
      width: 100%; }
      .sec01 .sec01_in li:last-child {
        margin-bottom: 0; } }

@media screen and (max-width: 480px) {
  .inn03_btn p {
    font-size: calc(16vw / 3.9); } }

.modal .text_125 {
  line-height: 2;
  letter-spacing: 0.05em;
  font-size: clamp(12px, calc(16vw / 11.8), 16px); }
  @media screen and (max-width: 480px) {
    .modal .text_125 {
      line-height: 1.6;
      font-size: calc(14vw / 3.9); } }
.modal .modal_close {
  width: 36px;
  width: 28px;
  aspect-ratio: 1;
  background: rgba(0, 0, 0, 0.7);
  background: #000;
  padding: 3px;
  padding: 6px;
  top: 9px; }
  @media screen and (max-width: 480px) {
    .modal .modal_close {
      width: 22px;
      padding: 4px;
      top: 5px;
      width: 19px; } }
@media screen and (max-width: 480px) {
  .modal .modal_item01 .img1_01 {
    overflow-x: scroll; }
    .modal .modal_item01 .img1_01 img {
      max-width: 490px;
      width: 490px; } }
@media screen and (max-width: 767px) {
  .modal .modal_inn02 .modal_item02 {
    padding: 40px 20px; } }
@media screen and (max-width: 480px) {
  .modal .modal_inn02 .modal_item02 {
    padding: 30px 20px;
    flex-direction: column; } }
.modal .modal_inn02 .modal_item02 .inn02_l {
  width: calc(367%/7.6); }
  @media screen and (max-width: 480px) {
    .modal .modal_inn02 .modal_item02 .inn02_l {
      width: 100%; } }
  .modal .modal_inn02 .modal_item02 .inn02_l .img2_01 {
    max-width: 326px;
    margin: 0 auto;
    margin-bottom: calc(50%/3.26); }
    .modal .modal_inn02 .modal_item02 .inn02_l .img2_01 img {
      width: calc(235%/3.26); }
  .modal .modal_inn02 .modal_item02 .inn02_l .text_124 {
    line-height: 1.5;
    font-size: clamp(12px, calc(16vw / 11.8), 16px); }
    @media screen and (max-width: 480px) {
      .modal .modal_inn02 .modal_item02 .inn02_l .text_124 {
        font-size: calc(14vw / 3.9); } }
  .modal .modal_inn02 .modal_item02 .inn02_l .text_125 {
    margin: 0 auto;
    letter-spacing: 0.03em;
    text-align: justify; }
    @media screen and (max-width: 480px) {
      .modal .modal_inn02 .modal_item02 .inn02_l .text_125 {
        letter-spacing: 0.05em; } }
.modal .modal_inn02 .modal_item02 .inn02_r {
  width: calc(326%/7.6); }
  @media screen and (max-width: 480px) {
    .modal .modal_inn02 .modal_item02 .inn02_r {
      width: 100%; } }
.modal .modal_item03 {
  padding: 80px 40px; }
  @media screen and (max-width: 767px) {
    .modal .modal_item03 {
      padding: 40px 20px; } }
  @media screen and (max-width: 480px) {
    .modal .modal_item03 {
      padding: 20px; } }
  @media screen and (max-width: 480px) {
    .modal .modal_item03 .inn03 {
      flex-direction: column; } }
  .modal .modal_item03 .inn03 .inn03_l {
    width: calc(340%/8.4);
    padding-left: calc(40%/8.4); }
    @media screen and (max-width: 767px) {
      .modal .modal_item03 .inn03 .inn03_l {
        padding-left: 0; } }
    @media screen and (max-width: 480px) {
      .modal .modal_item03 .inn03 .inn03_l {
        width: 100%; } }
  .modal .modal_item03 .inn03 .inn03_r {
    width: calc(482%/8.4); }
    @media screen and (max-width: 480px) {
      .modal .modal_item03 .inn03 .inn03_r {
        width: 100%; } }

.sec02 {
  padding: 0 0 120px; }
  @media screen and (max-width: 767px) {
    .sec02 {
      padding: 0 0 50px; } }
  .sec02 .sec02_img {
    max-width: 705px;
    max-width: 509px;
    margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .sec02 .sec02_in li:last-child {
      margin-bottom: 0; } }
  .sec02 .cap_ex {
    display: flex;
    align-items: center;
    gap: 5px; }

.sec03 {
  padding: 120px 0; }
  @media screen and (max-width: 767px) {
    .sec03 {
      padding: 50px 0; } }
  @media screen and (max-width: 767px) {
    .sec03 .sec03_in {
      max-width: 290px;
      width: calc(100% - 40px);
      margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .modal .modal_item03 {
    padding-top: 30px; } }

@media screen and (max-width: 480px) {
  .sec02_in li {
    width: 73%; } }

@media screen and (max-width: 480px) {
  .sec01 .icon {
    width: 50%;
    margin-inline: auto; } }
@media screen and (max-width: 480px) {
  .sec01 .img1_01 {
    overflow-x: scroll; }
    .sec01 .img1_01 img {
      max-width: 490px;
      width: 490px;
      max-width: 520px;
      width: 520px; } }

.ttl_wrap2 {
  display: block;
  padding-bottom: 80px; }

.ttl_wrap3 {
  display: block; }

.box121 {
  max-width: 1060px;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse; }
  @media screen and (max-width: 480px) {
    .box121 {
      display: block; } }
  .box121 .txt {
    width: calc(440% / 10.6);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 18% 0 10%; }
    @media screen and (max-width: 480px) {
      .box121 .txt {
        width: 100%;
        padding: 0 0 15px; } }
  .box121 .fig {
    width: calc(484% / 10.6); }
    @media screen and (max-width: 480px) {
      .box121 .fig {
        width: 100%;
        display: none; } }

.sec .ttl1 {
  text-align: center;
  font-size: clamp(18px, calc(32vw / 11.8), 32px);
  font-size: clamp(18px, calc(28vw / 11.8), 28px);
  color: #007373;
  color: #333;
  line-height: 1.2;
  font-weight: 400; }
  @media screen and (max-width: 480px) {
    .sec .ttl1 {
      font-size: calc(20vw / 3.9);
      font-size: calc(19vw / 3.9);
      font-size: calc(22vw / 3.9);
      font-size: calc(19vw / 3.9); } }
  .sec .ttl1 .ja {
    display: block;
    font-weight: 600;
    font-weight: 400;
    letter-spacing: 0.08em;
    margin-inline: auto; }
  .sec .ttl1 .en {
    display: block;
    font-weight: 500;
    font-weight: 300;
    margin-inline: auto; }
.sec .ttl2 {
  font-size: clamp(16px, calc(26vw / 10.9), 26px);
  font-size: clamp(16px, calc(22vw / 10.9), 22px);
  letter-spacing: 0.15em;
  line-height: 1.6;
  font-weight: 600;
  font-weight: 400;
  color: #007373;
  color: #333; }
  @media screen and (max-width: 480px) {
    .sec .ttl2 {
      font-size: calc(20vw / 3.9);
      font-size: calc(19vw / 3.9); } }
.sec .ttl3 {
  font-size: clamp(12px, calc(18vw / 11.8), 18px);
  font-size: clamp(12px, calc(16vw / 11.8), 16px);
  letter-spacing: 0.05em;
  line-height: 2.3;
  font-weight: 600;
  font-weight: 400; }
  @media screen and (max-width: 480px) {
    .sec .ttl3 {
      font-size: calc(14vw / 3.9); } }

/*# sourceMappingURL=plan2.css.map */
