@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  list-style-type: none;
  border: none;
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

a:link {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

img {
  display: block;
  border: none;
  -webkit-backface-visibility: hidden; /*クロームの画像ぼけ防止*/
  image-rendering: -webkit-optimize-contrast; /*クロームの画像ぼけ防止*/
}

.mgn_10 {
  margin: 0 0 10px 0 !important;
}

.mgn_20 {
  margin: 0 0 20px 0 !important;
}

.mgn_30 {
  margin: 0 0 30px 0 !important;
}

.mgn_40 {
  margin: 0 0 40px 0 !important;
}
@media screen and (max-width: 768px) {
  .mgn_40 {
    margin: 0 0 20px 0 !important;
  }
}

.mgn_50 {
  margin: 0 0 50px 0 !important;
}
@media screen and (max-width: 768px) {
  .mgn_50 {
    margin: 0 0 25px 0 !important;
  }
}

.mgn_60 {
  margin: 0 0 60px 0 !important;
}
@media screen and (max-width: 768px) {
  .mgn_60 {
    margin: 0 0 30px 0 !important;
  }
}

.mgn_70 {
  margin: 0 0 70px 0 !important;
}
@media screen and (max-width: 768px) {
  .mgn_70 {
    margin: 0 0 30px 0 !important;
  }
}

.mgn_80 {
  margin: 0 0 80px 0 !important;
}
@media screen and (max-width: 768px) {
  .mgn_80 {
    margin: 0 0 40px 0 !important;
  }
}

.mgn_90 {
  margin: 0 0 90px 0 !important;
}
@media screen and (max-width: 768px) {
  .mgn_90 {
    margin: 0 0 50px 0 !important;
  }
}

.mgn_100 {
  margin: 0 0 100px 0 !important;
}
@media screen and (max-width: 768px) {
  .mgn_100 {
    margin: 0 0 50px 0 !important;
  }
}

.mgn_auto_10 {
  margin: 0 auto 10px auto !important;
}

.mgn_auto_20 {
  margin: 0 auto 20px auto !important;
}

.mgn_auto_30 {
  margin: 0 auto 30px auto !important;
}

.mgn_auto_40 {
  margin: 0 auto 40px auto !important;
}
@media screen and (max-width: 768px) {
  .mgn_auto_40 {
    margin: 0 auto 20px auto !important;
  }
}

.mgn_auto_50 {
  margin: 0 auto 50px auto !important;
}
@media screen and (max-width: 768px) {
  .mgn_auto_50 {
    margin: 0 auto 20px auto !important;
  }
}

.mgn_auto_60 {
  margin: 0 auto 60px auto !important;
}
@media screen and (max-width: 768px) {
  .mgn_auto_60 {
    margin: 0 auto 30px auto !important;
  }
}

.mgn_auto_70 {
  margin: 0 auto 70px auto !important;
}
@media screen and (max-width: 768px) {
  .mgn_auto_70 {
    margin: 0 auto 30px auto !important;
  }
}

.mgn_auto_80 {
  margin: 0 auto 80px auto !important;
}
@media screen and (max-width: 768px) {
  .mgn_auto_80 {
    margin: 0 auto 40px auto !important;
  }
}

.mgn_auto_90 {
  margin: 0 auto 90px auto;
}
@media screen and (max-width: 768px) {
  .mgn_auto_90 {
    margin: 0 auto 50px auto;
  }
}

.mgn_auto_100 {
  margin: 0 auto 100px auto;
}
@media screen and (max-width: 768px) {
  .mgn_auto_100 {
    margin: 0 auto 50px auto;
  }
}

.mgn_auto_110 {
  margin: 0 auto 110px auto;
}
@media screen and (max-width: 768px) {
  .mgn_auto_110 {
    margin: 0 auto 50px auto;
  }
}

.mgn_auto_120 {
  margin: 0 auto 120px auto;
}
@media screen and (max-width: 768px) {
  .mgn_auto_120 {
    margin: 0 auto 60px auto;
  }
}

.mgn_auto_130 {
  margin: 0 auto 130px auto;
}
@media screen and (max-width: 768px) {
  .mgn_auto_130 {
    margin: 0 auto 60px auto;
  }
}

.mgn_auto_140 {
  margin: 0 auto 140px auto;
}
@media screen and (max-width: 768px) {
  .mgn_auto_140 {
    margin: 0 auto 70px auto;
  }
}

.page_title {
  font-size: 40px;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .page_title {
    font-size: 20px;
  }
}

.object {
  overflow: hidden;
}
.object img {
  transition: 1s;
  opacity: 0;
  transform: scale(110%);
}
.object.active img {
  opacity: 1;
  transform: scale(101%);
}

#return {
  position: fixed;
  bottom: 60px;
  right: 60px;
  cursor: pointer;
  transition: 0.3s;
  visibility: hidden;
}
@media screen and (max-width: 768px) {
  #return {
    bottom: 80px;
    right: 10px;
  }
}
#return.active {
  visibility: visible;
}

.pc-only {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}
.pc-only .yokoku {
  max-width: 1280px;
  padding: 7px 0;
  margin: 0 auto 5px;
  color: #004121;
  border-top: solid 1px #004121;
  border-bottom: solid 1px #004121;
  display: flex;
  align-items: center;
}
.pc-only .yokoku .yokoku__title {
  flex: 0 0 auto;
  font-size: 14px;
  letter-spacing: 0.4em;
  margin-right: 20px;
  background: #fff;
}
.pc-only .yokoku .yokoku__title span {
  display: inline-block;
  padding: 20px;
  border: solid 1px #004121;
}
.pc-only .yokoku .yokoku__main {
  flex: 0 1 100%;
  font-size: 12px;
}

.sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
    padding-bottom: 20px;
  }
}
.sp-only .yokoku {
  display: block;
  max-width: 1280px;
  position: relative;
  padding: 14px 0 7px;
  margin: 10% 10px 5px;
  color: #221815;
  border-top: solid 1px #221815;
  border-bottom: solid 1px #221815;
  align-items: center;
}
.sp-only .yokoku .yokoku__title {
  display: inline-block;
  padding: 5px;
  position: absolute;
  top: -30px;
  left: 0;
  margin-right: 10px;
  font-size: 14px;
  letter-spacing: 0.4em;
  background-color: #fff;
}
.sp-only .yokoku .yokoku__title span {
  padding: 5px;
  display: inline-block;
  border: solid 1px #221815;
}
.sp-only .yokoku .yokoku__main {
  padding: 0 10px;
  font-size: 12px;
}

#tagline {
  font-size: 30px;
  color: #fff;
  text-align: center;
  padding: 10px 0;
  background-color: #000;
}
@media screen and (max-width: 768px) {
  #tagline {
    font-size: 20px;
  }
}
#tagline small {
  font-size: 16px;
}
#tagline sup small {
  font-size: 12px;
}
#tagline br {
  display: none;
}
@media screen and (max-width: 768px) {
  #tagline br {
    display: block;
  }
}

#top-intro {
  padding: 50px 0;
  color: #fff;
  text-align: center;
  background-image: url(../img/top/bg_intro.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #top-intro {
    text-align: left;
  }
}
#top-intro #top-summary {
  color: #fff;
  margin: 0 0 60px 0;
}
#top-intro #top-summary #outline {
  width: min(1200px, 100%);
  margin: 0 auto 80px auto;
}
@media screen and (max-width: 768px) {
  #top-intro #top-summary #outline {
    margin: 0 auto 40px auto;
  }
}
#top-intro #top-summary #banner_modelroom {
  width: min(800px, 100%);
  margin: auto;
}
#top-intro #top-summary #banner_modelroom a:hover {
  opacity: 70%;
}
@media screen and (max-width: 768px) {
  #top-intro #top-summary #banner_modelroom {
    padding: 0 20px;
  }
}
#top-intro #top_kv {
  margin: 0 0 80px 0;
  padding: 0 !important;
}
@media screen and (max-width: 768px) {
  #top-intro #top_kv {
    margin: 0 0 40px 0;
  }
}
#top-intro h3 {
  font-size: 47px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  #top-intro h3 {
    font-size: 25px;
    padding: 0 20px;
  }
}
#top-intro h3 br {
  display: none;
}
@media screen and (max-width: 768px) {
  #top-intro h3 br {
    display: block;
  }
}
#top-intro h4 {
  font-size: 30px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  #top-intro h4 {
    font-size: 20px;
    padding: 0 20px;
  }
}
#top-intro h4 span {
  display: block;
}
#top-intro div {
  font-size: 22px;
}
@media screen and (max-width: 768px) {
  #top-intro div {
    font-size: 16px;
    padding: 0 20px;
  }
}
#top-intro div span {
  display: block;
}
#top-intro div span br {
  display: none;
}
@media screen and (max-width: 768px) {
  #top-intro div span br {
    display: block;
  }
}

