@charset "UTF-8";
/*--------------------------------------------------------------
Foundation
--------------------------------------------------------------*/

figcaption.left {
  left: 0;
  text-align: left;
}
figcaption.w {
  color: #fff;
}
figcaption.b {
  color: #1a1a1a !important;
}
figcaption.btm {
  right: 1rem;
  bottom: 0.5rem;
}

.g_ft, figcaption {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.m_ft {
  font-family: "æ¸¸æ˜Žæœ", "Yu Mincho", YuMincho, "ãƒ’ãƒ©ã‚®ãƒŽæ˜Žæœ ProN W3", "Hiragino Mincho ProN", "HGæ˜ŽæœE", "ï¼­ï¼³ ï¼°æ˜Žæœ", "ï¼­ï¼³ æ˜Žæœ", serif;
}

.ft_e {
  font-family: "EB Garamond", serif;
}

.ft_i {
  font-family: "Inter", sans-serif;
}

/*--------------------------------------------------------------
Component
--------------------------------------------------------------*/


.c_anchor {
  position: absolute;
  width: 100%;
  left: 0;
  margin-top: -10.5rem;
}
@media screen and (max-width: 767px) {
  .c_anchor {
    margin-top: -12.8rem;
  }
}

.c_scroll {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c_scroll {
    bottom: 9rem;
  }
}
.c_scroll a {
  font-size: 1.8rem;
  color: #fff;
  display: block;
  padding-bottom: 6.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c_scroll a {
    padding-bottom: 4.3rem;
  }
}
.c_scroll a:before {
  content: "";
  position: absolute;
  height: 6rem;
  left: 50%;
  border-left: solid 1px #fff;
  bottom: 0;
  animation: 2s scroll_move infinite;
}
@media screen and (max-width: 767px) {
  .c_scroll a:before {
    height: 4rem;
  }
}

@keyframes scroll_move {
  from {
    transform: scale(1, 0);
    transform-origin: center top;
  }
  to {
    transform: scale(1, 1);
    transform-origin: center top;
  }
}


.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 3rem, 0);
  }
  30% {
    opacity: 0.5;
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUp {
  animation-duration: 0.8s;
  animation-name: fadeInUp;
}


/*--------------------------------------------------------------
Utility
--------------------------------------------------------------*/
.u_wrap {
  overflow: hidden;
}

.u_inner {
  width: 128rem;
  margin: 0 auto;
  max-width: 100%;
}

html {
  font-size: 10px;
}

@media screen and (min-width: 768px) and (max-width: 1480px) {
  html {
    font-size: 0.6756756757vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 1.8181818182vw;
  }
}
.u_clearfix:after,
.u_clearfix > li:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

* html .u_clearfix,
* html .u_clearfix > li {
  zoom: 1;
}

* + html .u_clearfix,
* + html .u_clearfix li {
  zoom: 1;
}

.u_switch_img {
  opacity: 1;
}

.u_relative {
  position: relative;
}

@media screen and (min-width: 768px) {
  .u_visible_sp {
    display: none;
  }
  .u_tel {
    pointer-events: none;
    cursor: default;
  }
  .u_tel:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .u_visible_pc {
    display: none;
  }
  .u_inner {
    width: auto;
    margin: 0 3rem;
  }
}

body.open {
  overflow-y: hidden;
}

#gototop {
  position: fixed;
  right: 3rem;
  bottom: 3rem;
  z-index: 65;
}
@media screen and (max-width: 767px) {
  #gototop {
    right: 2rem;
    bottom: 2rem;
  }
}
#gototop a {
  display: block;
  border-radius: 50%;
  box-shadow: 0px 0px 38px 2px rgba(0, 0, 0, 0.1);
  animation: 3s gototop infinite;
}
#gototop img {
  width: 6rem;
}

