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

html,
body {
  line-height: normal;
  overflow-x: hidden;
}

a {
  color: #000;
  text-decoration: none;
}
a:hover {
  color: #000;
}
a:active {
  color: #000;
}
a:visited {
  color: #000;
}

img {
  image-rendering: -webkit-optimize-contrast;
  max-width: 100%;
  vertical-align: top;
}

input,
button {
  box-sizing: border-box;
  border: none;
  outline: none;
}

textarea {
  box-sizing: border-box;
  border: none;
  outline: none;
}

select {
  border: none;
  outline: none;
}

table {
  display: block;
}

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

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

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

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

.base_w {
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .base_w {
    width: 90%;
  }
}

.pc_w {
  max-width: 940px;
  margin: 0 auto;
}
@media screen and (max-width: 940px) {
  .pc_w {
    width: 90%;
  }
}

.sp_w {
  max-width: 780px;
  margin: 0 auto;
}
@media screen and (max-width: 940px) {
  .sp_w {
    width: 90%;
  }
}

.small_w {
  max-width: 600px;
  margin: 0 auto;
}
@media screen and (max-width: 940px) {
  .small_w {
    width: 90%;
  }
}

.col2, #ecology .inner_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col2 div, #ecology .inner_link div,
.col2 ul,
#ecology .inner_link ul,
.col2 li,
#ecology .inner_link li,
.col2 a,
#ecology .inner_link a {
  width: 48%;
}
@media screen and (max-width: 780px) {
  .col2 div, #ecology .inner_link div,
.col2 ul,
#ecology .inner_link ul,
.col2 li,
#ecology .inner_link li,
.col2 a,
#ecology .inner_link a {
    width: 100%;
    margin-bottom: 20px;
  }
}

.col3, #design .inner_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col3 div, #design .inner_link div,
.col3 ul,
#design .inner_link ul,
.col3 li,
#design .inner_link li,
.col3 a,
#design .inner_link a {
  width: 30%;
}
@media screen and (max-width: 780px) {
  .col3 div, #design .inner_link div,
.col3 ul,
#design .inner_link ul,
.col3 li,
#design .inner_link li,
.col3 a,
#design .inner_link a {
    width: 100%;
    margin-bottom: 20px;
  }
}

.col4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col4 div,
.col4 ul,
.col4 li,
.col4 a {
  width: 24%;
}
@media screen and (max-width: 780px) {
  .col4 div,
.col4 ul,
.col4 li,
.col4 a {
    width: 48%;
    margin-bottom: 20px;
  }
}

.col5 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col5 div,
.col5 ul,
.col5 li,
.col5 a {
  width: 19%;
}
@media screen and (max-width: 780px) {
  .col5 div,
.col5 ul,
.col5 li,
.col5 a {
    width: 48%;
    margin-bottom: 20px;
  }
}

.align-center {
  align-items: center;
}
.align-center img {
  display: block;
  margin: 0 auto;
}

.mt90 {
  margin-top: 90px;
}

.mt60 {
  margin-top: 60px;
}

.mt30 {
  margin-top: 30px;
}

.mt20 {
  margin-top: 20px;
}

body {
  font-family: "Ryumin Regular KL";
  font-size: 16px;
  font-feature-settings: "palt";
  color: #000;
}
@media screen and (max-width: 940px) {
  body {
    font-size: 14px;
  }
}

p {
  line-height: 2em;
}

h2 {
  font-size: 24px;
  color: #9b965b;
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  margin: 120px auto 40px;
  text-align: center;
  line-height: 2em;
  letter-spacing: 0.2em;
}
h2::after {
  display: block;
  content: "";
  width: 150px;
  height: 5px;
  margin: 5px auto 0px;
  background-color: #9b965b;
}
@media screen and (max-width: 780px) {
  h2::after {
    width: 50px;
  }
}

h3 {
  font-size: 32px;
  line-height: 2em;
}
@media screen and (max-width: 780px) {
  h3 {
    font-size: 20px;
  }
}

h4 {
  font-size: 24px;
  line-height: 2em;
}
@media screen and (max-width: 780px) {
  h4 {
    font-size: 18px;
  }
}

.en {
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}

.primary {
  color: #9b965b;
}

.secondary {
  color: #8cb5b2;
}

.tertiaryColor {
  color: #766b65;
}

.center {
  text-align: center;
}

@media screen and (max-width: 780px) {
  .spCenter {
    text-align: center;
  }
}

.spLeft {
  text-align: center;
}
@media screen and (max-width: 780px) {
  .spLeft {
    max-width: 90%;
    margin-right: auto;
    margin-left: auto;
    text-align: justify;
  }
}

.right {
  text-align: right;
}

.justify {
  text-align: justify;
}

.kerning {
  letter-spacing: -2px;
}

sup {
  font-size: 10px;
  vertical-align: text-bottom;
}

.cap {
  font-size: 12px;
}
@media screen and (max-width: 780px) {
  .cap {
    font-size: 10px;
    line-height: 1.5em;
  }
}

.cap_small {
  font-size: 10px;
  line-height: 1.2em;
}

.footer_cap {
  max-width: 1280px;
  margin: 0 auto;
  color: #000;
  font-size: 12px;
  line-height: 1.5em;
}
@media screen and (max-width: 1280px) {
  .footer_cap {
    max-width: 90%;
  }
}
@media screen and (max-width: 780px) {
  .footer_cap {
    font-size: 10px;
  }
}

.image_cap {
  display: block;
  position: relative;
}
.image_cap .cap {
  position: absolute;
  bottom: 1%;
  right: 1%;
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.7);
  font-size: 12px;
  line-height: 1.5em;
}
@media screen and (max-width: 780px) {
  .image_cap .cap {
    font-size: 10px;
  }
}
.image_cap .cap.black {
  color: #000;
  text-shadow: none;
}

img.wide {
  width: 100%;
}

a.banner {
  display: block;
  margin: 30px auto 60px;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
  transition: 0.3s;
}
a.banner:hover {
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 940px) {
  a.banner {
    width: 90%;
  }
}

.vertical_line {
  display: block;
  margin: 30px auto;
  width: 1px;
  height: 60px;
  background-color: #000;
}

.underline::after {
  display: block;
  content: "";
  width: 150px;
  height: 5px;
  margin: 5px auto 0px;
  background-color: #9b965b;
}
@media screen and (max-width: 780px) {
  .underline::after {
    width: 50px;
  }
}

