@charset "utf-8";
/* location */

.page_sec01 {
  padding: 135px 0 0;
}

.page_sec01__ttl01 {
  text-align: center;
  font-size: 34px;
  letter-spacing: .1em;
  line-height: 1.8;
  color: #754c24;
}

.page_sec01__txt01 {
  text-align: center;
  font-size: 21px;
  line-height: 2.5;
  margin-top: 2em;
}

.location_map01 {
  width: clamp(300px, 90%, 1356px);
  margin-inline: auto;
  margin-top: 60px;
}

.page_sec02 {
  position: relative;
  padding: 100px 0 100px;
  background: url(../../img/02location/amenity_bg01.jpg) no-repeat top center;
  background-size: cover;
  margin-top: 60px;
}

.amenity_sec02 {
  position: relative;
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  gap: 8%;
}
.amenity_sec02__left {
  flex: 1;
  position: relative;
}

.amenity_sec02__ttl01 {
  display: inline-block;
  font-family: garamond, serif;
  font-size: clamp(100px, 9vw, 154px);
  line-height: 0.85;
  letter-spacing: .08em;
  color: #65421f;
  margin: -.2em 0 0 -9%;
}

.amenity_sec02__txt01 {
  font-size: 34px;
  letter-spacing: .1em;
  margin-top: 2em;
}

.amenity_sec02__txt02 {
  font-size: 21px;
  line-height: 2;
  letter-spacing: .1em;
  margin-top: 1.5em;
}

.amenity_sec02__right{
  width: 53%;
  box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.4);
}

.page_sec03 {
  padding: 135px 0 0;
}

.access_sec01__txt01 {
  text-align: center;
  font-size: 21px;
  line-height: 2.5;
  margin-top: 2em;
}

.access_sec03__ttl01_en{
  font-family: garamond, serif;
  text-align: center;
  font-size: 35px;
  letter-spacing: .1em;
  color: #754c24;
}

.access_sec03__ttl01{
  text-align: center;
  font-size: 35px;
  letter-spacing: .07em;
  margin-top: 1em;
}

.shopping_sec02 {
  position: relative;
  padding: 100px 0 100px;
  background: url(../../img/02location/amenity_bg02.jpg) no-repeat top center;
  background-size: cover;
}

.shopping_sec02_in {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  display: flex;
  gap: 5%;
}

.shopping_sec02_in__left {
  flex: 1;
  position: relative;
}

.shopping_sec02_in__ttl01 {
  font-size: 34px;
  letter-spacing: .1em;
  line-height: 1.4;
  padding: .5em 0 0 .8em;
  position: relative;
  background: url(../../img/02location/shopping_path.png) no-repeat top left;
  background-size: 11.8em;
  background-blend-mode: multiply;
}


.shopping_sec02_in__txt01 {
  font-size: 21px;
  line-height: 2;
  margin-top: 1.5em;
}

.shopping_sec02_in__right {
  width: 53%;
  margin-top: -180px;
}

.page_sec04 {
  padding: 185px 0 0;
}

.cafe_list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 75px;
}

.cafe_list_item {
  width: calc(100% / 3);
  position: relative;
}

.cafe_list_caption {
  width: 66em;
  display: flex;
  flex-wrap: wrap;
  gap: .5em 1em;
  margin: 1em 10px 0 auto;
}
.cafe_list_caption li {
  font-size: 12px;
}
.c-number {
  display: inline-block;
  color: #fff;
  background: #5a5959;
  font-size: .9em;
  padding: .08em .5em .2em;
  margin-right: .5em;
}

/* Park Life. */
.page_sec05 {
  position: relative;
  padding: 280px 0 130px;
  background: url(../../img/02location/parklife_bg01.jpg) no-repeat top center;
  background-size: cover;
  margin-top: 200px;
}
.park_sec05__ttl01 {
  position: absolute;
  top: 60px;
  left: 5%;
  display: inline-block;
  font-family: garamond, serif;
  font-size: clamp(100px, 9vw, 154px);
  line-height: 0.85;
  letter-spacing: .08em;
  color: #65421f;
}

.park_sec05_contents01 {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  display: flex;
  gap: 12.4%;
}

.park_sec05_contents01_in__left {
  width: 54.2%;
  position: relative;
}