@keyframes gototop {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(0);
  }
}
.f_nav {
  background: #404146;
  color: #fff;
  display: flex;
}
@media screen and (max-width: 767px) {
  .f_nav {
    flex-wrap: wrap;
    position: relative;
  }
  .f_nav:before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    border-bottom: solid 1px rgba(255, 255, 255, 0.2);
  }
  .f_nav li {
    width: 50%;
    border-bottom: solid 1px rgba(255, 255, 255, 0.2);
  }
  .f_nav li:nth-child(odd) {
    border-right: solid 1px rgba(255, 255, 255, 0.2);
  }
  .f_nav a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 1.1em 1em;
    text-align: center;
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .f_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 9rem;
    gap: 4.5rem;
    font-size: 1.6rem;
  }
  .f_nav a {
    display: inline-block;
    letter-spacing: 0.15em;
    padding: 0.3em 0;
  }
  .f_nav .active {
    border-bottom: solid 2px #a1b5be;
  }
}

.f_note {
  font-size: 1.2rem;
  line-height: 1.66;
  margin: 5rem 0;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .f_note {
    font-size: 1.4rem;
    line-height: 1.75;
    margin: 4rem 0;
  }
}

.f_entry {
  text-align: center;
  margin: 4.5rem 0;
}
@media screen and (max-width: 767px) {
  .f_entry {
    margin: 3.5rem 0 2.5rem;
  }
}

.f_box {
  background: #f9f9f9;
  padding: 6.5rem 2rem 7.3rem;
}
@media screen and (min-width: 768px) {
  .f_box {
    padding: 7.5rem 0 8.5rem;
  }
  .f_box .u_inner {
    width: 74rem;
  }
}

.f_contact {
  text-align: center;
}
.f_contact dt {
  font-size: 1.7rem;
  letter-spacing: 0.15em;
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .f_contact dt {
    font-size: 2.2rem;
    line-height: 1.8;
    margin-bottom: 1.3em;
  }
}
.f_contact dd small {
  display: block;
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
  .f_contact dd small {
    font-size: 1.4rem;
  }
}
.f_contact dd a {
  display: inline-block;
  font-size: 3.4rem;
  background: url(../img/ico_freedial01.png) no-repeat left center/1.647em;
  padding-left: 1.8em;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .f_contact dd a {
    font-size: 4rem;
  }
}

.f_holiday {
  font-size: 14px;
  line-height: 1.4em;
  text-align: center;
  border: 1px solid #910000;
  padding: 10px 10px;
  margin: 15px auto 0;
  color: #AC0002;
}
@media screen and (max-width: 767px) {
  .f_holiday {
    font-size: 12px;
    font-feature-settings: "pwid";
    letter-spacing: 0px;
  }
}

.f_suumo {
  margin-top: 4.5rem;
  margin-bottom: 4.5rem;
}
@media screen and (max-width: 767px) {
  .f_suumo {
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }
}
.f_suumo a {
  display: block;
}

.footer_bnr a {
  display: block;
}

#footer {
  background: #fff;
}

@media screen and (max-width: 767px) {
  footer {
    padding-bottom: 6rem;
  }
}

.low_mv {
  position: relative;
  overflow: hidden;
}
.low_mv img {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  animation: 5s zoom forwards;
}
.low_mv figcaption {
  bottom: 0.5rem;
  color: #fff;
  right: 1rem;
}

