@charset "UTF-8";
/*main*/
* {
  margin: 0;
  padding: 0;
  text-align: left;
}

hr {
  display: none;
  line-height: 0;
  font-size: 0;
  padding: 0;
  margin: 0;
  border: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

address {
  font-style: normal;
}

img {
  border: none;
  width: auto;
  max-width: 100%;
  font-size: 0;
  line-height: 0;
}

table, tbody, tr, th, td {
  padding: 0;
  margin: 0;
  border: none;
  border-collapse: collapse;
}

html, body {
  width: 100%;
  height: auto;
}

html {
  font-size: 62.5%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

small {
  font-size: 100%;
}

#headerArea,
#main {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.04em;
  color: #fff;
  background-color: #000;
}
#headerArea .fs__txt__30,
#main .fs__txt__30 {
  font-size: 30px;
  letter-spacing: 0.04em;
  line-height: 2.4;
}
#headerArea .fs__txt__24,
#main .fs__txt__24 {
  font-size: 24px;
  letter-spacing: 0.04em;
  line-height: 1.45;
}
#headerArea .fs__txt__20,
#main .fs__txt__20 {
  font-size: 20px;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
#headerArea .fs__txt__16,
#main .fs__txt__16 {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 2;
}
#headerArea .fs__txt__14,
#main .fs__txt__14 {
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.8571428571;
}
#headerArea .fs__txt__12,
#main .fs__txt__12 {
  font-size: 12px;
  letter-spacing: 0.04em;
  line-height: 1.25;
}
@media (max-width: 768px) {
  #headerArea .fs__txt__30,
  #main .fs__txt__30 {
    font-size: 20px;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  #headerArea .fs__txt__24,
  #main .fs__txt__24 {
    font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 2;
  }
  #headerArea .fs__txt__20,
  #main .fs__txt__20 {
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
  }
  #headerArea .fs__txt__16,
  #main .fs__txt__16 {
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
  }
  #headerArea .fs__txt__14,
  #main .fs__txt__14 {
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  #headerArea .fs__txt__12,
  #main .fs__txt__12 {
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1.25;
  }
}
#headerArea .fs__txt__en__80,
#main .fs__txt__en__80 {
  font-size: 80px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1.05;
  font-family: "Cormorant Garamond";
}
#headerArea .fs__txt__en__60,
#main .fs__txt__en__60 {
  font-size: 60px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1.1666666667;
  font-family: "Cormorant Garamond";
}
#headerArea .fs__txt__en__50,
#main .fs__txt__en__50 {
  font-size: 50px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1.06;
  font-family: "Cormorant Garamond";
}
#headerArea .fs__txt__en__32,
#main .fs__txt__en__32 {
  font-size: 32px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1.5;
  font-family: "Cormorant Garamond";
}
#headerArea .fs__txt__en__24,
#main .fs__txt__en__24 {
  font-size: 24px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1.6666666667;
  font-family: "Cormorant Garamond";
}
#headerArea .fs__txt__en__12,
#main .fs__txt__en__12 {
  font-size: 12px;
  letter-spacing: 0.01em;
  font-weight: 400;
  line-height: 1.6666666667;
  font-family: "Cormorant Garamond";
}
@media (max-width: 768px) {
  #headerArea .fs__txt__en__80,
  #main .fs__txt__en__80 {
    font-size: 32px;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
  #headerArea .fs__txt__en__60,
  #main .fs__txt__en__60 {
    font-size: 32px;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
  #headerArea .fs__txt__en__50,
  #main .fs__txt__en__50 {
    font-size: 32px;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
  #headerArea .fs__txt__en__32,
  #main .fs__txt__en__32 {
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 1.6666666667;
  }
  #headerArea .fs__txt__en__24,
  #main .fs__txt__en__24 {
    font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 2;
  }
}

#headerArea,
#main {
  font-family: "Shippori Mincho B1", "Noto Serif JP", "游明朝", Hiragino Mincho ProN, "HGS明朝E", "メイリオ", Meiryo, serif;
}
#headerArea .fs__sans,
#main .fs__sans {
  font-family: "游ゴシック", "メイリオ", Meiryo, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, sans-serif;
}
#headerArea .fs__serif,
#main .fs__serif {
  font-family: "Shippori Mincho B1", "Noto Serif JP", "游明朝", Hiragino Mincho ProN, "HGS明朝E", "メイリオ", Meiryo, serif;
}
#headerArea .font-eb,
#main .font-eb {
  font-family: "EB Garamond";
}
#headerArea .fw-regular,
#main .fw-regular {
  font-weight: 400;
}
#headerArea .fw-semibold,
#main .fw-semibold {
  font-weight: 600;
}

#container {
  position: relative;
  padding: 0;
}

#main {
  margin: 0;
  padding: 0;
  font-size: 16px;
  letter-spacing: 0.04em;
}

body {
  background: #fff;
  scrollbar-color: #000 #a5a5a5;
}

body::-webkit-scrollbar {
  width: 10px;
}

body::-webkit-scrollbar-track {
  background: #a5a5a5;
  border-radius: 0px;
}

body::-webkit-scrollbar-thumb {
  background: #000000;
  border-radius: 1px;
  border: 2px solid #a5a5a5;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media (max-width: 768px) {
  body {
    background: #fff;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
img {
  image-rendering: -webkit-optimize-contrast;
}

.flex {
  display: flex;
}

#main .sec__in__l {
  width: 100%;
  max-width: 1112px;
  min-width: 0;
  margin: 0 auto;
}

#main .sec__in__s {
  width: 100%;
  max-width: 960px;
  min-width: 0;
  margin: 0 auto;
}

.sec__in__l {
  width: 100%;
  max-width: 1112px;
  min-width: 0;
  margin: 0 auto;
}

.sec__in__s {
  width: 100%;
  max-width: 960px;
  min-width: 0;
  margin: 0 auto;
}

#main .capimg {
  position: relative;
  font-size: 0;
  line-height: 0;
}

#main .capimg .captxt {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
}

#main p, #aside p {
  margin: 0;
}

#main h2 {
  margin: 0;
  padding: 0;
  background: none;
  color: #fff;
}

#main h3 {
  margin: 0;
  padding: 0;
  background: none;
  color: inherit;
}