.park_sec05_contents01_in__ttl01 {
  font-size: clamp(20px, 2.2vw, 34px);
  letter-spacing: .07em;
  margin-bottom: .8em;
  padding: 130px 0 0 30%;
}

.park_sec05_contents01_in__txt01 {
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 2;
  margin-top: .5em;
}

.park_sec05_contents01_in__left .park_sec05_contents01_in__txt01 {
  padding-left: 30%;
}

.parklife_t01 {
  margin-top: 60px;
}

.park_sec05_contents01_in__right {
  width: 33.4%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.park_sec05_contents01_in__left_img {
  position: relative;
  z-index: -1;
  margin-top: -60px;
}

.park_sec05_img_inner {
  /* margin-top: -20px; */
  margin-left: -20%;
}

.park_sec05_contents01_in__txt02 {
  margin-top: 20px;
}

.c-bike {
  width: 53%;
  position: absolute;
  bottom: -50px;
  right: -13%;
}

/* スポーツランドセクション */
.park_sec05_contents02 {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  display: flex;
  gap: 7.4%;
  margin-top: 170px;
}

.park_sec05_contents02_left {
  position: relative;
  width: 31.4%;
}

.park_sec05_contents02_left_img {
  /* width: 31.4%; */
  margin-left: -20%;
}

.park_sec05_contents02_right {
  width: 61.2%;
}

.park_sec05_contents02_in__ttl01 {
}

.park_sec05_contents02_col {
  display: flex;
  gap: 5%;
  margin-top: 40px;
}

.park_sec05_contents02_col_item {
  flex: 1;
}

.park_sec05_contents02_col_item__img {
  position: relative;
}

.park_sec05_contents02_col_item__txt {
}

.park_sec05_contents02_col_item__ttl01 {
  font-size: 27px;
  margin-top: 10px;
}

.park_sec05_contents02_col_item__txt01 {
  font-size: 16px;
  text-align: justify;
  margin-top: 10px;
}


.park_sec05_contents03 {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  background: url(../../img/02location/parklife_bg02.jpg) no-repeat top center;
  background-size: cover;
  border: 1px solid #c8af8e;
  padding: 90px 5%;
  margin-top: 100px;
}

.park_sec05_contents03__ttl01 {
  text-align: center;
  font-size: 35px;
  letter-spacing: .07em;
}

.park_sec05_contents03__txt01 {
  text-align: center;
  font-size: 21px;
  line-height: 2;
  margin-top: 1.5em;
}

.park_sec05_events {
  display: flex;
  margin-top: 40px;
  gap: 40px 4.4%;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.park_sec05_events_item {
  position: relative;
  width: calc((100% - 4.4%) / 2);
}

.park_sec05_events_item:nth-child(1) {
  z-index: 3;
}
.park_sec05_events_item:nth-child(2) {
  z-index: 2;
}
.park_sec05_events_item:nth-child(3) {
  z-index: 1;
}

.toggle {
    display: none;
}
.park_sec05_events_item__ttl01 {
  padding: 20px 0 20px 40px;
  display: block;
  font-size: 28px;
  color: #fff;
  background: radial-gradient(circle,rgba(185,163,136,1) 0%, rgba(144,125,100,1)100%);
}
.Label,
.acc_ans {
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

.Label:hover {
  cursor: pointer;
  filter: brightness(0.9);
}


.Label::after {
  content: "";
  width: 38px;
  height: 38px;
  background: url("../../img/02location/faq_icon01.svg") no-repeat;
  background-size: 38px 38px;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translate(0, -50%);
}

.acc_ans {
  position: absolute;
  top: 90px;
  left: 0;
  height: 0;
  overflow: hidden;
  text-align: justify;
  background: #fff;
  box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2);
}

.toggle:checked+.Label+.acc_ans {
  height: auto;
  transition: all .3s;
  box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.2);
}

.toggle:checked+.Label::after {
  background: url("../../img/02location/faq_icon02.svg") no-repeat;
  background-size: 38px 38px;
}

.c-inner {
  padding: 38px 7%;
}
.events_item_img {
  position: relative;
}

.events_item_txt01 {
  font-size: 13px;
  margin-top: 13px;
}

.events_item_txt02 {
  font-size: 16px;
  margin-top: 13px;
}

/* Childcare Life.. */
.page_sec06 {
  position: relative;
  padding: 100px 0 0;
  background: url(../../img/02location/childcare_bg01.jpg) no-repeat top center;
  background-size: cover;
  margin-top: 135px;
  z-index: -1;
}

.park_sec06__ttl01 {
  position: absolute;
  top: 60px;
  left: 5%;
  display: inline-block;
  font-family: garamond, serif;
  font-size: clamp(100px, 9vw, 154px);
  line-height: 0.85;
  letter-spacing: .08em;
  color: #65421f;
}

.park_sec06 {
  position: relative;
  padding: 100px 0 100px;
  background: url(../../img/02location/amenity_bg02.jpg) no-repeat top center;
  background-size: cover;
}

.park_sec06_in {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  display: flex;
  gap: 3%;
  padding: 14em 0 10em;
}

.park_sec06_in__left {
  flex: 1;
  position: relative;
}

.park_sec06_in__ttl01 {
  font-size: 34px;
  letter-spacing: .1em;
  line-height: 1.4;
  position: relative;
}


.park_sec06_in__txt01 {
  font-size: 21px;
  line-height: 2;
  margin-top: 1.5em;
}

.park_sec06_in__right {
  width: 47%;
  margin-top: -202px;
}

.park_sec06_in__right_img {
  margin-right: -19%;
  position: relative;
  z-index: -1;
}

.school_list {
  position: relative;
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  display: flex;
  gap: 6.8%;
  margin-top: 60px;
}

.school_list_item__ttl img {
  width: 100%;
  height: auto;
  margin: 1em 0;
}

@media (max-width: 800px) {
  .page_sec01 {
    padding: 70px 0 0;
  }

  .page_sec01__ttl01 {
    font-size: 18px;
    text-align: center;
    margin-inline: auto;
  }

  .page_sec01__txt01 {
    text-align: center;
    font-size: 13px;
    line-height: 2;
    margin-top: 2em;
    letter-spacing: -.1em;
  }

  .location_map01 {
    width: 100%;
    margin-inline: auto;
    margin-top: 30px;
  }

  .page_sec02 {
    position: relative;
    padding: 40px 0 70px;
    background: url(../../img/02location/amenity_bg01.jpg) no-repeat top center;
    background-size: cover;
    margin-top: 40px;
  }

  .amenity_sec02 {
    position: relative;
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-direction: column;
  }
  .amenity_sec02__left {
    flex: 1;
    position: relative;
  }

  .amenity_sec02__ttl01 {
    display: inline-block;
    font-family: garamond, serif;
    font-size: clamp(50px, 18vw, 70px);
    line-height: 0.85;
    letter-spacing: .08em;
    color: #65421f;
    margin: 0 0 0 0;
  }

  .amenity_sec02__txt01 {
    font-size: 18px;
    letter-spacing: .1em;
    margin-top: 2em;
  }

  .amenity_sec02__txt02 {
    font-size: 13px;
    line-height: 2;
    letter-spacing: .1em;
    margin-top: 1.5em;
  }

  .amenity_sec02__right{
    width: 100%;
    box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.4);
  }

  .page_sec03 {
    padding: 70px 0 0;
  }

  .access_sec01__txt01 {
    text-align: center;
    font-size: 13px;
    line-height: 2;
    margin-top: 2em;
    letter-spacing: -.1em;
  }

  .access_sec03__ttl01_en{
    font-family: garamond, serif;
    text-align: center;
    font-size: 21px;
    letter-spacing: .1em;
    color: #754c24;
  }

  .access_sec03__ttl01{
    text-align: center;
    font-size: 18px;
    letter-spacing: .07em;
    margin-top: 1em;
  }

  .shopping_sec02 {
    position: relative;
    padding: 100px 0 70px;
    background: url(../../img/02location/amenity_bg02.jpg) no-repeat top center;
    background-size: cover;
  }

  .shopping_sec02_in {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    display: flex;
    gap: 5%;
    flex-direction: column-reverse;
  }

  .shopping_sec02_in__left {
    flex: 1;
    position: relative;
  }

  .shopping_sec02_in__ttl01 {
    font-size: 21px;
    letter-spacing: .1em;
    line-height: 1.4;
    padding: .5em 0 0 .8em;
    position: relative;
    background: url(../../img/02location/shopping_path.png) no-repeat top left;
    background-size: 11.8em;
    background-blend-mode: multiply;
    margin-top: 1.5em;
  }


  .shopping_sec02_in__txt01 {
    font-size: 13px;
    line-height: 2;
    margin-top: 1.5em;
  }

  .shopping_sec02_in__txt02 {
    margin-top: 1.5em
  }

  .shopping_sec02_in__right {
    width: 100%;
    margin-top: -220px;
  }

  .page_sec04 {
    padding: 70px 0 0;
  }

  .cafe_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
  }

  .cafe_list_item {
    width: calc(100% / 2);
    position: relative;
  }

  .cafe_list_caption {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: .5em 1em;
    margin: .7em 10px 0;
  }
  .cafe_list_caption li {
    font-size: 11px;
    padding-left: 2em;
    text-indent: -2em;
  }
  .c-number {
    display: inline-block;
    color: #fff;
    background: #5a5959;
    font-size: .9em;
    padding: .08em .5em .2em;
    margin-right: .5em;
    text-indent: 0;
  }

  /* Park Life. */
  .page_sec05 {
    position: relative;
    padding: 140px 0 70px;
    background: url(../../img/02location/parklife_bg01_sp.jpg) no-repeat top center;
    background-size: 100%;
    background-color: #d7ebe3;
    margin-top: 70px;
  }
  .park_sec05__ttl01 {
    position: absolute;
    top: 40px;
    left: 5%;
    display: inline-block;
    font-family: garamond, serif;
    font-size: clamp(50px, 18vw, 70px);
    line-height: 0.85;
    letter-spacing: .08em;
    color: #65421f;
  }

  .park_sec05_contents01 {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    display: flex;
    gap: 12.4%;
    flex-direction: column;
  }

  .park_sec05_contents01_in__left {
    width: 100%;
    position: relative;
  }

  .park_sec05_contents01_in__ttl01 {
    font-size: 18px;
    letter-spacing: .07em;
    margin-bottom: .8em;
    padding: initial;
  }

  .park_sec05_contents01_in__txt01 {
    font-size: 13px;
    line-height: 2;
    margin-top: .5em;
    letter-spacing: -.07em;
  }

  .park_sec05_contents01_in__left .park_sec05_contents01_in__txt01 {
    padding-left: initial;
  }

  .parklife_t01 {
    margin-top: 40px;
    width: 60%;
  }

  .park_sec05_contents01_in__right {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 18px;
    margin-top: 170px;
  }

  .park_sec05_contents01_in__left_img {
    position: relative;
    z-index: -1;
    margin-top: -60px;
  }

  .park_sec05_img_inner {
    /* margin-top: -20px; */
    margin-left: -6%;
    margin-right: -6%;
  }

  .park_sec05_contents01_in__txt02 {
    margin-top: 10px;
  }

  .c-bike {
    width: 83%;
    position: absolute;
    bottom: -130px;
    right: -6%;
  }

  /* スポーツランドセクション */
  .park_sec05_contents02 {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    display: flex;
    gap: 20px;
    margin-top: 70px;
    flex-direction: column;
  }

  .park_sec05_contents02_left {
    position: relative;
    width: 100%;
  }

  .park_sec05_contents02_left_img {
    /* width: 31.4%; */
    margin-left: 0;
    margin-right: 0;
  }

  .park_sec05_contents02_right {
    width: 100%;
  }

  .park_sec05_contents02_in__ttl01 {
  }

  .park_sec05_contents02_col {
    display: flex;
    gap: 40px;
    margin-top: 40px;
    flex-direction: column;
  }

  .park_sec05_contents02_col_item {
    flex: 1;
    display: flex;
    gap: 4%;
  }

  .park_sec05_contents02_col_item__img {
    position: relative;
    width: 43%;
  }

  .park_sec05_contents02_col_item__txt {
  flex: 1;
  }

  .park_sec05_contents02_col_item__ttl01 {
    font-size: 16px;
    margin-top: -.2em;
  }

  .park_sec05_contents02_col_item__txt01 {
    font-size: 12px;
    text-align: justify;
    margin-top: 7px;
    line-height: 1.5;
  }


  .park_sec05_contents03 {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    background: url(../../img/02location/parklife_bg02.jpg) no-repeat top center;
    background-size: cover;
    border: 1px solid #c8af8e;
    padding: 40px 5%;
    margin-top: 70px;
  }

  .park_sec05_contents03__ttl01 {
    text-align: center;
    font-size: 18px;
    letter-spacing: .07em;
  }

  .park_sec05_contents03__txt01 {
    text-align: center;
    font-size: 13px;
    line-height: 2;
    margin-top: 1.5em;
  }

  .park_sec05_events {
    display: flex;
    margin-top: 30px;
    gap: 10px 4.4%;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
    flex-direction: column;
  }

  .park_sec05_events_item {
    position: relative;
    width: 100%;
  }

  .park_sec05_events_item:nth-child(1) {
    z-index: 3;
  }
  .park_sec05_events_item:nth-child(2) {
    z-index: 2;
  }
  .park_sec05_events_item:nth-child(3) {
    z-index: 1;
  }

  .toggle {
      display: none;
  }
  .park_sec05_events_item__ttl01 {
    padding: 12px 0 12px 20px;
    display: block;
    font-size: 17px;
    color: #fff;
    background: radial-gradient(circle,rgba(185,163,136,1) 0%, rgba(144,125,100,1)100%);
  }
  .Label,
  .acc_ans {
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }

  .Label:hover {
    cursor: pointer;
    filter: brightness(0.9);
  }


  .Label::after {
    content: "";
    width: 18px;
    height: 18px;
    background: url("../../img/02location/faq_icon01.svg") no-repeat;
    background-size: 18px 18px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(0, -50%);
  }

  .acc_ans {
    position: absolute;
    top: 10px;
    left: 0;
    height: 0;
    overflow: hidden;
    text-align: justify;
    background: #fff;
    box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2);
    margin-bottom: 20px;
  }

  .toggle:checked+.Label+.acc_ans {
    position: relative;
    height: auto;
    transition: all .3s;
    box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.2);
  }

  .toggle:checked+.Label::after {
    background: url("../../img/02location/faq_icon02.svg") no-repeat;
    background-size: 18px 18px;
  }

  .c-inner {
    padding: 38px 7%;
  }
  .events_item_img {
    position: relative;
  }

  .events_item_txt01 {
    font-size: 13px;
    margin-top: 13px;
  }

  .events_item_txt02 {
    font-size: 16px;
    margin-top: 13px;
  }

  /* Childcare Life.. */
  .page_sec06 {
    position: relative;
    padding: 70px 0 0;
    background: url(../../img/02location/childcare_bg01.jpg) no-repeat top center;
    background-size: cover;
    margin-top: 70px;
    z-index: -1;
  }

  .park_sec06__ttl01 {
    position: absolute;
    top: 60px;
    left: 5%;
    display: inline-block;
    font-family: garamond, serif;
    font-size: clamp(50px, 18vw, 70px);
    line-height: 0.85;
    letter-spacing: .08em;
    color: #65421f;
  }

  .park_sec06 {
    position: relative;
    padding: 100px 0 100px;
    background: url(../../img/02location/amenity_bg02.jpg) no-repeat top center;
    background-size: cover;
  }

  .park_sec06_in {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    display: flex;
    gap: 40px 3%;
    padding: 10em 0 4em;
    flex-direction: column;
  }

  .park_sec06_in__left {
    flex: 1;
    position: relative;
  }

  .park_sec06_in__ttl01 {
    font-size: 18px;
    letter-spacing: .1em;
    line-height: 1.4;
    position: relative;
  }


  .park_sec06_in__txt01 {
    font-size: 13px;
    line-height: 2;
    margin-top: 1.5em;
  }

  .park_sec06_in__right {
    width: 100%;
    margin-top: 0;
  }

  .park_sec06_in__right_img {
    margin-right: -6%;
    margin-left: -6%;
    position: relative;
    z-index: -1;
  }

  .school_list {
    position: relative;
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    display: flex;
    gap: 40px;
    margin-top: 40px;
    flex-direction: column;
  }

  .school_list_item__ttl img {
    width: 100%;
    height: auto;
    margin: 1em 0;
  }

  .school_list_item__txt01 {
    font-size: 13px;
  }

}