@keyframes zoom {
  from {
    scale: 1.3;
  }
  to {
    scale: 1;
  }
}
.c_lead {
  text-align: center;
  padding: 10rem 0 5.5rem;
}
.c_lead.b {
  padding-top: 14rem;
}
.c_lead.b .low_ttl {
  margin-bottom: 0.8em;
}
.c_lead .ttl {
  font-size: 6.4rem;
  letter-spacing: 0.12em;
  margin-bottom: 0.9em;
  line-height: 1;
}
.c_lead .ttl small {
  display: block;
  font-size: 0.375em;
  letter-spacing: 0.15em;
  margin-top: 0.5em;
}
.c_lead .ttl i {
  display: block;
  line-height: inherit;
}
@media screen and (max-width: 767px) {
  .c_lead .ttl {
    font-size: 5rem;
  }
}
.c_lead p {
  font-size: 1.7rem;
  letter-spacing: 0.15em;
  line-height: 2.35;
  margin-bottom: 0.9em;
}
.c_lead .catch {
  font-size: 3.6rem;
  letter-spacing: 0.15em;
  line-height: 1.66;
}
@media screen and (max-width: 767px) {
  .c_lead .catch {
    font-size: 2.8rem;
  }
}
.c_lead .catch small {
  display: block;
  font-size: 0.555em;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .c_lead .catch + p {
    text-align: left;
  }
}

.c_note {
  font-size: 1.2rem;
  line-height: 1.66;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .c_note {
    font-size: 1.4rem;
  }
}

.low_ttl {
  text-align: center;
  font-size: 4rem;
  letter-spacing: 0.12em;
  line-height: 1;
  position: relative;
  padding-bottom: 0.6em;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .low_ttl {
    font-size: 3.6rem;
  }
}
.low_ttl.w {
  color: #fff;
}
.low_ttl.w:before {
  border-color: #fff;
}
.low_ttl:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-bottom: solid 1px #221815;
  width: 2em;
  bottom: 0;
}