/*header*/
#headerArea {
  background: #000;
  position: relative;
  z-index: 3;
  z-index: 1000;
}
#headerArea #tagLine {
  position: relative;
  top: 7px;
  color: #fff;
  font-size: 16px;
  font-family: "Noto Serif JP", "游明朝", Hiragino Mincho ProN, "HGS明朝E", "メイリオ", Meiryo, serif;
}
#headerArea .areaInner {
  min-height: 86px;
}
#headerArea .areaInner #siteLogo {
  margin-top: 11px;
  margin-right: 13px;
}
#headerArea .areaInner div {
  padding-top: 20px;
}
#headerArea .areaInner ul {
  display: flex;
  justify-content: right;
  width: 400px;
  top: 27px;
  font-size: 12px;
  box-sizing: border-box;
}
#headerArea .areaInner li,
#headerArea .areaInner li.btnGaiyo {
  width: 21%;
  margin-right: 0;
  box-sizing: border-box;
}
#headerArea .areaInner li.btnData {
  width: 32%;
}
#headerArea .areaInner li.btnMap {
  width: 45%;
}
#headerArea .areaInner li:last-child {
  margin-right: 0;
}
#headerArea .areaInner li a {
  color: #fff;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 8px 0;
}
#headerArea .areaInner li.btnData a {
  padding: 8px 0;
  color: #fff;
  background: linear-gradient(90deg, rgb(250, 189, 75) 0%, rgb(121, 91, 34) 100%);
}
#headerArea .areaInner li.btnData.res a {
  background: rgb(230, 171, 53);
  background: linear-gradient(to bottom, rgb(200, 184, 110) 0%, rgb(200, 184, 110) 50%, rgb(181, 165, 89) 51%, rgb(181, 165, 89) 100%);
}
#headerArea .parts__nav__btn {
  display: none;
}
@media (max-width: 768px) {
  #headerArea {
    position: sticky;
    top: 0;
    left: 0;
    padding: 4% 2.4%;
  }
  #headerArea .areaInner {
    border-bottom: 0;
    min-height: auto;
  }
  #headerArea .areaInner div {
    display: flex;
    padding: 0;
    align-items: center;
    border-bottom: none;
  }
  #headerArea .areaInner #siteLogo {
    width: 20%;
    margin: 2px 11px 0 0;
  }
  #headerArea #tagLine {
    width: 52%;
    margin: 0 13.3333333333% 0 0;
    position: static;
    font-size: 14px;
  }
  #headerArea .areaInner ul {
    display: none;
  }
  #headerArea .parts__nav__btn {
    display: block;
    width: 40px;
    position: static;
    z-index: 100;
  }
  #headerArea .parts__nav__btn .sec__in__s {
    min-width: 0;
    max-width: 100%;
    width: 100%;
  }
  #headerArea .parts__nav__btn .sec__in__s div {
    width: 40px;
    height: 44px;
    box-sizing: border-box;
    border: 1px solid #fff;
    color: #fff;
    position: absolute;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
  }
  #headerArea .parts__nav__btn .sec__in__s div span,
  #headerArea .parts__nav__btn .sec__in__s div:before,
  #headerArea .parts__nav__btn .sec__in__s div:after {
    content: "";
    position: absolute;
    display: block;
    width: 60%;
    height: 2px;
    background: #fff;
    top: -11px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease 0s;
  }
  #headerArea .parts__nav__btn .sec__in__s div:before {
    bottom: 15px;
  }
  #headerArea .parts__nav__btn .sec__in__s div:after {
    top: 6px;
  }
  #headerArea .parts__nav__btn .sec__in__s div.js--ov:before {
    bottom: 10px;
  }
  #headerArea .parts__nav__btn .sec__in__s div.js--ov:after {
    top: 10px;
  }
  #headerArea .parts__nav__btn .sec__in__s div.js--on span,
  #headerArea .parts__nav__btn .sec__in__s div.js--on:before,
  #headerArea .parts__nav__btn .sec__in__s div.js--on:after {
    top: 0;
    bottom: 0;
  }
  #headerArea .parts__nav__btn .sec__in__s div.js--on span {
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
  }
  #headerArea .parts__nav__btn .sec__in__s div.js--on:before,
  #headerArea .parts__nav__btn .sec__in__s div.js--on:after {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }
  #headerArea .parts__nav__btn .sec__in__s div p {
    width: 100%;
    font-size: 10px;
    line-height: 1;
    margin: 30px 0 0;
    text-align: center;
    transition: opacity 0.2s 0s ease;
    letter-spacing: 0;
  }
  #headerArea .parts__nav__btn .sec__in__s div.js--on p {
    opacity: 0;
  }
}

#container {
  width: 100%;
  margin: 0;
}

#main .parts__nav {
  font-family: "Cormorant Garamond";
  background-color: #000;
}
#main .parts__nav ul {
  justify-content: center;
  color: #B7B5B5;
  font-size: 14px;
  font-family: "Cormorant Garamond";
}
#main .parts__nav li {
  width: 278px;
}
#main .parts__nav li.current {
  border-bottom: 2px solid #D9D9D9;
}
#main .parts__nav li a {
  display: block;
  text-align: center;
  padding: 0 0 0.3em;
}
@media (max-width: 768px) {
  #main .parts__nav {
    width: 100%;
    position: fixed;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s 0s ease;
    z-index: 100;
  }
  #main .parts__nav.js--on {
    opacity: 1;
    pointer-events: auto;
  }
  #main .parts__nav ul {
    justify-content: flex-start;
    flex-wrap: wrap;
    font-size: 14px;
  }
  #main .parts__nav li {
    width: 49.8666666667%;
  }
  #main .parts__nav li.current {
    border-bottom: none;
  }
  #main .parts__nav li a {
    padding: 0.4em;
    border: 1px solid #fff;
    box-sizing: border-box;
  }
}

/*parts__topicPath*/
#main .parts__topicPath {
  height: 22px;
  padding: 14px 0 10px;
  overflow: hidden;
}
#main .parts__topicPath ul {
  margin: 0 auto;
  display: flex;
}
#main .parts__topicPath a {
  text-decoration: none;
}
#main .parts__topicPath li::after {
  content: "＞";
  padding: 0 12px;
}
#main .parts__topicPath li:last-child::after {
  content: "";
  padding: 0;
}
#main .parts__topicPath a:hover {
  text-decoration: underline;
}
@media (max-width: 768px) {
  #main .parts__topicPath {
    display: none;
  }
}

#container {
  margin: 0;
}

#main .bg01 {
  background: linear-gradient(90deg, rgb(98, 122, 134) 0%, rgb(40, 51, 59) 100%);
}

#main .bg01__wrapper {
  background: linear-gradient(to bottom, #C7BDA0, #948049);
  background-size: cover;
}

#main .caution__box {
  margin: 0 0 60px;
}
#main .caution__box li {
  padding-left: 1em;
  text-indent: -1em;
}
@media (max-width: 768px) {
  #main .caution__box {
    padding: 0 4%;
    margin: 0 0 7%;
  }
  #main .caution__box ul {
    font-size: 14px;
  }
}

/*footer*/
#main .footer-content {
  color: #333;
  background-color: #fff;
}