.top-contents {
  padding: 450px 20px 150px 20px;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-contents {
    padding: 150px 20px 50px 20px;
  }
}
.top-contents article {
  width: min(860px, 100%);
  padding: 40px 20px;
  margin: auto;
  color: #fff;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.9);
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-contents article {
    text-align: left;
  }
}
.top-contents article .number {
  width: 100px;
  height: 101px;
  margin: -100px auto 0 auto;
  filter: drop-shadow(0 0 4px #000);
}
@media screen and (max-width: 768px) {
  .top-contents article .number {
    width: 50px;
    height: 50px;
    margin: -60px auto 0 auto;
  }
}
.top-contents article h2 {
  font-size: 45px;
  letter-spacing: 0.2em;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .top-contents article h2 {
    font-size: 25px;
  }
}
.top-contents article h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .top-contents article h2 br {
    display: block;
  }
}
.top-contents article h3 {
  font-size: 30px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .top-contents article h3 {
    font-size: 20px;
  }
}
.top-contents article h3 span {
  display: block;
}
.top-contents article h3 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .top-contents article h3 span br {
    display: block;
  }
}
.top-contents article .text {
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .top-contents article .text {
    font-size: 16px;
  }
}
.top-contents article .text span {
  display: block;
}
.top-contents article .text span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .top-contents article .text span br {
    display: block;
  }
}
.top-contents #top-panel_1 {
  width: min(1080px, 100%);
  padding: 40px 0 0 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 75px;
       column-gap: 75px;
  row-gap: 35px;
}
@media screen and (max-width: 768px) {
  .top-contents #top-panel_1 {
    grid-template-columns: 1fr;
  }
}
.top-contents #top_panel_2 {
  width: min(1080px, 100%);
  padding: 40px 0 0 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 15px;
       column-gap: 15px;
  row-gap: 15px;
}
@media screen and (max-width: 768px) {
  .top-contents #top_panel_2 {
    grid-template-columns: 1fr;
  }
}
.top-contents #top_panel_2 a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
.top-contents .caption {
  position: absolute;
  left: 20px;
  top: 20px;
  font-size: 13px;
  color: #fff;
  text-shadow: 0 0 10px #000;
}
.top-contents .notice {
  position: absolute;
  right: 20px;
  bottom: 20px;
  font-size: 13px;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

#top-contents_1 {
  background-image: url(../img/top/bg_contents_1.jpg);
}

#top-contents_2 {
  background-image: url(../img/top/bg_contents_2.jpg);
}

#top-contents_3 {
  background-image: url(../img/top/bg_contents_3.jpg);
}

#top-contents_4 {
  background-image: url(../img/top/bg_contents_4.jpg);
}

#top-contents_5 {
  background-image: url(../img/top/bg_contents_5.jpg);
}

.annotation {
  width: min(1300px, 100%);
  padding: 0 10px;
  margin: 0 auto 160px auto;
}
@media screen and (max-width: 768px) {
  .annotation {
    margin: 0 auto 90px auto;
  }
}
.annotation p {
  font-size: 12px;
  line-height: 1.5;
}
.annotation p::before {
  content: "※";
}

#banner {
  width: min(637px, 100%);
  margin: 0 auto 60px auto;
}
@media screen and (max-width: 768px) {
  #banner {
    margin: 0 auto 50px auto;
  }
}

.request_1 {
  width: min(760px, 100%);
  padding: 0 20px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.request_1 li:first-child a {
  background-color: #040000;
}
.request_1 li:last-child a {
  background-color: #355329;
}
.request_1 li:last-child p {
  background-color: #808080;
}
.request_1 li a {
  padding: 20px 0;
  display: block;
  font-size: 23px;
  color: #fff;
  text-align: center;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .request_1 li a {
    font-size: 13px;
  }
}
.request_1 li a:hover {
  opacity: 0.7;
}
.request_1 li p {
  padding: 20px 0;
  display: block;
  font-size: 27px;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .request_1 li p {
    font-size: 22px;
  }
}

.request_2 {
  width: 260px;
  margin: auto;
}
.request_2 a {
  padding: 20px 0;
  display: block;
  font-size: 23px;
  color: #fff;
  text-align: center;
  background-color: #a98d53;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .request_2 a {
    font-size: 13px;
  }
}
.request_2 a:hover {
  opacity: 0.7;
}

.scroll_1,
.scroll_2,
.scroll_3,
.scroll_4,
.scroll_5 {
  overflow-x: auto;
  white-space: nowrap;
  cursor: default;
  position: relative;
}
@media screen and (max-width: 768px) {
  .scroll_1,
  .scroll_2,
  .scroll_3,
  .scroll_4,
  .scroll_5 {
    cursor: grab;
  }
}
.scroll_1 .scroll_area_1,
.scroll_1 .scroll_area_2,
.scroll_1 .scroll_area_3,
.scroll_1 .scroll_area_4,
.scroll_1 .scroll_area_5,
.scroll_2 .scroll_area_1,
.scroll_2 .scroll_area_2,
.scroll_2 .scroll_area_3,
.scroll_2 .scroll_area_4,
.scroll_2 .scroll_area_5,
.scroll_3 .scroll_area_1,
.scroll_3 .scroll_area_2,
.scroll_3 .scroll_area_3,
.scroll_3 .scroll_area_4,
.scroll_3 .scroll_area_5,
.scroll_4 .scroll_area_1,
.scroll_4 .scroll_area_2,
.scroll_4 .scroll_area_3,
.scroll_4 .scroll_area_4,
.scroll_4 .scroll_area_5,
.scroll_5 .scroll_area_1,
.scroll_5 .scroll_area_2,
.scroll_5 .scroll_area_3,
.scroll_5 .scroll_area_4,
.scroll_5 .scroll_area_5 {
  display: none;
}
@media screen and (max-width: 768px) {
  .scroll_1 .scroll_area_1,
  .scroll_1 .scroll_area_2,
  .scroll_1 .scroll_area_3,
  .scroll_1 .scroll_area_4,
  .scroll_1 .scroll_area_5,
  .scroll_2 .scroll_area_1,
  .scroll_2 .scroll_area_2,
  .scroll_2 .scroll_area_3,
  .scroll_2 .scroll_area_4,
  .scroll_2 .scroll_area_5,
  .scroll_3 .scroll_area_1,
  .scroll_3 .scroll_area_2,
  .scroll_3 .scroll_area_3,
  .scroll_3 .scroll_area_4,
  .scroll_3 .scroll_area_5,
  .scroll_4 .scroll_area_1,
  .scroll_4 .scroll_area_2,
  .scroll_4 .scroll_area_3,
  .scroll_4 .scroll_area_4,
  .scroll_4 .scroll_area_5,
  .scroll_5 .scroll_area_1,
  .scroll_5 .scroll_area_2,
  .scroll_5 .scroll_area_3,
  .scroll_5 .scroll_area_4,
  .scroll_5 .scroll_area_5 {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    z-index: 1;
  }
  .scroll_1 .scroll_area_1 div,
  .scroll_1 .scroll_area_2 div,
  .scroll_1 .scroll_area_3 div,
  .scroll_1 .scroll_area_4 div,
  .scroll_1 .scroll_area_5 div,
  .scroll_2 .scroll_area_1 div,
  .scroll_2 .scroll_area_2 div,
  .scroll_2 .scroll_area_3 div,
  .scroll_2 .scroll_area_4 div,
  .scroll_2 .scroll_area_5 div,
  .scroll_3 .scroll_area_1 div,
  .scroll_3 .scroll_area_2 div,
  .scroll_3 .scroll_area_3 div,
  .scroll_3 .scroll_area_4 div,
  .scroll_3 .scroll_area_5 div,
  .scroll_4 .scroll_area_1 div,
  .scroll_4 .scroll_area_2 div,
  .scroll_4 .scroll_area_3 div,
  .scroll_4 .scroll_area_4 div,
  .scroll_4 .scroll_area_5 div,
  .scroll_5 .scroll_area_1 div,
  .scroll_5 .scroll_area_2 div,
  .scroll_5 .scroll_area_3 div,
  .scroll_5 .scroll_area_4 div,
  .scroll_5 .scroll_area_5 div {
    width: 100px;
    animation-name: icon_scroll_1;
    animation-delay: 0s;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    animation-direction: alternate;
    animation-fill-mode: none;
  }
  @keyframes icon_scroll_1 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(50px, 0);
    }
  }
}

.access_location_summary {
  color: #fff;
  text-align: center;
  padding: 60px 20px;
  background-color: #000;
}
@media screen and (max-width: 768px) {
  .access_location_summary {
    padding: 30px 20px;
  }
}
.access_location_summary h2 {
  font-size: 29px;
  text-align: center;
  line-height: 2;
  margin: 0 0 40px 0;
}
@media screen and (max-width: 768px) {
  .access_location_summary h2 {
    font-size: 18px;
    text-align: left;
    margin: 0 0 30px 0;
  }
}
.access_location_summary h2 span {
  display: block;
}
.access_location_summary h2 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_summary h2 span br {
    display: block;
  }
}
.access_location_summary div {
  font-size: 19px;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .access_location_summary div {
    font-size: 14px;
    text-align: left;
  }
}
.access_location_summary div span {
  display: block;
}
.access_location_summary div span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_summary div span br {
    display: block;
  }
}

.access_location_contents {
  padding: 80px 0 0 0;
  background-color: #f0ede6;
}
@media screen and (max-width: 768px) {
  .access_location_contents {
    padding: 40px 0 0 0;
  }
}
.access_location_contents .category_summary {
  padding: 0 20px 40px 20px;
}
.access_location_contents .category_summary h2 {
  font-size: 29px;
  color: #3e3a39;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents .category_summary h2 {
    font-size: 18px;
    text-align: left;
  }
}
.access_location_contents .category_summary span {
  display: block;
}
@media screen and (max-width: 768px) {
  .access_location_contents .category_summary span br {
    display: block;
  }
}
.access_location_contents .category_summary p {
  font-size: 19px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .access_location_contents .category_summary p {
    font-size: 14px;
    text-align: left;
  }
}
.access_location_contents .category_summary p span {
  display: block;
}
.access_location_contents .category_summary p span br {
  display: block !important;
}
@media screen and (max-width: 768px) {
  .access_location_contents .category_summary p span br {
    display: none !important;
  }
}
.access_location_contents #root_train {
  padding: 0 0 100px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train {
    padding: 0 0 50px 0;
  }
}
.access_location_contents #root_train h2 {
  font-size: 32px;
  text-align: center;
  line-height: 1.5;
  padding: 0 20px;
  margin: 0 0 40px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train h2 {
    font-size: 18px;
    text-align: left;
    margin: 0 0 30px 0;
  }
}
.access_location_contents #root_train h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train h2 br {
    display: block;
  }
}
.access_location_contents #root_train ul {
  width: min(1300px, 100%);
  padding: 0 20px;
  margin: 0 auto 60px auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