.c_mv img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c_mv img {
    height: 30rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.c_mv figcaption {
  right: 1rem;
  bottom: 0.5rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .img_scroll {
    overflow: scroll;
  }
  .img_scroll img {
    width: 200%;
    max-width: none;
  }
}/*# sourceMappingURL=common.css.map */





@media screen and (max-width: 767px) {
  .c_lead .catch.a {
    font-size: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .movie__kv {
    aspect-ratio: 1920/1080;
  }
}
@media screen and (max-width: 767px) {
  .movie__kv {
    width: 100%;
    height: 100vh;
  }
}

.movie__kv__video {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .movie__kv__video {
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.loc_bl{	  color: #231815;
  font-family: "Shippori Mincho", serif;}


.loc_lead {
	  color: #231815;
  font-family: "Shippori Mincho", serif;
  margin-bottom: 15rem;
  background: url(../imgs/location02/sec_bg01.jpg) no-repeat center top/192rem auto;
}
@media screen and (min-width: 1920px) {
  .loc_lead {
    background-position: 100% auto;
  }
}
@media screen and (max-width: 767px) {
  .loc_lead {
    background: url(../imgs/location02/sec_bg01.jpg) no-repeat center top/150rem auto;
  }
}
.loc_lead .c_lead_white {
  position: relative;
  background-color: #fff;
}
.loc_lead .c_lead_white p {
  position: relative;
  z-index: 2;
}
.loc_lead .c_lead_white::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 150%;
  height: 100%;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  background-color: #fff;
  z-index: 1;
}
.loc_lead .movie {
  border-radius: 1rem;
  aspect-ratio: 1280/720;
  position: relative;
  overflow: hidden;
}
.loc_lead .movie iframe,
.loc_lead .movie video {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
}
.loc_lead .btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.loc_lead .btn img {
  width: 13.1rem;
}
@media screen and (max-width: 767px) {
  .loc_lead .btn img {
    width: 7rem;
  }
}
.loc_lead .img1 {
  margin-bottom: 12rem;
}
.loc_lead .img2 {
  width: 144rem;
  margin: 12rem 0;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.loc_lead .img2 .bg {
  position: absolute;
  width: 110%;
  max-width: 110%;
  z-index: -1;
  left: 10%;
  top: 10%;
}
.loc_lead .img2 .a {
  width: 73rem;
  position: absolute;
  left: 0;
  top: 18rem;
}
.loc_lead .img2 .b {
  width: 51rem;
  margin-left: auto;
  margin-bottom: 11rem;
}
.loc_lead .img2 .c {
  width: 89rem;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .loc_lead .img2 {
    width: 100%;
  }
  .loc_lead .img2 figure {
    margin-top: 6rem;
  }
  .loc_lead .img2 .a {
    top: 6rem;
    left: -3rem;
    width: 28rem;
  }
  .loc_lead .img2 .b {
    width: 22rem;
    margin-right: -3rem;
  }
  .loc_lead .img2 .c {
    width: 32rem;
    margin-top: -4rem;
    margin-right: -3rem;
  }
}

.c_column {
  background: #e8edeb;
  border: solid 1px #00482f;
  padding: 2rem;
}
.c_column dl {
  padding: 0 4rem;
}
@media screen and (max-width: 767px) {
  .c_column dl {
    padding: 1rem 0 3rem;
  }
}
.c_column dt {
  font-size: 2.6rem;
  letter-spacing: 0.15em;
  margin-bottom: 1em;
  line-height: 1.84;
}
@media screen and (max-width: 767px) {
  .c_column dt {
    font-size: 2.2rem;
  }
}
.c_column dd {
	font-size: 12px;
  line-height: 1.875;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) {
  .c_column {
    padding-left: 0;
    display: flex;
    align-items: center;
  }
  .c_column dl {
    width: 72rem;
  }
  .c_column figure {
    width: 54rem;
  }
}

.loc_sec {
  background: url(../img/sec_bg02.png) no-repeat center top/192rem auto;
  margin-bottom: 15rem;
}
@media screen and (min-width: 1920px) {
  .loc_sec {
    background-position: 100% auto;
  }
}
@media screen and (max-width: 767px) {
  .loc_sec .list li {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .loc_sec .list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem 4rem;
    width: 104rem;
    margin: 0 auto;
  }
  .loc_sec .list li {
    width: calc(50% - 2rem);
  }
}
.loc_sec .list p {
	font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.12em;
  margin-top: 0.5em;
}
.loc_sec .list small {
  font-size: 1.3rem;
  letter-spacing: 0.12em;
}

.c_exp {
  box-shadow: 19.7px 15.392px 50px 0px rgba(0, 0, 0, 0.1);
  border: solid 1px #1c2a60;
}
.c_exp > dt {
  text-align: center;
  background: linear-gradient(180deg, #283b6f 0%, #283b6f 50%, #1c2a60 50%, #1c2a60 100%);
  color: #fff;
  cursor: pointer;
  padding: 1em 0;
  font-size: 2rem;
  letter-spacing: 0.15em;
  position: relative;
}
.c_exp > dt.open:after {
  transform: translateY(-50%) rotate(180deg);
}
.c_exp > dt:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  width: 1.9rem;
  height: 1rem;
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  margin-left: 0.5em;
}
.c_exp > dd {
  padding: 3rem 4rem 4.5rem;
}
@media screen and (max-width: 767px) {
  .c_exp > dd {
    padding: 3rem 2.5rem 4rem;
  }
}

.loc_green img {
  width: 100%;
}
.loc_green ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .loc_green ul {
    gap: 2.5rem 1rem;
  }
}
.loc_green li {
  width: calc(50% - 1rem);
}
@media screen and (max-width: 767px) {
  .loc_green li {
    width: calc(50% - 0.5rem);
  }
}
.loc_green li:nth-child(1) {
  width: 100%;
}
.loc_green li p {
  line-height: 1.3;
  letter-spacing: 0.12em;
  margin-top: 0.5em;
}
.loc_green li small {
  font-size: 1.3rem;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .loc_green .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .loc_green .row > figure {
    width: 64rem;
  }
  .loc_green ul {
    width: 60rem;
  }
}

.loc_shop {
  background-image: url(../img/sec_bg03.jpg);
}
@media screen and (min-width: 768px) {
  .loc_shop .img1 {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 144rem;
  }
  .loc_shop .row {
    display: flex;
    gap: 6rem;
  }
  .loc_shop .row > * {
    width: 50%;
  }
}
.loc_shop .img1 {
  margin-bottom: 16rem;
}
@media screen and (min-width: 768px) {
  .loc_shop .img1 figcaption {
    right: 1rem;
    bottom: 0.5rem;
  }
}
.loc_shop dd li {
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .loc_shop dd ul {
    -moz-column-count: 2;
         column-count: 2;
  }
  .loc_shop dd ul.a {
    -moz-column-count: 4;
         column-count: 4;
  }
}
@media screen and (max-width: 767px) {
  .loc_shop dd ul {
    -moz-column-count: 2;
         column-count: 2;
  }
}
.loc_shop .ttl {
  font-size: 3rem;
  letter-spacing: 0.05em;
  color: #c18280;
  line-height: 1;
  position: relative;
  margin: 1.3em 0 0.6em;
}
.loc_shop .ttl.a {
  margin-top: 0;
}
.loc_shop .ttl.b {
  color: #c5a363;
}
.loc_shop .ttl.b:before {
  border-color: #c5a363;
}
.loc_shop .ttl.c {
  color: #75abaf;
}
.loc_shop .ttl.c:before {
  border-color: #75abaf;
}
.loc_shop .ttl.d {
  color: #7389b0;
}
.loc_shop .ttl.d:before {
  border-color: #7389b0;
}
.loc_shop .ttl:before {
  content: "";
  position: absolute;
  border-bottom: solid 1px #c18280;
  width: 100%;
  bottom: 0.13em;
}
.loc_shop .ttl img {
  width: 1.666em;
  margin-right: 0.5em;
  vertical-align: 0em;
}
@media screen and (max-width: 767px) {
  .loc_shop .list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem 1rem;
  }
  .loc_shop .list li {
    width: calc(50% - 0.5rem);
  }
}

.loc_life .img {
  width: min(100%, 110rem);
  margin: 0 auto;
}

.loc_gurmet {
  background-image: url(../img/sec_bg04.jpg);
}
@media screen and (max-width: 767px) {
  .loc_gurmet .list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem 1rem;
  }
  .loc_gurmet .list li {
    width: calc(50% - 0.5rem);
  }
}

.loc_education {
  background-image: url(../img/sec_bg04.jpg);
}
.loc_education .rank {
  text-align: center;
  margin-bottom: 1.5rem;
}
.loc_education .rank img {
  width: 22rem;
}
@media screen and (max-width: 767px) {
  .loc_education .rank {
    display: flex;
  }
  .loc_education .rank p {
    margin-left: -50%;
    text-align: right;
  }
}
.loc_education .c_column {
  background: #eff0ed;
  border-color: #231815;
  margin-top: 9rem;
}

.loc_child {
  margin-bottom: 10rem;
}
.loc_child .ttl {
  text-align: center;
  font-size: 3.6rem;
  line-height: 1.66;
  margin: 12rem 0 5rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .loc_child .ttl {
    font-size: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .loc_child .c_exp > dd {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .loc_child dd dl {
    width: calc(33.33% - 2rem);
  }
}
@media screen and (max-width: 767px) {
  .loc_child dd dl + dl {
    margin-top: 2.5rem;
  }
}
.loc_child dd dt {
  text-align: center;
  font-size: 2.1rem;
  letter-spacing: 0.12em;
  padding: 0.3em 0;
  color: #fff;
  background: #5c4e0c;
}
.loc_child dd p {
	font-size: 12px;
  line-height: 1.875;
  letter-spacing: 0.15em;
  text-align: justify;
}
.loc_child dd p .marker {
  background: #f1d9b2;
}
.loc_child dd .catch {
  margin: 1em -1em 0.6em;
  white-space: nowrap;
  text-align: center;
  color: #5c4e0c;
  letter-spacing: 0.1em;
  font-size: 1.9rem;
  line-height: 1.5;
  height: 4em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loc_child dd .row {
  display: flex;
  align-items: flex-start;
}
.loc_child dd .row img {
  width: 13.1rem;
  margin-left: 0.5em;
}

.above_lifeinfo {
  margin-bottom: 10rem;
}

.loc_area {
  background: #1c2a60;
  color: #fff;
  padding: 14rem 0 17rem;
}
.loc_area ::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
}
.loc_area ::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0);
}
.loc_area ::-webkit-scrollbar-thumb {
  background: rgba(211, 237, 251, 0.302);
}
.loc_area .ttl {
  text-align: center;
  font-size: 4rem;
  letter-spacing: 0.12em;
  line-height: 1;
  margin-bottom: 1.3em;
}
.loc_area .wrap {
  margin-top: 4rem;
  border: solid 1px #b6b8b8;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .loc_area .wrap {
    margin-top: 3rem;
  }
}
.loc_area .tab {
  display: flex;
  gap: 0.4rem;
}
@media screen and (max-width: 767px) {
  .loc_area .tab {
    flex-wrap: wrap;
    gap: 0.3rem;
  }
}
.loc_area .tab li {
  border-bottom: solid 2px #c3c4c4;
  width: 20%;
}
@media screen and (max-width: 767px) {
  .loc_area .tab li {
    width: calc(33.33% - 0.2rem);
  }
  .loc_area .tab li:nth-child(n+4) {
    width: calc(50% - 0.15rem);
  }
}
.loc_area .tab a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: 0.06em;
  padding: 0 1.5em;
  height: 8rem;
  letter-spacing: 0.15em;
  white-space: nowrap;
  position: relative;
  background: rgba(211, 237, 251, 0.102);
}
.loc_area .tab a i {
  display: block;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .loc_area .tab a {
    font-size: 1.7rem;
  }
}
.loc_area .tab a:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  width: 1.11em;
  height: 0.2em;
  right: 0;
}
.loc_area .tab a.active {
  background: #0f1731;
  color: #fff;
}
.loc_area .tab a.active:before {
  background: #fff;
}
.loc_area .map {
  position: relative;
  height: 56rem;
  color: #000;
}
.loc_area .map > div {
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .loc_area .map {
    height: 50rem;
  }
}
.loc_area .box {
  display: none;
}
.loc_area .box.active {
  display: block;
}
.loc_area .list {
  height: 56rem;
  overflow-y: auto;
  padding: 2rem 3.5rem;
}
@media screen and (max-width: 767px) {
  .loc_area .list {
    height: auto;
    max-height: 30rem;
    padding: 1rem 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .loc_area .list {
    position: relative;
  }
}
.loc_area .list li + li {
  border-top: solid 1px rgba(211, 237, 251, 0.102);
}
.loc_area .list a {
  font-size: 1.7rem;
  position: relative;
  padding: 1.2em 0;
  letter-spacing: 0.1em;
  padding-left: 2.4em;
  display: block;
}
.loc_area .list i {
  background: #0f1731;
  border: solid 1px #fff;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  letter-spacing: 0;
  width: 1.44em;
  height: 1.44em;
  line-height: 1.2;
  font-size: 1.05em;
  position: absolute;
  left: 0;
}
.loc_area .list span {
  display: block;
  padding-right: 0.5em;
}
.loc_area .list small {
  font-size: 0.76em;
  display: block;
  margin-top: 0.5em;
}
.loc_area .row {
  border: solid 1px rgba(211, 237, 251, 0.102);
  border-top: none;
}
@media screen and (min-width: 768px) {
  .loc_area .row {
    display: flex;
  }
  .loc_area .box {
    width: calc(100% - 80rem);
  }
  .loc_area .map {
    width: 80rem;
  }
}/*# sourceMappingURL=style.css.map */