#main .footer__content__contact {
  background: url(../images/footer_contact_bg.png) no-repeat center top;
  background-size: cover;
  padding: 60px 0 70px;
}
#main .footer__content__contact p {
  text-align: center;
  margin: 0 0 15px;
}
#main .footer__content__contact p span {
  display: block;
  text-align: center;
}
#main .footer__content__contact ul.flex {
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
  margin: 0 0 25px;
}
#main .footer__content__contact ul li {
  width: 607px;
}
#main .footer__content__contact ul li a {
  text-decoration: none;
  display: block;
  background-size: cover;
  padding: 1.7em 0;
  transition: opacity 0.2s 0s ease;
  background: linear-gradient(90deg, rgb(250, 189, 75) 0%, rgb(121, 91, 34) 100%);
}
#main .footer__content__contact ul li a.js--ov {
  opacity: 0.5;
}
#main .footer__content__contact ul li small {
  margin: 0 0 10px;
}
#main .footer__content__contact ul li b,
#main .footer__content__contact ul li small {
  display: block;
  text-align: center;
}
#main .footer__content__contact ul li span {
  display: block;
  text-align: center;
}
#main .footer__content__contact p.txt {
  margin: 0;
}
@media (max-width: 768px) {
  #main .footer__content__contact {
    background-size: auto 100%;
    padding: 9.8666666667% 4%;
  }
  #main .footer__content__contact p {
    margin: 0 0 6%;
  }
  #main .footer__content__contact p span {
    font-size: 24px;
    margin: 0 0 2%;
  }
  #main .footer__content__contact ul.flex {
    flex-direction: column;
    margin: 0 0 3%;
  }
  #main .footer__content__contact ul li {
    width: 100%;
  }
  #main .footer__content__contact ul li a {
    padding: 3% 0;
  }
  #main .footer__content__contact ul li small {
    margin: 0 0 3%;
  }
  #main .footer__content__contact ul li b {
    font-size: 20px;
  }
  #main .footer__content__contact p.txt {
    text-align: center;
  }
}

.footer-content-nav {
  font-size: 14px;
  padding: 10px 0;
  background: #000000;
  font-family: "Cormorant Garamond";
}
.footer-content-nav ul {
  flex-wrap: wrap;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
  margin: 0 auto;
}
.footer-content-nav ul li {
  color: #fff;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
}
.footer-content-nav ul li:after {
  content: "|";
  display: inline-block;
  padding: 0 0.6em;
  color: #fff;
}
.footer-content-nav ul li:last-child:after {
  display: none;
}
.footer-content-nav ul li a {
  text-decoration: none;
  color: #fff;
}
.footer-content-nav ul li a.hover.ov {
  text-decoration: underline;
}
@media (max-width: 768px) {
  .footer-content-nav {
    padding: 0;
    font-size: 12px;
  }
  .footer-content-nav ul {
    justify-content: flex-start;
    margin: 0 auto;
  }
  .footer-content-nav ul li {
    display: block;
    width: 49.8666666667%;
  }
  .footer-content-nav ul li:after {
    content: none;
  }
  .footer-content-nav ul li a {
    display: block;
    padding: 0.4em;
    border: 1px solid #fff;
    text-align: center;
  }
  .footer-content-nav ul li a.hover.ov {
    text-decoration: none;
  }
}

#main .footer-content-tel {
  padding: 58px 0 0;
}
#main .footer-content-tel dl {
  align-items: center;
  justify-content: center;
}
#main .footer-content-tel dt {
  margin: 0 52px 0 0;
}
#main .footer-content-tel dd p span {
  font-size: 50px;
  line-height: 1;
}
#main .footer-content-tel img {
  margin: 0 5px 0 0;
}
@media (max-width: 768px) {
  #main .footer-content-tel {
    padding: 5.3333333333% 4% 8.8%;
  }
  #main .footer-content-tel dl {
    flex-direction: column;
    font-size: 14px;
  }
  #main .footer-content-tel dt {
    margin: 0 0 14px;
    text-align: center;
    line-height: 26px;
  }
  #main .footer-content-tel dd p span {
    font-size: 40px;
    text-align: center;
  }
  #main .footer-content-tel img {
    width: 15.9420289855%;
  }
}

.footer-dev {
  padding: 64px 0 160px;
}
.footer-dev ul {
  justify-content: center;
}
@media (max-width: 768px) {
  .footer-dev {
    padding: 0 4%;
  }
  .footer-dev li {
    width: 88.115942029%;
    margin: auto;
    text-align: center;
  }
}

.footer-content-float {
  display: none;
}
@media (max-width: 768px) {
  .footer-content-float {
    display: block;
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 100;
  }
  .footer-content-float ul {
    font-size: 10px;
  }
  .footer-content-float li {
    width: 34.1333333333%;
  }
  .footer-content-float li.map, .footer-content-float li.outline {
    background-color: #000;
  }
  .footer-content-float li.request {
    background: linear-gradient(90deg, rgb(250, 189, 75) 0%, rgb(121, 91, 34) 100%);
  }
  .footer-content-float a {
    width: auto;
    padding: 6% 0 2%;
    flex-direction: column;
  }
  .footer-content-float li.map a {
    border-right: 1px solid #fff;
  }
  .footer-content-float li.outline a {
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;
  }
  .footer-content-float li.request a {
    border-left: 1px solid #fff;
  }
  .footer-content-float b {
    font-size: 10px;
    text-align: center;
  }
  .footer-content-float svg {
    font-size: 25px;
    margin: 0 0 4px;
  }
}

@media (max-width: 768px) {
  #footerAreaN {
    padding: 0 0 17%;
    background-color: #96938d;
  }
  #footerAreaN .btnType02TwoCol li a span {
    text-align: center;
  }
  #footerAreaN #ftBt01 a {
    text-align: center;
  }
}
/*parts__notice*/
#main .parts__notice {
  padding: 10px 0;
  position: relative;
  z-index: 3;
}
#main .parts__notice dl {
  justify-content: center;
}
#main .parts__notice dt {
  border: 1px solid #fff;
  margin: 0 8px 0 0;
  box-sizing: border-box;
  width: 95px;
  text-align: center;
  padding: 5px 0;
  font-size: 16px;
}
@media (max-width: 768px) {
  #main .parts__notice {
    padding: 10px 2.4%;
  }
  #main .parts__notice dl {
    font-size: 10px;
    flex-direction: column;
    justify-content: center;
  }
  #main .parts__notice dt {
    border: 1px solid #fff;
    margin: 0 0 2%;
    box-sizing: border-box;
    width: 26.6106442577%;
    text-align: center;
    padding: 5px 0;
    font-size: 14px;
  }
}

/*mod*/
@keyframes anime__btn__ptn01 {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
.anime__btn__ptn01 {
  overflow: hidden;
  position: relative;
}
.anime__btn__ptn01:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: anime__btn__ptn01 3s ease-in-out infinite;
}
.anime__btn__ptn02 {
  transition: opacity 0.5s ease 0s;
}
.anime__btn__ptn02.js--on {
  opacity: 0.5;
}

.anime__scl__ptn01 {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s 0s ease, transform 1s 0s ease;
}
.anime__scl__ptn01.js--ing {
  opacity: 1;
  transform: translateY(0);
}