.more_btn {
  display: block;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #9b965b;
  color: #9b965b;
  border-radius: 5px;
  text-align: center;
  transition: 0.3s;
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}
@media screen and (max-width: 780px) {
  .more_btn {
    padding: auto 10px;
  }
}
.more_btn::after {
  display: inline-block;
  content: url("../images/common/arrow_right_primary.svg");
  width: 10px;
  margin-left: 5px;
  transition: 0.3s;
}
@media screen and (max-width: 780px) {
  .more_btn::after {
    width: 8px;
  }
}
.more_btn:hover {
  opacity: 0.7;
  color: #9b965b;
}
.more_btn:hover::after {
  transform: translateX(10px);
}
.more_btn:visited {
  color: #9b965b;
}
.more_btn.jp {
  font-family: "Ryumin Regular KL";
}

.conv_btn {
  display: inline-block;
  padding: 0.5rem;
  background-color: transparent;
  color: #69663c;
  border-radius: 5px;
  border: 1px solid #9b965b;
  text-align: center;
  transition: 0.3s all;
  opacity: 0.7;
}
.conv_btn:hover {
  opacity: 1;
}
.conv_btn:visited {
  color: #69663c;
}
.conv_btn.jp {
  font-family: "Ryumin Regular KL";
}

.bg_white {
  background-color: #fff;
}

header {
  width: 100%;
  background-image: url(../images/common/back.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  top: 0;
  z-index: 999;
}
header #gnav01 {
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
}
header #gnav01 h1 {
  width: 30%;
  margin: 0 auto 0 0;
  padding: 1rem 0 0;
}
@media screen and (max-width: 940px) {
  header #gnav01 h1 {
    width: 40%;
  }
}
@media screen and (max-width: 640px) {
  header #gnav01 h1 {
    width: 70%;
  }
}
header #gnav01 .conv_btn {
  width: 12%;
  margin-right: 1%;
  font-size: 12px;
}
@media screen and (max-width: 780px) {
  header #gnav01 .conv_btn {
    display: none;
  }
}
header #gnav01 #toggle {
  display: block;
  cursor: pointer;
  width: 40px;
  height: 40px;
}
header #gnav01 #toggle:before {
  display: block;
  content: "MENU";
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  text-align: center;
  line-height: 1;
}
header #gnav01 #toggle span {
  display: block;
  position: relative;
}
header #gnav01 #toggle span:before {
  content: "";
  position: absolute;
  top: 10px;
}
header #gnav01 #toggle span:after {
  content: "";
  position: absolute;
  top: 20px;
}
header #gnav01 #toggle span:before, header #gnav01 #toggle span:after {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #000;
  transition: all 0.3s;
  backface-visibility: hidden;
}
header #gnav01 #toggle.open span {
  background-color: transparent;
}
header #gnav01 #toggle.open span:after {
  top: 15px;
  transform: rotate(45deg);
}
header #gnav01 #toggle.open span:before {
  top: 15px;
  transform: rotate(-45deg);
}
header #gnav02 {
  display: none;
  max-width: 100%;
  margin: 0 auto;
  padding: 10px;
  box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.2);
  transition: 0.3s;
}
header #gnav02 ul {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
header #gnav02 ul li {
  width: 24%;
  padding: 30px;
  margin-bottom: 30px;
  text-align: center;
  border-bottom: 2px solid #9b965b;
  position: relative;
  background: transparent url(../images/common/arrow_right_primary.svg) 95% center no-repeat;
  background-size: 20px;
  transition: 0.3s;
}
header #gnav02 ul li:hover {
  background: transparent url(../images/common/arrow_right_primary.svg) 100% center no-repeat;
  background-size: 20px;
}
header #gnav02 ul li.current {
  border-bottom: 5px solid #9b965b;
}
header #gnav02 ul li.soon {
  background: none;
}
header #gnav02 ul li.soon a {
  cursor: default;
  color: rgba(155, 150, 91, 0.5);
}
header #gnav02 ul li.soon a span.en {
  color: rgba(155, 150, 91, 0.5);
}
header #gnav02 ul li.new:after {
  font-family: "Cinzel", serif;
  padding: 0 5px;
  content: "NEW";
  background-color: #a40000;
  color: #fff;
  font-size: 12px;
}
@media screen and (max-width: 780px) {
  header #gnav02 ul li {
    width: 49%;
    margin-bottom: 2%;
    padding: 10px;
  }
}
header #gnav02 ul li a {
  display: block;
  font-size: 16px;
}
@media screen and (max-width: 780px) {
  header #gnav02 ul li a {
    font-size: 10px;
  }
}
header #gnav02 ul li a span.en {
  display: block;
  color: #9b965b;
  font-size: 12px;
  margin-top: 10px;
}
header #gnav02 ul li span.new {
  display: inline-block;
  color: #c1272d;
  font-size: 10px;
}
@media screen and (max-width: 780px) {
  header #gnav02 ul li span.new {
    position: absolute;
    top: 0px;
    left: 0px;
  }
}
header #gnav02.open {
  display: block;
}
header #sp_conv {
  display: none;
}
@media screen and (max-width: 780px) {
  header #sp_conv {
    visibility: visible;
    width: 100%;
    padding: 10px;
    background-image: url(../images/common/back.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: fixed;
    bottom: 0;
    z-index: 999;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    text-align: center;
  }
  header #sp_conv a {
    display: block;
    width: 48%;
    padding: 5px 0px;
    border-radius: 10px;
    font-size: 10px;
  }
  header #sp_conv a img {
    display: block;
    max-height: 15px;
    margin: 0 auto 5px;
  }
  header #sp_conv a.map_btn {
    background-color: rgba(155, 150, 91, 0.1);
    border: 1px solid #9b965b;
    color: #9b965b;
  }
  header #sp_conv a.req_btn {
    background-color: rgba(140, 181, 178, 0.1);
    border: 1px solid #8cb5b2;
    color: #8cb5b2;
  }
  header #sp_conv a.res_btn {
    background-color: rgba(118, 107, 101, 0.1);
    border: 1px solid #766b65;
    color: #766b65;
  }
  header #sp_conv a.soon_btn {
    cursor: default;
    color: rgba(255, 255, 255, 0.3);
  }
  header #sp_conv a.soon_btn img {
    opacity: 0.3;
  }
}