.access_location_contents #root_train #img_root_train {
  width: min(940px, 100%);
  padding: 0 20px;
  margin: 0 auto 100px auto;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train #img_root_train {
    width: 940px;
    margin: 0 auto 50px auto;
  }
}
.access_location_contents #root_train #detail_root_train {
  width: min(1140px, 100%);
  padding: 0 20px;
  margin: 0 auto 70px auto;
}
.access_location_contents #root_train #detail_root_train figcaption {
  font-size: 12px;
  line-height: 1.2;
  padding: 10px 0 0 0;
}
.access_location_contents #root_train #img_time {
  padding: 0 20px;
}
.access_location_contents #root_train #img_time h2 {
  font-size: 32px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train #img_time h2 {
    font-size: 18px;
  }
}
.access_location_contents #root_train #img_time figure {
  width: min(1000px, 100%);
  margin: auto;
}
.access_location_contents #root_train #img_time figure figcaption {
  font-size: 12px;
  text-align: right;
  padding: 10px 0 0 0;
}
.access_location_contents #root_train .root_time {
  padding: 0 20px;
}
.access_location_contents #root_train .root_time h2 {
  font-size: 32px;
  color: #004023;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train .root_time h2 {
    font-size: 20px;
  }
}
.access_location_contents #root_train .root_time .root_1 {
  width: min(1140px, 100%);
  margin: 0 auto 10px auto;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train .root_time .root_1 {
    width: 1000px;
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    cursor: grab;
  }
}
.access_location_contents #root_train .root_time small {
  width: min(1100px, 100%);
  margin: auto;
  display: block;
  font-size: 15px;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train .root_time small {
    font-size: 9px;
  }
}
.access_location_contents #root_train #category_root_highway h2 {
  font-size: 29px;
  color: #3e3a39;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train #category_root_highway h2 {
    font-size: 18px;
    text-align: left;
  }
}
.access_location_contents #root_train #category_root_highway span {
  display: block;
}
.access_location_contents #root_train #category_root_highway span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train #category_root_highway span br {
    display: block;
  }
}
.access_location_contents #root_train #category_root_highway p {
  font-size: 19px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train #category_root_highway p {
    font-size: 14px;
    text-align: left;
  }
}
.access_location_contents #root_train #category_root_highway p span {
  display: block;
}
.access_location_contents #root_train #category_root_highway p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_contents #root_train #category_root_highway p span br {
    display: block;
  }
}
.access_location_contents #category_root_highway_summary {
  padding: 0 20px;
  margin: 0 0 40px 0;
}
.access_location_contents #category_root_highway_summary h2 {
  font-size: 29px;
  color: #3e3a39;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #category_root_highway_summary h2 {
    font-size: 18px;
    text-align: left;
  }
}
.access_location_contents #category_root_highway_summary span {
  display: block;
}
.access_location_contents #category_root_highway_summary span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_contents #category_root_highway_summary span br {
    display: block;
  }
}
.access_location_contents #category_root_highway_summary p {
  font-size: 19px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .access_location_contents #category_root_highway_summary p {
    font-size: 14px;
    text-align: left;
  }
}
.access_location_contents #category_root_highway_summary p span {
  display: block;
}
.access_location_contents #category_root_highway_summary p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_contents #category_root_highway_summary p span br {
    display: block;
  }
}
.access_location_contents #img_root_highway {
  width: min(790px, 100%);
  padding: 0 20px;
  margin: 0 auto 30px auto;
}
@media screen and (max-width: 768px) {
  .access_location_contents #img_root_highway {
    width: 790px;
  }
}
.access_location_contents #img_root_highway_time {
  font-size: 24px;
  color: #004023;
  text-align: center;
  line-height: 1.5;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #img_root_highway_time {
    font-size: 20px;
  }
}
.access_location_contents #img_root_highway_time strong {
  font-size: 150%;
}
.access_location_contents #img_root_highway_time sup {
  font-size: 13px;
}
.access_location_contents #img_root_highway_time small {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .access_location_contents #img_root_highway_time span {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .access_location_contents #img_root_highway_time br {
    display: none;
  }
}
.access_location_contents #thumb_root_5-7 {
  width: min(1120px, 100%);
  padding: 0 20px;
  margin: 0 auto 20px auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .access_location_contents #thumb_root_5-7 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.access_location_contents #thumb_root_5-7 figcaption {
  font-size: 18px;
  text-align: center;
  padding: 10px 0 0 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #thumb_root_5-7 figcaption {
    font-size: 13px;
  }
}
.access_location_contents #img_root_airport {
  width: min(1120px, 100%);
  padding: 0 20px 100px 20px;
  margin: 0 auto;
}
.access_location_contents #campustown {
  width: calc(100% - 40px);
  margin: auto;
}
.access_location_contents #campustown article {
  width: min(1180px, 100%);
  padding: 40px;
  margin: 0 auto 80px auto;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .access_location_contents #campustown article {
    padding: 20px;
  }
}
.access_location_contents #campustown article h2 {
  font-size: 25px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #campustown article h2 {
    font-size: 18px;
  }
}
.access_location_contents #campustown article h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_contents #campustown article h2 br {
    display: block;
  }
}
.access_location_contents #campustown article #campustown_summary {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  margin: 0 0 40px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #campustown article #campustown_summary {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.access_location_contents #campustown article #campustown_summary h3 {
  font-size: 20px;
  color: #14798f;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #campustown article #campustown_summary h3 {
    font-size: 16px;
  }
}
.access_location_contents #campustown article #campustown_summary p {
  font-size: 16px;
}
.access_location_contents #campustown article ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 90px;
       column-gap: 90px;
  row-gap: 40px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #campustown article ul {
    grid-template-columns: 1fr;
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 20px;
  }
}
.access_location_contents #campustown article ul img {
  width: min(450px, 100%);
  margin: 0 auto 10px auto;
}
.access_location_contents #campustown article ul h4 {
  font-size: 19px;
  color: #14798f;
  text-align: center;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents #campustown article ul h4 {
    font-size: 16px;
    text-align: left;
  }
}
.access_location_contents #campustown article ul h4::before {
  content: "◆ ";
}
.access_location_contents #campustown article ul h4::after {
  content: " ◆";
}
.access_location_contents #campustown article ul p {
  font-size: 14px;
}
.access_location_contents #campustown article small {
  font-size: 12px;
  text-align: right;
  display: block;
}
.access_location_contents .shopping_point {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .shopping_point {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.access_location_contents .shopping_point div:last-child p:first-child {
  font-size: 20px;
  color: #fff;
  text-align: center;
  padding: 10px;
  margin: 0 0 20px 0;
  background-color: #305a33;
}
@media screen and (max-width: 768px) {
  .access_location_contents .shopping_point div:last-child p:first-child {
    font-size: 16px;
    text-align: left;
    margin: 0 0 10px 0;
  }
}
.access_location_contents .shopping_point div:last-child p:first-child br {
  display: none;
}
.access_location_contents .shopping_point div:last-child .shopping_thumb_1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .shopping_point div:last-child .shopping_thumb_1 {
    grid-template-columns: 1fr;
  }
}
.access_location_contents .shopping_thumb_2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .shopping_thumb_2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.access_location_contents .shopping_thumb_2 figcaption {
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .shopping_thumb_2 figcaption {
    font-size: 12px;
  }
}
.access_location_contents .location_detail {
  width: calc(100% - 40px);
  margin: 0 auto 40px auto;
}
.access_location_contents .location_detail article {
  width: min(1180px, 100%);
  padding: 40px;
  margin: 0 auto 80px auto;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article {
    padding: 20px;
  }
}
.access_location_contents .location_detail article h2 {
  font-size: 25px;
  letter-spacing: 0.2em;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article h2 {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article h2 br {
    display: none;
  }
}
.access_location_contents .location_detail article h2 br.br_break {
  display: block !important;
}
.access_location_contents .location_detail article h3 {
  font-size: 20px;
  color: #fff;
  text-align: center;
  padding: 10px 0;
  background-color: #0868ac;
}
.access_location_contents .location_detail article h4 {
  font-size: 37px;
  color: #44362c;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article h4 {
    font-size: 20px;
  }
}
.access_location_contents .location_detail article h4 + P {
  font-size: 26px;
  color: #3d3939;
  text-align: center;
  margin: 0 0 60px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article h4 + P {
    font-size: 16px;
  }
}
.access_location_contents .location_detail article h4 + P br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article h4 + P br {
    display: block;
  }
}
.access_location_contents .location_detail article ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article ul {
    grid-template-columns: 1fr;
  }
}
.access_location_contents .location_detail article .comments {
  font-size: 14px;
}
.access_location_contents .location_detail article .point {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .point {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.access_location_contents .location_detail article .point p:first-child {
  font-size: 18px;
  color: #fff;
  padding: 10px 30px;
  margin: 0 0 10px 0;
  background-color: #305a33;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .point p:first-child {
    font-size: 16px;
    padding: 10px;
  }
}
.access_location_contents .location_detail article .point p:last-child {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .point br.br_break {
    display: none;
  }
}
.access_location_contents .location_detail article .shoplist {
  width: min(1100px, 100%);
  margin: 0 auto 10px auto;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .shoplist {
    width: 1000px;
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    cursor: grab;
  }
}
.access_location_contents .location_detail article .childcare {
  display: grid;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .childcare {
    gap: 40px;
  }
}
.access_location_contents .location_detail article .childcare section {
  position: relative;
}
.access_location_contents .location_detail article .childcare section h5 {
  width: 400px;
  position: absolute;
  left: 50%;
  top: -25px;
  transform: translate(-50%, 0);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .childcare section h5 {
    width: 300px;
  }
}
.access_location_contents .location_detail article .childcare section figure {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  border-radius: 10px;
  background-color: #e8f2e4;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .childcare section figure {
    grid-template-columns: 1fr;
  }
}
.access_location_contents .location_detail article .childcare section figure img {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .childcare section figure img {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0;
  }
}
.access_location_contents .location_detail article .childcare section figure figcaption {
  font-size: 18px;
  padding: 20px 60px 20px 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .childcare section figure figcaption {
    font-size: 16px;
    padding: 10px;
  }
}
.access_location_contents .location_detail article .childcare small {
  font-size: 12px;
  text-align: right;
  margin: -50px 0 0 0;
}
@media screen and (max-width: 768px) {
  .access_location_contents .location_detail article .childcare small {
    text-align: left;
    margin: -30px 0 0 0;
  }
}
.access_location_contents #title_community {
  font-size: 26px;
  text-align: center;
  padding: 60px 0;
  background-color: #ecf4dd;
}
@media screen and (max-width: 768px) {
  .access_location_contents #title_community {
    padding: 30px 0;
  }
}
.access_location_contents #title_community br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location_contents #title_community br {
    display: block;
  }
}
.access_location_contents .community {
  display: grid;
  gap: 40px;
  padding: 0 20px;
  background-color: #ecf4dd;
}
@media screen and (max-width: 768px) {
  .access_location_contents .community {
    gap: 20px;
  }
}
.access_location_contents .community article {
  width: min(1100px, 100%);
  margin: auto;
  display: grid;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .community article {
    gap: 20px;
  }
}
.access_location_contents .community article section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .community article section {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.access_location_contents .community article section div p:first-child {
  font-size: 20px;
  color: #fff;
  padding: 10px 10px 10px 30px;
  margin: 0 0 10px 0;
  border-left: 10px solid #83af4d;
  background-color: #305832;
}
@media screen and (max-width: 768px) {
  .access_location_contents .community article section div p:first-child {
    font-size: 16px;
    padding: 10px 0 10px 10px;
  }
}
.access_location_contents .community article section div p:last-child {
  font-size: 17px;
}
@media screen and (max-width: 768px) {
  .access_location_contents .community article section div p:last-child {
    font-size: 14px;
  }
}
.access_location_contents .community article section figure ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin: 0 0 10px 0;
}
.access_location_contents .community article section figure p {
  font-size: 15px;
  color: #305832;
  margin: 0 0 5px 0;
}
.access_location_contents .community article section figure address {
  font-size: 13px;
  font-style: normal;
}
.access_location_contents .community article section figure address a {
  color: #221815;
}
.access_location_contents .community article hr {
  height: 1px;
  background-color: #305832;
}
@media screen and (max-width: 768px) {
  .access_location_contents .community br.br_break {
    display: none;
  }
}