/*page*/
#main .top-container .visual img {
  width: 100%;
}
#main .top-container .sec01 {
  background-color: #796236;
  padding: 19px 0 17px;
}
#main .top-container .sec01 p {
  text-align: center;
}
@media (max-width: 768px) {
  #main .top-container .sec01 {
    padding: 3.2% 4%;
  }
}
#main .top-container .sec02 {
  background: url(../images/footer_contact_bg.png) no-repeat center top;
  background-size: cover;
  padding: 60px 0 70px;
}
#main .top-container .sec02 p {
  text-align: center;
  margin: 0 0 15px;
}
#main .top-container .sec02 p span {
  display: block;
  text-align: center;
}
#main .top-container .sec02 ul.flex {
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
  margin: 0 0 25px;
}
#main .top-container .sec02 ul li {
  width: 607px;
}
#main .top-container .sec02 ul li a {
  text-decoration: none;
  display: block;
  background-size: cover;
  padding: 1.7em 0;
  transition: opacity 0.2s 0s ease;
  background: linear-gradient(90deg, rgb(250, 189, 75) 0%, rgb(121, 91, 34) 100%);
}
#main .top-container .sec02 ul li a.js--ov {
  opacity: 0.5;
}
#main .top-container .sec02 ul li small {
  margin: 0 0 10px;
}
#main .top-container .sec02 ul li b,
#main .top-container .sec02 ul li small {
  display: block;
  text-align: center;
}
#main .top-container .sec02 ul li span {
  display: block;
  text-align: center;
}
#main .top-container .sec02 p.txt {
  margin: 0;
}
@media (max-width: 768px) {
  #main .top-container .sec02 {
    background-size: auto 100%;
    padding: 9.8666666667% 4%;
  }
  #main .top-container .sec02 p {
    margin: 0 0 6%;
  }
  #main .top-container .sec02 p span {
    font-size: 24px;
    margin: 0 0 2%;
  }
  #main .top-container .sec02 ul.flex {
    flex-direction: column;
    margin: 0 0 3%;
  }
  #main .top-container .sec02 ul li {
    width: 100%;
  }
  #main .top-container .sec02 ul li a {
    padding: 3% 0;
  }
  #main .top-container .sec02 ul li small {
    margin: 0 0 3%;
  }
  #main .top-container .sec02 ul li b {
    font-size: 20px;
  }
  #main .top-container .sec02 p.txt {
    text-align: center;
  }
}
#main .top-container .sec03 {
  padding: 77px 0 89px;
  background-color: #1C1C1C;
}
#main .top-container .sec03 h3 {
  margin: 0 0 51px;
  text-align: center;
}
#main .top-container .sec03 p {
  text-align: center;
}
@media (max-width: 768px) {
  #main .top-container .sec03 {
    padding: 16.5333333333% 4%;
  }
  #main .top-container .sec03 h3 {
    font-size: 24px;
    margin: 0 0 6%;
  }
  #main .top-container .sec03 ul {
    font-size: 14px;
  }
}
#main .top-container .sec04 {
  margin: 0 0 53px;
}
#main .top-container .sec04 figure {
  margin: 0 0 7px;
}
#main .top-container .sec04 img {
  width: 100%;
}
#main .top-container .sec04 p {
  text-align: right;
}
@media (max-width: 768px) {
  #main .top-container .sec04 {
    margin: 0 0 8%;
  }
  #main .top-container .sec04 figure {
    margin: 0 0 2%;
  }
  #main .top-container .sec04 p {
    padding: 0 4%;
    text-align: left;
  }
}
#main .top-container .sec05 {
  margin: 0 0 93px;
}
#main .top-container .sec05 div.flex {
  align-items: flex-start;
}
#main .top-container .sec05 dl {
  width: 525px;
  margin: 0 39px 0 0;
}
#main .top-container .sec05 dt {
  margin: 0 0 32px;
}
#main .top-container .sec05 dd span {
  display: block;
  margin: 35px 0 0;
}
#main .top-container .sec05 .ph {
  width: 396px;
}
@media (max-width: 768px) {
  #main .top-container .sec05 {
    padding: 0 4%;
    margin: 0 0 13%;
  }
  #main .top-container .sec05 div.flex {
    flex-direction: column;
  }
  #main .top-container .sec05 dl {
    width: 100%;
    margin: 0 0 12%;
  }
  #main .top-container .sec05 dt {
    margin: 0 0 6%;
    font-size: 20px;
  }
  #main .top-container .sec05 dd p {
    font-size: 14px;
  }
  #main .top-container .sec05 dd span {
    margin: 5% 0 0;
    font-size: 12px;
  }
  #main .top-container .sec05 .ph {
    width: 100%;
  }
}
#main .top-container .sec06 {
  margin: 0 0 115px;
}
#main .top-container .sec06 div.flex {
  align-items: flex-start;
}
#main .top-container .sec06 li p {
  font-size: min(5.3956834532vw, 60px);
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1.1666666667;
  font-family: "Cormorant Garamond";
}
#main .top-container .sec06__box01 {
  width: 59.2625899281%;
  margin: 0 53px 0 0;
}
#main .top-container .sec06__box01 li {
  position: relative;
}
#main .top-container .sec06__box01 li figure {
  width: 60.6980273141%;
}
#main .top-container .sec06__box01 li.ph01 p {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 9%;
  margin: auto;
  display: flex;
  align-items: center;
  text-shadow: -4px 2px 2px rgba(0, 0, 0, 0.3);
}
#main .top-container .sec06__box01 li.ph02 {
  margin: -9% 0 0;
}
#main .top-container .sec06__box01 li.ph02 p {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: flex;
  align-items: center;
}
#main .top-container .sec06__box01 li.ph02 figure {
  margin: 0 0 0 auto;
}
#main .top-container .sec06__box02 {
  width: 35.9712230216%;
}
#main .top-container .sec06__box02 figure {
  width: 100%;
}
#main .top-container .sec06__box02 li {
  position: relative;
}
#main .top-container .sec06__box02 li p {
  position: absolute;
  right: 0;
  left: 0;
  bottom: -57%;
  margin: auto;
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  #main .top-container .sec06 {
    margin: 0 0 25%;
  }
  #main .top-container .sec06 div.flex {
    flex-direction: column;
  }
  #main .top-container .sec06 li p {
    font-size: 30px;
  }
  #main .top-container .sec06__box01 {
    width: 100%;
    margin: 0 0 7%;
  }
  #main .top-container .sec06__box01 li {
    position: relative;
  }
  #main .top-container .sec06__box01 li figure {
    width: 62.6666666667%;
  }
  #main .top-container .sec06__box01 li.ph01 p {
    right: 14%;
  }
  #main .top-container .sec06__box01 li.ph02 p {
    left: 5%;
  }
  #main .top-container .sec06__box02 {
    width: 100%;
  }
  #main .top-container .sec06__box02 li {
    position: relative;
  }
  #main .top-container .sec06__box02 li figure {
    width: 62.6666666667%;
  }
  #main .top-container .sec06__box02 li p {
    right: auto;
    left: 55%;
    top: 0;
    bottom: 0;
    align-items: center;
  }
}
#main .top-container .sec07 {
  margin: 0 0 110px;
}
#main .top-container .sec07__wr div.flex {
  align-items: center;
}
#main .top-container .sec07__sbox01 {
  position: relative;
  width: max(57.9365079365vw, 730px);
  flex-shrink: 0;
}
#main .top-container .sec07 li {
  margin: 0 0 82px;
}
#main .top-container .sec07 li:last-child {
  margin: 0;
}
#main .top-container .sec07 img {
  width: 100%;
}
#main .top-container .sec07 .captxt {
  right: 0.7em;
  bottom: 0.7em;
}
#main .top-container .sec07 .access .captxt {
  color: #333;
}
#main .top-container .sec07 .location .captxt {
  padding: 0.1em 0.5em;
  background-color: rgba(0, 0, 0, 0.7);
  right: 0;
  bottom: 0;
}
#main .top-container .sec07 .txt01 {
  position: absolute;
  top: -16%;
  left: 6%;
  color: #CDA65E;
  font-size: max(7.1942446043vw, 80px);
  letter-spacing: 0.1em;
  line-height: 1.05;
  font-family: "Cormorant Garamond";
  z-index: 5;
}
#main .top-container .sec07 .txt02 {
  margin: 0 0 26px;
  font-size: 18px;
}
#main .top-container .sec07 p.btn {
  width: 215px;
}
#main .top-container .sec07 p.btn a {
  display: block;
  text-align: center;
  padding: 0.6em;
  color: #333;
  background-color: #CDA65E;
}
#main .top-container .sec07 .left .sec07__sbox01 {
  margin: 0 51px 0 0;
}
#main .top-container .sec07 .left .sec07__sbox02 {
  width: 36.4208633094%;
}
#main .top-container .sec07 .right div.flex {
  justify-content: right;
}
#main .top-container .sec07 .right .sec07__sbox01 {
  order: 2;
  margin: 0 0 0 16px;
}
#main .top-container .sec07 .right .sec07__sbox02 {
  order: 1;
  width: 440px;
}
@media (max-width: 768px) {
  #main .top-container .sec07 {
    margin: 0 0 18%;
  }
  #main .top-container .sec07__wr div.flex {
    flex-direction: column;
    align-items: center;
  }
  #main .top-container .sec07__sbox01 {
    width: 100%;
  }
  #main .top-container .sec07__sbox02 {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #main .top-container .sec07 li {
    margin: 0 0 82px;
  }
  #main .top-container .sec07 .captxt {
    right: 0.5em;
    bottom: 0.5em;
  }
  #main .top-container .sec07 .txt01 {
    position: absolute;
    top: -20%;
    left: 3%;
    font-size: 50px;
    letter-spacing: 0.1em;
    line-height: 1.05;
  }
  #main .top-container .sec07 .txt02 {
    margin: 0 0 4%;
    font-size: 16px;
  }
  #main .top-container .sec07 p.btn {
    width: 55.3623188406%;
  }
  #main .top-container .sec07 p.btn a {
    padding: 0.8em;
  }
  #main .top-container .sec07 .left .sec07__sbox01 {
    margin: 0 0 5%;
  }
  #main .top-container .sec07 .left .sec07__sbox02 {
    width: 100%;
  }
  #main .top-container .sec07 .right .sec07__sbox01 {
    order: 1;
    margin: 0 0 5%;
  }
  #main .top-container .sec07 .right .sec07__sbox02 {
    order: 2;
    width: 100%;
  }
}