main {
  margin: 60px auto 60px;
  background-image: url(../images/common/back.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
main :target {
  scroll-margin-top: 120px;
}
@media screen and (max-width: 780px) {
  main {
    background-image: url(../images/common/back_sp.jpg);
    background-attachment: local scroll;
  }
}

footer {
  background-color: #fff;
  width: 100%;
  margin: 60px 0 0;
  padding: 0 0 30px;
}
@media screen and (max-width: 780px) {
  footer {
    padding: 0 0 120px;
  }
}
footer #conv_area {
  background-image: url(../images/common/back.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 0 60px;
  padding: 60px 0;
  font-size: 12px;
}
footer #conv_area .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: end;
}
footer #conv_area .inner a.tel {
  width: 50%;
}
@media screen and (max-width: 940px) {
  footer #conv_area .inner a.tel {
    width: 100%;
    margin-bottom: 30px;
  }
}
footer #conv_area .inner a.tel ul {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: end;
}
footer #conv_area .inner a.tel ul li:first-child {
  width: 60%;
  color: #000;
  margin-right: 2%;
}
@media screen and (max-width: 940px) {
  footer #conv_area .inner a.tel ul li:first-child {
    width: 100%;
  }
}
footer #conv_area .inner a.tel ul li:first-child p {
  font-size: 10px;
}
footer #conv_area .inner a.tel ul li:first-child img {
  margin-top: 10px;
}
footer #conv_area .inner a.tel ul li:last-child {
  width: 35%;
  font-size: 10px;
}
@media screen and (max-width: 940px) {
  footer #conv_area .inner a.tel ul li:last-child {
    width: 100%;
    margin-top: 10px;
  }
}
footer #conv_area .conv_btn {
  width: 16%;
}
@media screen and (max-width: 940px) {
  footer #conv_area .conv_btn {
    width: 32%;
  }
}
footer .c_logo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
footer .c_logo li {
  width: 45%;
}
@media screen and (max-width: 780px) {
  footer .c_logo li {
    width: 80%;
    margin: 0 auto 30px;
  }
}
footer address {
  background-color: #fff;
  margin: 30px auto 0;
  text-align: center;
  font-size: 12px;
  font-style: normal;
  color: #000;
}

@media print {
  header {
    display: none;
  }

  footer {
    display: none;
  }

  h2 {
    display: none;
  }

  .map {
    display: block;
    margin: 0 auto;
  }

  .gmap {
    display: none;
  }

  #print_btn {
    display: none;
  }

  .pankuzu {
    display: none;
  }
}
#top #main_visual {
  width: 100%;
}
#top #main_visual video {
  width: 100%;
}
#top #main_usp {
  padding: 2rem;
}
#top #usp {
  padding: 20px 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#top #usp > div {
  width: 24%;
}
@media screen and (max-width: 1280px) {
  #top #usp > div {
    width: 40%;
    margin: 20px auto;
  }
}
@media screen and (max-width: 780px) {
  #top #usp > div {
    width: 70%;
  }
}
#top #usp > div > img {
  border-top: 1px solid #9b965b;
  border-bottom: 1px solid #9b965b;
}
@media screen and (max-width: 780px) {
  #top #usp > div > img {
    border-bottom: none;
  }
}
#top #information {
  display: block;
  text-align: center;
  padding-bottom: 10px;
}
#top #information .bg {
  background: #e8e8e8;
}
#top #information h2 {
  font-size: 28px;
  margin: 0;
  padding: 10px 0px;
  vertical-align: baseline;
  color: #000;
}
#top #information h2:after {
  content: none;
}
@media screen and (max-width: 780px) {
  #top #information h2 {
    font-size: 14px;
    line-height: 1.8em;
  }
}
#top #information .more_btn {
  max-width: 300px;
  margin: 30px auto;
}
#top .lower {
  background-image: url(../images/common/back.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
@media screen and (max-width: 780px) {
  #top .lower {
    background-image: url(../images/common/back_sp.jpg);
    background-attachment: local scroll;
  }
}
#top #aireal {
  padding: 150px 10px 0px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1280px) {
  #top #aireal {
    padding: 200px 0px 0px;
  }
}
@media screen and (max-width: 940px) {
  #top #aireal {
    padding: 300px 0px 0px;
  }
}
@media screen and (max-width: 780px) {
  #top #aireal {
    padding: 400px 0px 0px;
  }
}
#top #aireal .aireal_image {
  max-width: 1920px;
  margin: 0 auto;
}
#top #aireal .aireal_text {
  position: absolute;
  top: 3%;
  left: 0;
  right: 0;
}
#top #aireal h3 {
  font-size: 32px;
  line-height: 2em;
}
@media screen and (max-width: 780px) {
  #top #aireal h3 {
    font-size: 24px;
  }
}
@media screen and (max-width: 780px) {
  #top #aireal p {
    line-height: 1.8em;
  }
}
#top #aireal p.en {
  font-size: 40px;
  color: #ccc;
  letter-spacing: 1em;
}
@media screen and (max-width: 1280px) {
  #top #aireal p.en {
    font-size: 30px;
  }
}
@media screen and (max-width: 940px) {
  #top #aireal p.en {
    font-size: 20px;
    line-height: 2em;
  }
}
#top .contents {
  padding-bottom: 60px;
}
#top .contents .content {
  max-width: 940px;
  margin: 30px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#top .contents .content::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 0%;
  z-index: 0;
}
@media screen and (max-width: 780px) {
  #top .contents .content::after {
    display: none;
  }
}
@media screen and (max-width: 1280px) {
  #top .contents .content {
    max-width: 90%;
  }
}
#top .contents .content:nth-child(even) {
  flex-direction: row-reverse;
}
#top .contents .content > div {
  width: 48%;
}
@media screen and (max-width: 780px) {
  #top .contents .content > div {
    width: 90%;
    margin: 0 auto;
  }
}
#top .contents .content > div:first-child {
  z-index: 1;
}
#top .contents .content > div:first-child img {
  filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
}
#top .contents .content p.primary {
  font-family: "Ryumin Regular KL";
  margin-bottom: 20px;
  font-size: 26px;
  position: absolute;
  top: 25%;
}
@media screen and (max-width: 1280px) {
  #top .contents .content p.primary {
    font-size: 20px;
    top: 23%;
  }
}
@media screen and (max-width: 780px) {
  #top .contents .content p.primary {
    border-bottom: 1px solid #000;
    font-size: 16px;
    position: relative;
  }
}
#top .contents .content:nth-child(even) p.primary {
  left: 20%;
}
@media screen and (max-width: 780px) {
  #top .contents .content:nth-child(even) p.primary {
    position: relative;
    left: 0%;
  }
}
#top .contents .content h3 {
  font-size: 54px;
  line-height: 1.5em;
  margin-bottom: 20px;
  position: absolute;
  top: 55%;
}
@media screen and (max-width: 1280px) {
  #top .contents .content h3 {
    font-size: 40px;
    line-height: 1.2em;
  }
}
@media screen and (max-width: 780px) {
  #top .contents .content h3 {
    font-size: 36px;
    position: relative;
  }
}
#top .contents .content h3 .small {
  font-size: 40px;
}
@media screen and (max-width: 1280px) {
  #top .contents .content h3 .small {
    font-size: 30px;
  }
}
#top .contents .content:nth-child(even) h3 {
  left: 20%;
}
@media screen and (max-width: 780px) {
  #top .contents .content:nth-child(even) h3 {
    position: relative;
    left: 0%;
  }
}
#top .contents .content .more_btn {
  display: block;
  width: 150px;
  margin-top: 20px;
  position: absolute;
  top: 75%;
  background-color: #9b965b;
  color: #fff;
}
#top .contents .content .more_btn::after {
  content: url("../images/common/arrow_right_white.svg");
}
@media screen and (max-width: 780px) {
  #top .contents .content .more_btn {
    position: relative;
  }
}
#top .contents .content .more_btn.soon {
  background-color: #fff;
  border: 1px solid #9b965b;
  color: #9b965b;
  cursor: default;
}
#top .contents .content .more_btn.soon::after {
  content: none;
}
#top .contents .content .more_btn.soon:hover {
  opacity: 1;
}
#top .contents .content:nth-child(even) .more_btn {
  left: 20%;
}
@media screen and (max-width: 780px) {
  #top .contents .content:nth-child(even) .more_btn {
    position: relative;
    left: 0%;
  }
}
#top .fade-wrapper {
  position: relative;
  display: inline-block;
}
#top .fade-wrapper img {
  display: block;
  width: 100%;
  height: auto;
}
#top .fade-wrapper .overlay {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 1s ease;
  opacity: 0;
  z-index: 1;
}
#top .fade-wrapper-soon {
  position: relative;
  display: inline-block;
}
#top .fade-wrapper-soon img {
  display: block;
  width: 100%;
  height: auto;
}