.access_location h2 {
  font-size: 29px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1em;
  padding: 0 20px;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location h2 {
    font-size: 18px;
    text-align: left;
  }
}
.access_location h2 span {
  display: block;
}
.access_location h2 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location h2 span br {
    display: block;
  }
}
.access_location h2 + p {
  font-size: 17px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .access_location h2 + p {
    font-size: 14px;
    text-align: left;
  }
}
.access_location h2 + p span {
  display: block;
}
.access_location h2 + p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location h2 + p span br {
    display: block;
  }
}
.access_location .access_anchor {
  width: min(546px, 100%);
  padding: 0 20px;
  margin: 0 auto 50px auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .access_location .access_anchor {
    width: 240px;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
}
.access_location .access_anchor img:hover {
  opacity: 0.7;
  transition: 0.3s;
}
.access_location .access_anchor_contens {
  padding: 100px 0 0 0;
  background-color: #0d7e95;
}
@media screen and (max-width: 768px) {
  .access_location .access_anchor_contens {
    padding: 0;
  }
}
.access_location .access_anchor_contens .summary {
  font-size: 21px;
  color: #fff;
  text-align: center;
  line-height: 2;
  padding: 0 20px;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location .access_anchor_contens .summary {
    font-size: 14px;
    text-align: left;
    margin: 0 0 30px 0;
  }
}
.access_location .access_anchor_contens .summary span {
  display: block;
}
.access_location .access_anchor_contens .summary span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .access_anchor_contens .summary span br {
    display: block;
  }
}
.access_location .anchor_contens_1 {
  display: grid;
  gap: 20px;
  margin: 0 0 20px 0;
}
.access_location .anchor_contens_1 div:first-child {
  display: grid;
  justify-items: end;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_1 div:first-child {
    padding: 0 40px 0 0;
  }
}
.access_location .anchor_contens_1 div:last-child {
  display: grid;
  justify-items: start;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_1 div:last-child {
    padding: 0 0 0 40px;
  }
}
.access_location .anchor_contens_1 div picture {
  width: min(1100px, 100%);
}
.access_location .anchor_contens_2 {
  width: min(1140px, 100%);
  padding: 0 0 30px 0;
  margin: 0 auto 150px auto;
  background-color: #efefef;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 {
    margin: 0 auto 70px auto;
  }
}
.access_location .anchor_contens_2 article {
  width: min(940px, 100%);
  padding: 0 20px;
  margin: auto;
}
.access_location .anchor_contens_2 article .scroll_4 {
  overflow-x: auto;
  white-space: nowrap;
  cursor: default;
  position: relative;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 article .scroll_4 {
    display: none;
  }
}
.access_location .anchor_contens_2 article .scroll_4 .scroll_area_4 {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 article .scroll_4 .scroll_area_4 {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    z-index: 1;
  }
  .access_location .anchor_contens_2 article .scroll_4 .scroll_area_4 div {
    width: 100px;
    animation-name: icon_scroll_3;
    animation-delay: 0s;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    animation-direction: alternate;
    animation-fill-mode: none;
  }
  @keyframes icon_scroll_3 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(50px, 0);
    }
  }
}
.access_location .anchor_contens_2 article .scroll_4 .shoplist {
  padding: 0 20px;
  margin: 0 0 50px 0;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 article .scroll_4 .shoplist {
    width: 1000px;
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    cursor: grab;
  }
}
.access_location .anchor_contens_2 article h3 {
  font-size: 24px;
  color: #3e3a39;
  line-height: 2;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 article h3 {
    font-size: 18px;
    text-align: left;
  }
}
.access_location .anchor_contens_2 article h3 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 article h3 br {
    display: block;
  }
}
.access_location .anchor_contens_2 article h3 span {
  display: block;
}
.access_location .anchor_contens_2 article h3 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 article h3 span br {
    display: block;
  }
}
.access_location .anchor_contens_2 article h3 + p {
  font-size: 15px;
  color: #3e3a39;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 article h3 + p {
    font-size: 14px;
    text-align: left;
  }
}
.access_location .anchor_contens_2 article h3 + p span {
  display: block;
}
.access_location .anchor_contens_2 article h3 + p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 article h3 + p span br {
    display: block;
  }
}
.access_location .anchor_contens_2 article small {
  font-size: 15px;
  padding: 0 0 0 10px;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_2 article small {
    font-size: 14px;
  }
}
.access_location .anchor_contens_3 h3 {
  font-size: 32px;
  color: #fff;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.1em;
  padding: 0 20px;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_3 h3 {
    font-size: 18px;
    text-align: left;
  }
}
.access_location .anchor_contens_3 h3 span {
  display: block;
}
.access_location .anchor_contens_3 h3 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_3 h3 span br {
    display: block;
  }
}
.access_location .anchor_contens_3 h3 + p {
  font-size: 17px;
  color: #fff;
  text-align: center;
  line-height: 2;
  padding: 0 20px;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_3 h3 + p {
    font-size: 14px;
    text-align: left;
  }
}
.access_location .anchor_contens_3 h3 + p span {
  display: block;
}
.access_location .anchor_contens_3 h3 + p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_3 h3 + p span br {
    display: block;
  }
}
.access_location .anchor_contens_3 .map {
  width: min(1140px, 100%);
  padding: 0 20px;
  margin: 0 auto 60px auto;
  display: grid;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_3 .map {
    margin: 0 auto 40px auto;
  }
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_3 picture {
    padding: 0 20px;
  }
}
.access_location .anchor_contens_4 {
  padding: 90px 0 0 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 {
    padding: 50px 0 0 0;
  }
}
.access_location .anchor_contens_4 .support_title_main {
  width: 270px;
  margin: 0 auto 30px auto;
}
.access_location .anchor_contens_4 h2 {
  font-size: 26px;
  color: #3e3a39;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.1em;
  padding: 0 20px;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 h2 {
    font-size: 18px;
    text-align: left;
    margin: 0 0 20px 0;
  }
}
.access_location .anchor_contens_4 h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 h2 br {
    display: block;
  }
}
.access_location .anchor_contens_4 h2 + p {
  font-size: 20px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
  padding: 0 20px;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 h2 + p {
    font-size: 14px;
    text-align: left;
  }
}
.access_location .anchor_contens_4 h2 + p span {
  display: block;
}
.access_location .anchor_contens_4 h2 + p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 h2 + p span br {
    display: block;
  }
}
.access_location .anchor_contens_4 .anchor_contens_4_summary {
  width: min(1140px, 100%);
  padding: 0 20px;
  margin: 0 auto 80px auto;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .anchor_contens_4_summary {
    margin: 0 auto 40px auto;
  }
}
.access_location .anchor_contens_4 .anchor_contens_4_summary article {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 50px;
       column-gap: 50px;
  row-gap: 20px;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .anchor_contens_4_summary article {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 10px;
  }
}
.access_location .anchor_contens_4 .anchor_contens_4_summary article section {
  display: grid;
  gap: 20px;
  padding: 30px 40px;
  background-color: #f5f1e9;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .anchor_contens_4_summary article section {
    padding: 20px 30px;
  }
}
.access_location .anchor_contens_4 .anchor_contens_4_summary article section p {
  font-size: 17px;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .anchor_contens_4_summary article section p {
    font-size: 12px;
  }
}
.access_location .anchor_contens_4 .anchor_contens_4_summary article section p span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  color: #0d7e95;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .anchor_contens_4_summary article section p span {
    font-size: 11px;
  }
}
.access_location .anchor_contens_4 .anchor_contens_4_summary small {
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .anchor_contens_4_summary small {
    font-size: 10px;
  }
}
.access_location .anchor_contens_4 .facility {
  padding: 50px 20px 60px 20px;
  background-color: #f5f1e9;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .facility {
    padding: 30px 20px 40px 20px;
  }
}
.access_location .anchor_contens_4 .facility h2 {
  font-size: 26px;
  color: #14798f;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.1em;
  padding: 0 20px;
  margin: 0 0 50px 0;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .facility h2 {
    font-size: 18px;
    text-align: left;
    margin: 0 0 20px 0;
  }
}
.access_location .anchor_contens_4 .facility h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .facility h2 br {
    display: block;
  }
}
.access_location .anchor_contens_4 .facility article {
  width: min(1100px, 100%);
  margin: auto;
  display: grid;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .facility article {
    gap: 35px;
  }
}
.access_location .anchor_contens_4 .facility article section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  padding: 0 0 60px 0;
  border-bottom: 1px solid #0d7e95;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .facility article section {
    border-bottom: none;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0;
  }
}
.access_location .anchor_contens_4 .facility article section:last-child {
  padding: 0;
  border-bottom: none;
}
.access_location .anchor_contens_4 .facility article section p {
  font-size: 17px;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .facility article section p {
    font-size: 12px;
  }
}
.access_location .anchor_contens_4 .facility article section figcaption {
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_4 .facility article section figcaption {
    font-size: 12px;
  }
}
.access_location .anchor_contens_4 .facility article section .price {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.access_location .anchor_contens_4 .facility article section .price small {
  font-size: 12px;
}
.access_location .anchor_contens_5 {
  padding: 100px 20px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_5 {
    padding: 40px 0;
  }
}
.access_location .anchor_contens_5 h2 {
  font-size: 42px;
  text-align: center;
  color: #0d7e95;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_5 h2 {
    font-size: 23px;
    margin: 0 0 10px 0;
  }
}
.access_location .anchor_contens_5 h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_5 h2 br {
    display: block;
  }
}
.access_location .anchor_contens_5 h2 span {
  display: block;
}
.access_location .anchor_contens_5 h2 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_5 h2 span br {
    display: block;
  }
}
.access_location .anchor_contens_5 h2 + p {
  font-size: 20px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_5 h2 + p {
    font-size: 11px;
    text-align: left;
  }
}
.access_location .anchor_contens_5 h2 + p span {
  display: block;
}
.access_location .anchor_contens_5 h2 + p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_5 h2 + p span br {
    display: block;
  }
}
.access_location .anchor_contens_5 .map_shops {
  width: min(1000px, 100%);
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .access_location .anchor_contens_5 .map_shops {
    padding: 0 20px;
  }
}
.access_location .anchor_contens_5 .map_shops .shop_1 {
  width: 26%;
  position: absolute;
  left: 10%;
  top: 1%;
  animation-name: shop;
  animation-delay: 0s;
  animation-duration: 2.3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}