.shopping_sec01 {
  position: relative;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, rgb(47 63 60) 20%);
  padding-bottom: 160px;
  margin-top: 40px;
}

.point_ttl01 {
  font-size: clamp(14px, 6vw, 19px);
  letter-spacing: .05em;
  margin-top: .7em;
  margin-bottom: .7em;
  color: #bca788;
}

.shopping-contents {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  /* margin-top: 100px; */
}
.shopping-contents .swiper {
  overflow: visible;
}
.shopping-contents .swiper-slide {
  width: max-content;
}
.shopping-contents .slide {
  overflow: hidden;
  width: 42.4rem;
}
.slide-media {
  position: relative;
}
.top_point_ttl01 {
  font-size: clamp(14px, 22vw, 28px);
  letter-spacing: .1em;
  margin-top: .7em;
  color: #754c24;
}
.top_point_txt01 {
  font-size: clamp(14px, 13vw, 20px);
  letter-spacing: .1em;
  line-height: 1.7;
  margin-top: .7em;
}
.top_point_txt02 {
  margin-top: .7em;
}

.shopping-contents .swiper-controller {
  display: flex;
  gap: 2rem;
  align-items: center;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 2rem;
  width: 100%;
  /* gap: 30px; */
}

.shopping-contents .swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  justify-content: space-between;
  margin: 0 auto 0 0;
  text-align: center;
}