#location .main_visual {
  text-align: center;
  position: relative;
  margin-bottom: 60px;
}
@media screen and (max-width: 780px) {
  #location .main_visual {
    padding-top: 100px;
  }
}
#location .main_visual .main_image {
  max-width: 1920px;
  margin: 0 auto;
}
@media screen and (max-width: 1920px) {
  #location .main_visual .main_image {
    max-width: 100%;
  }
}
#location .main_visual h2 {
  position: absolute;
  top: 0%;
  left: 1%;
  right: 1%;
  margin-top: 30px;
  color: #fff;
}
#location .main_visual h2::after {
  background-color: #fff;
}
@media screen and (max-width: 780px) {
  #location .main_visual h2 {
    color: #9b965b;
  }
  #location .main_visual h2::after {
    background-color: #9b965b;
  }
}
#location .main_visual p.cap {
  position: absolute;
  bottom: 1%;
  right: 1%;
  color: #fff;
}
#location .position_slider {
  border-top: 3px solid #9b965b;
  margin-bottom: 60px;
}
#location .position_slider .slide p {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  border-bottom: 1px solid #000;
}
#location .position_slider .slide p.cap {
  text-align: right;
  border-bottom: none;
}
#location #nature {
  padding: 90px 0;
  border-bottom: 1px dashed #000;
}
#location #nature .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#location #nature .flex > div.w3 {
  width: 42.9%;
}
@media screen and (max-width: 780px) {
  #location #nature .flex > div.w3 {
    width: 100%;
  }
}
#location #nature .flex > div.w2 {
  width: 57.1%;
}
@media screen and (max-width: 780px) {
  #location #nature .flex > div.w2 {
    width: 100%;
  }
}
#location #nature .flex > div.w1 {
  width: 50%;
}
#location #shopping {
  padding: 90px 0;
  border-bottom: 1px dashed #000;
}
#location #shopping .col3 > div, #location #shopping #design .inner_link > div, #design #location #shopping .inner_link > div {
  width: 33.3333%;
}
@media screen and (max-width: 780px) {
  #location #shopping .col3 > div, #location #shopping #design .inner_link > div, #design #location #shopping .inner_link > div {
    width: 100%;
    margin-bottom: 0;
  }
}
#location #education {
  padding: 90px 0;
  border-bottom: 1px dashed #000;
}
#location #education .col3 > div, #location #education #design .inner_link > div, #design #location #education .inner_link > div {
  width: 33.3333%;
}
@media screen and (max-width: 780px) {
  #location #education .col3 > div, #location #education #design .inner_link > div, #design #location #education .inner_link > div {
    width: 50%;
    margin-bottom: 0;
  }
}
#location div.spot {
  position: relative;
}
#location div.spot p.cap {
  position: absolute;
  left: 0;
  bottom: 0;
  color: #fff;
  background: linear-gradient(90deg, black, rgba(0, 0, 0, 0.2));
  padding: 0.2rem;
  line-height: 1.1em;
}
#location #seijyo {
  background-color: #fff;
  border: 1px solid #9b965b;
  border-radius: 10px;
  padding: 60px 0 0;
  margin-bottom: 60px;
}
#location #seijyo .inner {
  padding: 2rem;
}
#location #seijyo .flex1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#location #seijyo .flex1 > div:first-child {
  width: 46.4%;
}
@media screen and (max-width: 780px) {
  #location #seijyo .flex1 > div:first-child {
    width: 100%;
  }
}
#location #seijyo .flex1 > div:last-child {
  width: 53.6%;
}
@media screen and (max-width: 780px) {
  #location #seijyo .flex1 > div:last-child {
    width: 100%;
  }
}
#location #seijyo .flex2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#location #seijyo .flex2 > div.w3 {
  width: 29.4%;
}
@media screen and (max-width: 780px) {
  #location #seijyo .flex2 > div.w3 {
    width: 100%;
  }
  #location #seijyo .flex2 > div.w3 img {
    width: 100%;
  }
}
#location #seijyo .flex2 > div.w2 {
  width: 70.6%;
}
@media screen and (max-width: 780px) {
  #location #seijyo .flex2 > div.w2 {
    width: 100%;
  }
}
#location #seijyo .flex2 > div.w1 {
  width: 50%;
}
@media screen and (max-width: 780px) {
  #location #seijyo .flex2 > div.w1 {
    width: 100%;
  }
}
#location #information .tab_contents {
  background-color: #fff;
  padding-top: 30px;
}
#location #information ul.btns {
  max-width: 100%;
  margin: 0 auto 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#location #information ul.btns > li {
  width: 19%;
  background-color: #fff;
  border: 1px solid #9b965b;
  padding: 0.5rem 1rem;
  text-align: center;
  color: #9b965b;
  cursor: pointer;
}
@media screen and (max-width: 940px) {
  #location #information ul.btns > li {
    width: 49%;
  }
  #location #information ul.btns > li:nth-child(1), #location #information ul.btns > li:nth-child(2), #location #information ul.btns > li:nth-child(3), #location #information ul.btns > li:nth-child(4) {
    margin-bottom: 2%;
  }
}
#location #information ul.btns > li.current {
  background-color: #9b965b;
  color: #fff;
}
#location #information .tab_content {
  display: none;
}
#location #information .tab_content.show {
  display: block;
}
#location #information .tab_content .col3, #location #information .tab_content #design .inner_link, #design #location #information .tab_content .inner_link {
  margin: 30px auto;
}
#location #information .tab_content .col3 > dl, #location #information .tab_content #design .inner_link > dl, #design #location #information .tab_content .inner_link > dl {
  width: 32%;
  margin-bottom: 10px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  font-size: 14px;
}
@media screen and (max-width: 1280px) {
  #location #information .tab_content .col3 > dl, #location #information .tab_content #design .inner_link > dl, #design #location #information .tab_content .inner_link > dl {
    width: 48%;
  }
}
@media screen and (max-width: 780px) {
  #location #information .tab_content .col3 > dl, #location #information .tab_content #design .inner_link > dl, #design #location #information .tab_content .inner_link > dl {
    width: 100%;
  }
}
#location #information .tab_content .col3 > dl dt > span.num, #location #information .tab_content #design .inner_link > dl dt > span.num, #design #location #information .tab_content .inner_link > dl dt > span.num {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  font-size: 12px;
  color: #fff;
  border-radius: 50%;
  text-align: center;
}
#location #information .tab_content#tab_shopping .col3 > dl > dt > span.num, #location #information .tab_content#tab_shopping #design .inner_link > dl > dt > span.num, #design #location #information .tab_content#tab_shopping .inner_link > dl > dt > span.num {
  background-color: #d59533;
}
#location #information .tab_content#tab_park .col3 > dl > dt > span.num, #location #information .tab_content#tab_park #design .inner_link > dl > dt > span.num, #design #location #information .tab_content#tab_park .inner_link > dl > dt > span.num {
  background-color: #62b27b;
}
#location #information .tab_content#tab_education .col3 > dl > dt > span.num, #location #information .tab_content#tab_education #design .inner_link > dl > dt > span.num, #design #location #information .tab_content#tab_education .inner_link > dl > dt > span.num {
  background-color: #cd7e9a;
}
#location #information .tab_content#tab_medical .col3 > dl > dt > span.num, #location #information .tab_content#tab_medical #design .inner_link > dl > dt > span.num, #design #location #information .tab_content#tab_medical .inner_link > dl > dt > span.num {
  background-color: #9082a4;
}
#location #information .tab_content#tab_public .col3 > dl, #location #information .tab_content#tab_public #design .inner_link > dl, #design #location #information .tab_content#tab_public .inner_link > dl {
  width: 48%;
}
#location #information .tab_content#tab_public .col3 > dl > dt > span.num, #location #information .tab_content#tab_public #design .inner_link > dl > dt > span.num, #design #location #information .tab_content#tab_public .inner_link > dl > dt > span.num {
  background-color: #838686;
}
@media screen and (max-width: 780px) {
  #location #information .tab_content#tab_public .col3 > dl, #location #information .tab_content#tab_public #design .inner_link > dl, #design #location #information .tab_content#tab_public .inner_link > dl {
    width: 100%;
  }
}
#location .reader {
  white-space: nowrap;
}

