@charset "UTF-8";
@import url("global.css");
/* ---------- Index-Page ---------- */
#bodyarea {
  --radius: 8px;
}

.point {
  background-color: #F5F3F0;
  padding-block: 70px;
}
.point .inner {
  display: flex;
  align-items: center;
  gap: min(60px,4vw);
}
.point .pointtitle {
  padding-left: min(50px,3vw);
  line-height: 1.3;
  flex-shrink: 0;
  font-size: min(40px,2.5vw);
  font-weight: 700;
}
.point .pointtitle span {
  font-size: 150%;
  padding-right: 3px;
  line-height: 1;
}
.point ul {
  display: flex;
  gap: min(30px,2vw);
  counter-reset: number 0;
}
.point ul li {
  counter-increment: number 1;
  flex: 1;
  background-color: #fff;
  border-radius: var(--radius);
  padding: 30px 25px;
  position: relative;
}
.point ul li::before {
  content: "Point" counter(number);
  position: absolute;
  line-height: 1;
  left: 25px;
  top: -10px;
  font-family: "Outfit", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #E6001A;
}
.point ul li .title {
  line-height: 1.5;
  margin-bottom: 20px;
  font-size: min(24px,1.5vw);
  font-weight: 700;
}
.point ul li .title br {
  display: none;
}
.point ul li .text {
  margin-top: auto;
  font-weight: 500;
}

