/*! Writen  by SCSS */
.item_ttl_wrap .head_img {
  max-width: 511px;
  width: 42.59%; }
  @media screen and (max-width: 480px) {
    .item_ttl_wrap .head_img {
      width: 77.43%; } }
.item_ttl_wrap .txt_img {
  width: 45.59%; }
  @media screen and (max-width: 480px) {
    .item_ttl_wrap .txt_img {
      width: 81%; } }

.sec01 {
  margin-bottom: clamp(60px, 5.834vw, 70px); }
  .sec01 .img_wrap {
    display: grid;
    grid-template-columns: 64.67% 34.89%;
    align-items: flex-start;
    align-content: start;
    grid-auto-flow: dense;
    justify-content: center; }
    @media screen and (max-width: 480px) {
      .sec01 .img_wrap {
        grid-template-columns: 1fr; } }
    .sec01 .img_wrap .img01 {
      grid-row: span 2; }
      @media screen and (max-width: 480px) {
        .sec01 .img_wrap .img01 {
          grid-row: span 1; } }
    .sec01 .img_wrap .img03 {
      grid-column: 2/3; }
      @media screen and (max-width: 480px) {
        .sec01 .img_wrap .img03 {
          grid-column: span 1; } }

.sec02 {
  margin-bottom: clamp(80px, 10%, 120px); }
  .sec02 .sec02_wrap {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap {
        flex-wrap: wrap;
        row-gap: 30px; } }
    .sec02 .sec02_wrap .text_wrap {
      width: 30.45%;
      display: flex;
      flex-direction: column;
      row-gap: clamp(40px, 8.334vw, 100px); }
      @media screen and (max-width: 768px) {
        .sec02 .sec02_wrap .text_wrap {
          row-gap: 30px;
          width: 100%; } }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap .text_wrap {
          row-gap: 20px; } }
    .sec02 .sec02_wrap .img_wrap {
      width: 64.52%;
      display: grid;
      grid-template-columns: 48% 52.01%;
      align-items: flex-start;
      align-content: start;
      grid-auto-flow: dense;
      justify-content: center; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap .img_wrap {
          width: 100%; } }
      .sec02 .sec02_wrap .img_wrap .img01 {
        grid-column: span 2; }
      .sec02 .sec02_wrap .img_wrap .img02 .cap, .sec02 .sec02_wrap .img_wrap .img03 .cap {
        left: 0;
        text-align: center; }

.sec03 {
  margin-bottom: clamp(60px, 8.34%, 100px); }
  .sec03 .sec03_wrap {
    flex-wrap: wrap;
    row-gap: 30px; }
    @media screen and (max-width: 480px) {
      .sec03 .sec03_wrap {
        row-gap: 20px; } }
    .sec03 .sec03_wrap .img01 {
      width: 48.52%; }
    .sec03 .sec03_wrap .img02 {
      width: 50%; }
    .sec03 .sec03_wrap .text_wrap {
      width: 100%; }
      .sec03 .sec03_wrap .text_wrap .txt_list {
        position: relative;
        margin-top: 30px;
        padding: 15px 70px;
        font-size: clamp(14px, 1.5vw, 18px);
        display: flex;
        column-gap: 2.97%;
        flex-wrap: wrap; }
        .sec03 .sec03_wrap .text_wrap .txt_list li {
          padding-left: 1em;
          text-indent: -1em; }
        @media screen and (max-width: 480px) {
          .sec03 .sec03_wrap .text_wrap .txt_list {
            margin-top: 20px;
            line-height: 1.2;
            padding: 10px 30px;
            row-gap: 5px; } }
        .sec03 .sec03_wrap .text_wrap .txt_list::after, .sec03 .sec03_wrap .text_wrap .txt_list::before {
          content: '';
          position: absolute;
          max-width: 80px;
          width: 5.93%;
          inset: 0;
          border: 1px solid #000; }
        .sec03 .sec03_wrap .text_wrap .txt_list::after {
          right: auto;
          border-right: none; }
        .sec03 .sec03_wrap .text_wrap .txt_list::before {
          left: auto;
          border-left: none; }

.sec04 {
  margin-bottom: clamp(80px, 11.67%, 140px); }
  @media screen and (max-width: 480px) {
    .sec04 .sec04_wrap {
      flex-wrap: wrap;
      row-gap: 30px; } }
  .sec04 .sec04_wrap .item {
    width: 30.52%; }
    @media screen and (max-width: 480px) {
      .sec04 .sec04_wrap .item {
        width: 100%; } }
  .sec04 .sec04_wrap .img_wrap {
    width: 61.49%;
    row-gap: 15px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .sec04 .sec04_wrap .img_wrap {
        width: 100%; } }
    .sec04 .sec04_wrap .img_wrap .img {
      width: 49.04%; }
      @media screen and (max-width: 480px) {
        .sec04 .sec04_wrap .img_wrap .img {
          width: 48%; } }
      .sec04 .sec04_wrap .img_wrap .img .cap_l {
        line-height: 1;
        margin-top: clamp(5px, 0.834vw, 10px);
        font-size: clamp(10px, 1.25vw, 15px); }
        @media screen and (max-width: 480px) {
          .sec04 .sec04_wrap .img_wrap .img .cap_l {
            line-height: 1.2; } }

.sec05 {
  margin-bottom: 120px; }
  @media screen and (max-width: 480px) {
    .sec05 {
      margin-bottom: 80px; } }
  .sec05 .lifeinfo_outer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 6.66%; }
    @media screen and (max-width: 480px) {
      .sec05 .lifeinfo_outer {
        grid-template-columns: 1fr;
        gap: 25px 0; } }
    .sec05 .lifeinfo_outer .lifeinfo_wrap {
      display: flex;
      flex-direction: column;
      gap: 25px 0; }
    .sec05 .lifeinfo_outer .lifeinfo_head {
      font-size: clamp(14px, 1.61vw, 20px);
      line-height: 1;
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      padding: 0.4em 0.5em;
      background: #fff;
      margin-bottom: 20px; }
      .sec05 .lifeinfo_outer .lifeinfo_head .en {
        letter-spacing: 0.1em;
        font-weight: 700; }
      .sec05 .lifeinfo_outer .lifeinfo_head .jp {
        font-size: 0.7em; }
    .sec05 .lifeinfo_outer .lifeinfo_list {
      display: flex;
      flex-direction: column;
      font-size: clamp(11px, 1.12vw, 14px);
      line-height: 1.4;
      margin-top: 1.42em;
      gap: 0.7em; }
      .sec05 .lifeinfo_outer .lifeinfo_list .item {
        display: flex;
        align-items: baseline;
        gap: 0.25em;
        padding-bottom: 0.7em;
        border-bottom: 1px solid #c7c7c7;
        justify-content: space-between; }
        .sec05 .lifeinfo_outer .lifeinfo_list .item dt {
          flex-shrink: 0; }

          .gnavi li a .new {
            display: inline-block;
            background-color: #e60012;  /* 赤 */
            color: #fff;                /* 白文字 */
            font-size: 0.5rem;
            font-weight: bold;
            padding: 1px 3px;
            border-radius: 2px;
            margin-left: 3px;
            vertical-align: top;
            line-height: 1;
          }

/*# sourceMappingURL=style.css.map */