#main .concept-container .visual {
  position: relative;
  margin: 0 0 112px;
}
#main .concept-container .visual h2 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  color: #CDA65E;
  display: flex;
  align-items: center;
  justify-content: center;
}
#main .concept-container .visual img {
  width: 100%;
}
#main .concept-container .visual .captxt {
  right: 0.7em;
  bottom: 0.7em;
}
@media (max-width: 768px) {
  #main .concept-container .visual {
    margin: 0 0 18%;
  }
}
#main .concept-container .sec01 {
  margin: 0 0 72px;
}
#main .concept-container .sec01 h3 {
  margin: 0 0 50px;
  font-size: 50px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1.06;
  font-family: "Cormorant Garamond";
  text-align: center;
  color: #CDA65E;
}
#main .concept-container .sec01 dt {
  margin: 0 0 30px;
  text-align: center;
}
#main .concept-container .sec01 dd p {
  text-align: center;
}
@media (max-width: 768px) {
  #main .concept-container .sec01 {
    margin: 0 0 12%;
    padding: 0 4%;
  }
  #main .concept-container .sec01 h3 {
    margin: 0 0 5%;
    font-size: 24px;
    line-height: 40px;
  }
  #main .concept-container .sec01 dt {
    margin: 0 0 3%;
    font-size: 20px;
    text-align: left;
  }
  #main .concept-container .sec01 dd p {
    font-size: 14px;
    text-align: left;
  }
}
#main .concept-container .sec02 {
  margin: 0 0 90px;
}
#main .concept-container .sec02 p {
  width: 100%;
  max-width: 820px;
  margin: auto;
  text-align: center;
}
@media (max-width: 768px) {
  #main .concept-container .sec02 {
    margin: 0 0 12%;
  }
}
#main .concept-container .sec03 {
  margin: 0 0 125px;
}
#main .concept-container .sec03 dl {
  margin: 0 0 20px;
  align-items: center;
  color: #CDA65E;
}
#main .concept-container .sec03 dt {
  width: 94px;
}
#main .concept-container .sec03 dd {
  margin: 25px 0 0;
}
#main .concept-container .sec03 dd p {
  font-size: 18px;
}
#main .concept-container .sec03 ol {
  flex-wrap: wrap;
  align-items: flex-start;
}
#main .concept-container .sec03 li {
  width: 47.5%;
  margin: 0 5% 3% 0;
}
#main .concept-container .sec03 li:nth-of-type(even) {
  margin: 0 0 3%;
}
#main .concept-container .sec03 li:last-child {
  margin: 0;
}
#main .concept-container .sec03 figure {
  margin: 0 0 18px;
}
#main .concept-container .sec03 .point01 .captxt,
#main .concept-container .sec03 .point04 .captxt {
  color: #333;
}
@media (max-width: 768px) {
  #main .concept-container .sec03 {
    margin: 0 0 20%;
    padding: 0 4%;
  }
  #main .concept-container .sec03 dl {
    margin: 0 0 3%;
    align-items: center;
  }
  #main .concept-container .sec03 dt {
    width: max-content;
    margin: 0 1% 0 0;
    font-size: 40px;
  }
  #main .concept-container .sec03 .point03 dt {
    width: 17%;
  }
  #main .concept-container .sec03 dd {
    margin: 3% 0 0;
  }
  #main .concept-container .sec03 ol {
    flex-direction: column;
  }
  #main .concept-container .sec03 li {
    width: 100%;
    margin: 0 0 3%;
  }
  #main .concept-container .sec03 li:nth-of-type(even) {
    margin: 0 0 3%;
  }
  #main .concept-container .sec03 figure {
    margin: 0 0 4%;
  }
  #main .concept-container .sec03 .txt01 {
    font-size: 14px;
  }
}