ul.list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: min(70px,4vw);
}
ul.list li {
  display: contents;
}
ul.list li a {
  margin-top: 120px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  position: relative;
  container-type: inline-size;
}
ul.list li a .new {
  position: absolute;
  top: -17px;
  left: 15px;
  width: 76px;
  text-align: center;
  border-radius: 5px;
  color: #fff;
  background-color: #E6001A;
  font-family: "Outfit", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  font-weight: 600;
  padding-block: 4px;
  z-index: 2;
}
ul.list li a .image {
  aspect-ratio: 10 / 7;
  margin-bottom: 25px;
}
ul.list li a .image img {
  border-radius: var(--radius);
}
ul.list li a .title {
  line-height: 1.5;
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 700;
}
ul.list li a .data table {
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.4;
}
ul.list li a .data table th {
  font-weight: 500;
  padding: 5px 15px 5px 0;
}
ul.list li a .data table td {
  padding: 5px 0;
}
ul.list li a .more {
  margin: 5px 10px 0 auto;
  width: 130px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 100px;
  background-color: #F5F3F0;
  line-height: 30px;
  box-sizing: border-box;
  padding-inline: 20px;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  font-size: 13px;
  font-weight: 700;
}
ul.list li a .more::after {
  content: "\f061";
  font-family: 'Font Awesome 6 free','Font Awesome 6 Brands';
  font-weight: 900;
  display: block;
  line-height: 1;
}
@media (any-hover: hover) {
  ul.list li a:hover .more {
    background-color: #A49375;
    color: #fff;
    translate: 10px 0;
  }
}
@container ( width <= 380px ) {
  ul.list li a .title {
    font-size: 20px;
  }
  ul.list li a .more {
    margin-top: 10px;
  }
}
@container ( width <= 340px ) {
  ul.list li a .title {
    font-size: 17px;
  }
  ul.list li a .data table {
    font-size: 13px;
  }
  ul.list li a .data table th {
    padding: 3px 15px 3px 0;
  }
  ul.list li a .data table td {
    padding: 3px 0;
  }
  ul.list li a .more {
    font-size: 12px;
    width: 120px;
  }
}
/* ---------- Entry-Page ---------- */
.post .topblock {
  display: flex;
  gap: 60px;
  margin-bottom: 60px;
}
.post .topblock .topmain {
  flex-grow: 1;
  padding-top: 20px;
}
.post .topblock .topmain .posttitle {
  font-size: min(24px,2.3vw);
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 20px;
}
.post .topblock .topmain table.data {
  border-collapse: collapse;
}
.post .topblock .topmain table.data th {
  font-weight: 500;
  padding: 5px 15px 5px 0;
}
.post .topblock .topmain table.data td {
  padding: 5px 0;
}
.post .topblock .topmain .comment {
  background-color: #F5F3F0;
  padding: 30px 35px;
  margin-top: 30px;
  border-radius: 3px;
}
.post .topblock .topmain .comment dt {
  font-size: 24px;
  font-weight: 700;
  font-family: "Outfit", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  color: #5A5657;
  margin-bottom: 20px;
  line-height: 1;
}
.post .topblock .topmain .comment dt br {
  display: none;
}
.post .topblock .slideblock {
  width: 50%;
  flex-shrink: 0;
}
.post .kukakublock {
  display: flex;
  flex-direction: row-reverse;
  gap: 40px;
  align-items: center;
  margin-bottom: 60px;
}
.post .kukakublock .kukakuzu {
  width: 40%;
  flex-shrink: 0;
}
.post .kukakublock .data {
  flex-grow: 1;
}
.post .kukakublock .data table {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  white-space: nowrap;
}
.post .kukakublock .data table tr {
  border-bottom: #777 1px solid;
}
.post .kukakublock .data table th {
  padding: 0 20px 15px;
  font-weight: 500;
}
.post .kukakublock .data table td {
  padding: 15px 20px;
}
.post .section .sectitle {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
.post .section .sectitle span {
  display: block;
}
.post .section .sectitle .en {
  font-size: clamp(24px, 5vw, 35px);
  font-family: "Outfit", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  font-weight: 700;
  margin-right: 30px;
}
.post .section .sectitle .ja {
  padding-top: 8px;
  opacity: .5;
  font-weight: 700;
  font-size: 112.5%;
}
.post #access {
  margin-bottom: 100px;
}
.post #access .map {
  height: 480px;
  margin-bottom: 70px;
  position: relative;
}
.post #access .map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  filter: grayscale(0.8);
}
.post #access ul.env {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 36px 40px;
}
.post #access ul.env li .photo {
  aspect-ratio: 10 / 7;
  margin-bottom: 8px;
}
.post #access ul.env li .text {
  padding-inline: 10px;
  line-height: 1.4;
}
.post #outline {
  margin-bottom: 100px;
}
.post #outline table {
  width: 100%;
  border-collapse: collapse;
  border-top: #ccc 1px solid;
  line-height: 1.5;
}
.post #outline table tr {
  border-bottom: #ccc 1px solid;
}
.post #outline table tr:nth-of-type(odd) th {
  background-color: #F5F3F0;
}
.post #outline table tr:nth-of-type(even) th {
  background-color: #F8F8F8;
}
.post #outline table th, .post #outline table td {
  font-size: 15px;
  padding: 18px 20px;
}
.post #outline table th {
  font-weight: 700;
  width: 7em;
  white-space: nowrap;
  text-align: center;
  position: relative;
}
.post #outline table th::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: #fff 4px solid;
}

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1600px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1600px) {
  /* ---------- Index-Page ---------- */
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  /* ---------- Index-Page ---------- */
  .point .pointtitle {
    padding-left: 0;
  }
  .point ul li .title {
    font-size: min(20px,2vw);
  }

  /* ---------- Entry-Page ---------- */
  .post .topblock {
    gap: 4.5vw;
  }
  .post #access ul.env {
    gap: 36px 3vw;
  }
  .post #access ul.env li .text {
    padding-inline: 5px;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  /* ---------- Index-Page ---------- */
  .point {
    padding-block: 50px 60px;
  }
  .point .inner {
    display: block;
  }
  .point .pointtitle {
    text-align: center;
    margin-bottom: 35px;
    font-size: 25px;
  }
  .point .pointtitle br {
    display: none;
  }
  .point ul {
    gap: 3vw;
    margin-inline: -2vw;
  }
  .point ul li .title {
    margin-bottom: 15px;
    font-size: min(19px,2.5vw);
  }

  ul.list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5vw;
  }
  ul.list li a {
    margin-top: 90px;
  }

  /* ---------- Entry-Page ---------- */
  .post .topblock {
    display: block;
  }
  .post .topblock .topmain {
    padding-top: 0;
  }
  .post .topblock .topmain .posttitle {
    font-size: min(24px,5vw);
    text-align: center;
    margin-bottom: 20px;
  }
  .post .topblock .topmain table.data {
    margin-inline: auto;
  }
  .post .topblock .topmain .comment {
    display: flex;
    align-items: center;
    gap: 40px;
  }
  .post .topblock .topmain .comment dt {
    margin-bottom: 0;
  }
  .post .topblock .topmain .comment dt br {
    display: inline;
  }
  .post .topblock .slideblock {
    max-width: 680px;
    margin: 0 auto 30px;
    width: auto;
  }
  .post .kukakublock {
    display: block;
  }
  .post .kukakublock .kukakuzu {
    width: auto;
    max-width: 680px;
    margin: 0 auto 20px;
  }
  .post .section .sectitle {
    margin-bottom: 30px;
  }
  .post #access {
    margin-bottom: 70px;
  }
  .post #access .map {
    height: 400px;
    margin-bottom: 50px;
  }
  .post #access ul.env {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 3vw;
  }
  .post #access ul.env li .text {
    text-align: center;
    padding-inline: 0;
  }
  .post #outline {
    margin-bottom: 80px;
  }
  .post #outline table th, .post #outline table td {
    font-size: 14px;
    padding: 18px 12px;
  }
  .post #outline table th {
    width: 6em;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-4 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  /* ---------- Index-Page ---------- */
  #bodyarea {
    --radius: 6px;
  }

  .point {
    padding-block: 35px 40px;
  }
  .point .pointtitle {
    margin-bottom: 30px;
    font-size: 21px;
  }
  .point ul {
    display: block;
    margin-inline: 0;
  }
  .point ul li {
    padding: 25px 20px 20px;
    margin-top: 20px;
  }
  .point ul li::before {
    left: 20px;
    top: -10px;
    font-size: 22px;
  }
  .point ul li .title {
    margin-bottom: 10px;
    font-size: min(18px,4.5vw);
  }
  .point ul li .text {
    font-size: 12px;
    letter-spacing: 0;
  }
  .point ul li:nth-of-type(even)::before {
    left: auto;
    right: 20px;
  }
  .point ul li:nth-of-type(even) .title {
    text-align: right;
  }
  .point ul li:nth-of-type(even) .text {
    width: fit-content;
    margin-left: auto;
  }

  ul.list {
    display: block;
  }
  ul.list li {
    display: block;
    margin-top: 60px;
  }
  ul.list li a {
    margin-top: 0;
  }

  /* ---------- Entry-Page ---------- */
  .post .topblock {
    margin-bottom: 50px;
  }
  .post .topblock .topmain .posttitle {
    margin-bottom: 20px;
    line-height: 1.5;
  }
  .post .topblock .topmain table.data {
    font-size: 14px;
  }
  .post .topblock .topmain table.data th {
    padding: 2px 15px 2px 0;
  }
  .post .topblock .topmain table.data td {
    padding: 2px 0;
  }
  .post .topblock .topmain .comment {
    padding: 30px 20px;
    display: block;
    text-align: center;
  }
  .post .topblock .topmain .comment dt {
    font-size: 20px;
    margin-bottom: 12px;
  }
  .post .topblock .topmain .comment dt::before, .post .topblock .topmain .comment dt::after {
    content: "";
    width: 25px;
    height: 1px;
    display: inline-block;
    margin-inline: 15px;
    background-color: #5A5657;
    vertical-align: 6px;
  }
  .post .topblock .topmain .comment dt br {
    display: none;
  }
  .post .topblock .topmain .comment dd {
    display: inline-block;
    text-align: left;
  }
  .post .kukakublock .data {
    overflow: auto;
  }
  .post .kukakublock .data table th {
    padding: 0 8px 8px;
  }
  .post .kukakublock .data table td {
    padding: 8px 8px;
  }
  .post .section .sectitle {
    display: block;
    line-height: 1;
    text-align: center;
  }
  .post .section .sectitle span {
    display: block;
  }
  .post .section .sectitle .en {
    margin-right: 0;
  }
  .post .section .sectitle .ja {
    padding-top: 6px;
  }
  .post #access {
    margin-bottom: 70px;
  }
  .post #access .map {
    height: 320px;
    margin-bottom: 30px;
  }
  .post #access ul.env {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 3vw;
  }
  .post #access ul.env li .photo {
    margin-bottom: 5px;
  }
  .post #access ul.env li .text {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
  }
  .post #outline {
    margin: 0 -5px 60px;
  }
  .post #outline table {
    letter-spacing: 0;
  }
  .post #outline table th, .post #outline table td {
    font-size: 12px;
    padding: 12px 10px;
  }
  .post #outline table th {
    width: 4em;
    text-align: center;
    position: relative;
  }
  .post #outline table th::before {
    border-width: 2px;
  }
}

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