@keyframes shop {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
.access_location .anchor_contens_5 .map_shops .shop_1:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_2 {
  width: 17%;
  position: absolute;
  left: 32%;
  top: 1%;
}
.access_location .anchor_contens_5 .map_shops .shop_2:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_3 {
  width: 31%;
  position: absolute;
  left: 41%;
  top: 1%;
}
.access_location .anchor_contens_5 .map_shops .shop_3:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_4 {
  width: 28%;
  position: absolute;
  left: 0%;
  top: 18%;
}
.access_location .anchor_contens_5 .map_shops .shop_4:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_5 {
  width: 18%;
  position: absolute;
  left: 41%;
  top: 31%;
}
.access_location .anchor_contens_5 .map_shops .shop_5:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_6 {
  width: 22%;
  position: absolute;
  left: 67%;
  top: 33%;
}
.access_location .anchor_contens_5 .map_shops .shop_6:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_7 {
  width: 24%;
  position: absolute;
  left: 17%;
  top: 37%;
}
.access_location .anchor_contens_5 .map_shops .shop_7:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_8 {
  width: 29%;
  position: absolute;
  left: 0%;
  top: 52%;
}
.access_location .anchor_contens_5 .map_shops .shop_8:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_9 {
  width: 22%;
  position: absolute;
  left: 43%;
  top: 43%;
}
.access_location .anchor_contens_5 .map_shops .shop_9:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_10 {
  width: 28%;
  position: absolute;
  left: 29%;
  top: 49%;
}
.access_location .anchor_contens_5 .map_shops .shop_10:hover {
  opacity: 0.5 !important;
}
.access_location .anchor_contens_5 .map_shops .shop_11 {
  width: 22%;
  position: absolute;
  left: 39%;
  top: 67%;
}
.access_location .anchor_contens_5 .map_shops .shop_11:hover {
  opacity: 0.5 !important;
}

.shop_detail {
  background-image: url(../img/location/shop__detail__bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .shop_detail {
    padding: 30px 20px;
  }
}
.shop_detail section {
  width: min(1000px, 100%);
  padding: 30px 70px 0 20px;
  margin: auto;
  display: none;
  grid-template-columns: 0.5fr 4fr 4.5fr;
  gap: 20px;
  background-color: #fff;
  box-shadow: 10px 10px 10px 0 rgba(0, 0, 0, 0.2);
}
.shop_detail section.current {
  display: grid;
}
@media screen and (max-width: 768px) {
  .shop_detail section {
    padding: 20px;
    grid-template-columns: 1fr;
  }
}
.shop_detail section .shop_number {
  width: 70px;
}
.shop_detail section small {
  font-size: 14px;
  font-weight: 300;
  line-height: 1;
  display: block;
}
.shop_detail section h4 {
  font-size: 23px;
}
@media screen and (max-width: 768px) {
  .shop_detail section h4 {
    font-size: 20px;
  }
}
.shop_detail section span {
  font-size: 13px;
  line-height: 1;
  margin: 0 0 20px 0;
  display: block;
}
.shop_detail section .comment {
  font-size: 15px;
  text-align: justify;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .shop_detail section .comment br {
    display: none;
  }
}
.shop_detail section .shopinfo {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
}

.map {
  padding: 0 20px;
}

.map_life {
  width: min(1180px, 100%);
  padding: 60px 0;
  margin: auto;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .map_life {
    padding: 40px 20px;
  }
}
.map_life > div {
  width: min(1100px, 100%);
  margin: auto;
}
.map_life > div h3 {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  padding: 10px 0;
  margin: 0 0 20px 0;
  background-color: #305a33;
}
@media screen and (max-width: 768px) {
  .map_life > div h3 {
    font-size: 17px;
    margin: 0 0 20px 0;
  }
}
.map_life > div .map_life_facility {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .map_life > div .map_life_facility {
    grid-template-columns: repeat(1, 1fr);
  }
}
.map_life > div .map_life_facility li {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.2;
  left: 0.1em;
  padding: 10px 0;
  border-radius: 5px;
  cursor: pointer;
  background-color: #9cce8e;
}
.map_life > div .map_life_facility li span {
  color: #305a33;
}
.map_life > div .map_life_facility li.active {
  color: #fff;
}
.map_life > div .map_life_facility li.active span {
  color: #fff;
}
.map_life > div .map_life_facility li.active:nth-child(1) {
  background-color: #d77846;
}
.map_life > div .map_life_facility li.active:nth-child(2) {
  background-color: #8c8250;
}
.map_life > div .map_life_facility li.active:nth-child(3) {
  background-color: #5078a0;
}
.map_life > div .map_life_facility li.active:nth-child(4) {
  background-color: #1e9678;
}
.map_life > div .map_life_facility li.active:nth-child(5) {
  background-color: #825078;
}
.map_life > div .map_life_facility li.active:nth-child(6) {
  background-color: #305a33;
}
.map_life > div .map_life_facility_detail section {
  display: none;
}
.map_life > div .map_life_facility_detail section.active {
  display: grid;
}
.map_life > div .map_life_facility_detail section .facility_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 40px;
       column-gap: 40px;
  row-gap: 20px;
  font-family: "ヒラギノ角ゴ W3 JIS2004", "Noto Sans JP", sans-serif;
  font-size: 17px;
  color: #000;
  padding: 40px 50px 0 50px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .map_life > div .map_life_facility_detail section .facility_list {
    padding: 10px 10px 0 10px;
    grid-template-columns: repeat(1, 1fr);
  }
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(1)::before {
  content: "❶";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(2)::before {
  content: "❷";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(3)::before {
  content: "❸";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(4)::before {
  content: "❹";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(5)::before {
  content: "❺";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(6)::before {
  content: "❻";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(7)::before {
  content: "❼";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(8)::before {
  content: "❽";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(9)::before {
  content: "❾";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(10)::before {
  content: "❿";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(11)::before {
  content: "⓫";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(12)::before {
  content: "⓬";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(13)::before {
  content: "⓭";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(14)::before {
  content: "⓮";
}
.map_life > div .map_life_facility_detail section .facility_list li:nth-child(15)::before {
  content: "⓯";
}
.map_life > div .map_life_facility_detail section .facility_list li small {
  font-size: 11px;
}
.map_life > div .map_life_facility_detail section .info_1 li::before {
  color: #d77846;
}
.map_life > div .map_life_facility_detail section .info_1 figcaption span {
  color: #d77846;
}
.map_life > div .map_life_facility_detail section .info_2 li::before {
  color: #8c8250;
}
.map_life > div .map_life_facility_detail section .info_2 figcaption span {
  color: #8c8250;
}
.map_life > div .map_life_facility_detail section .info_3 li::before {
  color: #5078a0;
}
.map_life > div .map_life_facility_detail section .info_3 figcaption span {
  color: #5078a0;
}
.map_life > div .map_life_facility_detail section .info_4 li::before {
  color: #1e9678;
}
.map_life > div .map_life_facility_detail section .info_4 figcaption span {
  color: #1e9678;
}
.map_life > div .map_life_facility_detail section .info_5 li::before {
  color: #825078;
}
.map_life > div .map_life_facility_detail section .info_5 figcaption span {
  color: #825078;
}
.map_life > div .map_life_facility_detail section .info_6 li::before {
  color: #305a33;
}
.map_life > div .map_life_facility_detail section .info_6 figcaption span {
  color: #305a33;
}
.map_life > div .map_life_facility_detail section .facility_img {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 40px 50px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .map_life > div .map_life_facility_detail section .facility_img {
    grid-template-columns: repeat(1, 1fr);
    padding: 10px;
  }
}
.map_life > div .map_life_facility_detail section .facility_img figcaption {
  font-family: "ヒラギノ角ゴ W3 JIS2004", "Noto Sans JP", sans-serif;
  font-size: 17px;
}
.map_life .map_life_notice {
  font-size: 14px;
  padding: 0 50px 20px 50px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .map_life .map_life_notice {
    font-size: 12px;
    padding: 0 20px 20px 20px;
  }
}

.design_plan_summary {
  color: #fff;
  text-align: center;
  padding: 60px 20px;
  background-color: #000;
}
@media screen and (max-width: 768px) {
  .design_plan_summary {
    padding: 30px 20px;
  }
}
.design_plan_summary h2 {
  font-size: 29px;
  text-align: center;
  line-height: 2;
  margin: 0 0 40px 0;
}
@media screen and (max-width: 768px) {
  .design_plan_summary h2 {
    font-size: 18px;
    text-align: left;
    margin: 0 0 30px 0;
  }
}
.design_plan_summary h2 span {
  display: block;
}
.design_plan_summary h2 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_summary h2 span br {
    display: block;
  }
}
.design_plan_summary h2 span strong {
  font-size: 76px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .design_plan_summary h2 span strong {
    font-size: 30px;
  }
}
.design_plan_summary div {
  font-size: 19px;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .design_plan_summary div {
    font-size: 14px;
    text-align: left;
  }
}
.design_plan_summary div span {
  display: block;
}
.design_plan_summary div span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_summary div span br {
    display: block;
  }
}

.design_plan_contents {
  padding: 80px 0 0 0;
  background-color: #f0ede6;
}
@media screen and (max-width: 768px) {
  .design_plan_contents {
    padding: 40px 0 0 0;
  }
}
.design_plan_contents .category_summary {
  padding: 0 20px;
}
.design_plan_contents .category_summary h2 {
  font-size: 29px;
  color: #3e3a39;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .category_summary h2 {
    font-size: 18px;
    text-align: left;
  }
}
.design_plan_contents .category_summary span {
  display: block;
}
.design_plan_contents .category_summary span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .category_summary span br {
    display: block;
  }
}
.design_plan_contents .category_summary p {
  font-size: 19px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .category_summary p {
    font-size: 14px;
    text-align: left;
  }
}
.design_plan_contents .category_summary p span {
  display: block;
}
.design_plan_contents .category_summary p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .category_summary p span br {
    display: block;
  }
}
.design_plan_contents #design_features {
  width: min(1150px, 100%);
  padding: 0 20px 30px 20px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 20px;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_features {
    grid-template-columns: repeat(1, 1fr);
    -moz-column-gap: 10px;
         column-gap: 10px;
    row-gap: 10px;
  }
}
.design_plan_contents #design_map {
  width: min(1150px, 100%);
  padding: 0 20px 30px 20px;
}
.design_plan_contents #design_map article {
  padding: 40px 20px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_map article {
    padding: 10px;
  }
}
.design_plan_contents #design_map article #map_img {
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_map article #map_img {
    width: 1150px;
  }
}
.design_plan_contents #design_map article p {
  font-size: 24px;
  text-align: center;
  line-height: 1.2;
  padding: 10px 20px;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  margin: auto;
  background-color: #e6e4cf;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_map article p {
    font-size: 16px;
  }
}
.design_plan_contents #design_map article p a {
  color: #40210d;
}
.design_plan_contents #design_map article p:hover {
  opacity: 0.7;
  transition: 0.3s;
}
.design_plan_contents #design_detail {
  width: min(1150px, 100%);
  padding: 0 20px 30px 20px;
  margin: 0 auto;
  display: grid;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_detail {
    gap: 20px;
  }
}
.design_plan_contents #design_detail .design_detail_1 h2,
.design_plan_contents #design_detail .design_detail_2 h2,
.design_plan_contents #design_detail .design_detail_3 h2 {
  font-size: 30px;
  color: #fff;
  text-align: center;
  padding: 10px;
  margin: 0 0 20px 0;
  background: linear-gradient(90deg, #938059, #7f5b2e, #291f01);
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_detail .design_detail_1 h2,
  .design_plan_contents #design_detail .design_detail_2 h2,
  .design_plan_contents #design_detail .design_detail_3 h2 {
    font-size: 18px;
  }
}
.design_plan_contents #design_detail .design_detail_1 h2 br,
.design_plan_contents #design_detail .design_detail_2 h2 br,
.design_plan_contents #design_detail .design_detail_3 h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_detail .design_detail_1 h2 br,
  .design_plan_contents #design_detail .design_detail_2 h2 br,
  .design_plan_contents #design_detail .design_detail_3 h2 br {
    display: block;
  }
}
.design_plan_contents #design_detail .design_detail_1 h3,
.design_plan_contents #design_detail .design_detail_2 h3,
.design_plan_contents #design_detail .design_detail_3 h3 {
  font-size: 26px;
  text-align: center;
  padding: 0 10px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_detail .design_detail_1 h3,
  .design_plan_contents #design_detail .design_detail_2 h3,
  .design_plan_contents #design_detail .design_detail_3 h3 {
    font-size: 16px;
  }
}
.design_plan_contents #design_detail .design_detail_1 h3 br,
.design_plan_contents #design_detail .design_detail_2 h3 br,
.design_plan_contents #design_detail .design_detail_3 h3 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_detail .design_detail_1 h3 br,
  .design_plan_contents #design_detail .design_detail_2 h3 br,
  .design_plan_contents #design_detail .design_detail_3 h3 br {
    display: block;
  }
}
.design_plan_contents #design_detail .design_detail_1 figcaption p,
.design_plan_contents #design_detail .design_detail_2 figcaption p,
.design_plan_contents #design_detail .design_detail_3 figcaption p {
  font-size: 18px;
  text-align: center;
  padding: 0 0 5px 0;
  margin: 10px 0 5px 0;
  border-bottom: 1px solid #5e3819;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_detail .design_detail_1 figcaption p,
  .design_plan_contents #design_detail .design_detail_2 figcaption p,
  .design_plan_contents #design_detail .design_detail_3 figcaption p {
    font-size: 16px;
  }
}
.design_plan_contents #design_detail .design_detail_1 figcaption p br,
.design_plan_contents #design_detail .design_detail_2 figcaption p br,
.design_plan_contents #design_detail .design_detail_3 figcaption p br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents #design_detail .design_detail_1 figcaption p br,
  .design_plan_contents #design_detail .design_detail_2 figcaption p br,
  .design_plan_contents #design_detail .design_detail_3 figcaption p br {
    display: block;
  }
}
.design_plan_contents #design_detail .design_detail_1 figcaption span,
.design_plan_contents #design_detail .design_detail_2 figcaption span,
.design_plan_contents #design_detail .design_detail_3 figcaption span {
  font-size: 12px;
}
.design_plan_contents .design_detail_1 ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 70px;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .design_detail_1 ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
}
.design_plan_contents .design_detail_2 ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 70px;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .design_detail_2 ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
}
.design_plan_contents .design_detail_3 ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .design_detail_3 ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.design_plan_contents .plan_title {
  margin: 0 0 20px 0;
}
.design_plan_contents .plan_title h2 {
  font-size: 30px;
  color: #fff;
  text-align: center;
  padding: 5px 10px;
  margin: 0 0 20px 0;
  background: linear-gradient(90deg, #7ba25b, #457226, #1d3612);
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_title h2 {
    font-size: 20px;
  }
}
.design_plan_contents .plan_title h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_title h2 br {
    display: block;
  }
}
.design_plan_contents .plan_title p {
  font-size: 23px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_title p {
    font-size: 18px;
  }
}
.design_plan_contents .plan_title p br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_title p br {
    display: block;
  }
}
.design_plan_contents .plan_detail_1,
.design_plan_contents .plan_detail_2,
.design_plan_contents .plan_detail_3 {
  width: min(1150px, 100%);
  padding: 0 20px 30px 20px;
}
.design_plan_contents .plan_detail_1 ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_1 ul {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.design_plan_contents .plan_detail_1 ul figcaption {
  font-size: 21px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_1 ul figcaption {
    font-size: 16px;
  }
}
.design_plan_contents .plan_detail_2 figure {
  margin: 0 0 40px 0;
}
.design_plan_contents .plan_detail_2 figure figcaption {
  font-size: 21px;
  text-align: center;
  padding: 10px 10px 0 10px;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_2 figure figcaption {
    font-size: 16px;
  }
}
.design_plan_contents .plan_detail_2 figure figcaption br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_2 figure figcaption br {
    display: block;
  }
}
.design_plan_contents .plan_detail_2 .ceiling {
  padding: 40px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_2 .ceiling {
    padding: 20px;
  }
}
.design_plan_contents .plan_detail_2 .ceiling ul {
  display: grid;
  gap: 40px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_2 .ceiling ul {
    gap: 20px;
  }
}
.design_plan_contents .plan_detail_2 .ceiling p {
  font-size: 24px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_2 .ceiling p {
    font-size: 16px;
  }
}
.design_plan_contents .plan_detail_2 .ceiling p br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_2 .ceiling p br {
    display: block;
  }
}
.design_plan_contents .plan_detail_3 {
  margin: auto;
}
.design_plan_contents .plan_detail_3 .facilities {
  padding: 40px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_3 .facilities {
    padding: 20px;
  }
}
.design_plan_contents .plan_detail_3 .facilities ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 70px;
       column-gap: 70px;
  row-gap: 50px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_3 .facilities ul {
    grid-template-columns: 1fr;
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 20px;
  }
}
.design_plan_contents .plan_detail_3 .facilities ul figcaption {
  font-size: 21px;
  text-align: center;
  padding: 10px 0 0 0;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_3 .facilities ul figcaption {
    font-size: 14px;
  }
}
.design_plan_contents .plan_detail_3 .facilities small {
  font-size: 13px;
  text-align: right;
  display: block;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_3 .facilities small {
    text-align: left;
  }
}
.design_plan_contents .plan_detail_4 {
  padding: 0 20px;
}
.design_plan_contents .plan_detail_4 article {
  width: min(1110px, 100%);
  padding: 50px;
  margin: auto;
  border: 1px solid #5b985f;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_4 article {
    padding: 20px;
  }
}
.design_plan_contents .plan_detail_4 article #banner_modelhouse {
  padding: 0 70px;
  margin: 0 0 60px 0;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_4 article #banner_modelhouse {
    padding: 0;
  }
}
.design_plan_contents .plan_detail_4 article #banner_modelhouse figcaption {
  font-size: 21px;
  text-align: center;
  padding: 20px 0 0 0;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_4 article #banner_modelhouse figcaption {
    font-size: 16px;
    text-align: left;
  }
}
.design_plan_contents .plan_detail_4 article #banner_modelhouse figcaption span {
  display: block;
}
.design_plan_contents .plan_detail_4 article #banner_modelhouse figcaption span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_4 article #banner_modelhouse figcaption span br {
    display: block;
  }
}
.design_plan_contents .plan_detail_4 article #modelhouse_detail_list {
  padding: 40px;
  background-color: #d6eacf;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_4 article #modelhouse_detail_list {
    padding: 20px;
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.design_plan_contents .plan_detail_4 article dt {
  font-size: 17px;
  color: #355329;
}
.design_plan_contents .plan_detail_4 article dt span {
  font-size: 24px;
}
.design_plan_contents .plan_detail_4 article dd {
  font-size: 15px;
}
.design_plan_contents .plan_detail_4 article #modelhouse_icon_list {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  row-gap: 20px;
}
@media screen and (max-width: 768px) {
  .design_plan_contents .plan_detail_4 article #modelhouse_icon_list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.equipment_summary {
  padding: 0 20px 40px 20px;
  margin: 0 0 70px 0;
}
@media screen and (max-width: 768px) {
  .equipment_summary {
    padding: 0 20px 30px 20px;
    margin: 0 0 30px 0;
  }
}
.equipment_summary h2 {
  font-size: 29px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1em;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .equipment_summary h2 {
    font-size: 18px;
    text-align: left;
  }
}
.equipment_summary span {
  display: block;
}
.equipment_summary span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .equipment_summary span br {
    display: block;
  }
}
.equipment_summary p {
  font-size: 19px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .equipment_summary p {
    font-size: 14px;
    text-align: left;
  }
}
.equipment_summary p span {
  display: block;
}
.equipment_summary p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .equipment_summary p span br {
    display: block;
  }
}