#main .design-container .visual {
  position: relative;
  margin: 0 0 112px;
}
#main .design-container .visual h2 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  color: #CDA65E;
  display: flex;
  align-items: center;
  justify-content: center;
}
#main .design-container .visual img {
  width: 100%;
}
#main .design-container .visual .captxt {
  right: 0.7em;
  bottom: 0.7em;
}
@media (max-width: 768px) {
  #main .design-container .visual {
    margin: 0 0 18%;
  }
}
#main .design-container .sec01 {
  margin: 0 0 114px;
}
#main .design-container .sec01 div.flex {
  align-items: flex-start;
}
#main .design-container .sec01 .sec01__box01 {
  width: 579px;
  margin: 0 15px 0 0;
}
#main .design-container .sec01 .sec01__box01 .captxt {
  left: 2.5em;
  bottom: 1.4em;
  right: auto;
}
#main .design-container .sec01 .sec01__box02 {
  width: 364px;
}
#main .design-container .sec01 .sec01__box02 h3 {
  margin: 0 0 65px;
  font-size: 40px;
  letter-spacing: 0.06em;
  font-weight: 400;
  line-height: 1.06;
  font-family: "Cormorant Garamond";
  color: #CDA65E;
}
#main .design-container .sec01 .sec01__box02 dl {
  margin: 0 0 50px;
}
#main .design-container .sec01 .sec01__box02 dt {
  margin: 0 0 27px;
}
#main .design-container .sec01 .sec01__box02 .captxt {
  bottom: -1rem;
}
@media (max-width: 768px) {
  #main .design-container .sec01 {
    margin: 0 0 18%;
    padding: 0 4%;
  }
  #main .design-container .sec01 div.flex {
    flex-direction: column;
  }
  #main .design-container .sec01 .sec01__box01 {
    width: 100%;
    margin: 0 0 14%;
  }
  #main .design-container .sec01 .sec01__box01 .captxt {
    left: auto;
    bottom: -2.2em;
    right: 0;
  }
  #main .design-container .sec01 .sec01__box02 {
    width: 100%;
  }
  #main .design-container .sec01 .sec01__box02 h3 {
    margin: 0 0 6%;
    font-size: 24px;
    letter-spacing: 0.06em;
    font-weight: 400;
    line-height: 40px;
  }
  #main .design-container .sec01 .sec01__box02 dl {
    margin: 0 0 9%;
  }
  #main .design-container .sec01 .sec01__box02 dt {
    margin: 0 0 4%;
    font-size: 20px;
  }
  #main .design-container .sec01 .sec01__box02 dd p {
    font-size: 14px;
  }
  #main .design-container .sec01 .sec01__box02 .captxt {
    bottom: -1rem;
  }
}
#main .design-container .sec02 {
  margin: 0 0 125px;
}
#main .design-container .sec02 p {
  width: 292px;
  margin: 0 40px 0 0;
}
#main .design-container .sec02 .captxt {
  right: 0.7em;
  bottom: 0.7em;
}
#main .design-container .sec02 li {
  margin: 0 0 70px;
  align-items: center;
}
#main .design-container .sec02 li:last-child {
  margin: 0;
}
#main .design-container .sec02 li:last-child .captxt {
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.78);
  padding: 2px 6px;
  box-sizing: border-box;
}
#main .design-container .sec02 li:nth-of-type(odd) {
  justify-content: right;
}
#main .design-container .sec02 li:nth-of-type(even) figure {
  order: 1;
}
#main .design-container .sec02 li:nth-of-type(even) p {
  order: 2;
  margin: 0 0 0 40px;
}
@media (max-width: 768px) {
  #main .design-container .sec02 {
    margin: 0 0 6%;
  }
  #main .design-container .sec02 p {
    width: auto;
    padding: 0 4%;
    margin: 0 0 3%;
  }
  #main .design-container .sec02 .captxt {
    right: 0.7em;
    bottom: 0.7em;
  }
  #main .design-container .sec02 li {
    margin: 0 0 7%;
    flex-direction: column;
  }
  #main .design-container .sec02 li:last-child .captxt {
    padding: 3px 6px;
  }
  #main .design-container .sec02 li:nth-of-type(odd) {
    justify-content: normal;
  }
  #main .design-container .sec02 li:nth-of-type(even) figure {
    order: 2;
  }
  #main .design-container .sec02 li:nth-of-type(even) p {
    order: 1;
    margin: 0 0 3%;
  }
}

