@charset "UTF-8";
/*! Writen	by SCSS */
@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");
.ff {
  font-family: 'Bodoni Moda', serif; }

.img_cap.shadow span {
  letter-spacing: -0.03em;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.9), 0 0 5px rgba(0, 0, 0, 0.9), 0 0 5px rgba(0, 0, 0, 0.9), 0 0 5px rgba(0, 0, 0, 0.9); }

.inner_1200.ex {
  padding-bottom: 0; }
  @media screen and (max-width: 768px) {
    .inner_1200.ex {
      padding-top: 60px; } }

div.container {
  padding-top: 0; }

.p_ttl_box .en01 {
  font-size: 54px;
  text-align: center;
  line-height: 1;
  color: #63594f; }
  @media screen and (max-width: 480px) {
    .p_ttl_box .en01 {
      font-size: 32px; } }

.c_ttl {
  font-size: 24px;
  line-height: 1.6;
  color: #655b51; }
  @media screen and (max-width: 768px) {
    .c_ttl {
      line-height: 1.8;
      font-size: 20px; } }
  @media screen and (max-width: 480px) {
    .c_ttl {
      line-height: 1.8;
      font-size: 20px; } }

.read {
  font-size: 15px;
  line-height: 2.4; }
  @media screen and (max-width: 768px) {
    .read {
      font-size: 14px; } }
  @media screen and (max-width: 480px) {
    .read {
      font-size: 12px;
      line-height: 2.4; } }

div.container {
  max-width: inherit; }

.parallax.ex .txts {
  transform: translateY(100px);
  opacity: 0;
  transition: all 2s 0s;
  will-change: opacity,transform; }
.parallax.ex .imgs {
  transform: translateY(100px);
  opacity: 0;
  transition: all 2s 0.75s;
  will-change: opacity,transform; }
  @media screen and (max-width: 480px) {
    .parallax.ex .imgs {
      transition: all 2s 0.5s; } }
.parallax.ex.p-view .txts, .parallax.ex.p-view .imgs {
  transform: translateY(0);
  opacity: 1; }

.box_wrap {
  max-width: 1600px;
  margin: 0 auto; }

.lo_box1 {
  margin-left: calc(180%/16);
  padding: 0 20px;
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 1400px) {
    .lo_box1 {
      width: calc(100% - 40px);
      margin: 0 auto;
      padding: 0; } }
  @media screen and (max-width: 768px) {
    .lo_box1 {
      display: block; } }
  .lo_box1 .txts {
    width: calc(520%/14); }
    @media screen and (max-width: 768px) {
      .lo_box1 .txts {
        width: auto; } }
    .lo_box1 .txts .read_txt {
      margin-top: 45px;
      font-size: 15px;
      line-height: 2.6; }
      @media screen and (max-width: 768px) {
        .lo_box1 .txts .read_txt {
          text-align: center;
          margin-top: 0;
          font-size: 14px; } }
      @media screen and (max-width: 480px) {
        .lo_box1 .txts .read_txt {
          font-size: 12px;
          line-height: 2.4; } }
    .lo_box1 .txts .img01 {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        .lo_box1 .txts .img01 {
          max-width: 520px;
          margin: 0 auto 4%; } }
      .lo_box1 .txts .img01 li {
        width: calc(250%/5.2); }
    @media screen and (max-width: 768px) {
      .lo_box1 .txts .img_txt {
        max-width: 200px;
        text-align: center;
        margin: 0 auto 5px !important; } }
  .lo_box1 .imgs {
    width: calc(800%/14); }
    @media screen and (max-width: 768px) {
      .lo_box1 .imgs {
        width: auto;
        max-width: 520px;
        margin: auto; } }
    .lo_box1 .imgs .img02 {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline; }
      .lo_box1 .imgs .img02 li:nth-child(1) {
        width: 100%;
        margin-bottom: 20px; }
        @media screen and (max-width: 768px) {
          .lo_box1 .imgs .img02 li:nth-child(1) {
            margin-bottom: 4%; } }
      .lo_box1 .imgs .img02 li:nth-child(2) {
        width: calc(320%/8);
        margin-right: calc(20%/8); }
        @media screen and (max-width: 768px) {
          .lo_box1 .imgs .img02 li:nth-child(2) {
            width: calc(320%/5.2);
            margin-right: calc(20%/5.2); } }
      .lo_box1 .imgs .img02 li:nth-child(3) {
        width: calc(180%/8);
        margin-bottom: auto; }
        @media screen and (max-width: 768px) {
          .lo_box1 .imgs .img02 li:nth-child(3) {
            width: calc(180%/5.2); } }

.lo_box2 {
  max-width: 1400px;
  width: calc(100% - 40px);
  margin-right: calc(180%/16);
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between; }
  @media screen and (max-width: 1400px) {
    .lo_box2 {
      margin: 0 auto; } }
  @media screen and (max-width: 768px) {
    .lo_box2 {
      display: block; } }
  .lo_box2 .txts {
    width: calc(520%/14); }
    @media screen and (max-width: 768px) {
      .lo_box2 .txts {
        width: auto; } }
    .lo_box2 .txts .read_txt {
      margin-top: 45px;
      font-size: 15px;
      line-height: 2.6; }
      @media screen and (max-width: 768px) {
        .lo_box2 .txts .read_txt {
          text-align: center;
          margin-top: 0;
          font-size: 14px; } }
    .lo_box2 .txts .img01 {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      align-items: baseline; }
      @media screen and (max-width: 768px) {
        .lo_box2 .txts .img01 {
          max-width: 520px;
          margin: 0 auto 4%; } }
      .lo_box2 .txts .img01 li:nth-child(1) {
        width: 100%;
        margin-bottom: 20px; }
        @media screen and (max-width: 768px) {
          .lo_box2 .txts .img01 li:nth-child(1) {
            margin-bottom: 4%; } }
      .lo_box2 .txts .img01 li:nth-child(2) {
        width: calc(290%/5.2); }
      .lo_box2 .txts .img01 li:nth-child(3) {
        width: calc(210%/5.2);
        margin-bottom: auto; }
    @media screen and (max-width: 768px) {
      .lo_box2 .txts .img_txt {
        max-width: 200px;
        text-align: center;
        margin: 0 auto 5px !important; } }
  .lo_box2 .imgs {
    width: calc(800%/14); }
    @media screen and (max-width: 768px) {
      .lo_box2 .imgs {
        width: auto;
        max-width: 520px;
        margin: auto; } }
    .lo_box2 .imgs .img02 {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline; }
      .lo_box2 .imgs .img02 li:nth-child(1) {
        width: 100%;
        margin-bottom: 20px; }
        @media screen and (max-width: 768px) {
          .lo_box2 .imgs .img02 li:nth-child(1) {
            margin-bottom: 4%; } }
      .lo_box2 .imgs .img02 li:nth-child(2) {
        margin-right: calc(20%/8); }
        @media screen and (max-width: 768px) {
          .lo_box2 .imgs .img02 li:nth-child(2) {
            margin-right: calc(20%/5.2); } }
      .lo_box2 .imgs .img02 li:nth-child(3) {
        margin-bottom: auto; }

.lo_box3 {
  max-width: 1400px;
  width: calc(100% - 40px);
  margin-left: calc(180%/16);
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 1400px) {
    .lo_box3 {
      margin: 0 auto; } }
  @media screen and (max-width: 768px) {
    .lo_box3 {
      display: block; } }
  .lo_box3 .txts {
    width: calc(520%/14); }
    @media screen and (max-width: 768px) {
      .lo_box3 .txts {
        width: auto;
        max-width: 520px;
        margin: 0 auto; } }
    .lo_box3 .txts .read_txt {
      margin-top: 45px;
      font-size: 15px;
      line-height: 2.6; }
      @media screen and (max-width: 768px) {
        .lo_box3 .txts .read_txt {
          text-align: center;
          margin-top: 0;
          font-size: 14px; } }
    .lo_box3 .txts .img01 {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      align-items: baseline; }
      @media screen and (max-width: 768px) {
        .lo_box3 .txts .img01 {
          max-width: 520px;
          margin: 0 auto 4%; } }
      .lo_box3 .txts .img01 li:nth-child(1) {
        width: 100%;
        margin-bottom: 20px; }
        @media screen and (max-width: 768px) {
          .lo_box3 .txts .img01 li:nth-child(1) {
            margin-bottom: 4%; } }
      .lo_box3 .txts .img01 li:nth-child(2) {
        width: calc(290%/5.2); }
      .lo_box3 .txts .img01 li:nth-child(3) {
        width: calc(210%/5.2);
        margin-bottom: auto; }
    @media screen and (max-width: 768px) {
      .lo_box3 .txts .img_txt {
        max-width: 200px;
        text-align: center;
        margin: 0 auto 5px !important; } }
  .lo_box3 .imgs {
    width: calc(800%/14); }
    @media screen and (max-width: 768px) {
      .lo_box3 .imgs {
        width: auto; } }
    .lo_box3 .imgs .img02_ex {
      display: flex;
      justify-content: space-between; }
      .lo_box3 .imgs .img02_ex > div:nth-child(1) {
        width: calc(500%/8); }
      .lo_box3 .imgs .img02_ex > div:nth-child(2) {
        width: calc(280%/8); }
      .lo_box3 .imgs .img02_ex .in_img {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: baseline; }
    .lo_box3 .imgs .in_img01 .in_img li:nth-child(1) {
      width: 100%;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        .lo_box3 .imgs .in_img01 .in_img li:nth-child(1) {
          margin-bottom: 4%; } }
    .lo_box3 .imgs .in_img01 .in_img li:nth-child(2) {
      width: calc(150%/5);
      margin-bottom: auto; }
    .lo_box3 .imgs .in_img01 .in_img li:nth-child(3) {
      width: calc(330%/5); }
    .lo_box3 .imgs .in_img02 .in_img li {
      width: 100%; }
      .lo_box3 .imgs .in_img02 .in_img li:nth-child(1) {
        margin-bottom: 20px; }
        @media screen and (max-width: 768px) {
          .lo_box3 .imgs .in_img02 .in_img li:nth-child(1) {
            margin-bottom: 6%; } }

.lo_bg_wrap {
  background: rgba(99, 89, 79, 0.1);
  padding: 120px 0 120px;
  border-bottom: 1px solid rgba(99, 89, 79, 0.5); }
  @media screen and (max-width: 768px) {
    .lo_bg_wrap {
      padding: 40px 0 100px; } }
  @media screen and (max-width: 480px) {
    .lo_bg_wrap {
      padding: 40px 0 27px; } }
  .lo_bg_wrap .inner_1200 {
    padding-top: 0; }

.vsp1200_sp_none {
  display: none; }
  @media screen and (max-width: 1200px) {
    .vsp1200_sp_none {
      display: block; } }

@media screen and (max-width: 768px) {
  .txt04 {
    width: 70%;
    margin: 0 auto; } }
@media screen and (max-width: 480px) {
  .txt04 {
    width: 85%; } }

.lifeinfo_head {
  text-align: center;
  margin-bottom: 50px;
  line-height: 1;
  color: #111;
  font-size: 46px; }
  @media screen and (max-width: 1200px) {
    .lifeinfo_head {
      font-size: 4.5vw; } }
  @media screen and (max-width: 768px) {
    .lifeinfo_head {
      font-size: 26px;
      margin-bottom: 15px; } }

.imgs01 {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 960px) {
    .imgs01 {
      flex-wrap: wrap;
      max-width: 654px;
      margin: 0 auto;
      justify-content: center; } }
  @media screen and (max-width: 600px) {
    .imgs01 {
      max-width: 580px;
      justify-content: space-between; } }
  .imgs01 li {
    width: calc(208%/12); }
    @media screen and (max-width: 960px) {
      .imgs01 li {
        width: calc(208%/6.54);
        margin-right: calc(15%/6.54); }
        .imgs01 li:nth-child(-n+3) {
          margin-bottom: 20px; }
        .imgs01 li:nth-child(3), .imgs01 li:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 600px) {
      .imgs01 li {
        width: 48% !important;
        margin: 0 !important; }
        .imgs01 li:not(:last-child) {
          margin-bottom: 40px !important; } }
  .imgs01 .img {
    margin-bottom: 3px; }
  .imgs01 .txts {
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.6; }
    @media screen and (max-width: 600px) {
      .imgs01 .txts {
        font-size: 10px; } }

.life_info {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 960px) {
    .life_info {
      display: block; } }
  .life_info > div {
    width: calc(540%/12); }
    @media screen and (max-width: 960px) {
      .life_info > div {
        width: 100%; } }
  .life_info .category:not(:last-child) {
    margin-bottom: 50px; }
  @media screen and (max-width: 960px) {
    .life_info .category {
      margin-bottom: 60px; } }
  .life_info .category_ttl {
    border: 1px solid #655b51;
    border-left: 4px solid #655b51;
    position: relative;
    font-size: 20px;
    color: #655b51;
    padding: 14px 10px 13px 17px;
    line-height: 1;
    margin-bottom: 15px; }
    @media screen and (max-width: 480px) {
      .life_info .category_ttl {
        padding: 10px;
        font-size: 16px; } }
    .life_info .category_ttl .en {
      font-weight: 400;
      font-family: 'Bodoni Moda', serif; }
    .life_info .category_ttl .ja {
      font-size: 70%; }
  .life_info table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0; }
    .life_info table th, .life_info table td {
      font-size: 14px;
      font-feature-settings: "palt";
      letter-spacing: -0.03em;
      padding-bottom: 13px; }
      @media screen and (max-width: 480px) {
        .life_info table th, .life_info table td {
          font-size: 11px; } }
    .life_info table th {
      text-align: left;
      font-weight: normal;
      width: auto; }
      .life_info table th.ex {
        transform: scale(0.95, 1);
        transform-origin: top left; }
        @media screen and (max-width: 1200px) {
          .life_info table th.ex {
            transform: scale(0.8, 1); } }
        @media screen and (max-width: 960px) {
          .life_info table th.ex {
            transform: scale(0.8, 1); } }
    .life_info table td:nth-child(2) {
      width: 4em; }
      @media screen and (max-width: 480px) {
        .life_info table td:nth-child(2) {
          width: 3.7em; } }
    .life_info table td:nth-child(3) {
      width: 4em; }
      @media screen and (max-width: 480px) {
        .life_info table td:nth-child(3) {
          width: 3em;
          width: 2.7em; } }
    .life_info table td:nth-child(4) {
      width: 1.5em; }
    .life_info table td:nth-child(5) {
      text-align: right;
      width: 4em; }

.access {
  max-width: 1600px;
  margin: 0 auto; }

.ac_box {
  max-width: 1400px;
  margin: 0 auto 40px;
  margin-right: calc(200%/16);
  display: flex;
  justify-content: space-between;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 1400px) {
    .ac_box {
      width: auto;
      padding: 0 20px;
      margin: 0 auto 40px; } }
  @media screen and (max-width: 960px) {
    .ac_box {
      flex-direction: column; } }
  .ac_box .l_cont {
    width: calc(450%/14); }
    @media screen and (max-width: 960px) {
      .ac_box .l_cont {
        display: none; } }
  .ac_box .r_cont {
    max-width: 950px; }
    @media screen and (max-width: 960px) {
      .ac_box .r_cont {
        width: calc(900%/14); } }
    @media screen and (max-width: 768px) {
      .ac_box .r_cont {
        width: auto;
        width: 100%; } }
  .ac_box .in_box {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    @media screen and (max-width: 960px) {
      .ac_box .in_box {
        display: block; } }
    .ac_box .in_box .txts {
      width: calc(378%/9.5); }
      @media screen and (max-width: 960px) {
        .ac_box .in_box .txts {
          width: auto;
          text-align: center; } }
      .ac_box .in_box .txts .read_txt {
        font-size: 24px;
        line-height: 2;
        font-feature-settings: "palt"; }
        @media screen and (max-width: 1400px) {
          .ac_box .in_box .txts .read_txt {
            font-size: 1.5vw; } }
        @media screen and (max-width: 960px) {
          .ac_box .in_box .txts .read_txt {
            font-size: 24px;
            margin-bottom: 40px; } }
        @media screen and (max-width: 768px) {
          .ac_box .in_box .txts .read_txt {
            font-size: 18px; } }
    .ac_box .in_box .sp_wrap {
      max-width: 510px;
      width: calc(510%/9.5); }
      @media screen and (max-width: 960px) {
        .ac_box .in_box .sp_wrap {
          max-width: 520px;
          display: flex;
          justify-content: space-between;
          width: auto;
          margin: 0 auto; } }
      .ac_box .in_box .sp_wrap .a_img01 {
        display: none; }
        @media screen and (max-width: 960px) {
          .ac_box .in_box .sp_wrap .a_img01 {
            display: block;
            width: calc(320%/5.2); } }
    .ac_box .in_box .img01 {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .ac_box .in_box .img01 li:nth-child(1) {
        width: calc(240%/5.1);
        margin-bottom: 5vw; }
        @media screen and (max-width: 960px) {
          .ac_box .in_box .img01 li:nth-child(1) {
            width: 50%;
            margin: 0; } }
      .ac_box .in_box .img01 li:nth-child(2) {
        width: calc(240%/5.1);
        margin-top: 5vw; }
        @media screen and (max-width: 960px) {
          .ac_box .in_box .img01 li:nth-child(2) {
            width: 50%;
            margin: 0; } }
      .ac_box .in_box .img01 li .img_cap.shadow span {
        box-sizing: border-box; }

.slide_txt {
  font-size: 12px;
  text-align: center;
  letter-spacing: -0.03em;
  line-height: 1.2; }
  .slide_txt::after {
    content: "▼";
    font-size: 10px;
    display: block;
    text-align: center; }

.cap_cont {
  background: url("../images/location/bg.png"), no-repeat;
  background-size: cover;
  background-position: top center; }

.rosenzu_box {
  max-width: 1400px;
  width: calc(100% - 40px);
  margin: 0 auto; }

@media screen and (max-width: 480px) {
  .rosenzu p.img {
    overflow-x: scroll; }
    .rosenzu p.img img {
      max-width: 700px;
      width: 700px; } }

.kusatu {
  max-width: 1120px;
  margin: 0 auto 60px; }
  @media screen and (max-width: 768px) {
    .kusatu {
      margin-bottom: 40px; } }

.container .v2 {
  padding-bottom: 0; }

.wbox {
  padding-bottom: 160px;
  background: #d4c3ac; }
  .wbox:last-child {
    padding-bottom: 90px; }
  @media screen and (max-width: 768px) {
    .wbox {
      padding-bottom: 90px; } }
  .wbox .in {
    max-width: 1200px;
    width: calc(100% - 40px);
    margin: 0 auto; }
  .wbox .img_cap span {
    background: none;
    bottom: 5px;
    right: 5px;
    padding: 3px;
    text-shadow: 0 0 3px #000000, 2px 2px 3px #000000, -2px 2px 3px #000000, -2px -2px 3px #000000, 2px -2px 3px #000000; }
  .wbox .inn {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px; }
    @media screen and (max-width: 960px) {
      .wbox .inn {
        display: block; } }
    .wbox .inn .img {
      width: 50vw;
      margin: 0 auto 0 calc(50% - 50vw); }
      .wbox .inn .img img {
        width: 100%;
        max-width: 100%; }
      @media screen and (max-width: 960px) {
        .wbox .inn .img {
          width: calc(100% + 40px);
          margin: 0 -20px 0; } }
      .wbox .inn .img ul {
        display: flex;
        flex-wrap: wrap; }
        .wbox .inn .img ul li {
          width: 50%; }
          .wbox .inn .img ul li:first-child {
            width: 100%; }
    .wbox .inn .txt {
      position: relative;
      z-index: 5;
      width: calc(530% / 12);
      padding-top: 110px; }
      @media screen and (max-width: 960px) {
        .wbox .inn .txt {
          padding-top: 0;
          width: 100%; } }
      .wbox .inn .txt .t00 {
        position: absolute;
        top: 0;
        right: 0;
        width: 200%;
        text-align: right;
        z-index: -1; }
        @media screen and (max-width: 960px) {
          .wbox .inn .txt .t00 {
            position: relative;
            width: 100%; } }
      .wbox .inn .txt .t01 {
        margin-bottom: 15px; }
        @media screen and (max-width: 960px) {
          .wbox .inn .txt .t01 {
            margin-top: -20px;
            margin-bottom: 10px; } }
      .wbox .inn .txt .t02 {
        font-size: 24px;
        padding-bottom: 15px;
        border-bottom: solid 1px #544236;
        margin-bottom: 15px; }
        @media screen and (max-width: 960px) {
          .wbox .inn .txt .t02 {
            font-size: 18px;
            padding-bottom: 10px;
            margin-bottom: 10px; } }
      .wbox .inn .txt .t03 {
        font-size: 15px;
        margin-bottom: 15px; }
        @media screen and (max-width: 960px) {
          .wbox .inn .txt .t03 {
            font-size: 12px;
            margin-bottom: 10px; } }
  .wbox:nth-child(2n - 1) {
    background: #f2eee7; }
    .wbox:nth-child(2n - 1) .inn {
      flex-direction: row-reverse; }
      .wbox:nth-child(2n - 1) .inn .img {
        width: 50vw;
        margin: 0 calc(50% - 50vw) 0 auto; }
        @media screen and (max-width: 960px) {
          .wbox:nth-child(2n - 1) .inn .img {
            width: calc(100% + 40px);
            margin: 0 -20px 0; } }
      .wbox:nth-child(2n - 1) .inn .txt .t00 {
        right: auto;
        left: 0;
        text-align: left; }
  .wbox .img1 {
    display: flex; }
    @media screen and (max-width: 960px) {
      .wbox .img1 {
        flex-wrap: wrap;
        justify-content: center; } }
    @media screen and (max-width: 960px) {
      .wbox .img1 li {
        width: 50%; } }
  .wbox .img2 {
    display: flex;
    justify-content: center; }
    .wbox .img2 li {
      margin: 0 15px; }
      @media screen and (max-width: 960px) {
        .wbox .img2 li {
          margin: 0;
          width: 50%; } }
  .wbox .img3 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    .wbox .img3 li:nth-child(1),
    .wbox .img3 li:nth-child(4) {
      width: calc(732% / 12); }
      @media screen and (max-width: 960px) {
        .wbox .img3 li:nth-child(1),
        .wbox .img3 li:nth-child(4) {
          width: 100%;
          max-width: 700px;
          margin: 0 auto; } }
    .wbox .img3 li:nth-child(2),
    .wbox .img3 li:nth-child(3) {
      width: calc(468% / 12); }
      @media screen and (max-width: 960px) {
        .wbox .img3 li:nth-child(2),
        .wbox .img3 li:nth-child(3) {
          width: 50%; } }

.btn {
  display: flex;
  justify-content: center; }
  .btn li {
    margin: 0 15px; }
  @media screen and (max-width: 960px) {
    .btn {
      display: block;
      text-align: center; }
      .btn li {
        width: 85%;
        margin: 0 auto 15px; } }

@media screen and (max-width: 960px) {
  .img302_03.img_cap {
    max-width: 415px;
    margin: 0 auto; } }
.img302_03.img_cap span {
  right: inherit;
  left: 15%;
  bottom: 26%; }
  @media screen and (max-width: 960px) {
    .img302_03.img_cap span {
      left: 5%; } }

@media screen and (max-width: 960px) {
  .img402_03.img_cap {
    max-width: 436px;
    margin: 0 auto; } }
.img402_03.img_cap span {
  right: inherit;
  left: 17%;
  bottom: 12%; }
  @media screen and (max-width: 960px) {
    .img402_03.img_cap span {
      left: 10%; } }

.img202_03 {
  position: relative; }
  @media screen and (max-width: 960px) {
    .img202_03 {
      max-width: 519px;
      margin: 0 auto; } }
  .img202_03 span.cap1 {
    right: 57%;
    bottom: 19%;
    letter-spacing: -0.05em; }
  .img202_03 span.cap2 {
    right: 32%;
    bottom: 19%; }
    @media screen and (max-width: 960px) {
      .img202_03 span.cap2 {
        right: 37%; } }
    @media screen and (max-width: 480px) {
      .img202_03 span.cap2 {
        bottom: inherit;
        top: 62%;
        right: 18%; } }

@media screen and (max-width: 480px) {
  body .txts .read_txt {
    font-size: 12px !important;
    line-height: 2.1 !important; } }

.main_ex::before {
  background-image: url("../images/location/main.jpg"); }
  @media screen and (max-width: 768px) {
    .main_ex::before {
      background-image: url("../images/location/main_sp.jpg"); } }
@media screen and (max-width: 768px) {
  .main_ex .page_ttl p {
    line-height: 1.4; } }

.wbox > p.ta_c.mb15 {
  padding: 120px 20px 90px; }
  @media screen and (max-width: 768px) {
    .wbox > p.ta_c.mb15 {
      padding: 60px 20px 30px; } }

.img100 {
  width: calc(758%/16);
  max-width: 758px;
  margin: 0 auto; }

.img200 {
  width: calc(1264%/16);
  max-width: 1264px;
  margin: 0 auto; }

.img300 {
  width: calc(1010%/16);
  max-width: 1010px;
  margin: 0 auto; }

.img400 {
  width: calc(1163%/16);
  max-width: 1163px;
  margin: 0 auto; }

.concept_link_box {
  max-width: 1200px;
  width: calc(100% - 40px);
  margin: 100px auto; }
  @media screen and (max-width: 960px) {
    .concept_link_box {
      margin: 80px auto; } }
  @media screen and (max-width: 768px) {
    .concept_link_box {
      margin: 60px auto; } }
  @media screen and (max-width: 480px) {
    .concept_link_box {
      margin: 40px auto; } }
  .concept_link_box a {
    background: #554236;
    width: 100%;
    line-height: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: opacity 0.3s ease-in-out; }
    @media screen and (max-width: 480px) {
      .concept_link_box a {
        padding: 0;
        flex-direction: column;
        align-items: center;
        text-align: center; } }
    .concept_link_box a .btn_inner {
      width: 100%;
      position: relative;
      z-index: 1; }
      .concept_link_box a .btn_inner::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        background: url("../images/location/bg_btn.png") center/cover no-repeat; }
    .concept_link_box a .concept_link_text {
      width: 100%;
      padding: 20px;
      color: #fff;
      font-size: 46px;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 1200px) {
        .concept_link_box a .concept_link_text {
          font-size: 4.5vw; } }
      @media screen and (max-width: 768px) {
        .concept_link_box a .concept_link_text {
          font-size: 26px; } }
      @media screen and (max-width: 480px) {
        .concept_link_box a .concept_link_text {
          padding: 15px; } }
    .concept_link_box a .concept_view_more {
      width: 100%;
      font-size: 16px;
      padding: 15px;
      color: #554236;
      background: rgba(235, 218, 198, 0.8);
      border: 1px solid #554236;
      border-top: none;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        .concept_link_box a .concept_view_more {
          font-size: 14px; } }
      @media screen and (max-width: 480px) {
        .concept_link_box a .concept_view_more {
          width: 100%;
          padding: 15px;
          margin-left: 0; } }
      .concept_link_box a .concept_view_more .text {
        margin-right: 20px; }
        @media screen and (max-width: 768px) {
          .concept_link_box a .concept_view_more .text {
            margin-right: 10px; } }
      .concept_link_box a .concept_view_more::after {
        content: "";
        width: 8px;
        height: 8px;
        border-top: 2px solid #554236;
        border-right: 2px solid #554236;
        transform: rotate(45deg);
        transition: transform 0.3s ease-in-out; }
    body:not(.mobile) .concept_link_box a:hover {
      opacity: 0.7; }
      body:not(.mobile) .concept_link_box a:hover .concept_view_more::after {
        transform: translateX(5px) rotate(45deg); }

.sec01_lead {
  font-size: 28px;
  line-height: 1.8;
  white-space: nowrap;
  color: #000;
  margin-bottom: 40px; }
  @media screen and (max-width: 960px) {
    .sec01_lead {
      font-size: 20px; } }
  @media screen and (max-width: 768px) {
    .sec01_lead {
      font-size: 18px;
      white-space: normal;
      margin-bottom: 20px; } }

.koutori_box {
  padding: 0 20px; }
  .koutori_box .f16 {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-weight: 300; }
    @media screen and (max-width: 768px) {
      .koutori_box .f16 {
        font-size: 14px; } }
  .koutori_box .in_box {
    max-width: 470px;
    margin: 0 auto 40px;
    display: flex;
    justify-content: center;
    align-items: center; }
    .koutori_box .in_box .txt {
      font-size: 15px;
      line-height: 1.8;
      letter-spacing: 0.05em;
      margin-right: 1em;
      width: calc(100% - 115px);
      font-weight: 300; }
      @media screen and (max-width: 768px) {
        .koutori_box .in_box .txt {
          width: calc(100% - 70px);
          font-size: 13px;
          line-height: 1.5; } }
      .koutori_box .in_box .txt a {
        color: #900;
        text-decoration: underline; }
    .koutori_box .in_box .qr {
      width: 100px;
      background: #fff; }
      @media screen and (max-width: 768px) {
        .koutori_box .in_box .qr {
          width: 70px; } }

.lo_box_04 {
  margin-top: clamp(-80px, -5.71%, 20px);
  max-width: 1280px;
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  align-items: start;
  align-content: start;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 3.12%; }
  @media screen and (max-width: 1200px) {
    .lo_box_04 {
      margin-top: 40px; } }
  @media screen and (max-width: 768px) {
    .lo_box_04 {
      margin-top: 100px;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px 4%; } }
  .lo_box_04 .txts {
    text-align: left; }
    @media screen and (max-width: 768px) {
      .lo_box_04 .txts {
        text-align: center;
        grid-column: 1 / 3; } }
  .lo_box_04 .lo_04_image_01 {
    margin-top: 25%; }
    @media screen and (max-width: 768px) {
      .lo_box_04 .lo_04_image_01 {
        margin-top: 0; } }
  .lo_box_04 .lo_04_image_02 {
    grid-column: span 1 / 2; }
    @media screen and (max-width: 960px) {
      .lo_box_04 .lo_04_image_02 {
        margin-top: 0; } }
    @media screen and (max-width: 768px) {
      .lo_box_04 .lo_04_image_02 {
        grid-column: auto; } }
  .lo_box_04 .lo_04_image_03 {
    margin-top: 7.5%; }
    @media screen and (max-width: 768px) {
      .lo_box_04 .lo_04_image_03 {
        margin-top: 0; } }
  .lo_box_04 .lo_04_image_04 {
    margin-top: 15%; }
    @media screen and (max-width: 768px) {
      .lo_box_04 .lo_04_image_04 {
        grid-column: span 2;
        width: 48%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 0; } }

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