#access .main_visual {
  text-align: center;
  position: relative;
  margin-bottom: 60px;
}
@media screen and (max-width: 780px) {
  #access .main_visual {
    padding-top: 100px;
  }
}
#access .main_visual .aireal_image {
  max-width: 1920px;
  margin: 0 auto;
}
@media screen and (max-width: 1920px) {
  #access .main_visual .aireal_image {
    max-width: 100%;
  }
}
#access .main_visual h2 {
  position: absolute;
  top: 0%;
  left: 1%;
  right: 1%;
  margin-top: 30px;
}
#access .main_visual p.cap {
  position: absolute;
  bottom: 1%;
  right: 1%;
  color: #fff;
}
#access .train_slider, #access .car_slider {
  border-top: 3px solid #9b965b;
  margin-bottom: 60px;
}
#access .train_slider .slide p, #access .car_slider .slide p {
  text-align: center;
  border-bottom: 1px solid #000;
}
#access .station {
  margin-bottom: 30px;
}
#access .station dl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
#access .station dl .large {
  font-size: 2rem;
}
@media screen and (max-width: 780px) {
  #access .station dl .large {
    font-size: 1.6rem;
  }
}
#access .station p.cap {
  text-align: justify;
}
#access #car div.station {
  width: 33.33%;
  padding: 0 2%;
  border-left: 1px solid #000;
}
#access #car div.station:first-child {
  border-left: none;
}
#access #car div.station:nth-child(3n+1) {
  border-left: none;
}
@media screen and (max-width: 780px) {
  #access #car div.station {
    width: 100%;
    margin-bottom: 30px;
    border-left: none;
  }
}
#access .reader {
  white-space: nowrap;
}