#main .location-container .visual {
  position: relative;
}
#main .location-container .visual h2 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  color: #CDA65E;
  display: flex;
  align-items: center;
  justify-content: center;
}
#main .location-container .visual img {
  width: 100%;
}
#main .location-container .visual .captxt {
  right: 0.7em;
  bottom: 0.7em;
}
#main .location-container .sec01 {
  margin: 0 0 52px;
}
#main .location-container .sec01 img {
  width: 100%;
}
@media (max-width: 768px) {
  #main .location-container .sec01 {
    margin: 0 0 8%;
  }
}
#main .location-container .sec02 {
  padding: 0 0 100px;
}
#main .location-container .sec02__box01 {
  margin: 0 0 70px;
}
#main .location-container .sec02__box01 dt {
  margin: 0 0 32px;
  color: #CDA65E;
}
#main .location-container .sec02__box02 ul {
  flex-wrap: wrap;
  align-items: flex-start;
}
#main .location-container .sec02__box02 li {
  width: 32.0833333333%;
  margin: 0 1.8% 6% 0;
}
#main .location-container .sec02__box02 li:nth-of-type(3) {
  margin: 0 0 3%;
}
#main .location-container .sec02__box02 figure {
  margin: 0 0 13px;
}
#main .location-container .sec02__box02 dt {
  font-size: 18px;
  margin: 0 0 23px;
}
#main .location-container .sec02__box02 li:last-child {
  width: 100%;
  margin: 0;
}
#main .location-container .sec02__box02 li:last-child figure {
  width: 65%;
  margin: 0 28px 0 0;
}
#main .location-container .sec02__box02 li:last-child dl {
  width: 31.9791666667%;
}
#main .location-container .sec02__box02 li:last-child dt {
  margin: 0 0 20px;
}
@media (max-width: 768px) {
  #main .location-container .sec02 {
    padding: 0 4% 17%;
  }
  #main .location-container .sec02__box01 {
    margin: 0 0 7%;
  }
  #main .location-container .sec02__box01 dt {
    margin: 0 0 2%;
    font-size: 40px;
  }
  #main .location-container .sec02__box01 dd p {
    font-size: 18px;
  }
  #main .location-container .sec02__box02 ul {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  #main .location-container .sec02__box02 li {
    width: 48.6956521739%;
    margin: 0 2.6% 9% 0;
  }
  #main .location-container .sec02__box02 li:nth-of-type(3) {
    margin: 0 2.6% 9% 0;
  }
  #main .location-container .sec02__box02 li:nth-of-type(even) {
    margin: 0 0 9%;
  }
  #main .location-container .sec02__box02 figure {
    margin: 0 0 3%;
  }
  #main .location-container .sec02__box02 dt {
    font-size: 16px;
    margin: 0 0 3%;
  }
  #main .location-container .sec02__box02 dd p {
    font-size: 14px;
  }
  #main .location-container .sec02__box02 li:last-child {
    width: 48.6956521739%;
    margin: 0;
  }
  #main .location-container .sec02__box02 li:last-child div.flex {
    flex-direction: column;
  }
  #main .location-container .sec02__box02 li:last-child figure {
    width: 100%;
    margin: 0 0 2%;
  }
  #main .location-container .sec02__box02 li:last-child dl {
    width: 100%;
  }
  #main .location-container .sec02__box02 li:last-child dt {
    margin: 0 0 3%;
  }
}
#main .location-container .sec03 {
  margin: 0 0 100px;
  padding: 100px 0 87px;
  background-color: #1C1C1C;
}
#main .location-container .sec03__box01 {
  width: 73.8541666667%;
  margin: 0 43px 0 0;
}
#main .location-container .sec03__box01 figure {
  margin: 0 0 52px;
}
#main .location-container .sec03__box01 .captxt {
  left: 0;
  bottom: -30px;
  font-size: 18px;
  line-height: 1;
}
#main .location-container .sec03__box01 dt {
  margin: 0 0 20px;
  color: #CDA65E;
}
#main .location-container .sec03__box01 dd p b {
  display: block;
  margin: 0 0 25px;
}
#main .location-container .sec03__box02 {
  width: 37.5%;
}
#main .location-container .sec03__box02 dl {
  margin: 0 0 10px;
}
#main .location-container .sec03__box02 dt {
  margin: 0 0 11px;
  font-size: 18px;
}
@media (max-width: 768px) {
  #main .location-container .sec03 {
    margin: 0 0 16%;
    padding: 16% 4%;
  }
  #main .location-container .sec03 div.flex {
    flex-direction: column;
  }
  #main .location-container .sec03__box01 {
    width: 100%;
    margin: 0 0 10%;
  }
  #main .location-container .sec03__box01 figure {
    margin: 0 0 10%;
  }
  #main .location-container .sec03__box01 .captxt {
    bottom: -25px;
    font-size: 16px;
  }
  #main .location-container .sec03__box01 dt {
    margin: 0 0 4%;
    font-size: 40px;
  }
  #main .location-container .sec03__box01 dd p b {
    margin: 0 0 5%;
    font-size: 18px;
  }
  #main .location-container .sec03__box01 dd p span {
    font-size: 14px;
  }
  #main .location-container .sec03__box02 {
    width: 100%;
  }
  #main .location-container .sec03__box02 dl {
    margin: 0 0 5%;
  }
  #main .location-container .sec03__box02 dt {
    margin: 0 0 3%;
    font-size: 16px;
  }
  #main .location-container .sec03__box02 dd p {
    font-size: 14px;
  }
  #main .location-container .sec03__box02 figure {
    width: 75.3623188406%;
    margin: 0 auto;
  }
}
#main .location-container .sec04 {
  padding: 0 0 125px;
}
#main .location-container .sec04 img {
  width: 100%;
}
#main .location-container .sec04__box01 {
  width: 37.5%;
  margin: 0 42px 0 0;
}
#main .location-container .sec04__box01 dl {
  margin: 0 0 13px;
}
#main .location-container .sec04__box01 dt {
  margin: 0 0 15px;
  font-size: 18px;
}
#main .location-container .sec04__box01 .ph01 {
  margin: 0 0 32px;
}
#main .location-container .sec04__box01 .txt01 {
  margin: 0 0 13px;
  font-size: 18px;
}
#main .location-container .sec04__box02 {
  width: 73.9583333333%;
}
#main .location-container .sec04__box02 figure {
  margin: 0 0 9px;
}
#main .location-container .sec04__box02 p.txt02 {
  margin: 0 0 37px;
  font-size: 18px;
}
#main .location-container .sec04__box02 dt {
  margin: 0 0 20px;
  color: #CDA65E;
}
#main .location-container .sec04__box02 dd p b {
  display: block;
  margin: 0 0 28px;
}
@media (max-width: 768px) {
  #main .location-container .sec04 {
    padding: 0 4% 18%;
  }
  #main .location-container .sec04 img {
    width: 100%;
  }
  #main .location-container .sec04 div.flex {
    flex-direction: column;
  }
  #main .location-container .sec04__box01 {
    width: 100%;
    order: 2;
    margin: 0;
  }
  #main .location-container .sec04__box01 dl {
    margin: 0 0 5%;
  }
  #main .location-container .sec04__box01 dt {
    margin: 0 0 3%;
    font-size: 16px;
  }
  #main .location-container .sec04__box01 dd p {
    font-size: 14px;
  }
  #main .location-container .sec04__box01 .ph01 {
    width: 75.3623188406%;
    margin: 0 auto 9%;
  }
  #main .location-container .sec04__box01 .txt01 {
    margin: 0 0 3%;
    font-size: 16px;
  }
  #main .location-container .sec04__box02 {
    width: 100%;
    margin: 0 0 8%;
    order: 1;
  }
  #main .location-container .sec04__box02 figure {
    margin: 0 0 2%;
  }
  #main .location-container .sec04__box02 p.txt02 {
    margin: 0 0 3%;
    font-size: 16px;
  }
  #main .location-container .sec04__box02 dt {
    margin: 0 0 3%;
    font-size: 40px;
    letter-spacing: 0.04em;
  }
  #main .location-container .sec04__box02 dd p b {
    margin: 0 0 4%;
    font-size: 18px;
  }
  #main .location-container .sec04__box02 dd p .txt03 {
    margin: 0;
    font-size: 14px;
  }
}
#main .location-container .sec05 {
  margin: 0 0 70px;
}
#main .location-container .sec05 img {
  width: 100%;
}
@media (max-width: 768px) {
  #main .location-container .sec05 {
    margin: 0 0 9%;
  }
}
#main .location-container .sec06 {
  padding: 0 0 95px;
}
#main .location-container .sec06 li {
  width: 470px;
  margin: 0 20px 0 0;
}
#main .location-container .sec06 figure {
  margin: 0 0 10px;
}
#main .location-container .sec06 b {
  font-size: 18px;
}
#main .location-container .sec06 .txt01 {
  display: block;
  margin: 0 0 10px;
}
#main .location-container .sec06 span {
  display: block;
  margin: 0 0 24px;
}
@media (max-width: 768px) {
  #main .location-container .sec06 {
    padding: 0 4% 14%;
  }
  #main .location-container .sec06 li {
    width: 48.6956521739%;
    margin: 0 2.3% 0 0;
  }
  #main .location-container .sec06 li:nth-of-type(even) {
    margin: 0;
  }
  #main .location-container .sec06 figure {
    margin: 0 0 5%;
  }
  #main .location-container .sec06 b {
    font-size: 16px;
  }
  #main .location-container .sec06 .txt01 {
    margin: 0 0 5%;
  }
  #main .location-container .sec06 .txt02 {
    font-size: 14px;
    margin: 0 0 21%;
  }
  #main .location-container .sec06 span {
    margin: 0 0 5%;
  }
}
#main .location-container .sec07 {
  padding: 87px 0 111px;
  margin: 0 0 70px;
  background-color: #1C1C1C;
}
#main .location-container .sec07__box01 {
  width: 42.8125%;
  margin: 0 45px 0 0;
}
#main .location-container .sec07__box01 p {
  margin: 0 0 67px;
}
#main .location-container .sec07__box01 .captxt {
  bottom: -4em;
}
#main .location-container .sec07__box02 {
  width: 52.5%;
}
#main .location-container .sec07__box02 div.flex {
  align-items: flex-start;
}
#main .location-container .sec07__box02 .dev-tit {
  margin: 0 0 15px;
  font-size: 18px;
}
#main .location-container .sec07__box02 figure {
  width: 51.5873015873%;
  margin: 0 26px 0 0;
}
#main .location-container .sec07__box02 li {
  margin: 0 0 40px;
}
#main .location-container .sec07__box02 li:last-child {
  margin: 0;
}
#main .location-container .sec07__box02 li div div p {
  width: 43.253968254%;
}
#main .location-container .sec07__box02 li p .tit {
  display: block;
  padding: 0.3em;
  margin: 0 0 20px;
  text-align: center;
  color: #fff;
  background-color: #5B6B78;
}
#main .location-container .sec07__box02 li p .txt01 {
  display: block;
  margin: 0 0 20px;
}
#main .location-container .sec07__box02 li p .txt02 {
  display: block;
  margin: 0 0 20px;
}
#main .location-container .sec07__box02 li b {
  display: block;
  font-size: 18px;
}
@media (max-width: 768px) {
  #main .location-container .sec07 {
    padding: 17% 4% 16%;
    margin: 0 0 7%;
  }
  #main .location-container .sec07 div.flex {
    flex-direction: column;
  }
  #main .location-container .sec07__box01 {
    width: 100%;
    margin: 0 0 20%;
  }
  #main .location-container .sec07__box01 p {
    margin: 0 0 5%;
    font-size: 20px;
  }
  #main .location-container .sec07__box01 figure {
    width: 76.8115942029%;
    margin: 0 auto;
  }
  #main .location-container .sec07__box01 .captxt {
    bottom: -2.3em;
  }
  #main .location-container .sec07__box02 {
    width: 100%;
  }
  #main .location-container .sec07__box02 div.flex {
    flex-direction: row;
  }
  #main .location-container .sec07__box02 .dev-tit {
    margin: 0 0 5%;
    font-size: 16px;
  }
  #main .location-container .sec07__box02 figure {
    width: 47.5362318841%;
    margin: 0 4% 0 0;
  }
  #main .location-container .sec07__box02 li {
    margin: 0 0 11%;
  }
  #main .location-container .sec07__box02 li:last-child {
    margin: 0;
  }
  #main .location-container .sec07__box02 li div div p {
    width: 48.6956521739%;
  }
  #main .location-container .sec07__box02 li p .tit {
    padding: 0.4em;
    margin: 0 0 15%;
    font-size: 14px;
  }
  #main .location-container .sec07__box02 li p .txt01 {
    margin: 0 0 11%;
    font-size: 14px;
  }
  #main .location-container .sec07__box02 li p .txt02 {
    margin: 0 0 11%;
    font-size: 14px;
  }
  #main .location-container .sec07__box02 li p .txt03 {
    margin: 0 0 5%;
    font-size: 14px;
  }
}