.equipment_anchor_link {
  width: min(1040px, 100%);
  padding: 0 20px;
  margin: 0 auto 50px auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 25px;
       column-gap: 25px;
  row-gap: 15px;
}
@media screen and (max-width: 768px) {
  .equipment_anchor_link {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 10px;
         column-gap: 10px;
    row-gap: 10px;
  }
}
.equipment_anchor_link li {
  background-color: #35532a;
}
.equipment_anchor_link li a {
  font-size: 17px;
  color: #fff;
  text-align: center;
  line-height: 1.2;
  height: 100%;
  padding: 10px 0;
  display: block;
}
@media screen and (max-width: 768px) {
  .equipment_anchor_link li a {
    font-size: 12px;
  }
}
.equipment_anchor_link li a:hover {
  opacity: 0.7;
  transition: 0.3s;
}

.category_panel {
  width: min(1140px, 100%);
  padding: 40px 50px;
  margin: auto;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .category_panel {
    padding: 20px;
  }
}
.category_panel .box_1 {
  padding: 0 60px;
}
@media screen and (max-width: 768px) {
  .category_panel .box_1 {
    padding: 0;
  }
}
.category_panel .box_1 small {
  font-size: 13px;
  text-align: right;
  display: block;
}
@media screen and (max-width: 768px) {
  .category_panel .box_1 small {
    text-align: left;
  }
}
.category_panel .box_2 {
  padding: 0 230px;
}
@media screen and (max-width: 768px) {
  .category_panel .box_2 {
    padding: 0;
  }
}
.category_panel .box_2 small {
  font-size: 13px;
}
.category_panel #logo_plus {
  margin: 0 0 40px 0;
}
@media screen and (max-width: 768px) {
  .category_panel #logo_plus {
    margin: 0 0 20px 0;
  }
}
.category_panel #logo_plus div {
  width: min(350px, 100%);
  margin: 0 auto 40px auto;
}
@media screen and (max-width: 768px) {
  .category_panel #logo_plus div {
    margin: 0 auto 20px auto;
  }
}
.category_panel #logo_plus p span {
  display: block;
  font-size: 18px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .category_panel #logo_plus p span {
    font-size: 16px;
    text-align: left;
  }
}
.category_panel #logo_plus p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .category_panel #logo_plus p span br {
    display: block;
  }
}
.category_panel .column_1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .category_panel .column_1 {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.category_panel .column_2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .category_panel .column_2 {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.category_panel .column_2 figcaption {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .category_panel .column_2 figcaption {
    font-size: 14px;
  }
}
.category_panel .column_3 {
  display: grid;
  grid-template-columns: 3.1fr 0.9fr;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .category_panel .column_3 {
    grid-template-columns: 1fr;
  }
}

.category_title_1 {
  text-align: center;
  margin: 0 0 50px 0;
  border-bottom: 1px solid #35532a;
}
@media screen and (max-width: 768px) {
  .category_title_1 {
    margin: 0 0 20px 0;
  }
}
.category_title_1 span {
  font-size: 29px;
  color: #35532a;
  padding: 0 100px;
  border-bottom: 5px solid #35532a;
}
@media screen and (max-width: 768px) {
  .category_title_1 span {
    font-size: 18px;
    padding: 0 20px;
  }
}

.category_title_2 {
  text-align: center;
  margin: 0 0 50px 0;
}
@media screen and (max-width: 768px) {
  .category_title_2 {
    margin: 0 0 20px 0;
  }
}
.category_title_2 span {
  font-size: 29px;
  color: #35532a;
  display: block;
}
@media screen and (max-width: 768px) {
  .category_title_2 span {
    font-size: 18px;
  }
}
.category_title_2 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .category_title_2 span br {
    display: block;
  }
}

.category_title_3 {
  font-size: 26px;
  color: #fff;
  text-align: center;
  padding: 5px;
  margin: 0 0 40px 0;
  background: linear-gradient(90deg, #7aa05b, #457227, #1d3612);
}
@media screen and (max-width: 768px) {
  .category_title_3 {
    font-size: 16px;
    margin: 0 0 20px 0;
  }
}
.category_title_3 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .category_title_3 br {
    display: block;
  }
}

.category_title_4 {
  text-align: center;
  margin: 0 0 50px 0;
}
@media screen and (max-width: 768px) {
  .category_title_4 {
    margin: 0 0 20px 0;
  }
}
.category_title_4 span {
  font-size: 26px;
  color: #35532a;
  display: block;
}
@media screen and (max-width: 768px) {
  .category_title_4 span {
    font-size: 16px;
  }
}
.category_title_4 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .category_title_4 span br {
    display: block;
  }
}