#design .main_visual {
  text-align: center;
  position: relative;
  margin-bottom: 60px;
}
@media screen and (max-width: 780px) {
  #design .main_visual {
    padding-top: 100px;
  }
}
#design .main_visual .aireal_image {
  max-width: 1920px;
  margin: 0 auto;
}
@media screen and (max-width: 1920px) {
  #design .main_visual .aireal_image {
    max-width: 100%;
  }
}
#design .main_visual h2 {
  position: absolute;
  top: 0%;
  left: 1%;
  right: 1%;
  margin-top: 30px;
}
#design .main_visual p.cap {
  position: absolute;
  bottom: 1%;
  right: 1%;
  color: #fff;
}
@media screen and (max-width: 780px) {
  #design .inner_link > a {
    width: 32%;
  }
}
#design img.ttl_img {
  display: block;
  max-width: 150px;
  margin: 0 auto;
}
#design img.multiply {
  mix-blend-mode: multiply;
}
#design div.dashed_line {
  border: 1px dashed #9b965b;
}
#design div.grad_line {
  display: block;
  max-width: 1280px;
  margin: 60px auto;
  height: 2px;
  background: linear-gradient(90deg, gainsboro, #848484);
}
#design div.grad_border_line {
  display: block;
  width: 100%;
  margin: 10px auto;
  height: 3px;
  background: linear-gradient(90deg, gainsboro, #848484);
  border: 1px solid #a3a3a3;
  border-radius: 2px;
}
#design #idea .col2, #design #idea #ecology .inner_link, #ecology #design #idea .inner_link {
  align-items: center;
}
@media screen and (max-width: 780px) {
  #design #idea .col2, #design #idea #ecology .inner_link, #ecology #design #idea .inner_link {
    justify-content: center;
    text-align: center;
  }
}
#design #idea .col2 > div.w3, #design #idea #ecology .inner_link > div.w3, #ecology #design #idea .inner_link > div.w3 {
  width: 25%;
}
@media screen and (max-width: 780px) {
  #design #idea .col2 > div.w3, #design #idea #ecology .inner_link > div.w3, #ecology #design #idea .inner_link > div.w3 {
    width: 40%;
  }
}
#design #idea .col2 > div.w7, #design #idea #ecology .inner_link > div.w7, #ecology #design #idea .inner_link > div.w7 {
  width: 70%;
}
#design #idea .col2 > div.w4, #design #idea #ecology .inner_link > div.w4, #ecology #design #idea .inner_link > div.w4 {
  width: 35%;
}
@media screen and (max-width: 780px) {
  #design #idea .col2 > div.w4, #design #idea #ecology .inner_link > div.w4, #ecology #design #idea .inner_link > div.w4 {
    width: 50%;
  }
}
#design #idea .col2 > div.w6, #design #idea #ecology .inner_link > div.w6, #ecology #design #idea .inner_link > div.w6 {
  width: 60%;
}
@media screen and (max-width: 780px) {
  #design #idea .col2 > div.w6, #design #idea #ecology .inner_link > div.w6, #ecology #design #idea .inner_link > div.w6 {
    width: 100%;
  }
}
#design #idea .interview {
  margin: 60px auto;
  padding: 30px;
  border: 1px solid #9b965b;
  background-color: #fff;
}
#design #idea .interview h5 {
  font-size: 1.2rem;
  padding: 10px 10px 10px 0px;
  border-bottom: 1px solid #000;
}
#design #idea .interview img.logo {
  max-width: 70%;
  margin: 30px auto 30px 0;
}
@media screen and (max-width: 780px) {
  #design #idea .interview .col2 > div.w7, #design #idea .interview #ecology .inner_link > div.w7, #ecology #design #idea .interview .inner_link > div.w7 {
    width: 100%;
    text-align: left;
  }
  #design #idea .interview .col2 > div.w3, #design #idea .interview #ecology .inner_link > div.w3, #ecology #design #idea .interview .inner_link > div.w3 {
    width: 100%;
  }
}
#design #landscape .item {
  margin-bottom: 30px;
}
#design #landscape .item p.ttl {
  font-size: 1.4rem;
  margin-bottom: 10px;
}
#design #landscape .item p.txt {
  text-align: justify;
  margin-top: 10px;
}
#design #architecture .item {
  margin-bottom: 30px;
}
#design #architecture .item p.ttl {
  font-size: 1.4rem;
  margin-bottom: 10px;
}
#design #architecture .item p.txt {
  text-align: justify;
  margin-top: 10px;
}
#design #architecture .planting {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#design #architecture .main_tree {
  width: 60%;
}
@media screen and (max-width: 780px) {
  #design #architecture .main_tree {
    width: 100%;
  }
  #design #architecture .main_tree .col3 > div, #design #architecture .main_tree .inner_link > div {
    width: 32%;
  }
}
#design #architecture .main_tree h5 {
  background-color: #9b965b;
  color: #fff;
  padding: 10px;
  margin-bottom: 20px;
}
#design #architecture .sub_tree {
  width: 38%;
}
@media screen and (max-width: 780px) {
  #design #architecture .sub_tree {
    width: 100%;
  }
  #design #architecture .sub_tree .col2, #design #architecture .sub_tree #ecology .inner_link, #ecology #design #architecture .sub_tree .inner_link {
    justify-content: space-around;
  }
  #design #architecture .sub_tree .col2 > div, #design #architecture .sub_tree #ecology .inner_link > div, #ecology #design #architecture .sub_tree .inner_link > div {
    width: 32%;
  }
}
#design #architecture .sub_tree h5 {
  background-color: #7e7e7e;
  color: #fff;
  padding: 10px;
  margin-bottom: 20px;
}
#design #planning {
  margin-bottom: 30px;
  padding-bottom: 30px;
  text-align: center;
}
#design #planning p.lead {
  display: inline-block;
  color: #9b965b;
  border-bottom: 5px solid #9b965b;
  padding: 0px 10px;
  font-size: 20px;
}
@media screen and (max-width: 780px) {
  #design #planning p.lead {
    font-size: 16px;
  }
}
#design #planning .content {
  background-color: #fff;
  border: 1px solid #9b965b;
  border-radius: 0 0 19px 10px;
}
#design #planning .content .inner {
  padding: 4rem;
}
@media screen and (max-width: 780px) {
  #design #planning .content .inner {
    padding: 1rem;
  }
}
#design #planning .item {
  width: 45%;
}
@media screen and (max-width: 780px) {
  #design #planning .item {
    width: 100%;
  }
}
#design #planning .item p.ttl {
  display: inline-block;
  color: #9b965b;
  border-bottom: 5px solid #9b965b;
  padding: 0px 10px;
  font-size: 20px;
}
@media screen and (max-width: 780px) {
  #design #planning .item p.ttl {
    font-size: 16px;
  }
}
#design #planning .item p.txt {
  border-top: 1px solid #000;
  padding: 20px 0;
  text-align: justify;
}