.shopping-contents .swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  vertical-align: top;
}

.shopping-contents .swiper-pagination-bullet-active {
  width: 4rem;
}

.shopping-contents .swiper-button-prev,
.shopping-contents .swiper-button-next {
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin: 0;
  /* margin-left: auto; */
}

.shopping-contents .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5;
}

.swiper-button-prev,
.swiper-button-next {
  display: grid;
  place-content: center;
  width: 4.3rem;
  height: 4.3rem;
  cursor: pointer;
  right: initial;
}

.swiper-button-prev::before,
.swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  /* border-radius: 50%; */
  background: #ffffff;
  border: .5px solid #724b2e;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  width: 1rem;
  height: 1rem;
  content: "";
  border: solid #724b2e;
  border-width: 1px 1px 0 0;
}

.swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}


/* school-contents */
.school_sec04 {
  position: relative;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 15%, rgb(47 63 60) 15%);
  padding-bottom: 110px;
  margin-top: 75px;
}

.school-contents {
  width: clamp(300px, 90%, 1600px);
  margin-inline: auto;
}

.school-contents .swiper-controller {
  display: none;
}
.school-contents .swiper-wrapper {
  gap: 4.5%;
}
.school-contents .swiper-slide {
  width: calc((100% - 9%) / 3);
}