.category_summary h3 {
  font-size: 28px;
  color: #35532a;
  text-align: center;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .category_summary h3 {
    font-size: 16px;
    text-align: left;
  }
}
.category_summary h3 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .category_summary h3 br {
    display: block;
  }
}
.category_summary p {
  font-size: 17px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .category_summary p {
    font-size: 15px;
    text-align: left;
  }
}
.category_summary p span {
  display: block;
}
.category_summary p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .category_summary p span br {
    display: block;
  }
}

#button_faq {
  width: min(400px, 100%);
  margin: 0 auto 60px auto;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  #button_faq {
    margin: 20px auto;
  }
}

#faq_answer {
  width: min(1140px, 100%);
  padding: 40px 50px;
  margin: auto;
  border-radius: 20px;
  display: none;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #faq_answer {
    padding: 20px;
  }
}
#faq_answer article {
  display: grid;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  #faq_answer article {
    gap: 20px;
  }
}
#faq_answer article dt {
  font-size: 18px;
  color: #00316b;
  padding: 5px 20px;
  background-color: #cbddee;
}
@media screen and (max-width: 768px) {
  #faq_answer article dt {
    font-size: 16px;
  }
}
#faq_answer article dt::before {
  content: "Q.";
}
#faq_answer article dd {
  font-size: 18px;
  padding: 5px 20px;
}
@media screen and (max-width: 768px) {
  #faq_answer article dd {
    font-size: 16px;
  }
}
#faq_answer article dd p::before {
  content: "A.";
  color: #d80101;
}
#faq_answer article dd a {
  color: #323232;
}

.annotation {
  width: min(1040px, 100%);
  padding: 20px 20px 0 20px;
  margin: 0 auto 80px auto;
  font-size: 10px;
}
@media screen and (max-width: 768px) {
  .annotation {
    margin: 0 auto 40px auto;
  }
}

.tab_contents {
  display: none;
  margin: 0 0 60px 0;
}
.tab_contents.current {
  display: block;
}

.quality_summary {
  padding: 0 20px 40px 20px;
  margin: 0 0 70px 0;
}
@media screen and (max-width: 768px) {
  .quality_summary {
    padding: 0 20px 30px 20px;
    margin: 0 0 30px 0;
  }
}
.quality_summary h2 {
  font-size: 29px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1em;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 768px) {
  .quality_summary h2 {
    font-size: 18px;
    text-align: left;
  }
}
.quality_summary span {
  display: block;
}
.quality_summary span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .quality_summary span br {
    display: block;
  }
}
.quality_summary p {
  font-size: 19px;
  color: #3e3a39;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .quality_summary p {
    font-size: 14px;
    text-align: left;
  }
}
.quality_summary p span {
  display: block;
}
.quality_summary p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .quality_summary p span br {
    display: block;
  }
}