#ecology .main_visual {
  text-align: center;
  height: 700px;
  padding-top: 10px;
  background: url(../images/ecology/main.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
#ecology .main_visual h2 {
  margin-top: 60px;
}
#ecology .main_visual img.ttl_image {
  display: block;
  max-width: 400px;
  margin: 30px auto 0;
}
#ecology .inner_link {
  align-items: center;
}
#ecology .inner_link > a {
  width: 45%;
}
@media screen and (max-width: 780px) {
  #ecology .inner_link > a {
    width: 45%;
  }
}
#ecology div.blue_grad_border_line {
  display: block;
  max-width: 200px;
  margin: 10px auto;
  height: 3px;
  background: linear-gradient(90deg, #c5d9d7, #8ab4b8);
  border: 1px solid #8ab4b8;
  border-radius: 2px;
}
#ecology div.gray_grad_border_line {
  display: block;
  max-width: 200px;
  margin: 10px auto;
  height: 3px;
  background: linear-gradient(90deg, #e2e0de, #bdb8b5);
  border: 1px solid #392e2a;
  border-radius: 2px;
}
#ecology div.dashed_line {
  border: 1px dashed #ccc;
}
#ecology .border_column {
  background-color: #fff;
  border: 1px solid #9b965b;
  margin: 60px auto;
  padding: 60px;
}
@media screen and (max-width: 780px) {
  #ecology .border_column {
    padding: 30px;
  }
}
#ecology #solar .points > li {
  background-color: #fff;
  border: 1px solid #9b965b;
  color: #9b965b;
  text-align: center;
  padding: 10px;
}
#ecology #solar .grad_bg {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), #d7d4b4, rgba(255, 255, 255, 0));
}
#ecology #solar .border_head:before {
  display: block;
  content: "";
  width: 100%;
  margin: 5px auto;
  height: 3px;
  background: linear-gradient(90deg, #c5d9d7, #8ab4b8);
  border: 1px solid #8ab4b8;
  border-radius: 2px;
}
#ecology #solar .border_head:after {
  display: block;
  content: "";
  width: 100%;
  margin: 5px auto;
  height: 3px;
  background: linear-gradient(90deg, #c5d9d7, #8ab4b8);
  border: 1px solid #8ab4b8;
  border-radius: 2px;
}
#ecology #solar .emergency {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#ecology #solar .emergency > div:first-child {
  width: 35%;
}
#ecology #solar .emergency > div:last-child {
  width: 60%;
  margin-left: 5%;
}
#ecology #solar .pattern {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#ecology #solar .pattern > div {
  width: 25%;
}
@media screen and (max-width: 780px) {
  #ecology #solar .pattern > div {
    width: 49%;
    margin-top: 10px;
  }
}
#ecology #solar .pattern > div:first-child {
  width: 50%;
}
@media screen and (max-width: 780px) {
  #ecology #solar .pattern > div:first-child {
    width: 100%;
  }
}
#ecology #solar .day {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#ecology #solar .day > div:first-child {
  width: 20%;
}
#ecology #solar .day > div:last-child {
  width: 75%;
}
#ecology #zeh {
  padding-bottom: 60px;
}
#ecology #zeh img.small_w {
  display: block;
}
#ecology #zeh .icon {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#ecology #zeh .icon > div:first-child {
  width: 30%;
}
#ecology #zeh .icon > div:nth-child(2) {
  width: 65%;
}
#ecology #zeh .icon > div:nth-child(2) p {
  text-align: justify;
  margin-top: 10px;
}
#ecology #zeh .icon > div:last-child {
  width: 65%;
  margin: 10px auto 0;
}
#ecology #zeh .icon3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#ecology #zeh .icon3 > div:first-child {
  width: 15%;
}
@media screen and (max-width: 780px) {
  #ecology #zeh .icon3 > div:first-child {
    width: 30%;
    margin: 0 auto;
  }
}
#ecology #zeh .icon3 > div:nth-child(2) {
  width: 60%;
}
@media screen and (max-width: 780px) {
  #ecology #zeh .icon3 > div:nth-child(2) {
    width: 100%;
  }
}
#ecology #zeh .icon3 > div:nth-child(2) p {
  text-align: justify;
  margin: 10px auto 0;
}
#ecology #zeh .icon3 > div:last-child {
  width: 20%;
}
@media screen and (max-width: 780px) {
  #ecology #zeh .icon3 > div:last-child {
    width: 30%;
    margin: 30px auto 0;
  }
}
#ecology #zeh .ecoone {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#ecology #zeh .ecoone > div:first-child {
  width: 30%;
}
@media screen and (max-width: 780px) {
  #ecology #zeh .ecoone > div:first-child {
    width: 60%;
    margin: 0 auto 30px;
  }
}
#ecology #zeh .ecoone > div:last-child {
  width: 68%;
}
@media screen and (max-width: 780px) {
  #ecology #zeh .ecoone > div:last-child {
    width: 100%;
  }
}
#ecology #zeh img.label {
  display: block;
  max-width: 300px;
  margin: 30px auto;
}
#ecology #zeh .decab {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#ecology #zeh .decab > div:first-child {
  width: 62%;
  font-size: 12px;
  text-align: justify;
}
@media screen and (max-width: 780px) {
  #ecology #zeh .decab > div:first-child {
    width: 100%;
  }
}
#ecology #zeh .decab > div:last-child {
  width: 35%;
}
@media screen and (max-width: 780px) {
  #ecology #zeh .decab > div:last-child {
    width: 70%;
    margin: 30px auto 0;
  }
}

#plan h2 {
  margin-top: 0;
  padding-top: 60px;
}
#plan h3 {
  letter-spacing: 0.2em;
}
#plan .plan_btns {
  font-family: "EB Garamond", serif;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#plan .plan_btns > a.plan_btn {
  width: 32%;
  color: #9b965b;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 940px) {
  #plan .plan_btns > a.plan_btn {
    width: 48%;
  }
}
@media screen and (max-width: 780px) {
  #plan .plan_btns > a.plan_btn {
    width: 100%;
  }
}
#plan .plan_btns > a.plan_btn p.type {
  display: inline-block;
  border-bottom: 5px solid #9b965b;
  padding: 0px 10px;
  font-size: 20px;
}
@media screen and (max-width: 780px) {
  #plan .plan_btns > a.plan_btn p.type {
    font-size: 16px;
  }
}
#plan .plan_btns > a.plan_btn .content {
  background-color: #fff;
  border: 1px solid #9b965b;
  border-radius: 10px;
  padding: 1rem;
}
@media screen and (max-width: 780px) {
  #plan .plan_btns > a.plan_btn .content {
    padding: 1rem;
  }
}
#plan .plan_btns > a.plan_btn .content .ttl {
  border-bottom: 1px solid #9b965b;
  margin-bottom: 20px;
}
#plan .plan_btns > a.plan_btn .content .ttl h4 {
  margin-top: 0;
  line-height: 1em;
  font-weight: normal;
  font-size: 40px;
}
@media screen and (max-width: 780px) {
  #plan .plan_btns > a.plan_btn .content .ttl h4 {
    font-size: 30px;
  }
}
#plan .plan_btns > a.plan_btn .content .ttl p {
  line-height: 1.5em;
  margin-bottom: 5px;
}
#plan .plan_btns > a.plan_btn .content dl.area {
  font-size: 14px;
  line-height: 2em;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: baseline;
}
@media screen and (max-width: 940px) {
  #plan .plan_btns > a.plan_btn .content dl.area {
    flex-wrap: wrap;
  }
}
#plan .plan_btns > a.plan_btn .content dl.area .large {
  font-size: 2rem;
}
@media screen and (max-width: 780px) {
  #plan .plan_btns > a.plan_btn .content dl.area .large {
    font-size: 1.4rem;
  }
}
#plan .plan_btns > a.plan_btn .content button.click_btn {
  display: block;
  width: 100%;
  margin: 20px auto 0;
  padding: 2px 10px;
  background-color: #9b965b;
  border: 1px solid #9b965b;
  color: #fff;
  border-radius: 10px;
  text-align: center;
  transition: 0.3s;
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}
@media screen and (max-width: 780px) {
  #plan .plan_btns > a.plan_btn .content button.click_btn {
    padding: auto 10px;
  }
}
#plan .plan_btns > a.plan_btn .content button.click_btn::after {
  display: inline-block;
  content: url("../images/common/arrow_right_white.svg");
  width: 8px;
  margin-left: 5px;
  transition: 0.3s;
}
@media screen and (max-width: 780px) {
  #plan .plan_btns > a.plan_btn .content button.click_btn::after {
    width: 8px;
  }
}
#plan .plan_btns > a.plan_btn .content button.click_btn.soon {
  background-color: #fff;
  color: #9b965b;
}
#plan .plan_btns > a.plan_btn .content button.click_btn.soon:after {
  display: none;
  content: "";
}
#plan .plan_btns > a.plan_btn .content button.click_btn:visited {
  color: #fff;
}
#plan .plan_btns > a.plan_btn:hover {
  transition: 0.5s all;
  transform: translateY(10px);
}
#plan .plan_btns > a.plan_btn.soon {
  cursor: default;
}
#plan .plan_btns > a.plan_btn.soon .content {
  position: relative;
  overflow-y: hidden;
}
#plan .plan_btns > a.plan_btn.soon .content::after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 120px 0;
  content: "Coming Soon";
  font-size: 24px;
  text-align: center;
  color: #9b965b;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 10px;
  border: 1px solid #9b965b;
}
#plan .plan_btns > a.plan_btn.soon:hover {
  transform: none;
}