.school-contents .point_txt01 {
  margin-top: 1.5em;
}
/* school_sec05 */

.school_sec05 {
  margin-top: 170px;
}

.school_sec05_list {
  position: relative;
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  display: flex;
  gap: 3.9%;
  margin-top: 60px;
}

.school_sec05_list_item {
  width: calc((100% - 7.8%)/ 3);
  position: relative;
}

.school_sec05_list_item .point_txt01 {
  margin-top: 1.5em;
}

@media (max-width: 800px) {
  .shopping_sec01 {
    position: relative;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, rgb(47 63 60) 20%);
    padding-bottom: 140px;
    margin-top: 50px;
  }

  .point_ttl01 {
    font-size: clamp(14px, 6vw, 19px);
    letter-spacing: .05em;
    margin-top: .7em;
    margin-bottom: .7em;
    color: #bca788;
  }

  .shopping-contents {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    /* margin-top: 100px; */
  }
  .shopping-contents .swiper {
    overflow: visible;
  }
  .shopping-contents .swiper-slide {
    width: max-content;
  }
  .shopping-contents .slide,
  .school-contents .slide {
    overflow: hidden;
    width: 90vw;
  }
  .slide-media {
    position: relative;
  }
  .top_point_ttl01 {
    font-size: clamp(14px, 22vw, 28px);
    letter-spacing: .1em;
    margin-top: .7em;
    color: #754c24;
  }
  .top_point_txt01 {
    font-size: clamp(14px, 13vw, 20px);
    letter-spacing: .1em;
    line-height: 1.7;
    margin-top: .7em;
  }
  .top_point_txt02 {
    margin-top: .7em;
  }

  .shopping-contents .swiper-controller,
  .school-contents .swiper-controller {
    display: flex;
    gap: 2.5rem;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-bottom: 1.5rem;
    width: 100%;
    /* gap: 30px; */
  }

  .shopping-contents .swiper-pagination,
  .school-contents .swiper-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem 0.8rem;
    justify-content: space-between;
    margin: 0 auto 0 0;
    text-align: center;
  }

  .shopping-contents .swiper-pagination-bullet,
  .school-contents .swiper-pagination-bullet {
    width: 1.6rem;
    height: 3px;
    cursor: pointer;
    vertical-align: top;
  }

  .shopping-contents .swiper-pagination-bullet-active,
  .school-contents .swiper-pagination-bullet-active {
    width: 4rem;
  }

  .shopping-contents .swiper-button-prev,
  .shopping-contents .swiper-button-next,
  .school-contents .swiper-button-prev,
  .school-contents .swiper-button-next {
    position: relative;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0;
    /* margin-left: auto; */
  }

  .shopping-contents .swiper-button-prev,
  .shopping-contents .swiper-button-next,
  .school-contents .swiper-button-prev,
  .school-contents .swiper-button-next {
    position: relative;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0;
    /* margin-left: auto; */
  }

  .shopping-contents .swiper-button-disabled,
  .school-contents .swiper-button-disabled {
    pointer-events: none;
    opacity: 0.5;
  }

  .swiper-button-prev,
  .swiper-button-next {
    display: grid;
    place-content: center;
    width: 2.6rem;
    height: 2.6rem;
    cursor: pointer;
    right: initial;
  }

  .swiper-button-prev::before,
  .swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    /* border-radius: 50%; */
    background: #ffffff;
    border: .5px solid #724b2e;
  }

  .swiper-button-prev::after,
  .swiper-button-next::after {
    width: .7rem;
    height: .7rem;
    content: "";
    border: solid #724b2e;
    border-width: 1px 1px 0 0;
  }

  .swiper-button-prev::after {
    margin-left: 0.4rem;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }

  .swiper-button-next::after {
    margin-right: 0.4rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
  }


  /* school-contents */
  .school_sec04 {
    position: relative;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 25%, rgb(47 63 60) 25%);
    padding-bottom: 60px;
    margin-top: 55px;
  }

  .school-contents {
    width: clamp(300px, 90%, 1600px);
    margin-inline: auto;
  }

  .school-contents .swiper-slide {
    width: initial;
  }

  /* school_sec05 */

  .school_sec05 {
    margin-top: 70px;
  }

  .school_sec05_list {
    position: relative;
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    display: flex;
    gap: 20px 3.9%;
    margin-top: 30px;
    flex-wrap: wrap;
  }

  .school_sec05_list_item {
    width: calc((100% - 3.9%)/ 2);
    position: relative;
  }

  .school_sec05_list_item .point_txt01 {
    margin-top: 1em;
  }
}