#tab_button_quality {
  width: min(600px, 100%);
  padding: 0 20px;
  margin: 0 auto 60px auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
#tab_button_quality li {
  cursor: pointer;
  opacity: 0.5;
}
#tab_button_quality li.current {
  opacity: 1;
}
#tab_button_quality li:hover {
  opacity: 0.5;
  transition: 0.3s;
}

.quality_panel {
  padding: 0 20px;
}
.quality_panel article {
  width: min(1140px, 100%);
  background-color: #fff;
}
.quality_panel article .box {
  padding: 40px;
}
@media screen and (max-width: 768px) {
  .quality_panel article .box {
    padding: 20px;
  }
}
.quality_panel article .panel_title_1 {
  font-size: 30px;
  color: #fff;
  text-align: center;
  padding: 5px;
  background: linear-gradient(90deg, #928058, #7f5b2e, #291f01);
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_1 {
    font-size: 20px;
  }
}
.quality_panel article .panel_title_1 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_1 br {
    display: block;
  }
}
.quality_panel article .panel_title_2 {
  font-size: 30px;
  color: #fff;
  text-align: center;
  padding: 5px;
  background: linear-gradient(90deg, #7aa15b, #457227, #1d3612);
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_2 {
    font-size: 18px;
  }
}
.quality_panel article .panel_title_2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_2 br {
    display: block;
  }
}
.quality_panel article .panel_title_3 {
  font-size: 28px;
  color: #40210d;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_3 {
    font-size: 16px;
    text-align: left;
  }
}
.quality_panel article .panel_title_3 span {
  display: block;
}
.quality_panel article .panel_title_3 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_3 br {
    display: block;
  }
}
.quality_panel article .panel_title_4 {
  font-size: 25px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_4 {
    font-size: 20px;
    text-align: left;
  }
}
.quality_panel article .panel_title_4 span {
  display: block;
}
.quality_panel article .panel_title_4 span strong {
  font-size: 36px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_4 span strong {
    font-size: 27px;
  }
}
.quality_panel article .panel_title_4 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_4 span br {
    display: block;
  }
}
.quality_panel article .panel_title_5 {
  font-size: 30px;
  padding: 20px 0;
  border-top: 1px solid #3c3c3c;
  border-bottom: 1px solid #3c3c3c;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_5 {
    font-size: 20px;
  }
}
.quality_panel article .panel_title_5 span {
  display: block;
}
.quality_panel article .panel_title_5 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_title_5 span br {
    display: block;
  }
}
.quality_panel article .panel_text_1 {
  font-size: 17px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_text_1 {
    font-size: 14px;
    text-align: left;
  }
}
.quality_panel article .panel_text_1 span {
  display: block;
}
.quality_panel article .panel_text_1 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_text_1 span br {
    display: block;
  }
}
.quality_panel article .panel_text_1 small {
  font-size: 17px;
  color: #e8494a;
}
@media screen and (max-width: 768px) {
  .quality_panel article .panel_text_1 small {
    font-size: 14px;
  }
}

.quality_category {
  width: 800px;
  display: flex;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
@media screen and (max-width: 768px) {
  .quality_category {
    width: 100%;
    padding: 0 20px;
    flex-wrap: wrap;
    justify-content: center;
    -moz-column-gap: 10px;
         column-gap: 10px;
    row-gap: 10px;
  }
}
.quality_category li {
  width: 120px;
  height: 120px;
  display: grid;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  background-color: #b9b9b9;
}
@media screen and (max-width: 768px) {
  .quality_category li {
    width: 80px;
    height: 80px;
    font-size: 16px;
  }
}
.quality_category li.active {
  background-color: #a08572;
}

#img_04 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  padding: 0 100px;
}
@media screen and (max-width: 768px) {
  #img_04 {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 0;
  }
}
#img_04 h4 span {
  font-size: 23px;
  display: block;
}
@media screen and (max-width: 768px) {
  #img_04 h4 span {
    font-size: 18px;
  }
}
#img_04 h4 span strong {
  font-size: 34px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  #img_04 h4 span strong {
    font-size: 27px;
  }
}
#img_04 h4 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  #img_04 h4 span br {
    display: block;
  }
}

.pdg_40 {
  padding: 0 40px;
}
@media screen and (max-width: 768px) {
  .pdg_40 {
    padding: 0;
  }
}

.pdg_60 {
  padding: 0 60px;
}
@media screen and (max-width: 768px) {
  .pdg_60 {
    padding: 0;
  }
}

.pdg_80 {
  padding: 0 80px;
}
@media screen and (max-width: 768px) {
  .pdg_80 {
    padding: 0;
  }
}

.pdg_100 {
  padding: 0 100px;
}
@media screen and (max-width: 768px) {
  .pdg_100 {
    padding: 0;
  }
}

.quality_caption {
  text-align: right;
  display: block;
}
@media screen and (max-width: 768px) {
  .quality_caption {
    text-align: left;
  }
}

.article {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
@media screen and (max-width: 768px) {
  .article {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.article h4 span {
  font-size: 23px;
  display: block;
}
@media screen and (max-width: 768px) {
  .article h4 span {
    font-size: 18px;
  }
}
.article h4 span strong {
  font-size: 32px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .article h4 span strong {
    font-size: 27px;
  }
}
.article h4 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .article h4 span br {
    display: block;
  }
}

.color_box_1 {
  padding: 40px;
  background-color: #dfd7cb;
}
@media screen and (max-width: 768px) {
  .color_box_1 {
    padding: 20px;
  }
}

.terms h3 {
  font-size: 20px;
  text-align: center;
  padding: 0 0 10px 0;
  margin: 0 0 10px 0;
  border-bottom: 1px solid #3c3c3c;
}
@media screen and (max-width: 768px) {
  .terms h3 {
    font-size: 16px;
  }
}
.terms h4 {
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .terms h4 {
    font-size: 16px;
  }
}
.terms .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .terms .grid {
    grid-template-columns: 1fr;
  }
}

.ls30 {
  padding: 40px 20px;
  background-color: #c8bca7;
}
.ls30 img {
  width: min(1000px, 100%);
  margin: 0 auto 40px auto;
}
.ls30 p span {
  display: block;
  font-size: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ls30 p span {
    font-size: 16px;
    text-align: left;
  }
}
.ls30 p span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .ls30 p span br {
    display: block;
  }
}

.quality_after_service p {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .quality_after_service p {
    text-align: left;
  }
}
.quality_after_service ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
  padding: 20px 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .quality_after_service ul {
    grid-template-columns: repeat(3, 1fr);
  }
}

#logo_bf {
  padding: 40px 20px;
  background-color: #3c3c3c;
}
#logo_bf img {
  width: min(400px, 100%);
  margin: auto;
}

.border {
  width: 100%;
  height: 1px;
  margin: 60px 0;
  background-color: #3c3c3c;
}
@media screen and (max-width: 768px) {
  .border {
    margin: 30px 0;
  }
}

.quality_brand_img {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .quality_brand_img {
    grid-template-columns: 1fr;
  }
}

.guide_map {
  width: min(900px, 100%);
  padding: 0 10px;
  margin: 0 auto 60px auto;
}
@media screen and (max-width: 768px) {
  .guide_map {
    padding: 40px 10px 0 10px;
    margin: 0 auto 30px auto;
  }
}
.guide_map h2 {
  font-size: 50px;
  font-weight: 700;
  color: #004121;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1;
  margin: 0 0 40px 0;
}
@media screen and (max-width: 768px) {
  .guide_map h2 {
    font-size: 30px;
    margin: 0 0 20px 0;
  }
}
.guide_map #icon_googlemap {
  text-align: center;
  margin: 20px auto 0 auto;
}
.guide_map #icon_googlemap img {
  width: 280px;
  margin: 20px auto 0 auto;
}

.outline_table {
  width: min(1020px, 100%);
  padding: 0 10px;
  margin: 0 auto 60px auto;
}
@media screen and (max-width: 768px) {
  .outline_table {
    padding: 40px 10px 0 10px;
    margin: 0 auto 30px auto;
  }
}
.outline_table h2 {
  font-size: 50px;
  font-weight: 700;
  color: #004121;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1;
  margin: 0 0 40px 0;
}
@media screen and (max-width: 768px) {
  .outline_table h2 {
    font-size: 30px;
    margin: 0 0 20px 0;
  }
}
.outline_table h3 {
  font-size: 30px;
  font-weight: 700;
  color: #004121;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0 0 40px 0;
}
@media screen and (max-width: 768px) {
  .outline_table h3 {
    font-size: 20px;
  }
}
.outline_table h3 span {
  display: block;
}
.outline_table h3 span br {
  display: none;
}
@media screen and (max-width: 768px) {
  .outline_table h3 span br {
    display: block;
  }
}
.outline_table p {
  font-size: 20px;
  margin: 0 0 10px 0;
}
.outline_table table {
  width: 100%;
  margin: 0 0 60px 0;
  border-top: solid 1px #000;
  border-collapse: collapse;
}
@media screen and (max-width: 768px) {
  .outline_table table {
    margin: 0 0 30px 0;
  }
}
.outline_table table th {
  width: 20%;
  padding: 10px 15px;
  font-weight: 400;
  text-align: left;
  border: solid 1px #315c34;
  background: #c8c8c8;
}
@media screen and (max-width: 768px) {
  .outline_table table th {
    width: 100%;
    padding: 10px;
    display: block;
  }
}
.outline_table table td {
  padding: 10px 15px;
  border: solid 1px #315c34;
}
@media screen and (max-width: 768px) {
  .outline_table table td {
    width: 100%;
    padding: 10px;
    display: block;
  }
}/*# sourceMappingURL=common.css.map */