/*! Writen  by SCSS */
.sec_main {
  position: relative; }
  .sec_main .inner_head {
    width: 64.72%;
    position: absolute;
    z-index: 2;
    bottom: -10%;
    left: 8.58%; }
  .sec_main img {
    width: 100%; }
  .sec_main.access .inner_head {
    width: 45.43%; }

.bg_wrap {
  position: relative; }
  .bg_wrap::before {
    content: '';
    width: 100%;
    position: fixed;
    inset: 0;
    background-image: url("../images/bg01.jpg");
    background-position: top;
    background-repeat: no-repeat;
    z-index: -1; }

.sec01 {
  padding-top: clamp(60px, 8.34%, 100px);
  padding-bottom: clamp(50px, 6.67%, 80px); }
  .sec01 .img_wrap {
    display: grid;
    grid-template-columns: 66.67% 33.34%;
    align-items: flex-start;
    align-content: start;
    grid-auto-flow: dense; }
    @media screen and (max-width: 480px) {
      .sec01 .img_wrap {
        grid-template-columns: repeat(2, 1fr); } }
    .sec01 .img_wrap .img01 {
      grid-row: span 2; }
      @media screen and (max-width: 480px) {
        .sec01 .img_wrap .img01 {
          grid-row: span 1;
          grid-column: span 2; } }

.sec02 {
  padding-bottom: clamp(60px, 8.34%, 100px); }
  .sec02 .sec02_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap {
        flex-direction: column; } }
    .sec02 .sec02_wrap .text_wrap {
      width: 38.25%;
      display: flex;
      flex-direction: column;
      row-gap: clamp(40px, 5vw, 60px); }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap .text_wrap {
          width: 100%; } }
      .sec02 .sec02_wrap .text_wrap .text_in .ttl {
        margin-bottom: 0.5em;
        padding-bottom: 0.5em;
        border-bottom: 1px solid #00040a; }
      .sec02 .sec02_wrap .text_wrap .text_in .img_in {
        display: none; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap .text_wrap .text_in .img_in {
            margin-top: 15px;
            display: flex; }
            .sec02 .sec02_wrap .text_wrap .text_in .img_in .img {
              width: 50%; }
              .sec02 .sec02_wrap .text_wrap .text_in .img_in .img.full {
                width: 100%; } }
    .sec02 .sec02_wrap .img_wrap {
      width: 66.67%;
      margin-right: -8.33%;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      align-items: flex-start;
      align-content: start;
      grid-auto-flow: dense; }
      @media screen and (max-width: 1400px) {
        .sec02 .sec02_wrap .img_wrap {
          margin-right: 0;
          margin-left: 2%; } }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap .img_wrap {
          display: none; } }
      .sec02 .sec02_wrap .img_wrap .img01 {
        grid-column: span 2; }

.sec03 {
  padding-bottom: clamp(80px, 12.5vw, 150px); }
  .sec03 .sec_lead_wrap {
    margin-bottom: clamp(25px, 3.34%, 40px); }

.map {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  position: relative; }
  .map::after {
    content: "";
    position: absolute;
    inset: 0;
    border: solid 1px #231815; }
  @media screen and (max-width: 480px) {
    .map {
      width: calc(100% + 40px);
      margin-left: -20px;
      margin-right: -20px; }
      .map::after {
        display: none; } }

.lifeinfo_outer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 6.66%; }
  @media screen and (max-width: 480px) {
    .lifeinfo_outer {
      grid-template-columns: 1fr;
      gap: 25px 0; } }
  .lifeinfo_outer .lifeinfo_wrap {
    display: flex;
    flex-direction: column;
    gap: 25px 0; }
  .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; }
    .lifeinfo_outer .lifeinfo_head .en {
      letter-spacing: 0.1em;
      font-weight: 700; }
    .lifeinfo_outer .lifeinfo_head .jp {
      font-size: 0.7em; }
  .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; }
    .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; }
      .lifeinfo_outer .lifeinfo_list .item dt {
        flex-shrink: 0; }

/*# sourceMappingURL=style.css.map */