#main .map-container {
  background-color: #fff;
  color: #333;
}
#main .map-container .parts__topicPath {
  background-color: #000;
  color: #fff;
}
#main .map-container .tit__box {
  margin: 0 0 115px;
  padding: 42px 0;
  background-color: #F2F2F3;
}
#main .map-container .tit__box h2 {
  color: #796236;
  text-align: center;
}
@media (max-width: 768px) {
  #main .map-container .tit__box {
    margin: 0 0 16%;
    padding: 7% 0;
  }
}
#main .map-container .sec01 {
  padding: 0 0 100px;
}
#main .map-container .sec01 p.ph {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 26px;
}
#main .map-container .sec01 dl.detail01 {
  margin: 0 0 22px;
}
#main .map-container .sec01 dl.detail02 {
  margin: 0 0 58px;
}
#main .map-container .sec01 dl.detail01 dt,
#main .map-container .sec01 dl.detail02 dt {
  font-size: 18px;
  text-align: center;
  color: #1C1C1C;
}
#main .map-container .sec01 dl.detail01 dd p,
#main .map-container .sec01 dl.detail02 dd p {
  font-size: 18px;
  text-align: center;
}
#main .map-container .sec01 ul {
  justify-content: center;
  align-items: center;
}
#main .map-container .sec01 li {
  width: 250px;
}
#main .map-container .sec01 li a {
  display: block;
  padding: 0.8em;
  text-align: center;
}
#main .map-container .sec01 li.print a {
  margin: 0 14px 0 0;
  color: #fff;
  background-color: #333;
}
#main .map-container .sec01 li.map a {
  color: #333;
  background-color: #CDA65E;
}
@media (max-width: 768px) {
  #main .map-container .sec01 {
    padding: 0 4% 19%;
  }
  #main .map-container .sec01 p.ph {
    margin: 0 auto 5%;
  }
  #main .map-container .sec01 dl.detail01 {
    margin: 0 0 7%;
  }
  #main .map-container .sec01 dl.detail02 {
    margin: 0 0 10%;
  }
  #main .map-container .sec01 dl.detail01 dt,
  #main .map-container .sec01 dl.detail02 dt {
    font-size: 16px;
    text-align: center;
  }
  #main .map-container .sec01 dl.detail01 dd p,
  #main .map-container .sec01 dl.detail02 dd p {
    font-size: 16px;
    text-align: center;
  }
  #main .map-container .sec01 ul {
    flex-direction: column;
  }
  #main .map-container .sec01 li {
    width: 63.768115942%;
  }
  #main .map-container .sec01 li a {
    padding: 0.7em;
    font-size: 14px;
  }
  #main .map-container .sec01 li.print a {
    display: none;
  }
}