.plan-detail {
  padding: 60px 0;
}
.plan-detail h2 {
  font-family: "EB Garamond", serif;
  margin: 30px auto;
  padding: 1rem;
  font-size: 18px;
  letter-spacing: normal;
  border-bottom: 1px solid #9b965b;
}
.plan-detail h2::after {
  content: none;
}
.plan-detail h2 .large {
  font-size: 2.8rem;
  line-height: 1.2em;
}
@media screen and (max-width: 780px) {
  .plan-detail h2 .large {
    font-size: 2.4rem;
  }
}
.plan-detail h3 {
  font-family: "Ryumin Regular KL";
  line-height: 1.5em;
}
@media screen and (max-width: 780px) {
  .plan-detail h3 {
    font-size: 1rem;
  }
}
.plan-detail p {
  font-family: "Ryumin Regular KL";
}
.plan-detail .plan_wrapper {
  margin: 0px auto;
  padding: 0;
  border: 1px solid #9b965b;
  font-family: "EB Garamond", serif;
}
.plan-detail .underline::after {
  margin-top: 0;
}
.plan-detail .areas {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}
.plan-detail .areas > dl.area {
  width: 48%;
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  text-align: center;
  color: #9b965b;
}
@media screen and (max-width: 780px) {
  .plan-detail .areas > dl.area {
    width: 100%;
    flex-wrap: wrap;
  }
}
.plan-detail .areas > dl.area:first-child {
  justify-content: flex-end;
}
@media screen and (max-width: 780px) {
  .plan-detail .areas > dl.area:first-child {
    justify-content: center;
  }
}
.plan-detail .areas > dl.area:last-child {
  justify-content: flex-start;
}
@media screen and (max-width: 780px) {
  .plan-detail .areas > dl.area:last-child {
    justify-content: center;
  }
}
.plan-detail .areas > dl.area .large {
  font-size: 2rem;
}
@media screen and (max-width: 780px) {
  .plan-detail .areas > dl.area .large {
    font-size: 1.4rem;
  }
}
.plan-detail .points {
  font-family: "Ryumin Regular KL";
  max-width: 940px;
  margin: 30px auto;
}
@media screen and (max-width: 1280px) {
  .plan-detail .points {
    max-width: 90%;
  }
}
.plan-detail .points li {
  width: 49%;
  background-color: #8cb5b2;
  color: #fff;
  font-size: 14px;
  text-align: center;
  padding: 0.5rem 0;
  border-radius: 10px;
  margin-bottom: 1%;
}
@media screen and (max-width: 1280px) {
  .plan-detail .points li {
    font-size: 12px;
  }
}
@media screen and (max-width: 780px) {
  .plan-detail .points li {
    width: 100%;
    font-size: 10px;
  }
}
.plan-detail .floor {
  max-width: 940px;
  margin: 0 auto 30px;
}
.plan-detail .floor img {
  image-rendering: -webkit-optimize-contrast;
}
.plan-detail img.example {
  display: block;
  max-width: 250px;
  margin: 0 10px 10px auto;
}
@media screen and (max-width: 780px) {
  .plan-detail img.example {
    max-width: 200px;
  }
}
.plan-detail p.example {
  margin-right: 10px;
}

#map {
  background: #fff;
}
#map .map_img .img {
  display: block;
  margin: 0 auto;
  position: relative;
  font-size: 10px;
  font-family: "Ryumin Regular KL";
}
#map .map_img .img:nth-child(1)::after {
  display: block;
  content: "現地案内図";
  position: absolute;
  top: -20px;
  right: 0;
}
#map .map_img .img:nth-child(2)::after {
  display: block;
  content: "現地周辺拡大図";
  position: absolute;
  top: -20px;
  right: 0;
}
#map .more_btn {
  max-width: 300px;
  margin: 0 auto;
}

#outline {
  background: #fff;
}
#outline table {
  display: block;
  width: 100%;
}
#outline table tbody {
  width: 100%;
}
#outline table tbody tr {
  width: 100%;
  display: flex;
  flex-flow: row;
  flex-wrap: nowrap;
  justify-content: stretch;
  align-items: center;
  background: rgba(155, 150, 91, 0.1);
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 780px) {
  #outline table tbody tr {
    flex-wrap: wrap;
  }
}
#outline table tbody tr:first-child {
  border-top: 1px solid #000;
}
#outline table tbody tr th {
  width: 30%;
  padding: 10px;
  font-weight: normal;
}
@media screen and (max-width: 780px) {
  #outline table tbody tr th {
    width: 100%;
    border-bottom: 1px solid #000;
    text-align: left;
  }
}
#outline table tbody tr td {
  width: 70%;
  padding: 10px;
  background-color: #fff;
}
@media screen and (max-width: 780px) {
  #outline table tbody tr td {
    width: 100%;
    border-left: none;
  }
}