/* info_sec01 */
.info_sec01 {
  position: relative;
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  margin-top: 135px;
}


.tab__content_wrap {
  margin-top: 50px;
}

.tab__btn {
  display: flex;
  gap: 1.5%;
  margin-bottom: 40px;
}

.tab__name {
  width: calc(calc(100% - 4.5%) / 4);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 53px;
  font-size: 18px;
  background: #fff;
  border: .5px solid #3c4f4c;
  cursor: pointer;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.tab__name.is-active,
.tab__name:hover {
  background: #3c4f4c;
  border: .5px solid #3c4f4c;
  color: #fff;
}

/* ////////////////////////// */
/* タグボタン表示切り替え */
/* ////////////////////////// */
.tab__name.is-active {
  opacity: 1;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

/* ////////////////////////// */
/* タグ内容表示切り替え */
/* ////////////////////////// */
.tab__content {
  display: none;
  animation-name: displayAnime;
  animation-duration: 2s;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.tab__content.is-show {
  display: block;
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.tab__content-inner {
  display: flex;
  gap: .1%;
}

.lifeinfo__map {
  width: 73.7%;
}

.lifeinfo__txt {
  width: 26.3%;
  aspect-ratio: 93 / 209;
  background: #e7e7e7;
  overflow-y: auto;
}

@media (max-width: 800px) {

  /* info_sec01 */
  .info_sec01 {
    margin-top: 70px;
  }

  .tab__content_wrap {
    width: 100%;
    margin-inline: auto;
    margin-top: 20px;
  }

  .tab__btn {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
    flex-wrap: wrap;
  }

  .tab__name {
    width: calc(calc(100% - 10px) / 2);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.5em;
    font-size: 13px;
  }

  .tab__content-inner {
    display: flex;
    gap: 0;
    flex-direction: column;
  }

  .lifeinfo__map {
    width: 100%;
  }

  .lifeinfo__txt {
    width: 100%;
    height: auto;
    aspect-ratio: initial;
  }

}


.page_sec_safe-life {
  position: relative;
  padding: 135px 0 135px;
  background: url(../../img/02location/safelife_03.jpg) no-repeat top center;
  background-size: cover;
  color: #fff;
  margin-top: 235px;
}

.page_sec_safe-life .access_sec03__ttl01_en {
  color: #fff;
}

.safe-life_sec01 {
  position: relative;
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  display: flex;
  margin-top: 80px;
}

.safe-life_sec01_item {
  width: 50%;
  position: relative;
  padding-right: 3.5%;
  border-right: .5px solid #a7a7a7;
}

.safe-life_sec01_item:last-child {
  border-right: none;
  padding-right: 0;
  padding-left: 3.5%;
}

.safe-life_sec01_01 {
  min-height: 19em;
}

.safe-life_sec01_in__ttl01 {
  text-align: center;
  font-size: 31px;
  letter-spacing: .1em;
  padding: .4em 0;
  color: #fff;
  background: rgb(0 0 0 / 72%);
}

.safe-life_sec01_in__txt01 {
  text-align: center;
  font-size: 34px;
}

.safe-life_sec01_in__txt02 {
  text-align: center;
  line-height: 2.5;
}

.safe-life_sec01_item:nth-child(1) .safe-life_sec01_in__txt01 {
  padding: 1.4em 0 .9em;
}

.safe-life_sec01_item:nth-child(2) .safe-life_sec01_in__txt01 {
  padding: 0.7em 0 .1em;
}

.safe-life_notes {
  width: clamp(300px, 90%, 1400px);
  margin-inline: auto;
  margin-top: 2em;
  font-size: 11px;
  text-align: right;
}


@media (max-width: 800px) {
  .page_sec_safe-life {
    position: relative;
    padding: 80px 0 80px;
    background: url(../../img/02location/safelife_03_sp.jpg) no-repeat top center;
    background-size: cover;
    color: #fff;
    margin-top: 100px;
  }

  .safe-life_sec01 {
    position: relative;
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    display: flex;
    margin-top: 70px;
    flex-direction: column;
    gap: 60px;
  }

  .safe-life_sec01_item {
    width: 100%;
    position: relative;
    padding-right: 0;
    border-right: none;
  }

  .safe-life_sec01_item:last-child {
    border-right: none;
    padding-right: 0;
    padding-left: 0;
  }

  .safe-life_sec01_01 {
    min-height: initial;
  }

  .safe-life_sec01_in__ttl01 {
    text-align: center;
    font-size: 16px;
    letter-spacing: .1em;
    padding: .4em 0;
    color: #fff;
    background: rgb(0 0 0 / 72%);
  }

  .safe-life_sec01_in__txt01 {
    text-align: center;
    font-size: 18px;
  }

  .safe-life_sec01_in__txt02 {
    font-size: 13px;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 2em;
  }

  .safe-life_sec01_item:nth-child(1) .safe-life_sec01_in__txt01 {
    padding: 1em 0 1em;
  }

  .safe-life_sec01_item:nth-child(2) .safe-life_sec01_in__txt01 {
    padding: 1em 0;
  }

  .safe-life_notes {
    width: clamp(300px, 90%, 1400px);
    margin-inline: auto;
    margin-top: 2em;
    font-size: 10px;
    text-align: justify;
  }

}