@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap" rel="stylesheet');
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  box-sizing: border-box;
}

img {
  width: 100%;
  vertical-align: bottom;
  border: none;
}

ul,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.num li {
  list-style: decimal;
  margin-left: 1rem;
}

a {
  color: inherit;
  cursor: pointer;
}

.mfont {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}

.gfont {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.mt1 {
  margin-top: 1em !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb1 {
  margin-bottom: 1em !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

.pt10 {
  padding-top: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb60 {
  padding-bottom: 60px;
}

.ph {
  position: relative;
}
.ph img {
  width: 100%;
}

.phW100 {
  width: 100%;
}
.phW100 img {
  width: 100%;
}

.phW90 {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.phW90 img {
  width: 100%;
}

.phW80 {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
.phW80 img {
  width: 100%;
}

.phW70 {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}
.phW70 img {
  width: 100%;
}

.phW60 {
  width: min(80%, 600px);
  margin-left: auto;
  margin-right: auto;
}
.phW60 img {
  width: 100%;
}

.phW50 {
  width: min(80%, 500px);
  margin-left: auto;
  margin-right: auto;
}
.phW50 img {
  width: 100%;
}

.phW40 {
  width: min(80%, 400px);
  margin-left: auto;
  margin-right: auto;
}
.phW40 img {
  width: 100%;
}

.phW20 {
  width: 20%;
  margin-left: auto;
  margin-right: auto;
}
.phW20 img {
  width: 100%;
}

.phW15 {
  width: 15%;
  margin-left: auto;
  margin-right: auto;
}
.phW15 img {
  width: 100%;
}

.phW10 {
  width: 10%;
  margin-left: auto;
  margin-right: auto;
}
.phW10 img {
  width: 100%;
}

.w05 {
  width: 5%;
}

.w10 {
  width: 10%;
}

.w20 {
  width: 20%;
}

.w23 {
  width: 23%;
}

.w24 {
  width: 24%;
}

.w25 {
  width: 25%;
}

.w30 {
  width: 30%;
}

.w32 {
  width: 32%;
}

.w35 {
  width: 35%;
}

.w40 {
  width: 40%;
}

.w45 {
  width: 45%;
}

.w48 {
  width: 48%;
}

.w49 {
  width: 49%;
}

.w50 {
  width: 50%;
}

.w60 {
  width: 60%;
}

.w70 {
  width: 70%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.w100 {
  width: 100%;
}

.minus30 {
  margin-top: -30%;
}

.minus15 {
  margin-top: -15%;
}

.minus10 {
  margin-top: -10%;
}

.minus05 {
  margin-top: -5%;
}

.leftFlow {
  float: left;
  display: block;
}

.rightFlow {
  float: right;
  display: block;
}

.hidden {
  display: none;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clear:before,
.clear:after {
  content: " ";
  display: table;
}

/* ---------------------    
SPLASH
---------------------- */
body {
  position: relative;
}
body #load {
  height: 100vh;
  height: -webkit-fill-available;
  width: 100%;
  z-index: 10001;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: black;
  background-image: url("../images/phase1/bg-plan.jpg");
  background-size: 100%;
  background-repeat: repeat-y;
}
body #load #sign {
  width: 100%;
  height: 100vh;
  height: -webkit-fill-available;
  display: flex;
  justify-content: center;
  align-items: center;
}
body #load #sign .inner {
  width: 70%;
  max-width: 640px;
  margin: auto;
  z-index: 11;
}
body #load #sign .inner img {
  width: 100%;
}
body #load.fadeIn #sign {
  opacity: 1;
  transition: all 3000ms ease;
}
body #load.fadeOut #sign {
  /*! opacity: 0; */
  transition: all 3000ms cubic-bezier(0.19, 1, 0.22, 1);
}

html {
  scroll-behavior: smooth;
  height: -webkit-fill-available;
  scroll-padding-top: 100px;
}

body {
  position: relative;
  margin: 0;
  font-size: 16px;
  box-sizing: border-box;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  min-height: 100vh;
  min-height: -webkit-fill-available;
}
@media (orientation: portrait) and (max-width: 767px) {
  body {
    font-feature-settings: normal;
    letter-spacing: 0;
  }
}

img {
  width: 100%;
}

header #topNavi {
  display: block;
}

h1,
h2,
h3,
h4 {
  font-weight: 700;
  line-height: 1.5;
}

p,
li,
dd {
  font-size: 0.9rem;
  line-height: 2;
}
p.strong,
li.strong,
dd.strong {
  font-weight: bold;
}
@media (orientation: portrait) and (max-width: 767px) {
  p,
  li,
  dd {
    font-size: 0.8rem;
    line-height: 1.7;
  }
}

a:link, a:visited, a:hover, a:active {
  text-decoration: none;
}

ul,
ol,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.strong {
  font-weight: bold;
}

hr {
  border-color: #eeeeee;
}

.no {
  position: absolute;
  left: 6px;
  bottom: 6px;
  width: 24px;
  height: 24px;
  padding: 5px 0;
  background-color: black;
  font-size: 12px;
  line-height: 1;
  color: white;
  text-align: center;
}

.container {
  width: min(94%, 1400px);
  margin-left: auto;
  margin-right: auto;
}

.w60container {
  width: 60%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.w70container {
  width: 70%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.w80container {
  width: 80%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.red {
  color: #005b34;
}

.white {
  color: white;
}

.whiteBack {
  background-color: #fff;
  padding: 2% 0;
  width: 100%;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
}

.pcHidden {
  display: none;
}

.white-space {
  white-space: nowrap;
}

.iv {
  opacity: 0;
}

.sup {
  font-size: 0.6em;
}

.ph {
  position: relative;
}

.caption,
.caption_btm {
  font-size: 10px;
  margin: 0.5rem 0 0em 0em;
  line-height: 1.5;
  letter-spacing: 0;
}
.caption.minusTop,
.caption_btm.minusTop {
  margin-top: -4em;
}
.caption.left,
.caption_btm.left {
  text-align: left !important;
}
.caption.right,
.caption_btm.right {
  text-align: right !important;
}
.caption.white,
.caption_btm.white {
  color: white;
}
.caption.super,
.caption_btm.super {
  vertical-align: super;
}

.caption_btm {
  position: absolute;
  margin: auto;
  bottom: 10px;
  right: 10px;
}
@media screen and (max-width: 991px) {
  .caption_btm {
    bottom: 3px;
    right: 5px;
  }
}

.new {
  position: relative;
}
.new::after {
  content: url("../images/common/new.png");
  position: absolute;
  top: 0px;
  right: 0;
  transform: scale(60%);
  z-index: 50;
}

.pickup {
  position: relative;
}
.pickup::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background-image: url("../images/common/pickup.png");
  background-repeat: no-repeat;
  background-size: contain;
  width: 30px;
  height: auto;
  aspect-ratio: 5/2;
  z-index: 50;
}

ol.num li {
  list-style: decimal;
  list-style-position: outside;
  line-height: 1.5;
  margin-left: 1em;
}

ul.disc li {
  list-style: disc;
  list-style-position: outside;
  line-height: 1.5;
  margin-left: 1em;
}

ul.square li {
  list-style: square;
  list-style-position: outside;
  line-height: 1.5;
  margin-left: 1rem;
}

.reservenone {
  display: none;
}

.stickyContainer {
  position: relative;
}

/* !Header */
header {
  position: sticky;
  top: 0;
  width: 100%;
  background-color: #FFFFFF;
  font-family: "Noto Serif JP", serif;
  z-index: 20;
}
header .container {
  width: min(96%, 1440px);
  margin: 0 auto;
  padding: 12px 0;
}
header .container .flexContainer {
  margin: 0;
  align-items: center;
}
header .container .flexContainer .leftItem {
  width: auto;
}
header .container .flexContainer .leftItem .logo {
  width: min(21.7vw, 300px);
}
@media screen and (max-width: 991px) {
  header .container .flexContainer .leftItem {
    width: 30%;
  }
  header .container .flexContainer .leftItem .logo {
    width: min(60vw, 400px);
  }
}
header .container .flexContainer .rightItem.flexContainer {
  width: 75%;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 991px) {
  header .container .flexContainer .rightItem.flexContainer {
    width: 30%;
  }
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack {
  display: flex;
  align-items: center;
  margin-left: auto;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack .navPc {
  display: flex;
  align-items: center;
  margin-left: auto;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack .navPc .navItem {
  display: flex;
  align-items: center;
  position: relative;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack .navPc .navItem::after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  font-size: min(0.88vw, 12px);
  background-color: black;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack .navPc .navItem a {
  padding: 0 0.8em;
  font-size: min(0.88vw, 12px);
  transition: 0.5s;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack .navPc .navItem a:hover {
  color: #aa965c;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack .navPc .navItem a span {
  display: block;
  text-align: center;
  line-height: 1.25em;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack .navPc .navItem.newIcon::before {
  content: "PICK UP!";
  color: #aa965c;
  font-size: min(0.88vw, 10px);
  position: absolute;
  top: -1.5em;
  left: 0;
  width: 100%;
  text-align: center;
  letter-spacing: 0.1em;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack .navPc > .navItem:nth-child(1)::before {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  font-size: min(0.88vw, 10px);
  background-color: black;
}
@media screen and (max-width: 991px) {
  header .container .flexContainer .rightItem.flexContainer #navigationPcStack {
    display: none;
  }
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer {
  display: flex;
  align-items: center;
  margin-left: auto;
  width: clamp(200px, 45vw, 500px);
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer li {
  position: relative;
  width: 42%;
  width: calc((100% - 30px) / 4);
  text-align: center;
  line-height: 1vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0.2vw 0;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer li a {
  font-size: min(0.88vw, 12px);
  display: inline-block;
  padding: 10px 0;
  line-height: 1;
  border: 1px solid #3B527F;
  width: 100%;
  transition: 0.5s;
  color: #3B527F;
  background-color: white;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer li a:hover {
  color: white;
  background-color: #3B527F;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer li a.btn-res {
  color: white;
  border: 1px solid #3B527F;
  display: block;
  position: relative;
  z-index: 0;
  background: linear-gradient(90deg, rgb(117, 0, 19) 0%, rgb(157, 72, 70) 50%, rgb(117, 0, 19) 100%);
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer li a.btn-res::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(54, 125, 77) 0%, rgb(87, 153, 72) 50%, rgb(54, 125, 77) 100%);
  opacity: 0;
  transition: opacity 0.5s;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer li a.btn-res:hover::before {
  opacity: 1;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer li a.btn-req {
  color: white;
  border: 1px solid #3B527F;
  display: block;
  position: relative;
  z-index: 0;
  background: linear-gradient(90deg, rgb(165, 147, 90) 0%, rgb(188, 176, 136) 50%, rgb(165, 147, 90) 100%);
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer li a.btn-req::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(54, 125, 77) 0%, rgb(87, 153, 72) 50%, rgb(54, 125, 77) 100%);
  opacity: 0;
  transition: opacity 0.5s;
}
header .container .flexContainer .rightItem.flexContainer #navigationPcStack ul.btn-header.flexContainer li a.btn-req:hover::before {
  opacity: 1;
}
header .container .flexContainer .rightItem.flexContainer ul.btn-header.flexContainer.popup {
  justify-content: flex-end;
  gap: 0 5px;
}
header .container .flexContainer .rightItem.flexContainer ul.btn-header.flexContainer.popup li {
  width: min(32%, 116px);
}
header .container .flexContainer .rightItem.flexContainer ul.btn-header.flexContainer.popup li a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: transparent;
  transition: all 0.5s ease;
}
header .container .flexContainer .rightItem.flexContainer ul.btn-header.flexContainer.popup li a.btn-res {
  background-color: #035b34;
}
header .container .flexContainer .rightItem.flexContainer ul.btn-header.flexContainer.popup li a.btn-req {
  background-color: #aa965c;
}
header .container .flexContainer .rightItem.flexContainer ul.btn-header.flexContainer.popup li a:hover {
  background-color: #00415f;
  transition: all 0.5s ease;
}
header .container .flexContainer .rightItem.flexContainer ul.btn-header.flexContainer.popup li a:hover.btn-map img, header .container .flexContainer .rightItem.flexContainer ul.btn-header.flexContainer.popup li a:hover.btn-out img {
  transition: all 0.5s ease;
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(174deg) brightness(102%) contrast(102%);
}
@media screen and (max-width: 991px) {
  header .container .flexContainer .rightItem.flexContainer ul.btn-header.flexContainer.popup {
    display: none;
  }
}
header .container .flexContainer .rightItem.flexContainer #topNavi .inner {
  padding: 5px 5px 5px;
  background-color: transparent;
}
header .container .flexContainer .rightItem.flexContainer #topNavi .inner p {
  display: none;
}
header .container .flexContainer .rightItem.flexContainer #topNavi .inner a.gNaviBtn {
  width: 40px;
  margin: 0 0 0 auto;
}
@media (orientation: portrait) and (max-width: 767px) {
  header .container .flexContainer .rightItem.flexContainer {
    width: 46px;
  }
  header .container .flexContainer .rightItem.flexContainer #topNavi .inner {
    padding: 5px 0px 5px;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  header .container .flexContainer .leftItem {
    width: 70%;
  }
}

main section {
  position: relative;
  width: 100%;
  z-index: 1;
}

/* !Bottom Area */
.contact {
  width: 90%;
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  padding: 0px;
}
.contact .contactTitle {
  font-size: 1.2em;
}
.contact .telNo {
  width: 100%;
  max-width: 400px;
  display: inline-block;
  margin: 10px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #005b34;
}
.contact .telNo svg {
  width: 100%;
}
.contact p {
  font-size: 0.8em;
  line-height: 2;
  margin: 0;
}

.bannerArea {
  position: relative;
  width: 100%;
  padding: 30px 0;
  z-index: 10;
}
.bannerArea .footer_banner {
  text-align: center;
}

.bttomBtnArea,
.topBtnArea {
  position: relative;
  font-family: serif;
  font-weight: 500;
  width: 100%;
  padding: 3em 0;
  z-index: 2;
}
.bttomBtnArea .flexContainer,
.topBtnArea .flexContainer {
  gap: 1em;
  justify-content: center;
}
.bttomBtnArea .flexContainer .btn,
.topBtnArea .flexContainer .btn {
  width: 100%;
  margin: 0% 0;
  border: 1px solid #c9b95a;
}
.bttomBtnArea .flexContainer .btn a,
.topBtnArea .flexContainer .btn a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px;
  background-color: transparent;
  transition: all 0.5s ease;
}
.bttomBtnArea .flexContainer .btn a .inner,
.topBtnArea .flexContainer .btn a .inner {
  width: 240px;
  margin: 0 auto;
  text-align: center;
}
.bttomBtnArea .flexContainer .btn.btn-res a,
.topBtnArea .flexContainer .btn.btn-res a {
  display: block;
  position: relative;
  z-index: 0;
  background: linear-gradient(90deg, rgb(0, 34, 85) 0%, rgb(59, 82, 127) 50%, rgb(0, 34, 85) 100%);
}
.bttomBtnArea .flexContainer .btn.btn-res a::before,
.topBtnArea .flexContainer .btn.btn-res a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(54, 125, 77) 0%, rgb(87, 153, 72) 50%, rgb(54, 125, 77) 100%);
  opacity: 0;
  transition: opacity 0.5s;
}
.bttomBtnArea .flexContainer .btn.btn-res a:hover::before,
.topBtnArea .flexContainer .btn.btn-res a:hover::before {
  opacity: 1;
}
.bttomBtnArea .flexContainer .btn.btn-req a,
.topBtnArea .flexContainer .btn.btn-req a {
  display: block;
  position: relative;
  z-index: 0;
  background: linear-gradient(90deg, rgb(165, 147, 90) 0%, rgb(188, 176, 136) 50%, rgb(165, 147, 90) 100%);
}
.bttomBtnArea .flexContainer .btn.btn-req a::before,
.topBtnArea .flexContainer .btn.btn-req a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(54, 125, 77) 0%, rgb(87, 153, 72) 50%, rgb(54, 125, 77) 100%);
  opacity: 0;
  transition: opacity 0.5s;
}
.bttomBtnArea .flexContainer .btn.btn-req a:hover::before,
.topBtnArea .flexContainer .btn.btn-req a:hover::before {
  opacity: 1;
}
.bttomBtnArea .footerNav,
.topBtnArea .footerNav {
  margin-top: 1em;
  justify-content: center;
  gap: 1em;
}
.bttomBtnArea .footerNav .btnItem,
.topBtnArea .footerNav .btnItem {
  width: 32%;
  text-align: center;
}
.bttomBtnArea .footerNav .btnItem a,
.topBtnArea .footerNav .btnItem a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 15px 0;
  color: #c9b95a;
  background-color: transparent;
}
.bttomBtnArea .footerNav .btnItem a:hover,
.topBtnArea .footerNav .btnItem a:hover {
  color: #EEEEEE;
}
@media (orientation: portrait) and (max-width: 767px) {
  .bttomBtnArea,
  .topBtnArea {
    padding: 1em 0;
  }
}

.list-inline > li {
  display: inline-block;
  padding-right: 5px;
  padding-left: 5px;
}

.btnStack {
  position: relative;
  width: 80%;
  max-width: 800px;
  margin: 2% auto;
  z-index: 2;
}

.btn-google {
  width: min(60%, 240px);
  margin: 1em auto;
  border: 1px solid #000;
}
.btn-google a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px;
  font-size: 12px;
  background-color: #EEEEEE;
  transition: all 0.5s;
}
.btn-google a:hover {
  background-color: black;
  color: white;
}

footer {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  position: relative;
  width: 100%;
  padding: 0;
  background-color: #EEEEEE;
  color: #212121;
  font-weight: normal;
  z-index: 11;
}
footer aside {
  background-color: #212121;
}
footer aside .infobox {
  padding: 50px 0;
  font-size: 0.8em;
  color: #EEEEEE;
}
footer .bottomStack {
  width: 100%;
  padding: 20px 0 10px;
  background-color: white;
}
footer .bottomStack .centerLogo {
  width: 340px;
  margin: 20px auto 10px;
}
footer .bottomStack .centerLogo img {
  width: 100%;
}
footer .bottomStack .copyright {
  text-align: center;
  color: #212121;
  font-size: 0.7em !important;
}
footer .dialStack {
  margin: 0 0 2em;
}
footer .dialStack .freeDialBox {
  width: min(90%, 800px);
  margin: 0 auto;
  padding: 3% 0 2%;
  line-height: 1.7;
}
footer .dialStack .freeDialBox p.center {
  font-size: clamp(0.75rem, 0.706rem + 0.188vw, 0.875rem);
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}
footer .dialStack .freeDialBox p.center + a {
  display: block;
  width: 80%;
  margin: 1em auto;
}
footer .dialStack .freeDialBox .btn-header {
  margin-bottom: 20px;
  justify-content: center;
  gap: 15px;
}
@media (orientation: portrait) and (max-width: 767px) {
  footer .dialStack .freeDialBox .btn-header {
    gap: 0px;
  }
}
footer .dialStack .freeDialBox .btn-header .btn.btn-top a {
  margin: auto;
  padding: 8px 20px;
  width: 40% !important;
  background: #484b53;
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  border: 1px solid #fff;
  transition: all 0.5s ease;
}
footer .dialStack .freeDialBox .btn-header .btn.btn-top a:hover {
  background-color: #00415f;
}
footer .dialStack .freeDialBox .btn-header .btn.btn-res a {
  display: block;
  margin-top: 20px;
  position: relative;
  z-index: 0;
}
footer .dialStack .freeDialBox .btn-header .btn.btn-res a:hover {
  opacity: 0.6;
}
footer .dialStack .freeDialBox .btn-header .btn.btn-req a {
  display: block;
  margin-top: 20px;
}
@media (orientation: portrait) and (max-width: 767px) {
  footer .dialStack .freeDialBox .btn-header .btn.btn-req a {
    margin-top: 10px;
  }
}
footer .dialStack .freeDialBox .btn-header .btn.btn-req a {
  position: relative;
  z-index: 0;
}
footer .dialStack .freeDialBox .btn-header .btn.btn-req a:hover {
  opacity: 0.6;
}
@media (orientation: portrait) and (max-width: 767px) {
  footer .dialStack .freeDialBox .btn-header .btn {
    width: 100%;
  }
}
footer .dialStack .freeDialBox .workTime {
  text-align: center;
  font-size: clamp(0.75rem, 0.706rem + 0.188vw, 0.875rem);
}

#spMenu {
  display: none;
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #212121;
  padding: 1% 2%;
  z-index: 999;
}
#spMenu .inner {
  width: 100%;
  height: 70px;
}
#spMenu .inner .flexContainer .item {
  width: 20%;
  padding: 4%;
  border-right: 1px solid white;
}
#spMenu .inner .flexContainer .item:last-child {
  border: none;
}
#spMenu .inner .flexContainer .item.nolink img {
  opacity: 0.3;
}

/* !flexbox */
.flexContainer,
.flexcontainer {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flexContainer .flexItem2,
.flexcontainer .flexItem2 {
  width: 49%;
}
.flexContainer .w15,
.flexcontainer .w15 {
  width: 15%;
}
.flexContainer .w20,
.flexcontainer .w20 {
  width: 20%;
}
.flexContainer .w23,
.flexcontainer .w23 {
  width: 23%;
}
.flexContainer .w24,
.flexcontainer .w24 {
  width: 24%;
}
.flexContainer .w25,
.flexcontainer .w25 {
  width: 25%;
}
.flexContainer .w29,
.flexcontainer .w29 {
  width: 29%;
}
.flexContainer .w30,
.flexContainer .flexItem3,
.flexContainer .flexItem3_1,
.flexcontainer .w30,
.flexcontainer .flexItem3,
.flexcontainer .flexItem3_1 {
  width: 30%;
}
.flexContainer .w32,
.flexcontainer .w32 {
  width: 32%;
}
.flexContainer .w33,
.flexcontainer .w33 {
  width: 33%;
}
.flexContainer .w39,
.flexcontainer .w39 {
  width: 39%;
}
.flexContainer .w40,
.flexcontainer .w40 {
  width: 40%;
}
.flexContainer .w45,
.flexcontainer .w45 {
  width: 45%;
}
.flexContainer .w48,
.flexcontainer .w48 {
  width: 48%;
}
.flexContainer .w49,
.flexcontainer .w49 {
  width: 49%;
}
.flexContainer .w50,
.flexcontainer .w50 {
  width: 50%;
}
.flexContainer .w55,
.flexcontainer .w55 {
  width: 55%;
}
.flexContainer .w59,
.flexcontainer .w59 {
  width: 59%;
}
.flexContainer .w60,
.flexcontainer .w60 {
  width: 60%;
}
.flexContainer .w65,
.flexcontainer .w65 {
  width: 65%;
}
.flexContainer .w69,
.flexcontainer .w69 {
  width: 69%;
}
.flexContainer .w66,
.flexContainer .flexItem3_2,
.flexcontainer .w66,
.flexcontainer .flexItem3_2 {
  width: 66%;
}
.flexContainer .w70,
.flexcontainer .w70 {
  width: 70%;
}
.flexContainer .w75,
.flexcontainer .w75 {
  width: 75%;
}
.flexContainer .w80,
.flexcontainer .w80 {
  width: 80%;
}
.flexContainer .w85,
.flexcontainer .w85 {
  width: 85%;
}
.flexContainer .w89,
.flexcontainer .w89 {
  width: 89%;
}
.flexContainer .w90,
.flexcontainer .w90 {
  width: 90%;
}

.flex-justify-start {
  justify-content: flex-start;
}

.flex-justify-end {
  justify-content: flex-end;
}

.flex-justify-between {
  justify-content: space-between;
}

.flex-justify-center {
  justify-content: center;
  gap: 10px;
}

.flex-align-start {
  align-items: flex-start;
}

.flex-align-center {
  align-items: center;
}

.flex-align-end {
  align-items: flex-end;
}

.flex-align-stretch {
  align-items: stretch;
}

.flex-direction-column {
  flex-direction: column;
}

.flex-direction-row {
  flex-direction: row;
}

/* !Button */
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}

.menu-trigger {
  position: relative;
  width: 50px;
  height: 44px;
  background: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  transform: scale(0.7);
}

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #004F99;
  border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 20px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(20px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-20px) rotate(45deg);
}

.btn_pageTop {
  position: fixed;
  right: 20px;
  display: block;
  width: 40px;
  height: 40px;
  padding: 0;
  text-align: center;
  background-color: #aa965c;
  z-index: 200;
  border-radius: 20px;
}
.btn_pageTop a {
  color: white;
}

.btn-close {
  padding: 10px 20px;
  background-color: #4A4A4A;
  border: none;
  color: white;
  border-radius: 8px;
  width: 100px;
  margin: 0 auto;
  font-size: 0.6em;
}

#navigationStack {
  position: absolute;
  top: 0;
  z-index: 100;
}

.btmBtn {
  margin: 1em;
}
.btmBtn .flexContainer {
  justify-content: center;
  gap: 1em;
}
.btmBtn .flexContainer .closeBtn, .btmBtn .flexContainer .btnPrn {
  width: 25%, 80px;
  aspect-ratio: 1/1;
  background-color: #B5B5B6;
}

/* !Navigation */
#gNavi {
  visibility: hidden;
  opacity: 0;
  transition: all 1s;
}
#gNavi.panelactive {
  visibility: visible;
  opacity: 1;
}
#gNavi .gnaviinner {
  display: flex;
  align-items: center;
  position: fixed;
  top: 76px;
  right: 0;
  width: 80%;
  height: 100vh;
  font-weight: 500;
  letter-spacing: 0.1em;
  background-color: black;
}
#gNavi .gnaviinner .centerItem {
  width: 84%;
  height: 100%;
  padding: 5% 0;
  margin: 0 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#gNavi .gnaviinner .centerItem .inner {
  width: 80%;
  margin: 5% auto 5%;
  padding: 0;
}
#gNavi .gnaviinner .centerItem .inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#gNavi .gnaviinner .centerItem .inner ul li {
  position: relative;
  width: 48%;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.3em;
  font-size: 15px;
  font-weight: bold;
  border-bottom: 1px dashed gray;
  text-transform: uppercase;
  margin: 0.25em 0 0;
  margin: 0;
  font-family: "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif;
}
#gNavi .gnaviinner .centerItem .inner ul li a {
  display: inline-block;
  width: 100%;
  height: 100%;
  color: white;
  padding: 1em 0;
}
#gNavi .gnaviinner .centerItem .inner ul li a span {
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  color: white;
}
#gNavi .gnaviinner .centerItem .inner ul li.new::after {
  content: url("../images/common/new.png");
  position: absolute;
  top: 0px;
  right: 0;
  transform: scale(60%);
  z-index: 50;
}
#gNavi .gnaviinner .centerItem .bottomSec {
  width: 84%;
  margin: 3% auto;
}
#gNavi .gnaviinner .centerItem .bottomSec .flexcontainer {
  justify-content: center;
  gap: 1em;
}
#gNavi .gnaviinner .centerItem .bttomBtnArea {
  padding: 0;
  background-color: transparent;
}
#gNavi .gnaviinner .centerItem .bttomBtnArea .flexContainer {
  justify-content: center;
  gap: 1em;
}
#gNavi .gnaviinner .centerItem .bttomBtnArea .flexContainer .btn {
  width: 48%;
}
#gNavi .gnaviinner .centerItem .bttomBtnArea .flexContainer .btn a {
  display: block;
  width: 100%;
  padding: 15px 0;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  color: white;
  text-align: center;
  text-transform: uppercase;
  transition: 0.5s;
}
#gNavi .gnaviinner .centerItem .bttomBtnArea .flexContainer .item {
  width: 200px;
  font-size: 1rem;
  text-align: center;
  line-height: 2;
}
#gNavi .gnaviinner .centerItem .bttomBtnArea .flexContainer .item a {
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}
#gNavi .gnaviinner .centerItem .bttomBtnArea .flexContainer .item a span {
  font-size: 0.8em;
}
#gNavi .gnaviinner .centerItem .bttomBtnArea .flexContainer .item a:hover {
  text-decoration: underline;
}
#gNavi .gnaviinner .centerItem ul.btmNavi {
  width: 84%;
  margin: 1em auto 3em;
}
#gNavi .gnaviinner .centerItem ul.btmNavi li {
  font-family: serif;
  padding: 10px 0;
  text-align: center;
  border-bottom: 1px dashed gray;
}
#gNavi .gnaviinner .centerItem ul.btmNavi li a, #gNavi .gnaviinner .centerItem ul.btmNavi li a:link, #gNavi .gnaviinner .centerItem ul.btmNavi li a:visited, #gNavi .gnaviinner .centerItem ul.btmNavi li a:hover, #gNavi .gnaviinner .centerItem ul.btmNavi li a:active {
  color: white;
}
#gNavi .gnaviinner .centerItem ul.btmNavi li:first-child {
  border-top: 1px dashed gray;
}
#gNavi .bnr {
  width: 48%;
}
@media (orientation: portrait) and (max-width: 767px) {
  #gNavi .bnr {
    width: 100%;
  }
}

.borderBtmTop {
  display: inline-block;
  position: relative;
}
.borderBtmTop a {
  color: white;
}
.borderBtmTop a .fa {
  color: #005b34;
}
.borderBtmTop a:hover .fa {
  color: white;
}
.borderBtmTop.current {
  background-color: #005b34;
}
.borderBtmTop.current .fa {
  color: white;
}

.borderBtmTop::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleY(0);
  height: 100%;
  bottom: 0;
  left: 0;
  background-color: #005b34;
  transform-origin: bottom right;
  transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}

.borderBtmTop:hover::after {
  transform: scaleY(1);
  transform-origin: bottom left;
}

.borderBtmTop span {
  position: relative;
  z-index: 10;
  display: block;
}

/* !Delay */
.delay00 {
  animation-duration: 1s;
  /* デュレーション*/
  animation-delay: 0s;
  /* ディレイ*/
}

.delay01 {
  animation-duration: 1s;
  /* デュレーション*/
  animation-delay: 0.25s;
  /* ディレイ*/
}

.delay02 {
  animation-duration: 1s;
  /* デュレーション*/
  animation-delay: 0.5s;
  /* ディレイ*/
}

.delay03 {
  animation-duration: 1s;
  /* デュレーション*/
  animation-delay: 0.75s;
  /* ディレイ*/
}

.delay04 {
  animation-duration: 1s;
  /* デュレーション*/
  animation-delay: 1s;
  /* ディレイ*/
}

.delay05 {
  animation-duration: 1s;
  /* デュレーション*/
  animation-delay: 1.25s;
  /* ディレイ*/
}

.delay06 {
  animation-duration: 1s;
  /* デュレーション*/
  animation-delay: 1.5s;
  /* ディレイ*/
}

.reflection {
  position: relative;
  overflow: hidden;
}

.reflection::after {
  content: "";
  display: block;
  width: 30px;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 3s ease-in-out infinite;
}

@keyframes reflect {
  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;
  }
}
/**************************************

	 			!Media

***************************************/
@media screen and (max-width: 991px) {
  #gNavi {
    visibility: hidden;
    opacity: 0;
    transition: all 1s;
  }
  #gNavi.panelactive {
    visibility: visible;
    opacity: 1;
  }
  #gNavi .gnaviinner {
    display: flex;
    align-items: center;
    position: fixed;
    width: 90vw;
    height: 100vh;
    font-weight: 500;
    letter-spacing: 0.1em;
    background-color: black;
    top: 60px;
  }
  #gNavi .gnaviinner .centerItem {
    padding: 5% 0 150px;
    margin: 0 auto;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  #gNavi .gnaviinner .centerItem .inner {
    width: 100%;
  }
  #gNavi .gnaviinner .centerItem .inner ul li {
    width: 100%;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.3em;
    font-size: 13px;
    margin: 0.5em 0 0;
  }
  #gNavi .gnaviinner .centerItem .inner ul li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 0 0.8em;
  }
  #gNavi .gnaviinner .centerItem .inner ul li a span {
    font-size: 0.8em;
    letter-spacing: 0.1em;
  }
  #gNavi .gnaviinner .centerItem .btmStack {
    width: 100%;
  }
  #gNavi .gnaviinner .centerItem .btmStack .flexContainer {
    flex-direction: column;
    justify-content: center;
    gap: 1em;
    margin-top: 1em;
  }
  #gNavi .gnaviinner .centerItem .btmStack .flexContainer .btn {
    width: 100%;
  }
  #gNavi .gnaviinner .centerItem .btmStack .flexContainer .btn a {
    display: block;
    width: 100%;
    padding: 20px 0;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    color: white;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s;
  }
  #gNavi .gnaviinner .centerItem .btmStack .flexContainer .item {
    width: 200px;
    font-size: 1rem;
    text-align: center;
    line-height: 2;
  }
  #gNavi .gnaviinner .centerItem .btmStack .flexContainer .item a {
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.2em;
  }
  #gNavi .gnaviinner .centerItem .btmStack .flexContainer .item a span {
    font-size: 0.8em;
  }
  #gNavi .gnaviinner .centerItem .btmStack .flexContainer .item a:hover {
    text-decoration: underline;
  }
  #gNavi .gnaviinner .centerItem .bttomBtnArea {
    width: 100%;
    padding-left: 3%;
    padding-right: 3%;
  }
  #gNavi .gnaviinner .centerItem .bttomBtnArea .flexContainer .btn {
    width: 100%;
  }
  #gNavi .gnaviinner .centerItem ul.btmNavi li {
    font-family: serif;
    padding: 10px 0;
    text-align: center;
    border-bottom: 1px dashed gray;
  }
  #gNavi .gnaviinner .centerItem ul.btmNavi li a, #gNavi .gnaviinner .centerItem ul.btmNavi li a:link, #gNavi .gnaviinner .centerItem ul.btmNavi li a:visited, #gNavi .gnaviinner .centerItem ul.btmNavi li a:hover, #gNavi .gnaviinner .centerItem ul.btmNavi li a:active {
    color: white;
  }
  #gNavi .gnaviinner .centerItem ul.btmNavi li:first-child {
    border-top: 1px dashed gray;
  }
  .w60container,
  .w70container,
  .w80container {
    width: 85%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 767px) {
  .spHidden {
    display: none;
  }
  .pcHidden {
    display: block;
  }
  .caption {
    font-size: 8px;
  }
  .container {
    width: 100%;
  }
  header {
    position: sticky;
    top: 0;
    width: 100%;
    height: 70px;
    z-index: 888;
  }
  header .container {
    width: 94%;
    margin: 0 auto;
    padding: 8px 0;
  }
  header .container .flexContainer {
    margin: 0;
    padding: 0px 0;
  }
  header .container .flexContainer .leftItem .flexContainer .logo {
    width: 150px;
  }
  header .container .flexContainer .leftItem .flexContainer .projectName {
    font-size: 12px;
  }
  .btn-close {
    display: block;
  }
  .borderBtmTop::after {
    display: none;
  }
  .telNo svg {
    width: 100%;
  }
  .telNo img {
    width: 100%;
  }
  .contact .contactTitle {
    font-size: 1em;
  }
  .w60container,
  .w70container,
  .w80container {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  main .container {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .pickup::after {
    top: -0.5em;
    width: 23px;
  }
  /* !flexbox */
  .flexContainer .w45,
  .flexContainer .w48,
  .flexContainer .w49,
  .flexContainer .w50,
  .flexContainer .w69,
  .flexContainer .w66,
  .flexContainer .flexItem3_2,
  .flexContainer .w70,
  .flexContainer .w75,
  .flexContainer .W80,
  .flexContainer .W85,
  .flexContainer .w89,
  .flexContainer .w90,
  .flexcontainer .w45,
  .flexcontainer .w48,
  .flexcontainer .w49,
  .flexcontainer .w50,
  .flexcontainer .w69,
  .flexcontainer .w66,
  .flexcontainer .flexItem3_2,
  .flexcontainer .w70,
  .flexcontainer .w75,
  .flexcontainer .W80,
  .flexcontainer .W85,
  .flexcontainer .w89,
  .flexcontainer .w90 {
    width: 100%;
  }
  .flexContainer .w25,
  .flexContainer .w33,
  .flexContainer .w30,
  .flexContainer .w40,
  .flexContainer .w48,
  .flexContainer .w49,
  .flexContainer .w50,
  .flexContainer .w60,
  .flexContainer .w65,
  .flexContainer .w70,
  .flexContainer .w75,
  .flexContainer .w80,
  .flexContainer .w89,
  .flexContainer .w90,
  .flexContainer .flexItem2,
  .flexContainer .flexItem3,
  .flexcontainer .w25,
  .flexcontainer .w33,
  .flexcontainer .w30,
  .flexcontainer .w40,
  .flexcontainer .w48,
  .flexcontainer .w49,
  .flexcontainer .w50,
  .flexcontainer .w60,
  .flexcontainer .w65,
  .flexcontainer .w70,
  .flexcontainer .w75,
  .flexcontainer .w80,
  .flexcontainer .w89,
  .flexcontainer .w90,
  .flexcontainer .flexItem2,
  .flexcontainer .flexItem3 {
    margin-bottom: 0px;
  }
}
.gold {
  color: #c9b95a;
}

.resnone {
  display: none;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span,
p span {
  display: inline-block;
}
h1 span.large,
h2 span.large,
h3 span.large,
h4 span.large,
h5 span.large,
h6 span.large,
p span.large {
  font-size: 1.4em;
}

.zehLine {
  border-top: 2px solid white;
  border-bottom: 2px solid white;
  background: linear-gradient(90deg, rgb(176, 161, 113) 2.38%, rgb(135, 124, 87) 99.69%);
}

.pages main {
  font-family: "Noto Sans JP", sans-serif;
}
.pages main .bg-black {
  background-color: #000;
  color: white;
}
.pages main .inner {
  padding: 3% 0;
}
.pages main .bBorder {
  padding-top: 0.5em;
  margin-bottom: 1em;
  border-bottom: 1px solid #000;
}
.pages main h2 {
  font-weight: 400;
  font-size: 1.8rem;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main h2 {
    font-size: 1.2rem;
    font-weight: 500;
  }
}
.pages main h3 {
  font-weight: 400;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
.pages main h3.eng {
  font-size: 2.6rem;
  color: #c9b95a;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main h3 {
    font-weight: 500;
  }
}
.pages main h4 {
  font-size: 1.6rem;
  margin-bottom: 1em;
  line-height: 1.5;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main h4 {
    font-weight: 600;
  }
}
.pages main h5 {
  font-size: 1.4rem;
  margin-bottom: 1em;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main h5 {
    font-weight: 500;
  }
}
.pages main .lead {
  font-size: 1.1rem;
}
@media screen and (max-width: 991px) {
  .pages main h2 {
    font-size: 1.4rem;
  }
  .pages main h4 {
    font-size: 1.2rem;
  }
  .pages main .lead {
    font-size: 1rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main h2 {
    font-size: 1.2rem;
  }
  .pages main .lead {
    font-size: 0.9rem;
  }
}
.pages main .bg-gradG, .pages main.plan h3 {
  margin: 1em 0 0;
  background: linear-gradient(90deg, rgb(58, 103, 70) 0%, rgb(1, 53, 38) 100%);
}
.pages main.plan .shadowBox {
  background-image: url("../images/phase1/bg-plan.jpg");
  background-size: 100%;
  background-repeat: repeat-y;
  padding: 5% 0;
}
.pages main.plan .shadowBox .container {
  background-color: #fff;
  box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.4);
}
.pages main.plan .container {
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: 0% auto;
  padding-bottom: 3%;
  z-index: 10;
}
.pages main.plan .container.minus {
  margin-top: -5%;
}
.pages main.plan .container .planhead {
  padding: 24px 20%;
}
.pages main.plan .container .planhead h1 {
  width: 100%;
  max-width: none;
  margin-bottom: 0em;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.plan .container .planhead {
    padding: 30px 5%;
  }
}
.pages main.plan .container h2 {
  font-size: 1.8rem;
  width: 100%;
  max-width: none;
}
.pages main.plan .container .balcony {
  background-color: #EEEEEE;
  padding: 1% 5%;
  margin-bottom: 1em;
}
.pages main.plan .container .balcony ul li {
  display: inline-block;
}
.pages main.plan .container .inner {
  width: 90%;
  padding-top: 0;
  margin: 0 auto;
}
.pages main.plan .container .inner .salespoint {
  display: flex;
  flex-wrap: wrap;
  width: min(500px, 100%);
  margin: 0px auto 2em;
  gap: 1em 2%;
  background-color: transparent;
}
.pages main.plan .container .inner .salespoint li {
  width: 48%;
}
.pages main.plan .container .inner .planMain {
  width: 100%;
  margin: 5% auto;
}
.pages main.plan .container .inner .planMain .flexcontainer .leftItem {
  width: 40%;
}
.pages main.plan .container .inner .planMain .flexcontainer .rightItem {
  position: relative;
  width: 58%;
}
.pages main.plan .container .inner .planMain .flexcontainer .rightItem .kadojyuko {
  position: absolute;
  width: min(120px, 20%);
  z-index: 5;
}
.pages main.plan .container .inner .planMain .flexcontainer .rightItem .kadojyuko.atype {
  bottom: 10%;
  left: -20px;
}
.pages main.plan .container .inner .planMain .flexcontainer .rightItem .kadojyuko.dtype {
  bottom: 10%;
  right: -20px;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.plan .container .inner .planMain .flexcontainer {
    flex-direction: column-reverse;
  }
  .pages main.plan .container .inner .planMain .flexcontainer .leftItem {
    width: 100%;
  }
  .pages main.plan .container .inner .planMain .flexcontainer .rightItem {
    width: 100%;
  }
}
.pages main.plan .container .inner .planMain .hanrei {
  width: 80%;
  max-width: 400px;
  margin: 2em auto;
}
.pages main.plan .container .inner .planMain .point {
  width: 100px;
  margin-bottom: 0.5em;
}
.pages main.plan .container .inner .planMain h2 {
  font-size: 1.2rem;
  border-top: 1px solid #bb121a;
  border-bottom: 1px solid #bb121a;
}
.pages main.plan .container .inner .planMain .btn-3d {
  margin-top: 1em;
}
.pages main.plan .container .inner .notes {
  width: 100%;
  margin: 3% auto;
  border: 1px solid #B5B5B6;
  padding: 0 0;
  font-family: serif;
  text-align: center;
  font-size: 0.7rem;
}
.pages main.plan .container .inner .notes h3 {
  margin-top: 0;
}
.pages main.plan .container .menuplan {
  width: 58%;
  margin: 0 auto;
  border: 1px solid #ccc;
}
.pages main.plan .container .menuplan h2 {
  padding: 0px;
  background-color: #c7113c;
  text-align: center;
  font-size: 1.4rem;
  color: white;
  margin-bottom: 1em;
}
.pages main.plan .container .menuplan h2 span {
  font-size: 2rem;
}
.pages main.plan .container .menuplan .lead {
  color: #c7113c;
  font-size: 1.2rem;
  text-align: center;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.plan .container .menuplan {
    width: 100%;
  }
}
.pages main.plan .topVisual {
  position: relative;
}
.pages main.plan .topVisual h1 {
  position: absolute;
  top: 8%;
  left: 5%;
  width: 46%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.plan main .container {
    padding: 3% 0%;
  }
}
.pages main.plan .txtArea {
  margin: 3% 0;
}
.pages main.plan .txtArea .ttl {
  color: #c9b95a;
  font-size: 2.2rem;
  text-align: center;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 991px) {
  .pages main.plan .txtArea .ttl {
    font-size: 1.6rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.plan .txtArea .ttl {
    font-size: 1.4rem;
    margin-bottom: 0;
  }
}
.pages main.plan .fl01 {
  gap: 1em 2%;
}
.pages main.plan .fl01 .item {
  width: 48%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.plan .fl01 .item {
    width: 100%;
  }
}
.pages main.plan h3 {
  padding: 0.5em 2em;
  color: white;
}
.pages main.plan .roomPlan .bg-gradG, .pages main.plan .roomPlan h3 {
  padding: 0.5em 1em;
}
.pages main.plan .roomPlan .bg-gradG .btninner, .pages main.plan .roomPlan h3 .btninner {
  width: 30%;
  max-width: 300px;
  margin: 0px auto;
}
.pages main.plan .roomPlan .bg-gradG .btninner img, .pages main.plan .roomPlan h3 .btninner img {
  vertical-align: middle;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.plan .roomPlan .bg-gradG .btninner, .pages main.plan .roomPlan h3 .btninner {
    width: 50%;
  }
}
@media screen and (max-width: 991px) {
  .pages main.plan .roomPlan .w80container {
    width: 100%;
  }
}
.pages main.plan .btn_list {
  width: 100%;
  margin: 1em 0;
}
.pages main.plan .btn_list h4 {
  margin: 1em 0;
}
.pages main.plan .btn_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px 1%;
}
.pages main.plan .btn_list ul li.child {
  position: relative;
  width: 49%;
  border: 1px solid #c9b95a;
  background-image: url("../images/phase1/bg-plan.jpg");
  background-size: 100%;
  background-position: top center;
  transition: all 0.5s ease;
}
.pages main.plan .btn_list ul li.child:hover {
  background-size: 200%;
}
.pages main.plan .btn_list ul li.child.sold::before, .pages main.plan .btn_list ul li.child.soon::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-image: url("../../plan/images/sold.png");
  background-size: contain;
  background-color: rgba(0, 0, 0, 0.8);
}
.pages main.plan .btn_list ul li.child.soon::before {
  background-image: url("../../plan/images/soon.png");
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.plan .btn_list {
    margin: 20px 0 20px;
  }
  .pages main.plan .btn_list h4 {
    font-size: 1rem;
    margin: 0.5em 0 0;
  }
  .pages main.plan .btn_list ul li.child {
    width: 100%;
  }
}
.pages main.plan .som .flexcontainer .leftItem {
  width: 44%;
}
.pages main.plan .som .flexcontainer .menuplan {
  width: 50%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.plan .som .flexcontainer {
    flex-direction: column-reverse;
  }
  .pages main.plan .som .flexcontainer .leftItem,
  .pages main.plan .som .flexcontainer .menuplan {
    width: 100%;
  }
}
.pages main.structure main .coverTempWrapper .container {
  width: 100%;
}
.pages main.structure main .coverTempWrapper .container .topVisual {
  background-image: url("../../structure/images/pc_cover.jpg");
  width: 100%;
  height: 0;
  margin-bottom: 3%;
  padding-top: 54%;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
}
.pages main.structure main .first h2 {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 1em;
}
.pages main.structure main .first h3 {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 0.5em;
}
.pages main.structure main .first p.lead {
  font-size: 1.2rem;
  text-align: center;
  margin-bottom: 2em;
}
.pages main.structure main .first .isoratorImg {
  background-image: url("../../structure/images/pc_isorator@2x.jpg");
  width: 100%;
  height: 0;
  margin: 1em 0;
  padding-top: 44%;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -9999px;
}
.pages main.structure main .second {
  margin: 3% 0;
}
.pages main.structure main .second .bdBox {
  width: 90%;
  max-width: 700px;
  margin: 3% auto;
  border: 1px solid #4A4A4A;
  padding: 1em;
}
.pages main.structure main .second .bdBox .flexContainer {
  align-items: center;
}
.pages main.structure main .second .bdBox .flexContainer .leftItem {
  width: 28%;
}
.pages main.structure main .second .bdBox .flexContainer .rightItem {
  width: 68%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.structure main .second .bdBox .flexContainer {
    flex-direction: column;
  }
  .pages main.structure main .second .bdBox .flexContainer .leftItem {
    width: 50%;
    margin-bottom: 1em;
  }
  .pages main.structure main .second .bdBox .flexContainer .rightItem {
    width: 90%;
  }
}
.pages main.structure main .second .bdBox h4 {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.pages main.structure main .third {
  margin-bottom: 5%;
}
.pages main.structure main .third .container {
  width: 80%;
  max-width: 1100px;
}
.pages main.structure main .third .container h3 {
  width: 80%;
  max-width: 600px;
  margin: 0 auto 1em;
}
.pages main.structure main .third .container .flexContainer .item {
  width: 32%;
  border: 3px solid #005b34;
  background-color: white;
  box-shadow: 6px 8px 4px rgba(0, 0, 0, 0.2);
}
.pages main.structure main .third .container .flexContainer .item .inner {
  padding: 1em;
}
.pages main.structure main .third .container .flexContainer .item .inner p {
  font-size: 1rem;
  text-align: center;
}
.pages main.structure main .third .container .flexContainer .item .inner span.strong {
  display: block;
  color: #005b34;
  font-size: 1.3em;
}
@media screen and (max-width: 991px) {
  .pages main.structure main .third .container .flexContainer {
    width: 60%;
    margin: 1em auto;
    gap: 10px;
  }
  .pages main.structure main .third .container .flexContainer .item {
    width: 100%;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.structure main .third .container .flexContainer {
    width: 100%;
  }
}
.pages main.structure main .interview .container {
  width: 80%;
  max-width: 1100px;
}
.pages main.structure main .interview .container h3 {
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
}
.pages main.structure main .interview .container .taC {
  font-size: 1rem;
  text-align: center;
  letter-spacing: 0.1em;
}
.pages main.structure main .interview .container .taC .font_bl {
  font-size: 2.2em;
  color: #005b34;
}
.pages main.structure main .interview .container .inteview_bg {
  display: block;
  position: relative;
  margin-top: 2rem;
}
.pages main.structure main .interview .container .inteview_bg .inteview_ttl {
  position: absolute;
  top: 35%;
  left: 45%;
  width: 13%;
}
.pages main.structure main .interview .container .inteview_bg .box {
  width: 100%;
  margin: 1em auto;
  padding: 10px;
  border: 1px solid #005b34;
  background-color: #eefefe;
  border-radius: 8px;
}
.pages main.equipment .bd-black {
  margin: 2em 0 1em;
  border-bottom: 1px solid #035b34;
}
.pages main.equipment .bd-black .bg-Box {
  display: block;
  width: 240px;
  padding: 10px 0 5px;
  background-color: #035b34;
  margin: 0 auto;
}
.pages main.equipment .bd-black h3 {
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
  color: #c9b95a;
  text-align: center;
  margin-bottom: 0;
}
@media screen and (max-width: 991px) {
  .pages main.equipment .bd-black {
    margin: 2em 0 1em;
  }
  .pages main.equipment .bd-black .bg-Box {
    display: block;
    width: 200px;
    padding: 5px 0 1px;
    background-color: #035b34;
    margin: 0 auto;
  }
  .pages main.equipment .bd-black h3 {
    font-size: 1.1rem;
  }
}
.pages main.equipment .topVisual {
  position: relative;
  width: 100%;
  aspect-ratio: 16/7;
  overflow: hidden;
}
.pages main.equipment .topVisual .parallax {
  position: relative;
  margin-top: -100px;
  width: 100%;
  height: 130%;
  background-image: url("../../equipment/images/kitchen.jpg");
  background-position: 50%;
  background-size: cover;
}
.pages main.equipment .topVisual .txtStack {
  position: absolute;
  width: 90%;
  top: 6%;
  left: 3%;
}
.pages main.equipment .topVisual .txtStack h1 {
  width: 40%;
  margin-bottom: 0;
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.6));
}
.pages main.equipment .topVisual .caption {
  position: absolute;
  bottom: 20px;
  left: 20px;
  color: white;
}
@media screen and (max-width: 991px) {
  .pages main.equipment .topVisual .txtStack {
    position: absolute;
    width: 90%;
    top: 6%;
    left: 3%;
  }
  .pages main.equipment .topVisual .txtStack h2 {
    font-size: 1.2rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.equipment .topVisual {
    aspect-ratio: 3/1.6;
  }
  .pages main.equipment .topVisual .parallax {
    position: relative;
    margin-top: 0px;
    width: 100%;
    height: 110%;
  }
  .pages main.equipment .topVisual .txtStack {
    position: absolute;
    width: 90%;
    top: 3%;
    left: 3%;
  }
  .pages main.equipment .topVisual .txtStack h1 {
    width: 70%;
  }
  .pages main.equipment .topVisual .txtStack h2 {
    font-size: 1rem;
    color: white;
    filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.9));
  }
  .pages main.equipment .topVisual .caption {
    position: absolute;
    bottom: 10px;
    left: 10px;
  }
}
.pages main.equipment ul.setsubi {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px 2%;
}
.pages main.equipment ul.setsubi li {
  width: 32%;
  line-height: 1.5;
}
.pages main.equipment ul.setsubi li h5 {
  font-size: 1.1rem;
  text-align: center;
  padding: 5px 0;
  margin-bottom: 0;
  color: white;
  background-color: #035b34;
}
.pages main.equipment ul.setsubi li.w66 {
  width: 66%;
}
.pages main.equipment ul.setsubi li.w48 {
  width: 49%;
}
.pages main.equipment ul.setsubi li .ph {
  aspect-ratio: 3/2;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .pages main.equipment ul.setsubi li h5 {
    font-size: 0.9rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.equipment ul.setsubi li {
    width: 100%;
    line-height: 1.5;
  }
  .pages main.equipment ul.setsubi li h5 {
    font-size: 1.1rem;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 0;
    color: white;
    background-color: #035b34;
  }
  .pages main.equipment ul.setsubi li.w66 {
    width: 100%;
  }
  .pages main.equipment ul.setsubi li.w48 {
    width: 100%;
  }
  .pages main.equipment ul.setsubi li .ph {
    aspect-ratio: 3/2;
    width: 100%;
  }
  .pages main.equipment ul.setsubi .w33 {
    width: 100%;
  }
}
.pages main.equipment .bathroom .flexcontainer .leftItem,
.pages main.equipment .dressingroom .flexcontainer .leftItem,
.pages main.equipment .toilet .flexcontainer .leftItem {
  position: relative;
  width: 40%;
  background-image: url("../../equipment/images/bathroom.jpg");
  background-size: cover;
  background-position: 50%;
}
.pages main.equipment .bathroom .flexcontainer .rightItem,
.pages main.equipment .dressingroom .flexcontainer .rightItem,
.pages main.equipment .toilet .flexcontainer .rightItem {
  width: 58%;
}
.pages main.equipment .bathroom .flexcontainer .rightItem ul.setsubi,
.pages main.equipment .dressingroom .flexcontainer .rightItem ul.setsubi,
.pages main.equipment .toilet .flexcontainer .rightItem ul.setsubi {
  justify-content: space-between;
}
.pages main.equipment .bathroom .flexcontainer .rightItem ul.setsubi li,
.pages main.equipment .dressingroom .flexcontainer .rightItem ul.setsubi li,
.pages main.equipment .toilet .flexcontainer .rightItem ul.setsubi li {
  width: 48%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.equipment .bathroom .flexcontainer .leftItem,
  .pages main.equipment .dressingroom .flexcontainer .leftItem,
  .pages main.equipment .toilet .flexcontainer .leftItem {
    width: 100%;
    aspect-ratio: 3/2;
    margin-bottom: 1em;
  }
  .pages main.equipment .bathroom .flexcontainer .rightItem,
  .pages main.equipment .dressingroom .flexcontainer .rightItem,
  .pages main.equipment .toilet .flexcontainer .rightItem {
    width: 100%;
  }
  .pages main.equipment .bathroom .flexcontainer .rightItem ul.setsubi,
  .pages main.equipment .dressingroom .flexcontainer .rightItem ul.setsubi,
  .pages main.equipment .toilet .flexcontainer .rightItem ul.setsubi {
    justify-content: space-between;
  }
  .pages main.equipment .bathroom .flexcontainer .rightItem ul.setsubi li,
  .pages main.equipment .dressingroom .flexcontainer .rightItem ul.setsubi li,
  .pages main.equipment .toilet .flexcontainer .rightItem ul.setsubi li {
    width: 100%;
  }
}
.pages main.equipment .dressingroom .flexcontainer .leftItem {
  background-image: url("../../equipment/images/dressingroom.jpg");
}
.pages main.equipment .toilet .flexcontainer .leftItem {
  background-image: url("../../equipment/images/toilet.jpg");
}
.pages main.equipment .other {
  margin: 2em 0 1em;
}
.pages main.equipment .other .container {
  padding-top: 2em;
  border-top: 1px solid #B5B5B6;
}
.pages main.equipment .other ul.list li {
  width: 100%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages main.equipment .other .flexcontainer .w55,
  .pages main.equipment .other .flexcontainer .w40,
  .pages main.equipment .other .flexcontainer .w48 {
    width: 100%;
  }
}

.btmStack {
  padding: 3% 0 1%;
}

.bttomBtnArea {
  padding: 0 0 5%;
  background-color: #484b53;
}

.outline {
  font-family: "Noto Sans Japanese", sans-serif;
  padding: 0px 0;
}
.outline main {
  background-color: white;
}
.outline main h1 {
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0.1em;
  margin: 1em 0;
}
.outline main .container {
  width: 90%;
  margin: 0px auto;
}
.outline main .container section {
  margin: 0;
  padding: 0;
}
.outline table.style1 {
  width: 100%;
  font-size: 0.9rem;
  line-height: 1.5;
  border-collapse: collapse;
}
.outline table.style1 td {
  padding: 1%;
  border: 1px solid #212121;
}
.outline table.style1 td.cell1 {
  width: 23%;
  background-color: #EEEEEE;
}
.outline table.style1 td.cell2 {
  width: 73%;
}

.zuiji .inner {
  width: 90%;
  max-width: 600px;
  margin: 0 auto 3%;
}

.btn_insite {
  display: block;
  width: 80%;
  max-width: 680px;
  margin: 3% auto;
}

.bnr.vegalta {
  width: min(40%, 320px);
  margin: 0em auto;
}
.bnr.vegalta + p {
  font-size: 12px;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}

#mg {
  background-image: url("../images/phase1/bg-plan.jpg");
  background-size: 100%;
  background-repeat: repeat-y;
}
#mg .container {
  width: 94%;
  max-width: 1200px;
}
#mg {
  line-height: 2;
}
#mg .first {
  background-color: #fff;
  background-image: url("../../mgInfo/images/topVisual.jpg");
  background-size: 80%;
  background-position: center left;
  background-repeat: no-repeat;
}
#mg .first .titleBox {
  padding: 7% 0;
  background-color: #00415f;
  mix-blend-mode: hard-light;
  color: #c9b95a;
  font-family: serif;
  letter-spacing: 0.2em;
}
#mg .first .titleBox h2 {
  font-size: 2.2rem;
}
#mg h2 {
  font-size: 1.8rem;
  margin: 0 0 0.5em;
  text-align: center;
}
#mg h3 {
  font-size: 1rem;
  text-align: center;
}
#mg h3.title {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 1em;
  line-height: 1.5;
}
#mg h3.title span.subH {
  font-size: 0.7em;
}
#mg h4 {
  font-size: 1.2rem;
  padding: 0.2em 0.5em;
  background-color: #00415f;
  margin: 0 0 0.5em;
  color: white;
}
#mg .mapImgBox {
  width: 60%;
  margin: 0% auto 5%;
}
#mg .col2wrapper {
  align-items: center;
}
#mg .box {
  width: 48%;
}
#mg .box ul li {
  line-height: 2;
}
#mg .leftItem {
  width: 38%;
}
#mg .rightItem {
  width: 60%;
}
#mg .second .flexContainer,
#mg .third .flexContainer {
  margin: 5% 0;
  padding-bottom: 1em;
  margin-bottom: 3em;
  border-bottom: 1px dashed rgba(60, 117, 176, 0.3);
}
#mg .second .flexContainer .leftItem,
#mg .third .flexContainer .leftItem {
  width: 60%;
}
#mg .second .flexContainer .rightItem,
#mg .third .flexContainer .rightItem {
  width: 35%;
}
#mg .second .flexContainer.fl04,
#mg .third .flexContainer.fl04 {
  align-items: center;
}
#mg .second .flexContainer.fl04 .strong,
#mg .third .flexContainer.fl04 .strong {
  font-size: 1.2rem;
  text-align: center;
  font-weight: 500;
}
#mg .second .flexContainer.fl05,
#mg .third .flexContainer.fl05 {
  width: 90%;
  margin: 5% auto;
  padding-bottom: 5%;
  border-bottom: none;
}
#mg .second h4,
#mg .third h4 {
  font-size: 1.2rem;
  margin-bottom: 0.5em;
}
#mg .second .carnavi,
#mg .third .carnavi {
  width: 90%;
  margin: 0 auto;
  background-color: #00415f;
  color: white;
}
#mg .second .carnavi .flexContainer,
#mg .third .carnavi .flexContainer {
  align-items: center;
  border: none;
  padding: 15px 30px;
}
#mg .second .carnavi .flexContainer .leftItem,
#mg .third .carnavi .flexContainer .leftItem {
  width: 70%;
}
#mg .second .carnavi .flexContainer .leftItem h3,
#mg .third .carnavi .flexContainer .leftItem h3 {
  color: white;
  font-size: 1.2rem;
  text-align: left;
  border-bottom: 1px dashed #00415f;
}
#mg .second .carnavi .flexContainer .leftItem p.naviadd,
#mg .third .carnavi .flexContainer .leftItem p.naviadd {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
#mg .second .carnavi .flexContainer .rightItem,
#mg .third .carnavi .flexContainer .rightItem {
  width: 25%;
}
#mg .second .carnavi .flexContainer .rightItem .btn_google,
#mg .third .carnavi .flexContainer .rightItem .btn_google {
  padding: 3px 5px;
  border: 1px solid white;
  text-align: center;
}
#mg .second .carnavi .flexContainer .rightItem .btn_google:hover,
#mg .third .carnavi .flexContainer .rightItem .btn_google:hover {
  background-color: #831c1e;
}
#mg ul.option li {
  margin: 1em 0.3em;
  display: inline-block;
  padding: 0.2em 1em;
  background-color: rgba(60, 117, 176, 0.3);
  color: white;
  font-size: 0.9rem;
}

footer {
  background-color: #fff;
}
footer .container {
  width: min(90%, 1200px);
  margin: 0 auto;
}
footer .container .dialStack {
  width: 50%;
  margin: 3% auto;
}
footer .container .dialStack .freeDialBox {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
footer .container .dialStack .workTime {
  font-size: 0.8rem;
  text-align: center;
  margin-bottom: 3%;
}
footer .container .dialStack {
  border-bottom: 1px solid #ddd;
}
footer .container .syagumi {
  width: 50%;
  margin: 4em auto 1em;
}
footer .container .syagumi .logo-nice {
  width: 240px;
  margin: 2em auto 0;
}
footer .container .syagumi .izumi.bnr {
  display: none;
}
footer .container .copyright {
  margin-bottom: 1em;
  font-size: 9px;
  font-weight: nomal;
  text-align: center;
}
footer .btn_pageTop a.requestBtn {
  display: none;
}
footer .btn_pageTop2 {
  display: none;
}
footer .btn_pageTop2 a.requestBtn2 {
  display: none;
}

.bnr_som {
  position: fixed;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 20;
}
.bnr_som .modal {
  position: fixed;
  display: flex;
  top: 50%;
  left: 50%;
  width: 80%;
  max-width: 900px;
  transform: translate(-50%, -50%);
}
.bnr_som .modal .floatBT {
  width: 100%;
}
.bnr_som .modal .floatBT img {
  width: 100%;
}

.btmBanner {
  display: block;
  position: fixed;
  right: 1%;
  bottom: 19%;
  width: min(40%, 360px);
  z-index: 99;
}
@media (orientation: portrait) and (max-width: 767px) {
  .btmBanner {
    width: 94%;
    right: 3%;
    bottom: 1%;
  }
}

a.bnr-close {
  position: absolute;
  top: -15px;
  right: -15px;
  z-index: 21;
}
a.bnr-close img {
  width: 30px;
}

a.bnr-close2,
a.bnr-close3 {
  position: absolute;
  top: -15px;
  left: -15px;
  z-index: 21;
}
a.bnr-close2 img,
a.bnr-close3 img {
  width: 30px;
}

@media (orientation: portrait) and (max-width: 767px) {
  a.bnr-close3 {
    top: -24px;
    left: -4px;
  }
}

/**************************************

				 !Media

***************************************/
@media only screen and (max-width: 767px) {
  .outline main {
    background-color: white;
  }
  .outline main h1 {
    font-size: 1rem;
    letter-spacing: 0.05em;
    margin: 1em 0;
  }
  .bttomBtnArea .w48,
  .topBtnArea .w48 {
    width: 100%;
    margin-bottom: 1em;
  }
  .bnr {
    margin: 1em auto;
  }
  .footerNav {
    display: flex;
    width: 100%;
    padding-right: 0;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    margin-bottom: 1em;
  }
  .footerNav .btnItem {
    width: 48%;
    max-width: none;
  }
  .footerNav .btnItem a {
    color: black;
    display: block;
    font-size: 1.2rem;
    padding: 0.5em 0;
    transition: all 0.5s ease;
  }
  footer {
    background-color: #fff;
    padding: 0;
    padding: 0 0 30px 0;
  }
  footer .container {
    margin: 0 auto;
    padding-bottom: 20px;
    width: 90%;
  }
  footer .container .dialStack {
    width: 100%;
    margin: 3% auto;
  }
  footer .container .dialStack .freeDialBox {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
  }
  footer .container .dialStack .workTime {
    font-size: 0.8rem;
    text-align: center;
    margin-bottom: 3%;
  }
  footer .container .dialStack {
    border-bottom: 1px solid #ddd;
  }
  footer .container .syagumi {
    width: 50%;
    margin: 3% auto;
  }
  footer .container .syagumi .logo-nice {
    width: 160px;
    margin: 2em auto 1em;
  }
  footer .container .syagumi .address {
    font-size: 0.8rem;
    line-height: 1.5;
    text-align: center;
  }
  footer .container .copyright {
    font-weight: bold;
    text-align: center;
  }
  footer .btn_pageTop {
    width: 60px;
    height: 60px;
    padding: 5px;
    border-radius: 10px;
  }
  footer .btn_pageTop a.requestBtn {
    display: block;
  }
  footer .btn_pageTop2 {
    position: fixed;
    right: 20px;
    text-align: center;
    background-color: #005b34;
    z-index: 200;
    width: 60px;
    height: 60px;
    padding: 5px;
    border-radius: 10px;
  }
  footer .btn_pageTop2 a {
    color: white;
  }
  .bnr_som .spBanner {
    display: block;
    position: fixed;
    bottom: 0%;
    left: 0%;
    width: 100%;
    z-index: 100;
  }
  .bnr_som .spBanner img {
    width: 100%;
  }
  .bnr_som .spBanner a.bnr-close {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 24px;
    z-index: 101;
  }
  .bnr_som .spBanner a.bnr-close img {
    width: 100%;
  }
  .spBtmBnr {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 12px 15px;
    z-index: 100;
    background: linear-gradient(to bottom, #7d7e7d 0%, #0e0e0e 100%);
  }
}
footer {
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
}
footer .btmStack {
  background-color: #393939;
  color: white;
}
footer .container {
  width: min(1440px, 90%);
  margin: 0 auto;
  padding: 20px 0;
}
footer .container .bnrStack {
  align-items: stretch;
  gap: 0.5em 0;
}
footer .container .bnrStack .item {
  width: 23%;
}
footer .container .bnrStack .item img {
  background-color: #fff;
}
@media (orientation: portrait) and (max-width: 767px) {
  footer .container .bnrStack {
    gap: 1em;
  }
  footer .container .bnrStack .item {
    width: 48%;
  }
}
footer .container .localNavi {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1em;
  border-bottom: 1px solid white;
  margin-bottom: 1em;
}
footer .container .localNavi .leftItem .logo_left {
  width: min(100%, 280px);
}
footer .container .localNavi .rightItem nav ul {
  display: flex;
  justify-content: flex-start;
  gap: 1em;
}
footer .container .localNavi .rightItem nav ul li {
  font-size: clamp(0.7rem, 0.63rem + 0.3vw, 0.9rem);
  text-align: center;
  line-height: 1.2;
}
@media screen and (max-width: 991px) {
  footer .container .localNavi {
    flex-direction: column;
    align-items: center;
    gap: 1.5em;
  }
  footer .container .localNavi .leftItem, footer .container .localNavi .rightItem {
    width: 100%;
    letter-spacing: 0.1em;
    margin-bottom: 1em;
  }
  footer .container .localNavi .leftItem .logo_left, footer .container .localNavi .rightItem .logo_left {
    margin: 0 auto;
  }
  footer .container .localNavi .leftItem nav ul, footer .container .localNavi .rightItem nav ul {
    flex-direction: row;
    justify-content: center;
  }
  footer .container .localNavi .leftItem nav ul li, footer .container .localNavi .rightItem nav ul li {
    text-align: center;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  footer .container .localNavi {
    flex-direction: column;
    align-items: center;
    gap: 1em;
  }
  footer .container .localNavi .leftItem, footer .container .localNavi .rightItem {
    width: 60%;
    letter-spacing: 0.1em;
    margin-bottom: 1em;
  }
  footer .container .localNavi .leftItem .logo_left, footer .container .localNavi .rightItem .logo_left {
    width: 100%;
    margin: 0 auto;
  }
  footer .container .localNavi .leftItem nav ul, footer .container .localNavi .rightItem nav ul {
    flex-direction: column;
    justify-content: flex-start;
  }
  footer .container .localNavi .leftItem nav ul li, footer .container .localNavi .rightItem nav ul li {
    text-align: left;
  }
}
footer .container .btmNavi {
  align-items: center;
}
footer .container .btmNavi .leftItem {
  width: 60%;
}
footer .container .btmNavi .leftItem .logo_left {
  width: min(70%, 160px);
}
footer .container .btmNavi .leftItem p {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-bottom: 0.5em;
}
footer .container .btmNavi .leftItem ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
}
footer .container .btmNavi .leftItem ul li.greenBtn {
  font-size: clamp(0.7rem, 0.63rem + 0.3vw, 0.9rem);
  background-color: #007440;
  padding: 1px 8px;
}
footer .container .btmNavi .leftItem ul li.greenBtn a {
  display: block;
  width: 100%;
  height: 100%;
}
footer .container .btmNavi .leftItem ul li.greenBtn:hover {
  background-color: #009b55;
}
footer .container .btmNavi .rightItem {
  width: 40%;
}
footer .container .btmNavi .rightItem ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1em;
}
footer .container .btmNavi .rightItem ul li {
  font-size: clamp(0.7rem, 0.63rem + 0.3vw, 0.9rem);
}
@media screen and (max-width: 991px) {
  footer .container .btmNavi {
    flex-direction: column;
  }
  footer .container .btmNavi .leftItem, footer .container .btmNavi .rightItem {
    width: 100%;
    letter-spacing: 0.1em;
    margin-bottom: 2em;
  }
  footer .container .btmNavi .leftItem ul, footer .container .btmNavi .rightItem ul {
    justify-content: center;
    gap: 1em;
  }
  footer .container .btmNavi .leftItem ul li, footer .container .btmNavi .rightItem ul li {
    text-align: left;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  footer .container .btmNavi {
    flex-direction: column;
  }
  footer .container .btmNavi .leftItem, footer .container .btmNavi .rightItem {
    width: 60%;
    letter-spacing: 0.1em;
    margin: 0 auto 1em;
    justify-content: flex-start;
  }
  footer .container .btmNavi .leftItem ul, footer .container .btmNavi .rightItem ul {
    flex-direction: column;
    justify-content: flex-start;
    gap: 1em;
  }
  footer .container .btmNavi .leftItem ul li, footer .container .btmNavi .rightItem ul li {
    width: 100%;
    text-align: left;
  }
  footer .container .btmNavi .leftItem ul li.greenBtn, footer .container .btmNavi .rightItem ul li.greenBtn {
    text-align: center;
  }
}
footer .copy {
  padding: 1em 0;
  font-size: 0.8rem;
  text-align: center;
  margin: 0 auto;
}
@media (orientation: portrait) and (max-width: 767px) {
  footer .copy {
    font-size: 0.7rem;
  }
}

.phase1 main {
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
}
.phase1 main h1 {
  position: relative;
  width: min(90%, 1000px);
  margin: 0% auto 1em;
}
.phase1 main .content {
  position: relative;
  padding: 5% 0;
}
.phase1 main .content .inner {
  position: relative;
  z-index: 10;
}
.phase1 main .content .inner .fl01 {
  margin: 8% 0 2%;
  gap: 1em 1%;
}
.phase1 main .headLine {
  background-color: #002255;
  color: white;
  padding: 1em 0;
}
.phase1 main .headLine .lead {
  padding-top: 0;
}
.phase1 main p.lead {
  position: relative;
  font-size: clamp(0.9rem, 0.724rem + 0.751vw, 1.4rem);
  text-align: center;
  font-weight: normal;
  z-index: 5;
  padding-top: 1em;
  line-height: normal;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main p.lead {
    padding-top: 0;
  }
}
.phase1 main p.zeh {
  font-size: clamp(1.2rem, 0.777rem + 1.803vw, 2.4rem);
  text-align: center;
}
.phase1 main .borderBox {
  border: 1px solid #ccc;
  background-color: #eee;
  padding: 1em;
}
.phase1 main .borderBox h3 {
  font-size: 1.2em;
  margin-bottom: 0.5em;
}
.phase1 main .sub_title {
  margin-bottom: 25px;
  text-align: center;
}
.phase1 main .sub_title h2 {
  font-size: clamp(1rem, 0.789rem + 0.901vw, 1.6rem);
  font-weight: normal;
  font-feature-settings: "palt";
}
.phase1 main .sub_title h2.green {
  color: #367d4d;
}
.phase1 main .sub_title p {
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main .sub_title p {
    letter-spacing: 0.01em;
  }
}
.phase1 main .sub_title p .em {
  font-weight: 700;
  color: #367d4d;
}
.phase1 main .color_keyReq {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  color: #aa965c;
  font-weight: normal;
}
.phase1 main .color_keyReq::before, .phase1 main .color_keyReq::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background: #aa965c;
}
.phase1 main .color_keyReq::before {
  margin-right: 15px;
}
.phase1 main .color_keyReq::after {
  margin-left: 15px;
}
.phase1 main .bg_keyReq {
  margin-bottom: 5px;
  padding: 10px 5px;
  color: #fff;
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  font-weight: normal;
  background: #aa965c;
}
.phase1 main .orn_heading {
  text-align: center;
  color: #fff;
  background: #e66900;
}
@media screen and (max-width: 767px) {
  .phase1 main .flexcontainer .w24,
  .phase1 main .flexcontainer .w25,
  .phase1 main .flexcontainer .w33,
  .phase1 main .w24 {
    width: 100%;
  }
  .phase1 main .fld_Rreverse {
    flex-direction: row-reverse;
  }
  .phase1 main .fld_Creverse {
    flex-direction: column-reverse;
  }
  .phase1 main .sub_title h2 {
    margin-bottom: 15px;
  }
  .phase1 main .sub_title h2.hRe br {
    display: block;
  }
  .phase1 main .sub_title br {
    display: none;
  }
  .phase1 main .sub_title.re br {
    display: block;
  }
  .phase1 main .orn_heading {
    padding: 3px;
    font-size: 12px;
  }
  .phase1 main .image_ph {
    display: none;
  }
}
.phase1 main:not(#top) .h1_heading {
  background: #fff;
}
.phase1 main:not(#top) h1,
.phase1 main:not(#top) .h2_heading {
  position: relative;
  width: min(95%, 1000px);
  margin: 0% auto;
  padding: 0.8em 0;
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(1.1rem, 0.871rem + 0.977vw, 1.75rem);
  font-weight: 500;
  text-align: center;
}
.phase1 main:not(#top) h1 span,
.phase1 main:not(#top) .h2_heading span {
  display: block;
  color: #D3A243;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.3rem;
}
.phase1 main #h1-Sec {
  position: relative;
}
.phase1 main #h1-Sec .title {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  color: white;
  width: 100%;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 0;
  padding: 0;
  margin: 0.35em 0;
  font-size: clamp(2.375rem, -0.1325rem + 10.8434vw, 8rem);
}
.phase1 main #h1-Sec .title.green {
  color: #367d4d;
}
.phase1 main #h1-Sec .pic {
  width: 100%;
  height: 100%;
  aspect-ratio: 168/85;
}
.phase1 main #navi-banner {
  background-color: white;
  padding: min(70px, 6%) 0 min(50px, 5%);
}
.phase1 main #navi-banner .bannerBox {
  width: calc(100% - 0px);
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.phase1 main #navi-banner .bannerBox .item {
  width: calc((100% - 0px) / 4);
}
@media screen and (max-width: 767px) {
  .phase1 main #navi-banner .bannerBox .item {
    width: calc((100% - 0px) / 2);
  }
}
.phase1 main #navi-banner .bannerBox .item.pickupIcon {
  position: relative;
}
.phase1 main #navi-banner .bannerBox .item.pickupIcon::after {
  content: "pick up";
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0.625rem;
  width: auto;
  height: auto;
  padding: 0.25em 1em;
  color: white;
  line-height: 1.5em;
  background-color: #b63329;
}
@media screen and (max-width: 767px) {
  .phase1 main #navi-banner .bannerBox .item.pickupIcon::after {
    padding: 0.25em 0.5em;
    line-height: 1em;
  }
}
.phase1 main #navi-banner .bannerBox .item a {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 250/173;
}
.phase1 main #navi-banner .bannerBox .item a .inner {
  width: 100%;
  height: 100%;
  position: relative;
}
.phase1 main #navi-banner .bannerBox .item a .inner .innerItem {
  position: absolute;
}
.phase1 main #navi-banner .bannerBox .item a .inner .innerItem.name {
  width: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  color: white;
}
.phase1 main #navi-banner .bannerBox .item a .inner .innerItem.name .name02 {
  font-size: clamp(0.75rem, 0.6386rem + 0.4819vw, 1rem);
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  line-height: 1.5em;
}
.phase1 main #navi-banner .bannerBox .item a .inner .innerItem.name .name01 {
  font-size: clamp(0.625rem, 0.5804rem + 0.1429vw, 0.6875rem);
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  line-height: 1.5em;
}
.phase1 main #navi-banner .bannerBox .item a .inner .innerItem.more {
  z-index: 2;
  font-size: 0.625rem;
  border: 1px solid white;
  background-color: black;
  padding: 1px;
  line-height: normal;
  width: 60%;
  color: white;
  text-align: center;
  left: 50%;
  bottom: 2em;
  transform: translateX(-50%);
  transition: 0.3s;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main #navi-banner .bannerBox .item a .inner .innerItem.more {
    bottom: 8px;
  }
}
.phase1 main #navi-banner .bannerBox .item a .inner .innerItem.more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.5em;
  transform: translateY(-50%);
  font-size: 0.625rem;
  height: 1em;
  aspect-ratio: 0.8660254038;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background-color: #3e6044;
}
.phase1 main #navi-banner .bannerBox .item a .inner .innerItem.pic {
  z-index: 0;
  position: relative;
  overflow: hidden;
}
.phase1 main #navi-banner .bannerBox .item a .inner .innerItem.pic img {
  transform: scale(1);
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s;
}
.phase1 main #navi-banner .bannerBox .item a .inner .innerItem.pic::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  z-index: 1;
}
.phase1 main #navi-banner .bannerBox .item a:hover .inner {
  width: 100%;
  height: 100%;
  position: relative;
}
.phase1 main #navi-banner .bannerBox .item a:hover .inner .innerItem.more {
  transition: 0.3s;
  background-color: #B49E67;
}
.phase1 main #navi-banner .bannerBox .item a:hover .inner .innerItem.pic img {
  transform: scale(1.2);
}
.phase1 main#top #navi-banner {
  background-color: unset;
  padding: unset;
}
.phase1 main#top .topStack {
  position: relative;
}
.phase1 main#top .topStack .topVisual {
  position: relative;
}
.phase1 main#top .topStack .topVisual .slide-items .slide_item a {
  pointer-events: none;
}
.phase1 main#top .topStack .topVisual .prev-arrow,
.phase1 main#top .topStack .topVisual .next-arrow {
  display: block;
  width: 40px;
  height: 40px;
  top: 50%;
  transform: translateY(-45%);
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  transition: all 0.3s ease;
  cursor: pointer;
  position: absolute;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#top .topStack .topVisual .prev-arrow,
  .phase1 main#top .topStack .topVisual .next-arrow {
    transform: translateY(-40%);
  }
}
.phase1 main#top .topStack .topVisual .next-arrow {
  right: 20px;
}
.phase1 main#top .topStack .topVisual .prev-arrow {
  left: 20px;
  transform: translateY(-45%) rotate(180deg);
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#top .topStack .topVisual .prev-arrow {
    transform: translateY(-40%) rotate(180deg);
  }
}
.phase1 main#top .topStack .topVisual .prev-arrow::before,
.phase1 main#top .topStack .topVisual .next-arrow::before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  border-right: 3px solid #FFF;
  border-top: 3px solid #FFF;
  top: 0;
  bottom: 0;
  left: -5px;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
}
.phase1 main#top .headLineTop .openLine {
  background-color: #035b34;
}
.phase1 main#top .headLineTop .openLine .openTitle {
  text-align: center;
  color: white;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  line-height: 1.4em;
  padding: 0.1em 0.5em 0em;
  font-size: clamp(1.2rem, 0.214rem + 4.207vw, 4rem);
  text-shadow: 2px 2px 5px black;
}
.phase1 main#top .headLineTop .openLine .openTitle span {
  font-size: 0.46em;
  font-weight: normal;
}
.phase1 main#top .headLineTop .openLine .openTitle span.mid {
  font-size: 0.8em;
}
.phase1 main#top .headLineTop .iyoiyoLine {
  background: linear-gradient(90deg, rgb(195, 103, 124) 0%, rgb(197, 106, 127) 27.28%, rgb(203, 116, 135) 49.19%, rgb(213, 133, 150) 69.23%, rgb(227, 157, 170) 88.05%, rgb(238, 176, 186) 100%);
}
.phase1 main#top .headLineTop {
  background-color: white;
}
.phase1 main#top .headLineTop .inner {
  width: min(80%, 900px);
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#top .headLineTop .inner {
    width: 90%;
  }
}
.phase1 main#top .headLineTop .inner {
  padding: min(2em, 4%) 0;
  margin: 0 auto;
}
.phase1 main#top .headLineTop .inner .caption {
  margin-top: 2em;
}
.phase1 main#top .headLineTop .btnStack4 {
  padding: 2px;
}
.phase1 main#top .headLineTop .btnStack4 .flexcontainer .item {
  position: relative;
  width: calc(25% - 2px);
}
.phase1 main#top .headLineTop .btnStack4 .flexcontainer .item a {
  display: block;
}
.phase1 main#top .headLineTop .btnStack4 .flexcontainer .item a:hover {
  opacity: 0.7;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#top .headLineTop .btnStack4 .flexcontainer {
    gap: 2px 0;
  }
  .phase1 main#top .headLineTop .btnStack4 .flexcontainer .item {
    width: calc(50% - 2px);
  }
}
.phase1 main#top .information {
  background-color: white;
}
.phase1 main#top .information .resBtn {
  width: min(70%, 500px);
  margin: 0 auto;
}
.phase1 main#top .information .w70Col {
  padding: 0 0 min(4em, 5%);
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#top .information .w70Col {
    padding: min(10em, 10%) 0 min(5em, 5%);
  }
}
.phase1 main#top .information .w70Col .itemInfo {
  margin-bottom: min(12em, 6%);
}
.phase1 main#top .information .infoCol {
  position: relative;
  padding: 2% 0 0;
  margin-bottom: min(2em, 4%);
}
.phase1 main#top .information .infoCol .pic01 {
  width: min(90%, 900px);
  margin: 5% auto 4%;
}
.phase1 main#top .information .infoCol .leadText {
  font-size: clamp(0.8125rem, 0.6732rem + 0.6024vw, 1.125rem);
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  line-height: 2em;
  text-align: center;
  width: 70%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#top .information .infoCol .leadText {
    width: 90%;
  }
}
.phase1 main#top .information .infoCol .w70container {
  padding: min(3em, 5%) 0;
}
.phase1 main#top .information .infoCol .w70container .fl01 {
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item {
  width: 50%;
  background-size: 100%;
  aspect-ratio: 238/80;
  overflow: hidde;
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item:hover {
  cursor: pointer;
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item a {
  display: block;
  width: 100%;
  height: 100%;
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item.btn1 {
  background-image: url("../../common/images/top2025/btn-usp-01.svg");
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item.btn1:hover {
  background-image: url("../../common/images/top2025/btn-usp-01-on.svg");
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item.btn2 {
  background-image: url("../../common/images/top2025/btn-usp-02.svg");
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item.btn2:hover {
  background-image: url("../../common/images/top2025/btn-usp-02-on.svg");
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item.btn3 {
  background-image: url("../../common/images/top2025/btn-usp-03.svg");
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item.btn3:hover {
  background-image: url("../../common/images/top2025/btn-usp-03-on.svg");
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item.btn4 {
  background-image: url("../../common/images/top2025/btn-usp-04.svg");
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item.btn4:hover {
  background-image: url("../../common/images/top2025/btn-usp-04-on.svg");
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#top .information .infoCol .w70container .fl01 li.item {
    width: 100%;
  }
}
.phase1 main#top .information .infoCol .w70container .fl01 li.item a {
  width: 100%;
}
.phase1 main#top .information .informationStack .ttlInfo {
  width: clamp(100px, 50vw, 200px);
  margin: 0 auto min(2em, 4%);
}
.phase1 main#top .information .informationStack .infoBody {
  margin: 0 auto min(4em, 4%);
}
.phase1 main#top .information .informationStack .flexcontainer {
  gap: 10px 0;
}
.phase1 main#top .information .informationStack .infoBtn {
  display: block;
  width: calc(50% - 10px);
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#top .information .informationStack .infoBtn {
    width: 100%;
  }
}
.phase1 main#top .information .informationStack .infoBtn {
  position: relative;
  z-index: 0;
}
.phase1 main#top .information .informationStack .infoBtn:hover {
  opacity: 0.6;
}
.phase1 main#top .bnrCol {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  margin-top: 0;
}
.phase1 main#top .bnrCol .bnrItem {
  position: relative;
}
.phase1 main#top .bnrCol .bnrItem.pickupIcon {
  position: relative;
}
.phase1 main#top .bnrCol .bnrItem.pickupIcon::after {
  content: "pick up";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0.625rem;
  width: auto;
  height: auto;
  padding: 0.25em 1em;
  color: white;
  line-height: 1.5em;
  background-color: #b63329;
}
.phase1 main#top .bnrCol .bnrItem a:hover {
  opacity: 0.6;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#top .bnrCol {
    margin-top: 0;
  }
  .phase1 main#top .bnrCol .bnrItem.pickupIcon::after {
    padding: 0 0.5em;
  }
}
.phase1 main#top .bannerWrapper {
  background-color: #3e6044;
  padding: 2em 0 0;
}
.phase1 main#top .bannerWrapper .titleCol {
  font-size: 1.6rem;
  color: white;
  letter-spacing: 0.2em;
  text-align: center;
  margin: 0em 0 1.4em;
}
.phase1 main#concept {
  background-color: #eae9e6;
}
.phase1 main#concept .sec1 {
  background-color: white;
  position: relative;
}
.phase1 main#concept .sec1 .sub_title {
  margin: unset;
  padding: min(120px, 14%) 0;
}
.phase1 main#concept .sec1 .sub_title h2 {
  margin-bottom: 1.5em;
  color: #367d4d;
}
.phase1 main#concept .sec1 .sub_title p {
  line-height: 2.5em;
}
.phase1 main#concept .sec1::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: url("../../concept/images/bg.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.phase1 main#concept .sec3 .navBnrBtn {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 168/85;
  color: white;
}
.phase1 main#concept .sec3 .navBnrBtn .textCol {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  aspect-ratio: 168/85;
  z-index: 2;
}
.phase1 main#concept .sec3 .navBnrBtn .textCol .label {
  font-size: clamp(0.75rem, 0.3042rem + 1.9277vw, 1.75rem);
  font-weight: 400;
  letter-spacing: 0.15em;
}
.phase1 main#concept .sec3 .navBnrBtn .textCol .title {
  font-size: clamp(1rem, 0.4428rem + 2.4096vw, 2.25rem);
  font-weight: 400;
  letter-spacing: 0.1em;
}
.phase1 main#concept .sec3 .navBnrBtn .textCol .btnCol {
  transition: 0.3s ease;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border: 2px solid white;
  border-radius: 9999px;
  font-size: clamp(0.625rem, 0.4578rem + 0.7229vw, 1rem);
  padding: 0.5em 1.5em;
  margin-top: 2.5em;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#concept .sec3 .navBnrBtn .textCol .btnCol {
    padding: 0.25em 1.5em;
    margin-top: 1.25em;
  }
}
.phase1 main#concept .sec3 .navBnrBtn .textCol .btnCol .txt {
  font-size: clamp(0.625rem, 0.4578rem + 0.7229vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.15em;
}
.phase1 main#concept .sec3 .navBnrBtn .textCol .btnCol .arrow {
  transition: transform 0.3s;
  transform: translateX(0px);
  width: 20px;
  height: auto;
  aspect-ratio: 30/13;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../../concept/images/icon_arrow.svg");
  background-repeat: no-repeat;
}
.phase1 main#concept .sec3 .navBnrBtn .picCol {
  width: 100%;
  height: 100%;
  aspect-ratio: 168/85;
  position: relative;
  z-index: 0;
}
.phase1 main#concept .sec3 .navBnrBtn .picCol img {
  transition: 0.3s ease;
  filter: brightness(0.4);
}
.phase1 main#concept .sec3 .navBnrBtn:hover .textCol .btnCol {
  color: black;
  background-color: white;
  opacity: 0.8;
}
.phase1 main#concept .sec3 .navBnrBtn:hover .textCol .btnCol .arrow {
  background-image: url("../../concept/images/icon_arrow-b.svg");
  transform: translateX(10px);
}
.phase1 main#concept .sec3 .navBnrBtn:hover .picCol img {
  filter: brightness(0.7);
}
.phase1 main#design .sec1 {
  background-color: white;
  position: relative;
}
.phase1 main#design .sec1 .sub_title {
  margin: unset;
  padding: min(120px, 14%) 0 min(130px, 17%);
}
.phase1 main#design .sec1 .sub_title h2 {
  margin-bottom: 1.5em;
  color: #367d4d;
}
.phase1 main#design .sec1 .sub_title p {
  line-height: 2.5em;
}
.phase1 main#design .sec1::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: url("../../design/images/bg.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.phase1 main#design .sec2 {
  padding: 0 0 min(70px, 6%);
  position: relative;
  overflow: hidden;
}
.phase1 main#design .sec2::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-image: url("../../design/images/bg-02.jpg");
  background-size: cover;
  background-position: center;
  z-index: -1;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#design .sec2 {
    padding: 0 0 min(70px, 6%);
  }
}
.phase1 main#design .sec2 .titleCol .title01 {
  font-size: clamp(1.75rem, 0.0226rem + 7.4699vw, 5.625rem);
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: normal;
  text-align: center;
  color: #367d4d;
  line-height: 0;
  padding: 0;
  margin: 0.33em 0;
}
.phase1 main#design .sec2 .titleCol .title02 {
  font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: normal;
  text-align: center;
  color: white;
  padding: 2.5em 0 1.5em;
}
.phase1 main#design .sec2 .col01 > .picCol {
  margin-bottom: 50px;
}
.phase1 main#design .sec2 .col01 .picCol {
  position: relative;
  z-index: 1;
}
.phase1 main#design .sec2 .col01 .picCol .name {
  position: absolute;
  top: 1em;
  left: 1em;
  z-index: 2;
  color: white;
  font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: normal;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#design .sec2 .titleCol .title02 {
    padding: 2em 0 1.5em;
  }
  .phase1 main#design .sec2 .col01 > .picCol {
    margin-bottom: 20px;
  }
  .phase1 main#design .sec2 .col01 .picCol .name {
    top: 0.5em;
    left: 0.5em;
  }
}
.phase1 main#design .sec3 {
  background-color: #367d4d;
  padding: min(50px, 5%) 0 min(70px, 6%);
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#design .sec3 {
    padding: min(50px, 10%) 0 min(70px, 6%);
  }
}
.phase1 main#design .sec3 .fl01 {
  gap: 20px;
  align-items: flex-start;
}
.phase1 main#design .sec3 .titleCol {
  width: 40%;
}
.phase1 main#design .sec3 .titleCol .title01 {
  font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.6em;
  color: white;
  padding: 0 0 1.25em;
}
.phase1 main#design .sec3 .titleCol .readText {
  line-height: 2.5em;
  color: white;
}
.phase1 main#design .sec3 .con01 {
  width: 53%;
}
.phase1 main#design .sec3 .con01 .caption {
  color: white;
}
.phase1 main#design .sec3 .con01 .fl02 {
  gap: 20px;
}
.phase1 main#design .sec3 .con01 .fl02 .picCol.w50 {
  width: calc(50% - 10px);
}
.phase1 main#design .sec3 .con01 .fl02 .picCol .txt {
  color: white;
  font-size: 0.75rem;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#design .sec3 .fl01 {
    gap: 10px;
  }
  .phase1 main#design .sec3 .titleCol {
    width: 100%;
  }
  .phase1 main#design .sec3 .titleCol .readText {
    margin-bottom: 1em;
  }
  .phase1 main#design .sec3 .con01 {
    width: 100%;
  }
  .phase1 main#design .sec3 .con01 .fl02 {
    gap: 10px;
  }
  .phase1 main#design .sec3 .con01 .fl02 .picCol.w50 {
    width: calc(50% - 5px);
  }
}
.phase1 main#design .sec4 {
  padding: 0 0 min(70px, 6%);
  position: relative;
  overflow: hidden;
  background-color: #2b392f;
}
.phase1 main#design .sec4::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-image: url("../../design/images/bg-03.jpg");
  background-size: 100% 50%;
  background-position: center top;
  z-index: -1;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#design .sec4 {
    padding: 0 0 min(70px, 6%);
  }
  .phase1 main#design .sec4::after {
    background-size: 100% 42%;
  }
}
.phase1 main#design .sec4 .titCol01 .title01 {
  font-size: clamp(1.75rem, 0.0226rem + 7.4699vw, 5.625rem);
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: normal;
  text-align: center;
  color: #B5B5B6;
  line-height: normal;
  padding: 0;
  margin: 0.25em auto 0.5em;
}
.phase1 main#design .sec4 .titCol01 .title02 {
  font-size: clamp(1.125rem, 0.861rem + 1.127vw, 1.875rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: normal;
  text-align: center;
  color: #367d4d;
  padding: 0 0 1.5em;
}
.phase1 main#design .sec4 .titCol02 .title01 {
  font-size: clamp(1rem, 0.8886rem + 0.4819vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: normal;
  text-align: center;
  color: white;
  padding: 2em 0 0.5em;
}
.phase1 main#design .sec4 .titCol02 .readText {
  line-height: 2.5em;
  color: white;
  text-align: center;
}
.phase1 main#landplan {
  background-color: white;
}
.phase1 main#landplan .secTitleCol {
  background-color: #367d4d;
  margin: min(70px, 5%) 0 min(60px, 5%);
}
.phase1 main#landplan .secTitleCol .title {
  color: white;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
  font-size: clamp(0.875rem, 0.8193rem + 0.241vw, 1rem);
  letter-spacing: 0.2em;
  line-height: normal;
  text-align: center;
  padding: 0.25em 0;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .secTitleCol {
    margin: min(70px, 10%) 0 min(60px, 8%);
  }
}
.phase1 main#landplan .conTitleCol {
  padding-bottom: min(60px, 5%);
  margin-bottom: min(60px, 5%);
  border-bottom: 1px solid #2b392f;
}
.phase1 main#landplan .conTitleCol .title {
  text-align: center;
  font-size: clamp(1.25rem, 1.0271rem + 0.9639vw, 1.75rem);
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
  line-height: 1.5em;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .conTitleCol .title {
    letter-spacing: 0.05em;
  }
}
.phase1 main#landplan .conTitleCol .title .em {
  color: #367d4d;
  font-size: clamp(1.75rem, 0.9142rem + 3.6145vw, 3.625rem);
  letter-spacing: 0.01em;
}
.phase1 main#landplan .sec .sub_title {
  margin-bottom: min(30px, 4%);
}
.phase1 main#landplan .sec .sub_title h2 {
  padding: 0 0 0.5em;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec .sub_title h2 {
    padding: 0 0 0;
  }
  .phase1 main#landplan .sec .sub_title h2 br {
    display: block;
  }
}
.phase1 main#landplan .sec .subTitle {
  font-size: 1rem;
  color: #367d4d;
  text-align: center;
  margin-bottom: 1em;
}
.phase1 main#landplan .sec1 {
  background-color: white;
  position: relative;
}
.phase1 main#landplan .sec1 .sub_title {
  margin: unset;
  padding: min(26px, 4%) 0;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec1 .sub_title h2 {
    margin-bottom: 0;
  }
}
.phase1 main#landplan .sec2 .fl01 {
  margin: min(30px, 4%) 0;
  gap: 14px;
}
.phase1 main#landplan .sec2 .fl01 a {
  width: calc((100% - 14px) / 2);
  display: flex;
  flex-direction: column;
  transition: 0.3s;
}
.phase1 main#landplan .sec2 .fl01 a .titleCol {
  background-color: #2b392f;
}
.phase1 main#landplan .sec2 .fl01 a .titleCol .title {
  color: white;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  line-height: normal;
  text-align: center;
  padding: 0.25em 0;
}
.phase1 main#landplan .sec2 .fl01 a .textCol {
  background-color: #367d4d;
  padding: 20px;
  flex-grow: 1;
  display: flex;
  align-items: center;
  position: relative;
}
.phase1 main#landplan .sec2 .fl01 a .textCol .txt {
  color: white;
  font-size: clamp(0.875rem, 0.743rem + 0.563vw, 1.25rem);
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec2 .fl01 a .textCol .txt {
    font-size: 1.25rem;
  }
}
.phase1 main#landplan .sec2 .fl01 a .textCol .txt {
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.2em;
  font-feature-settings: "palt";
}
.phase1 main#landplan .sec2 .fl01 a .textCol .arrowCol {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #eae9e6;
  transform: translateY(-50%);
}
.phase1 main#landplan .sec2 .fl01 a .textCol .arrowCol .arrow {
  transition: 0.3s;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 11.2px;
  height: 8.6px;
}
.phase1 main#landplan .sec2 .fl01 a .textCol .arrowCol .arrow::before,
.phase1 main#landplan .sec2 .fl01 a .textCol .arrowCol .arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 1px);
  width: 2px;
  height: 10px;
  border-radius: 9999px;
  background-color: #367d4d;
  transform-origin: 50% calc(100% - 1px);
}
.phase1 main#landplan .sec2 .fl01 a .textCol .arrowCol .arrow::before {
  transform: rotate(35deg);
}
.phase1 main#landplan .sec2 .fl01 a .textCol .arrowCol .arrow::after {
  transform: rotate(-35deg);
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec2 .fl01 a {
    width: 100%;
  }
}
.phase1 main#landplan .sec2 .fl01 a:hover .textCol .arrowCol .arrow {
  transition: 0.3s;
  top: 60%;
}
.phase1 main#landplan .sec2 .picCol {
  margin: min(50px, 6%) 0 0;
}
.phase1 main#landplan .sec3 .gl01 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec3 .gl01 {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
.phase1 main#landplan .sec3 .gl01 .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 20px;
}
.phase1 main#landplan .sec3 .gl01 .item .inner {
  background-color: #2b392f;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec3 .gl01 .item .inner {
    padding: 0 10px;
  }
}
.phase1 main#landplan .sec3 .gl01 .item .merit {
  color: #367d4d;
  text-align: center;
  font-size: clamp(0.875rem, 0.7636rem + 0.4819vw, 1.125rem);
  line-height: normal;
  padding: 10px 0;
}
.phase1 main#landplan .sec3 .gl01 .item .title {
  color: white;
  text-align: center;
  font-size: clamp(0.875rem, 0.787rem + 0.376vw, 1.125rem);
  line-height: normal;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid #367d4d;
  border-bottom: 1px solid #367d4d;
  padding: 10px 0;
}
.phase1 main#landplan .sec3 .gl01 .item .txt {
  color: white;
  font-size: clamp(0.625rem, 0.581rem + 0.188vw, 0.75rem);
  line-height: normal;
  padding: 15px 0 5px;
}
.phase1 main#landplan .sec4 .fl01 {
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec4 .fl01 {
    gap: 10px;
  }
}
.phase1 main#landplan .sec4 .fl01 .item {
  width: calc((100% - 60px) / 4);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec4 .fl01 .item {
    width: calc((100% - 10px) / 2);
  }
}
.phase1 main#landplan .sec4 .fl01 .item .inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.phase1 main#landplan .sec4 .fl01 .item .inner .pic {
  border: 1px solid #2b392f;
}
.phase1 main#landplan .sec4 .fl01 .item .inner .txtCol {
  background-color: #2b392f;
  color: white;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1em;
}
.phase1 main#landplan .sec4 .fl01 .item .inner .txtCol .txt01 {
  font-size: clamp(0.625rem, 0.581rem + 0.188vw, 0.75rem);
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 1em;
}
.phase1 main#landplan .sec4 .fl01 .item .inner .txtCol .txt02 {
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
.phase1 main#landplan .sec5 .fl01 {
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec5 .fl01 {
    gap: 10px;
  }
}
.phase1 main#landplan .sec5 .fl01 .item {
  width: calc((100% - 40px) / 3);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec5 .fl01 .item {
    width: calc((100% - 10px) / 2);
  }
}
.phase1 main#landplan .sec5 .fl01 .item .inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.phase1 main#landplan .sec5 .fl01 .item .inner .txtCol {
  padding: 1em 0;
}
.phase1 main#landplan .sec5 .fl01 .item .inner .txtCol .txt01 {
  font-size: clamp(0.875rem, 0.7636rem + 0.4819vw, 1.125rem);
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  color: #367d4d;
  text-align: center;
}
.phase1 main#landplan .sec5 .fl01 .item .inner .txtCol .txt02 {
  font-size: clamp(0.625rem, 0.581rem + 0.188vw, 0.75rem);
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  color: black;
  text-align: center;
  line-height: normal;
  margin-top: 0.5em;
}
.phase1 main#landplan .sec6 .picCol {
  margin-bottom: min(60px, 5%);
}
.phase1 main#landplan .sec6 .picCol .pic {
  position: relative;
}
.phase1 main#landplan .sec6 .picCol .pic .caption {
  position: absolute;
  top: 1em;
  right: 1em;
}
.phase1 main#landplan .sec6 .gl01 {
  margin-bottom: min(70px, 10%);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec6 .gl01 {
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.phase1 main#landplan .sec6 .gl01 .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 20px;
}
.phase1 main#landplan .sec6 .gl01 .item .inner {
  background-color: #2b392f;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0px;
  padding: 0 20px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec6 .gl01 .item .inner {
    padding: 0 10px;
  }
}
.phase1 main#landplan .sec6 .gl01 .item .merit {
  color: white;
  text-align: center;
  font-size: clamp(0.875rem, 0.7636rem + 0.4819vw, 1.125rem);
  line-height: normal;
  padding: 10px 0;
  position: relative;
  z-index: 2;
}
.phase1 main#landplan .sec6 .gl01 .item .merit::after {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  width: calc(100% + 44px);
  height: 100%;
  background-color: #367d4d;
  z-index: -1;
  transform: translateX(-50%);
}
.phase1 main#landplan .sec6 .gl01 .item .title {
  color: white;
  text-align: center;
  font-size: clamp(0.875rem, 0.7636rem + 0.4819vw, 1.125rem);
  line-height: normal;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-bottom: 1px solid #367d4d;
  padding: 10px 0;
}
.phase1 main#landplan .sec6 .gl01 .item .txt {
  color: white;
  font-size: clamp(0.625rem, 0.581rem + 0.188vw, 0.75rem);
  line-height: normal;
  padding: 15px 0 5px;
}
@media screen and (max-width: 767px) {
  .phase1 main#landplan .sec6 .gl01 .item .txt {
    padding: 10px 0 5px;
  }
}
.phase1 main#reason {
  background-color: white;
}
.phase1 main#reason #h1-Sec .subTitle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -45%);
  color: white;
  writing-mode: vertical-rl;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt";
  font-weight: 300;
  font-size: clamp(0.875rem, 0.083rem + 3.38vw, 3.125rem);
  letter-spacing: 0em;
}
.phase1 main#reason #h1-Sec .subTitle .item01 {
  text-indent: -0.1em;
}
.phase1 main#reason #h1-Sec .subTitle .item01 .item01-02 {
  text-indent: -0.1em;
}
.phase1 main#reason #h1-Sec .subTitle .item02 {
  text-indent: 0.09em;
}
.phase1 main#reason .secTitleCol .label {
  color: white;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
  font-size: clamp(0.875rem, 0.655rem + 0.939vw, 1.5rem);
  letter-spacing: 0.2em;
  line-height: normal;
  text-align: center;
  padding: 0.8em 0;
  background: linear-gradient(90deg, rgb(62, 96, 68) 0%, rgb(53, 121, 75) 25%, rgb(135, 197, 122) 50%, rgb(53, 121, 75) 75%, rgb(62, 96, 68) 100%);
}
.phase1 main#reason .secTitleCol .title {
  background-color: #2b392f;
  text-align: center;
  color: white;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  letter-spacing: 0.05em;
  font-weight: 300;
  line-height: 2em;
  padding: 1.5em 1em;
  font-size: clamp(1rem, 0.6657rem + 1.4458vw, 1.75rem);
}
.phase1 main#reason .secTitleCol .title .gothic {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-weight: 700;
}
.phase1 main#reason .readText {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#reason .readText br {
    display: none;
  }
}
.phase1 main#reason .sec1 {
  background-color: white;
  position: relative;
  padding: 0 0 min(60px, 15%);
}
.phase1 main#reason .sec1 .sub_title {
  margin: unset;
  padding: min(60px, 7%) 0;
}
.phase1 main#reason .sec1 .sub_title h2 {
  margin-bottom: 0.5em;
}
.phase1 main#reason .sec1 .btnCol {
  padding: min(60px, 7%) 0 0;
}
.phase1 main#reason .sec1 .btnCol .btnItem {
  background-color: #2b392f;
  display: block;
  position: relative;
  padding: 30px;
  border-radius: 30px 30px 0 0;
  margin-bottom: 20px;
}
.phase1 main#reason .sec1 .btnCol .btnItem .textCol {
  gap: 20px;
  width: 85%;
  color: white;
  align-items: center;
}
.phase1 main#reason .sec1 .btnCol .btnItem .textCol .number {
  width: 8%;
}
.phase1 main#reason .sec1 .btnCol .btnItem .textCol .text {
  flex: 1;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  letter-spacing: 0.05em;
  font-weight: 300;
  line-height: normal;
  font-size: clamp(0.875rem, 0.655rem + 0.939vw, 1.5rem);
}
.phase1 main#reason .sec1 .btnCol .btnItem .textCol .text .gothic {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-weight: 700;
}
.phase1 main#reason .sec1 .btnCol .btnItem .btn {
  position: absolute;
  top: 50%;
  right: 20px;
  width: clamp(90px, 13vw, 110px);
  background-color: #d3d2cc;
  border-radius: 5px;
  padding: 3px;
  transform: translateY(-50%);
}
.phase1 main#reason .sec1 .btnCol .btnItem .btn .inner {
  border-radius: 4px;
  border: 1px solid white;
  background: linear-gradient(90deg, rgb(62, 96, 68) 0%, rgb(53, 121, 75) 25%, rgb(135, 197, 122) 50%, rgb(53, 121, 75) 75%, rgb(62, 96, 68) 100%);
  font-size: 0.625rem;
  color: white;
  padding: 1.5em 0.5em;
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: 0em;
  position: relative;
  z-index: 0;
}
.phase1 main#reason .sec1 .btnCol .btnItem .btn .inner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(165, 147, 90) 0%, rgb(188, 176, 136) 50%, rgb(165, 147, 90) 100%);
  opacity: 0;
  transition: opacity 0.5s;
}
.phase1 main#reason .sec1 .btnCol .btnItem .btn .inner:hover::before {
  opacity: 1;
}
.phase1 main#reason .sec1 .btnCol .btnItem .btn.btn01 {
  top: 50%;
  right: 20px;
  transform: translateY(-110%);
}
.phase1 main#reason .sec1 .btnCol .btnItem .btn.btn01 .inner {
  padding: 1em 0.5em;
}
.phase1 main#reason .sec1 .btnCol .btnItem .btn.btn02 {
  top: 50%;
  right: 20px;
  transform: translateY(20%);
}
.phase1 main#reason .sec1 .btnCol .btnItem .btn.btn02 .inner {
  padding: 1em 0.5em;
}
.phase1 main#reason .sec1 .btnCol .btnItem:last-child {
  margin-bottom: 0;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#reason .sec1 .btnCol .btnItem {
    padding: 15px 15px 70px;
    border-radius: 20px 20px 0 0;
  }
  .phase1 main#reason .sec1 .btnCol .btnItem .textCol {
    gap: 10px;
    width: 100%;
    flex-direction: column;
  }
  .phase1 main#reason .sec1 .btnCol .btnItem .textCol .number {
    width: 12%;
  }
  .phase1 main#reason .sec1 .btnCol .btnItem .textCol .text {
    text-align: center;
  }
  .phase1 main#reason .sec1 .btnCol .btnItem .btn {
    position: absolute;
    top: unset;
    right: unset;
    left: 50%;
    bottom: 20px;
    width: 100px;
    background-color: #d3d2cc;
    border-radius: 5px;
    padding: 3px;
    transform: translateX(-50%);
  }
  .phase1 main#reason .sec1 .btnCol .btnItem .btn .inner {
    border-radius: 4px;
    padding: 0.8em 0.5em;
  }
  .phase1 main#reason .sec1 .btnCol .btnItem .btn.btn01 {
    top: unset;
    right: 20px;
    transform: translateX(-120%);
  }
  .phase1 main#reason .sec1 .btnCol .btnItem .btn.btn01 .inner {
    padding: 0.8em 0.5em;
  }
  .phase1 main#reason .sec1 .btnCol .btnItem .btn.btn02 {
    top: unset;
    right: 20px;
    transform: translateX(20%);
  }
  .phase1 main#reason .sec1 .btnCol .btnItem .btn.btn02 .inner {
    padding: 0.8em 0.5em;
  }
}
.phase1 main#reason .sec2 {
  background-color: #eae9e6;
}
.phase1 main#reason .sec2 .w70Col {
  padding: min(60px, 7%) 0 min(60px, 15%);
}
.phase1 main#reason .sec2 .w70Col .pic {
  margin-top: min(60px, 7%);
}
.phase1 main#reason .sec2 .w70Col .picListCol {
  margin-top: min(60px, 7%);
  gap: 15px;
}
.phase1 main#reason .sec2 .w70Col .picListCol .item {
  width: calc((100% - 45px) / 4);
}
.phase1 main#reason .sec2 .w70Col .picListCol .item .picCol {
  position: relative;
}
.phase1 main#reason .sec2 .w70Col .picListCol .item .picCol .text {
  border-radius: 5px;
  background-color: white;
  color: black;
  font-size: clamp(0.75rem, 0.574rem + 0.751vw, 1.25rem);
  position: absolute;
  top: 1em;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  text-align: center;
  box-shadow: 0px 10px 10px -8px rgba(0, 0, 0, 0.4);
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#reason .sec2 .w70Col .picListCol {
    gap: 20px 10px;
  }
  .phase1 main#reason .sec2 .w70Col .picListCol .item {
    width: calc((100% - 10px) / 2);
  }
}
.phase1 main#reason .sec3 {
  background-color: #eae9e6;
}
.phase1 main#reason .sec3 .w70Col {
  padding: min(60px, 7%) 0 min(60px, 15%);
}
.phase1 main#reason .sec3 .w70Col .pic {
  margin-top: min(60px, 7%);
}
.phase1 main#reason .sec3 .w70Col .picListCol {
  margin-top: min(60px, 7%);
  gap: 15px;
}
.phase1 main#reason .sec3 .w70Col .picListCol .item {
  width: calc((100% - 45px) / 4);
}
.phase1 main#reason .sec3 .w70Col .picListCol .item .picCol {
  position: relative;
}
.phase1 main#reason .sec3 .w70Col .picListCol .item .picCol .text {
  border-radius: 5px;
  background-color: white;
  color: black;
  font-size: clamp(0.75rem, 0.574rem + 0.751vw, 1.25rem);
  position: absolute;
  top: 1em;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  text-align: center;
  box-shadow: 0px 10px 10px -8px rgba(0, 0, 0, 0.4);
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#reason .sec3 .w70Col .picListCol {
    gap: 20px 10px;
  }
  .phase1 main#reason .sec3 .w70Col .picListCol .item {
    width: calc((100% - 10px) / 2);
  }
}
.phase1 main#reason .sec4 {
  background-color: #eae9e6;
}
.phase1 main#reason .sec4 .kvCol {
  position: relative;
}
.phase1 main#reason .sec4 .kvCol .subTitle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  text-align: center;
  transform: translate(-50%, -50%);
  color: white;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  letter-spacing: 0.05em;
  font-weight: 300;
  line-height: 2em;
  font-size: clamp(1rem, 0.736rem + 1.127vw, 1.75rem);
}
.phase1 main#reason .sec4 .kvCol.kv02 .subTitle {
  text-align: left;
}
.phase1 main#reason .sec4 .w70Col {
  padding: 0 0 min(140px, 20%);
}
.phase1 main#reason .sec4 .w70Col .meritCol .meritBox {
  margin-top: min(90px, 10%);
}
.phase1 main#reason .sec4 .w70Col .meritCol .meritBox .gridContainerBtm {
  display: grid;
  grid-template-rows: 1fr;
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  margin-bottom: 5px;
}
.phase1 main#reason .sec4 .w70Col .meritCol .meritBox .gridContainerBtm .txt {
  background-color: #2b392f;
  color: white;
  text-align: center;
  font-size: clamp(0.75rem, 0.706rem + 0.188vw, 0.875rem);
  padding: 0.25em 0.25em;
}
.phase1 main#reason .sec4 .w70Col .meritCol .meritBox .gridContainerBtm.gr2set {
  grid-template-columns: auto auto;
}
.phase1 main#reason .sec4 .w70Col .meritCol .meritBox .gridContainerBtm.gr3set {
  grid-template-columns: auto auto auto;
}
.phase1 main#reason .sec4 .w70Col .meritCol .meritBox .gridContainerBtm.gr4set {
  grid-template-columns: auto auto auto auto;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer {
  display: grid;
  grid-template-rows: 1fr;
  grid-column-gap: 0;
  margin-bottom: min(30px, 4%);
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer .txtCol .title {
  font-size: clamp(1rem, 0.736rem + 1.127vw, 1.75rem);
  font-weight: normal;
  font-feature-settings: "palt";
  color: #367d4d;
  margin-bottom: 0.8em;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer .pic {
  position: relative;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer .pic img {
  border-radius: 20px;
  overflow: hidden;
  width: 100%;
  height: 100%;
  aspect-ratio: 200/129;
  -o-object-fit: cover;
     object-fit: cover;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer .pic .caption {
  position: absolute;
  color: white;
  right: 1.5em;
  bottom: 1.5em;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr01 {
  grid-template-columns: clamp(144px, 12vw, 190px) repeat(2, 1fr);
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr01 .label {
  order: 1;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr01 .txtCol {
  order: 2;
  margin: 0 30px 0 -10px;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr01 .pic {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr02 {
  grid-template-columns: repeat(2, 1fr) clamp(144px, 12vw, 190px);
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr02 .label {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr02 .txtCol {
  order: 2;
  margin: 0 30px 0 30px;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr02 .pic {
  order: 1;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr03 {
  grid-template-columns: clamp(144px, 12vw, 190px) repeat(2, 1fr);
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr03 .label {
  order: 1;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr03 .txtCol {
  order: 2;
  margin: 0 30px 0 30px;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr03 .pic {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr04 {
  grid-template-columns: repeat(2, 1fr) clamp(144px, 12vw, 190px);
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr04 .label {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr04 .txtCol {
  order: 2;
  margin: 0 30px 0 30px;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr04 .pic {
  order: 1;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr05 {
  grid-template-columns: clamp(144px, 12vw, 190px) repeat(2, 1fr);
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr05 .label {
  order: 1;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr05 .txtCol {
  order: 2;
  margin: 0 30px 0 30px;
}
.phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr05 .pic {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 {
  padding: 0 0 min(60px, 7%);
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr01 {
  grid-template-columns: repeat(2, 1fr) clamp(144px, 12vw, 190px);
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr01 .label {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr01 .txtCol {
  order: 2;
  margin: 0 -10px 0 30px;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr01 .pic {
  order: 1;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr02 {
  grid-template-columns: clamp(144px, 12vw, 190px) repeat(2, 1fr);
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr02 .label {
  order: 1;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr02 .txtCol {
  order: 2;
  margin: 0 30px 0 30px;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr02 .pic {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr03 {
  grid-template-columns: repeat(2, 1fr) clamp(144px, 12vw, 190px);
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr03 .label {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr03 .txtCol {
  order: 2;
  margin: 0 30px 0 30px;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr03 .pic {
  order: 1;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr04 {
  grid-template-columns: clamp(144px, 12vw, 190px) repeat(2, 1fr);
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr04 .label {
  order: 1;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr04 .txtCol {
  order: 2;
  margin: 0 30px 0 30px;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr04 .pic {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr05 {
  grid-template-columns: repeat(2, 1fr) clamp(144px, 12vw, 190px);
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr05 .label {
  order: 3;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr05 .txtCol {
  order: 2;
  margin: 0 30px 0 30px;
}
.phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr05 .pic {
  order: 1;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#reason .sec4 .w70Col .meritCol .meritBox {
    margin-top: min(90px, 20%);
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .meritBox .gridContainerBtm.gr2set {
    grid-template-columns: auto;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .meritBox .gridContainerBtm.gr3set {
    grid-template-columns: auto;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .meritBox .gridContainerBtm.gr4set {
    grid-template-columns: auto;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer {
    display: grid;
    grid-template-rows: 1fr;
    grid-row-gap: 20px;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer .pic {
    grid-column: span 2/span 2;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr01 {
    grid-template-columns: clamp(110px, 12vw, 190px) 1fr;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr01 .label {
    order: 1;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr01 .txtCol {
    order: 2;
    margin: 0 0 0 -10px;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr01 .pic {
    order: 3;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr02 {
    grid-template-columns: 1fr clamp(110px, 12vw, 190px);
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr02 .label {
    order: 2;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr02 .txtCol {
    order: 1;
    margin: 0 20px 0 0;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr02 .pic {
    order: 3;
    grid-column: span 2/span 2;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr03 {
    grid-template-columns: clamp(110px, 12vw, 190px) 1fr;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr03 .label {
    order: 1;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr03 .txtCol {
    order: 2;
    margin: 0 0 0 20px;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr03 .pic {
    order: 3;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr04 {
    grid-template-columns: 1fr clamp(110px, 12vw, 190px);
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr04 .label {
    order: 2;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr04 .txtCol {
    order: 1;
    margin: 0 20px 0 0;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr04 .pic {
    order: 3;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr05 {
    grid-template-columns: clamp(110px, 12vw, 190px) 1fr;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr05 .label {
    order: 1;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr05 .txtCol {
    order: 2;
    margin: 0 0 0 20px;
  }
  .phase1 main#reason .sec4 .w70Col .meritCol .gridContainer.gr05 .pic {
    order: 3;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 {
    padding: 0 0 min(60px, 7%);
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr01 {
    grid-template-columns: 1fr clamp(110px, 12vw, 190px);
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr01 .label {
    order: 2;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr01 .txtCol {
    order: 1;
    margin: 0 0 0 0;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr01 .pic {
    order: 3;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr02 {
    grid-template-columns: clamp(110px, 12vw, 190px) 1fr;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr02 .label {
    order: 1;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr02 .txtCol {
    order: 2;
    margin: 0 0 0 20px;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr02 .pic {
    order: 3;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr03 {
    grid-template-columns: 1fr clamp(110px, 12vw, 190px);
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr03 .label {
    order: 2;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr03 .txtCol {
    order: 1;
    margin: 0 20px 0 0;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr03 .pic {
    order: 3;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr04 {
    grid-template-columns: clamp(110px, 12vw, 190px) 1fr;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr04 .label {
    order: 1;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr04 .txtCol {
    order: 2;
    margin: 0 0 0 20px;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr04 .pic {
    order: 3;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr05 {
    grid-template-columns: 1fr clamp(110px, 12vw, 190px);
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr05 .label {
    order: 2;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr05 .txtCol {
    order: 1;
    margin: 0 20px 0 0;
  }
  .phase1 main#reason .sec4 .w70Col.w70Col02 .gridContainer.gr05 .pic {
    order: 3;
  }
}
.phase1 main#reason .sec5 {
  padding: 0 0 min(20px, 3%);
}
.phase1 main#reason .sec5 .w70Col {
  padding: min(60px, 7%) 0 min(20px, 3%);
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#reason .sec5 .sub_title p br {
    display: none;
  }
}
.phase1 main#location {
  background-color: white;
}
.phase1 main#location #h1-Sec .title {
  font-size: clamp(1.75rem, 0.0226rem + 7.4699vw, 5.625rem);
}
.phase1 main#location .secTitleCol {
  background-color: #367d4d;
  margin: min(70px, 5%) 0 min(60px, 5%);
}
.phase1 main#location .secTitleCol .label {
  color: white;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
  font-size: clamp(0.875rem, 0.8193rem + 0.241vw, 1rem);
  letter-spacing: 0.2em;
  line-height: normal;
  text-align: center;
  padding: 0.25em 0;
}
.phase1 main#location .secTitleCol .title {
  background-color: #3e6044;
  text-align: center;
  color: white;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
  line-height: 1.5em;
  padding: 1.5em 1em;
  font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
}
@media screen and (max-width: 767px) {
  .phase1 main#location .secTitleCol {
    margin: min(70px, 10%) 0 min(60px, 8%);
  }
}
.phase1 main#location .sec .sub_title h2 {
  padding: 0 0 0.5em;
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec .sub_title h2 {
    padding: 0 0 0;
  }
  .phase1 main#location .sec .sub_title h2 br {
    display: block;
  }
}
.phase1 main#location .sec .subTitle {
  font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
  font-weight: normal;
  font-feature-settings: "palt";
  color: #367d4d;
  text-align: center;
  margin-bottom: 1em;
}
.phase1 main#location .sec .loListCol {
  gap: 20px 12px;
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec .loListCol {
    gap: 18px 8px;
  }
}
.phase1 main#location .sec .loListCol .item {
  width: calc((100% - 24px) / 3);
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec .loListCol .item {
    width: calc((100% - 8px) / 2);
  }
}
.phase1 main#location .sec .loListCol .item.w100 {
  width: 100%;
}
.phase1 main#location .sec .loListCol .item .txt {
  margin-top: 0.5em;
  font-size: 0.625rem;
  line-height: normal;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.phase1 main#location .sec .loListCol02 {
  margin-top: min(40px, 8%);
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec .loListCol02 {
    gap: 15px;
  }
}
.phase1 main#location .sec .loListCol02 .list {
  width: calc((100% - 30px) / 2);
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 0;
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec .loListCol02 .list {
    width: 100%;
  }
}
.phase1 main#location .sec .loListCol02 .list .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1em;
}
.phase1 main#location .sec .loListCol02 .list .item .txt {
  font-size: 0.625rem;
  line-height: normal;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.phase1 main#location .sec .loListCol02 .list .item .name {
  flex: 1;
}
.phase1 main#location .sec1 {
  background-color: white;
  position: relative;
}
.phase1 main#location .sec1 .sub_title {
  margin: unset;
  padding: min(26px, 4%) 0;
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec1 .sub_title h2 {
    margin-bottom: 0;
  }
}
.phase1 main#location .sec2 .w60Col {
  padding: min(50px, 6%) 0 0;
}
.phase1 main#location .sec2 .fl01 {
  margin: min(50px, 6%) 0 min(30px, 4%);
  gap: 14px;
}
.phase1 main#location .sec2 .fl01 a {
  width: calc((100% - 14px) / 2);
  display: flex;
  flex-direction: column;
  transition: 0.3s;
}
.phase1 main#location .sec2 .fl01 a .titleCol {
  background-color: #2b392f;
}
.phase1 main#location .sec2 .fl01 a .titleCol .title {
  color: white;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  line-height: normal;
  text-align: center;
  padding: 0.25em 0;
}
.phase1 main#location .sec2 .fl01 a .textCol {
  background-color: #367d4d;
  padding: 26px 20px;
  flex-grow: 1;
  display: flex;
  align-items: center;
  position: relative;
}
.phase1 main#location .sec2 .fl01 a .textCol .txt {
  color: white;
  font-size: clamp(0.875rem, 0.8193rem + 0.241vw, 1rem);
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.2em;
  font-feature-settings: "palt";
}
.phase1 main#location .sec2 .fl01 a .textCol .arrowCol {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #eae9e6;
  transform: translateY(-50%);
}
.phase1 main#location .sec2 .fl01 a .textCol .arrowCol .arrow {
  transition: 0.3s;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 11.2px;
  height: 8.6px;
}
.phase1 main#location .sec2 .fl01 a .textCol .arrowCol .arrow::before,
.phase1 main#location .sec2 .fl01 a .textCol .arrowCol .arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 1px);
  width: 2px;
  height: 10px;
  border-radius: 9999px;
  background-color: #367d4d;
  transform-origin: 50% calc(100% - 1px);
}
.phase1 main#location .sec2 .fl01 a .textCol .arrowCol .arrow::before {
  transform: rotate(35deg);
}
.phase1 main#location .sec2 .fl01 a .textCol .arrowCol .arrow::after {
  transform: rotate(-35deg);
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec2 .fl01 a {
    width: 100%;
  }
}
.phase1 main#location .sec2 .fl01 a:hover .textCol .arrowCol .arrow {
  transition: 0.3s;
  top: 60%;
}
.phase1 main#location .sec3 .pic01 {
  margin-bottom: min(60px, 8%);
}
.phase1 main#location .sec3 .pic02 {
  margin-bottom: min(60px, 8%);
}
.phase1 main#location .sec4 .busCol {
  background-color: #2b392f;
  border-radius: 20px;
  padding: min(30px, 13%);
  margin: min(60px, 12%) 0;
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec4 .busCol {
    padding: min(30px, 10%) min(30px, 4%);
    margin: min(60px, 12%) 0;
  }
}
.phase1 main#location .sec4 .busCol .title {
  color: white;
  text-align: center;
  font-size: clamp(1rem, 0.8886rem + 0.4819vw, 1.25rem);
  line-height: normal;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  font-weight: 400;
}
.phase1 main#location .sec4 .busCol .subTitleText {
  color: white;
  text-align: center;
  font-size: clamp(0.75rem, 0.6943rem + 0.241vw, 0.875rem);
  line-height: normal;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  font-weight: 400;
}
.phase1 main#location .sec4 .busCol .readText {
  color: white;
  font-size: 0.6875rem;
  line-height: normal;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  font-weight: 400;
}
.phase1 main#location .sec4 .busCol .gl01 {
  margin: min(30px, 13%) 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 30px;
}
@media screen and (max-width: 991px) {
  .phase1 main#location .sec4 .busCol .gl01 {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 20px;
  }
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec4 .busCol .gl01 {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 10px;
  }
}
.phase1 main#location .sec4 .busCol .gl01 .item {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  row-gap: 10px;
}
.phase1 main#location .sec4 .busCol .gl01 .item .subTitleText {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.phase1 main#location .sec4 .busCol .gl01 .item .readText {
  border-top: 1px solid white;
  padding-top: 1em;
}
.phase1 main#location .sec4 .loListCol {
  margin-bottom: min(60px, 12%);
}
.phase1 main#location .sec4 .gl02 {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 30px;
}
.phase1 main#location .sec4 .gl02 .map {
  grid-row: span 2/span 2;
}
@media screen and (max-width: 767px) {
  .phase1 main#location .sec4 .gl02 {
    display: flex;
    flex-direction: column;
  }
}
.phase1 main#location .sec4 .gl02 .picCol {
  grid-column-start: 2;
  position: relative;
}
.phase1 main#location .sec4 .gl02 .picCol .txtCol {
  width: 96%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  text-align: center;
}
.phase1 main#location .sec4 .gl02 .picCol .txtCol .title {
  font-size: clamp(1rem, 0.8886rem + 0.4819vw, 1.25rem);
  line-height: normal;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  font-weight: 400;
  margin-bottom: 0.25em;
}
.phase1 main#location .sec4 .gl02 .picCol .txtCol .title .em {
  font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
}
.phase1 main#location .sec4 .gl02 .picCol .txtCol .readText {
  font-size: 0.6875rem;
  line-height: normal;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  font-weight: 400;
}
.phase1 main#location .sec4 .gl02 .picCol .pic {
  border-radius: 20px;
  overflow: hidden;
}
.phase1 main#location .sec5 .pic01 {
  margin-bottom: min(60px, 8%);
}
.phase1 main#location .sec5 .pic02 {
  margin-top: min(60px, 8%);
}
.phase1 main#location .sec5 .sub_title {
  margin-bottom: min(40px, 6%);
}
.phase1 main#location .sec5 .subTitle {
  margin-top: 2em;
}
.phase1 main#location .sec5 .loListCol02 {
  margin-top: min(20px, 6%);
}
.phase1 main#mginfo .sec1 {
  padding: 80px 0;
}
.phase1 main#mginfo .sec1 .border_dash {
  margin-bottom: 2em;
  padding-bottom: 2em;
  border-bottom: 1px dashed #c9b95a;
}
.phase1 main#mginfo .sec1 .mapImgBox {
  margin: 0% auto 5%;
  width: 80%;
}
.phase1 main#mginfo .sec1 .mapImgBox .title {
  margin: 1em 0;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
}
.phase1 main#mginfo .sec1 .mapImgBox .title .subH {
  display: block;
  font-size: 0.7em;
}
.phase1 main#mginfo .sec1 .carnavi {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 30px;
}
.phase1 main#mginfo .sec1 .carnavi h3 {
  width: 70%;
  font-size: clamp(0.938rem, 0.824rem + 0.57vw, 1.25rem);
}
.phase1 main#mginfo .sec1 .carnavi h3 .naviadd {
  display: block;
  font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.75rem);
  letter-spacing: 0.1em;
}
.phase1 main#mginfo .sec1 .carnavi .btn_google {
  width: 25%;
  padding: 3px 5px;
  text-align: center;
  border: 1px solid white;
  transition: 0.3s;
}
.phase1 main#mginfo .sec1 .carnavi .btn_google:hover {
  background: #00415f;
}
.phase1 main#mginfo .sec1 .address {
  padding-top: 2em;
}
.phase1 main#mginfo .sec1 .address .w45 li {
  font-size: 80%;
}
.phase1 main#mginfo .sec1 .address .option {
  display: flex;
  gap: 0.5em;
  margin: 1em 0;
}
.phase1 main#mginfo .sec1 .address .option li {
  padding: 0.2em 1em;
  font-size: 0.9rem;
  color: white;
  background-color: rgba(60, 117, 176, 0.3);
}
@media screen and (max-width: 991px) {
  .phase1 main#mginfo .address .option {
    flex-direction: column;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#mginfo .w60,
  .phase1 main#mginfo .w35 {
    width: 100%;
  }
  .phase1 main#mginfo .w35 {
    margin-top: 10px;
  }
  .phase1 main#mginfo .sec1 {
    padding: 40px 0;
  }
  .phase1 main#mginfo .sec1 .mapImgBox {
    width: 100%;
  }
  .phase1 main#mginfo .sec1 .carnavi {
    flex-direction: column;
  }
  .phase1 main#mginfo .sec1 .carnavi h3,
  .phase1 main#mginfo .sec1 .carnavi .btn_google {
    width: 100%;
  }
  .phase1 main#mginfo .sec1 .address .w45 {
    margin-top: 10px;
  }
}
.phase1 main#place .sec1 {
  padding: 80px 0 100px;
}
.phase1 main#place .sec1 .image_ph {
  position: absolute;
  top: -115px;
  right: 60px;
  width: 27%;
  z-index: 1;
}
.phase1 main#place .sec1 .sub_title .title {
  font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
  font-weight: 700;
  margin-bottom: 1em;
}
.phase1 main#place .sec1.lo {
  padding: 50px 0;
  background: #f8f7ec;
}
.phase1 main#place .sec1.lo .sub_title {
  margin-bottom: 0;
}
.phase1 main#place .item_box .flexcontainer {
  row-gap: 15px;
}
.phase1 main#place .item_box .item h3 {
  position: absolute;
  top: 5px;
  left: 5px;
  color: #fff;
}
.phase1 main#place #location {
  background: #fff;
}
.phase1 main#place #location .tab_box .tab_list {
  padding: 80px 0;
  text-align: center;
}
.phase1 main#place #location .tab_box .tab_list h2 {
  margin-bottom: 10px;
  font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
}
.phase1 main#place #location .tab_box .tab_list .w32 {
  color: #fff;
}
.phase1 main#place #location .tab_box .tab_list .w32 .bannerBoxInner {
  padding: 5px 5px 0;
}
.phase1 main#place #location .tab_box .tab_list .w32 .bannerBoxInner h3 {
  line-height: 2.5;
}
.phase1 main#place #location .tab_box .tab_list .w32 a {
  display: block;
  transition: 0.3s;
}
.phase1 main#place #location .tab_box .tab_list .w32 a:hover {
  color: #fff;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}
.phase1 main#place #location .tab_box .tab_list .w32 a:hover .clickBtn::before {
  width: 100%;
}
.phase1 main#place #location .tab_box .tab_list .w32 .clickBtn {
  position: relative;
  text-align: center;
  padding: 0.3em 2.5em;
  font-size: 90%;
  letter-spacing: 0;
  z-index: 0;
}
.phase1 main#place #location .tab_box .tab_list .w32 .clickBtn::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  z-index: -1;
  transition: 0.3s;
}
.phase1 main#place #location .tab_box .tab_list .w32.list01 .bannerBoxInner {
  background: #88abda;
}
.phase1 main#place #location .tab_box .tab_list .w32.list01 .clickBtn {
  background: #a0bfe0;
}
.phase1 main#place #location .tab_box .tab_list .w32.list01 .clickBtn::before {
  background: #6b88ad;
}
.phase1 main#place #location .tab_box .tab_list .w32.list02 .bannerBoxInner {
  background: #f091a0;
}
.phase1 main#place #location .tab_box .tab_list .w32.list02 .clickBtn {
  background: #f9A5b8;
}
.phase1 main#place #location .tab_box .tab_list .w32.list02 .clickBtn::before {
  background: #be7380;
}
.phase1 main#place #location .tab_box .tab_list .w32.list03 .bannerBoxInner {
  background: #8cc66d;
}
.phase1 main#place #location .tab_box .tab_list .w32.list03 .clickBtn {
  background: #99e26f;
}
.phase1 main#place #location .tab_box .tab_list .w32.list03 .clickBtn::before {
  background: #6e9e56;
}
.phase1 main#place #location .tab_box .tab_kv {
  padding: 80px 0;
  color: #fff;
}
.phase1 main#place #location .tab_box .tab_kv .flexContainer {
  margin-top: 30px;
}
.phase1 main#place #location .tab_box .tab_kv .flexContainer h2 {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
  font-weight: normal;
}
.phase1 main#place #location .tab_box .tab_kv .flexContainer h2 span {
  margin-left: 10px;
  font-size: 1.2rem;
}
.phase1 main#place #location .tab_box .tab_kv .flexContainer p.font1 {
  font-size: 1.1rem;
}
.phase1 main#place #location .tab_box .tab_kv .flexContainer p {
  font-size: 0.8rem;
  line-height: 1.5;
}
.phase1 main#place #location .tab_box .tab_scene {
  padding-top: 80px;
  background: #f8f7ec;
}
.phase1 main#place #location .tab_box .tab_scene .inner {
  position: relative;
  padding-bottom: 80px;
}
.phase1 main#place #location .tab_box .tab_scene .inner .leftItem,
.phase1 main#place #location .tab_box .tab_scene .inner .rightItem {
  width: 48%;
}
.phase1 main#place #location .tab_box .tab_scene .inner .leftItem .ph,
.phase1 main#place #location .tab_box .tab_scene .inner .rightItem .ph {
  z-index: 1;
}
.phase1 main#place #location .tab_box .tab_scene .inner .leftItem .flex-align-end .caption,
.phase1 main#place #location .tab_box .tab_scene .inner .rightItem .flex-align-end .caption {
  margin: 0;
}
.phase1 main#place #location .tab_box .tab_scene h3 {
  position: relative;
  margin-bottom: 15px;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.5rem, 1.25rem + 1.25vw, 2.188rem);
  font-weight: 500;
}
.phase1 main#place #location .tab_box .tab_scene h3::after {
  content: "";
  position: absolute;
  bottom: 2px;
  display: inline-block;
  width: 120%;
  height: 1px;
}
.phase1 main#place #location .tab_box .tab_scene .leftItem h3::after {
  left: 0;
}
.phase1 main#place #location .tab_box .tab_scene .rightItem h3::after {
  right: 0;
}
.phase1 main#place #location .tab_box .tab_scene h4 {
  font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
  font-weight: normal;
}
.phase1 main#place #location .tab_box .tab_scene p:not(.ph) {
  margin-bottom: 20px;
}
.phase1 main#place #location .infomation h2 {
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
  font-weight: normal;
  margin-bottom: 1em;
}
.phase1 main#place #location .infomation .flexContainer.lifeList {
  gap: 30px;
}
.phase1 main#place #location .infomation .flexContainer.lifeList .lifeListCol {
  width: calc((100% - 30px) / 2);
}
.phase1 main#place #location .infomation .lifeListCol .item {
  border-top: 1px solid black;
  padding: 20px 10px;
}
.phase1 main#place #location .infomation .lifeListCol .item .title {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.phase1 main#place #location .infomation .lifeListCol .item dl.itemList {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  max-width: 100%;
  line-height: 2.2;
  padding: 0;
}
.phase1 main#place #location .infomation .lifeListCol .item dl.itemList dt.list {
  width: 75%;
  font-size: 1rem;
}
.phase1 main#place #location .infomation .lifeListCol .item dl.itemList dd {
  font-size: 0.8rem;
  width: 20%;
  text-align: right;
}
.phase1 main#place #location .infomation .lifeListCol .item dl.itemList dt:nth-of-type(n + 1),
.phase1 main#place #location .infomation .lifeListCol .item dl.itemList dd:nth-of-type(n + 1) {
  border-bottom: 1px dashed #ccc;
}
.phase1 main#place #location .infomation .map {
  margin: 80px 0;
}
.phase1 main#place #location .infomation .flexcontainer {
  gap: 25px;
  margin-top: 20px;
}
.phase1 main#place #location.life01 .tab_box .tab_kv {
  background: url("../../place/images/location/bk_story01.jpg") no-repeat;
}
.phase1 main#place #location.life01 .tab_box .tab_scene h3 {
  color: #6b88ad;
}
.phase1 main#place #location.life01 .tab_box .tab_scene h3::after {
  background-color: #6b88ad;
}
.phase1 main#place #location.life01 .tab_box .tab_scene .leftItem .image_ph {
  position: absolute;
  bottom: -5%;
  right: 40%;
  width: 25%;
  z-index: 2;
}
.phase1 main#place #location.life02 .tab_box .tab_kv {
  background: url("../../place/images/location/bk_story02.jpg") no-repeat;
}
.phase1 main#place #location.life02 .tab_box .tab_scene h3 {
  color: #be7380;
}
.phase1 main#place #location.life02 .tab_box .tab_scene h3::after {
  background-color: #be7380;
}
.phase1 main#place #location.life02 .tab_box .tab_scene .inner.scene02 .image_ph {
  position: absolute;
  bottom: 0;
  right: 40%;
  width: 25%;
  z-index: 2;
}
.phase1 main#place #location.life02 .tab_box .tab_scene .inner.scene03 .image_ph {
  position: absolute;
  bottom: 0;
  right: 50%;
  width: 25%;
  z-index: 2;
}
.phase1 main#place #location.life02 .tab_box .tab_scene .inner.scene04 .image_ph {
  position: absolute;
  bottom: -10%;
  right: 40%;
  width: 25%;
  z-index: 2;
}
.phase1 main#place #location.life03 .tab_box .tab_kv {
  background: url("../../place/images/location/bk_story03.jpg") no-repeat;
}
.phase1 main#place #location.life03 .tab_box .tab_scene h3 {
  color: #6e9e56;
}
.phase1 main#place #location.life03 .tab_box .tab_scene h3::after {
  background-color: #6e9e56;
}
.phase1 main#place #location.life03 .tab_box .tab_scene .leftItem .image_ph {
  position: absolute;
  bottom: -5%;
  right: 42%;
  width: 25%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .phase1 main#place .sec1 {
    padding: 30px 0;
  }
  .phase1 main#place .sec1 .image_ph {
    top: -45px;
    right: 15px;
    width: 35%;
  }
  .phase1 main#place .sec1 .item_box li.w24 {
    display: flex;
    justify-content: space-around;
  }
  .phase1 main#place .sec1 .item_box li.w24 .item {
    margin-top: 0 !important;
    width: 48%;
  }
  .phase1 main#place .sec1 .item_box li.w24 .item p.caption {
    text-align: left !important;
  }
  .phase1 main#place #location .tab_box .tab_list {
    padding: 40px 0;
  }
  .phase1 main#place #location .tab_box .tab_list ul {
    gap: 10px;
  }
  .phase1 main#place #location .tab_box .tab_list ul .w32 {
    width: 100%;
  }
  .phase1 main#place #location .tab_box .tab_list ul .w32 .bannerBoxInner {
    display: flex;
    align-items: center;
    padding: 5px;
  }
  .phase1 main#place #location .tab_box .tab_list ul .w32 .bannerBoxInner .bnrImg {
    width: 30%;
  }
  .phase1 main#place #location .tab_box .tab_list ul .w32 .bannerBoxInner .title {
    flex: 1;
  }
  .phase1 main#place #location .tab_box .tab_kv {
    padding: 40px 0;
  }
  .phase1 main#place #location .tab_box .tab_kv .flexContainer {
    gap: 10px;
    margin-top: 20px;
  }
  .phase1 main#place #location .tab_box .tab_kv .flexContainer .w40 {
    width: 100%;
  }
  .phase1 main#place #location .tab_box .tab_scene {
    padding: 40px 0;
  }
  .phase1 main#place #location .tab_box .tab_scene .inner {
    padding-bottom: 0;
  }
  .phase1 main#place #location .tab_box .tab_scene .inner .flexContainer .leftItem,
  .phase1 main#place #location .tab_box .tab_scene .inner .flexContainer .rightItem {
    margin-top: 20px;
    width: 100%;
  }
  .phase1 main#place #location .tab_box .tab_scene .inner .flexContainer .leftItem .caption,
  .phase1 main#place #location .tab_box .tab_scene .inner .flexContainer .rightItem .caption {
    margin-top: 0.5rem;
  }
  .phase1 main#place #location .infomation .flexContainer.lifeList {
    gap: unset;
  }
  .phase1 main#place #location .infomation .flexContainer.lifeList .lifeListCol {
    width: 100%;
  }
  .phase1 main#place #location .infomation .flexContainer.lifeList .leftCol .item:last-child,
  .phase1 main#place #location .infomation .flexContainer.lifeList .rightCol .item:last-child {
    border-bottom: 1px solid black;
  }
  .phase1 main#place #location .infomation .flexContainer.lifeList .leftCol .item:last-child {
    border-bottom: unset;
  }
  .phase1 main#place #location .infomation .map {
    margin: 40px 0;
  }
}
.phase1 main#subway .sec1 {
  padding: 150px 0 100px;
}
.phase1 main#subway .sec1 .image_ph {
  position: absolute;
  top: -95px;
  right: 105px;
  width: 22%;
  z-index: 1;
}
.phase1 main#subway .sec1 ul .flexcontainer {
  gap: 25px 0;
}
.phase1 main#subway .sec1 .item_box {
  margin-top: 50px;
  text-align: left;
}
.phase1 main#subway .sec1 .item_box h3 {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
}
.phase1 main#subway .sec1 .item_box h4 {
  font-size: 130%;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .phase1 main#subway .sec1 {
    padding: 30px 0;
  }
  .phase1 main#subway .sec1 .image_ph {
    top: -50px;
    right: 30px;
    width: 38%;
  }
  .phase1 main#subway .item_box .flexcontainer {
    gap: 50px;
  }
  .phase1 main#subway .item_box .flexcontainer .w48 .w48 {
    width: 48%;
  }
}
.phase1 main#car .keyvisual span {
  position: absolute;
  top: -30px;
  right: 10%;
  width: 8%;
}
.phase1 main#car .keyvisual p {
  position: absolute;
  bottom: 20px;
  right: 10%;
  padding: 15px;
  font-weight: bold;
  color: #e66900;
  line-height: 1.5;
  background: #fff;
}
.phase1 main#car .aeonBox {
  margin: 80px 0;
}
.phase1 main#car .aeonBox span {
  position: absolute;
  top: -30px;
  right: 3%;
  width: 20%;
}
.phase1 main#car .aeonBox .ph p {
  position: absolute;
  top: 10px;
  left: 3%;
  padding: 15px;
  font-weight: bold;
  color: #e66900;
  line-height: 1.5;
  background: #fff;
}
.phase1 main#car .sec1 {
  padding: 150px 0 100px;
}
.phase1 main#car .sec1 .image_ph {
  position: absolute;
  top: -70px;
  right: 60px;
  width: 20%;
  z-index: 1;
}
.phase1 main#car .item_box .caption {
  position: absolute;
  top: -30px;
  right: -3%;
  width: 30%;
}
.phase1 main#car .item_box .border_side {
  margin-top: 40px;
  padding: 0 40px;
  border-left: 1px solid #231815;
}
.phase1 main#car .item_box .border_side h3 {
  margin-bottom: 20px;
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
}
.phase1 main#car .item_box .w55.border_side {
  border-right: 1px solid #231815;
}
.phase1 main#car .item_box .w25 ul {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
@media screen and (max-width: 991px) {
  .phase1 main#car .keyvisual span {
    width: 11%;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#car .w55 {
    width: 100%;
  }
  .phase1 main#car .keyvisual span {
    top: -8%;
    right: 5%;
    width: 100px;
  }
  .phase1 main#car .aeonBox {
    margin: 40px 0;
  }
  .phase1 main#car .aeonBox .sub_title {
    margin-bottom: 40px;
  }
  .phase1 main#car .aeonBox .flexcontainer .w48 {
    width: 48%;
  }
  .phase1 main#car .aeonBox .flexcontainer .w48 span {
    width: 65px;
  }
  .phase1 main#car .sec1 {
    padding: 0 0 30px;
  }
  .phase1 main#car .sec1 .image_ph {
    top: -100px;
    right: 5px;
    width: 40%;
  }
  .phase1 main#car .item_box .border_side {
    margin-top: 0;
    padding: 20px 0;
    border-top: 1px solid #231815;
    border-left: none;
  }
  .phase1 main#car .item_box .w55.border_side {
    margin-top: 0;
    border-bottom: 1px solid #231815;
    border-right: none;
  }
  .phase1 main#car .item_box .w25 ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    padding: 50px 0;
  }
  .phase1 main#car .item_box .w25 ul li {
    width: 48%;
  }
  .phase1 main#car .item_box .caption {
    right: 3%;
    width: 65px;
  }
}
.phase1 main#park .sec1 {
  padding: 150px 0 100px;
}
.phase1 main#park .sec1 .image_ph {
  position: absolute;
  top: -70px;
  right: 60px;
  width: 20%;
  z-index: 1;
}
.phase1 main#park .item_box .w32 {
  display: flex;
  flex-direction: column;
}
.phase1 main#park .item_box .bg_headerColor {
  margin-bottom: 5px;
  padding: 10px 5px;
  text-align: center;
  color: #fff;
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  font-weight: normal;
  background: #484b53;
}
.phase1 main#park .item_box p {
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .phase1 main#park .h1_heading h1 {
    letter-spacing: -0.01em;
  }
  .phase1 main#park .flexcontainer .w32 {
    margin-bottom: 20px;
    width: 100%;
  }
  .phase1 main#park .sec1 {
    padding: 30px 0;
  }
  .phase1 main#park .sec1 .image_ph {
    top: -40px;
    right: 20px;
    width: 35%;
  }
}
.phase1 main#exterior {
  background: #1d1815;
}
.phase1 main#exterior .sec1 {
  padding: 2% 0 0;
  color: #fff;
  border-top: 2px solid #aa965c;
  background-image: linear-gradient(180deg, #aa965c 20%, #1d1815);
}
.phase1 main#exterior .sec1 .image_ph {
  position: absolute;
  top: -75px;
  right: 75px;
  width: 25%;
  z-index: 1;
}
.phase1 main#exterior .sec1 h2 {
  margin-bottom: 1em;
}
.phase1 main#exterior .sec1 .sub_title {
  padding-bottom: 2em;
}
.phase1 main#exterior .entStack {
  padding: 5% 0;
  aspect-ratio: 3/2.8;
  position: relative;
  background-image: url("../../exterior/images/BG_ent.jpg");
  background-size: cover;
  background-repeat: no-repeat;
}
.phase1 main#exterior .entStack .ph1 {
  margin: 0% 5% 0% 0;
  width: 80%;
}
.phase1 main#exterior .entStack .ph2 {
  position: absolute;
  bottom: 5%;
  right: 0;
  width: 60%;
  z-index: 10;
}
.phase1 main#exterior .entStack .ttl1 {
  position: absolute;
  top: 8%;
  right: 6%;
  width: min(38%, 400px);
  z-index: 12;
  filter: drop-shadow(4px 4px 5px rgba(0, 0, 0, 0.7));
}
.phase1 main#exterior .entStack .ttl2 {
  position: absolute;
  bottom: 3%;
  left: 20%;
  width: min(42%, 440px);
  z-index: 12;
  filter: drop-shadow(4px 4px 5px rgba(0, 0, 0, 0.7));
}
.phase1 main#exterior .item_box {
  position: relative;
  margin-top: 80px;
  padding: 30px;
  color: #aa965c;
  border: 2px solid #aa965c;
  background: #fff;
}
.phase1 main#exterior .item_box::after {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 3px;
  right: 3px;
  border: solid 1px #aa965c;
  z-index: 2;
}
.phase1 main#exterior .item_box .title {
  margin-bottom: 20px;
  font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
  font-weight: normal;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .phase1 main#exterior .sec1 {
    padding: 30px 0;
  }
  .phase1 main#exterior .sec1 .image_ph {
    top: -55px;
    right: 5px;
    width: 40%;
  }
  .phase1 main#exterior .item_box {
    margin-top: 40px;
  }
  .phase1 main#exterior .item_box .flexcontainer {
    gap: 20px;
  }
}
.phase1 main#landscape .sec1 {
  padding: 150px 0 100px;
}
.phase1 main#landscape .sec1 .image_ph {
  position: absolute;
  top: -70px;
  right: 72px;
  width: 24%;
  z-index: 1;
}
.phase1 main#landscape .item_box .w32 {
  display: flex;
  flex-direction: column;
}
.phase1 main#landscape .item_box .w32 .pic {
  position: relative;
  margin: 1em 0;
}
.phase1 main#landscape .item_box .w32 .pic .caption {
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  color: white;
}
.phase1 main#landscape .item_box .bg_keyReq {
  text-align: center;
  flex-grow: unset;
  padding: 13px 15px;
  margin: 0px;
}
@media screen and (max-width: 767px) {
  .phase1 main#landscape .flexcontainer .w32 {
    margin-bottom: 20px;
    width: 48%;
  }
  .phase1 main#landscape .sec1 {
    padding: 30px 0;
  }
  .phase1 main#landscape .sec1 .image_ph {
    top: -55px;
    right: 5px;
    width: 40%;
  }
  .phase1 main#landscape .item_box .bg_keyReq {
    padding: 8px 10px;
  }
}
.phase1 main#roomType {
  background: #fff;
}
.phase1 main#roomType .sec1 {
  padding: 50px 0 50px;
}
.phase1 main#roomType .sec1 .image_ph {
  position: absolute;
  top: -80px;
  right: 60px;
  width: 25%;
  z-index: 1;
}
.phase1 main#roomType .sec1 .item_box ul h3 {
  font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
}
.phase1 main#roomType .sec1 .freeDialBox {
  width: min(90%, 600px);
  margin: 0 auto;
  padding: 3% 0 2%;
  line-height: 1.7;
}
.phase1 main#roomType .sec1 .freeDialBox .btn-header {
  margin-bottom: 20px;
  justify-content: center;
  gap: 15px;
}
.phase1 main#roomType .sec1 .freeDialBox .btn-header .btn.btn-top a {
  margin: auto;
  padding: 8px 20px;
  width: 40% !important;
  background: #484b53;
}
.phase1 main#roomType .sec1 .freeDialBox .btn-header .btn.btn-res a {
  background: #035b34;
}
.phase1 main#roomType .sec1 .freeDialBox .btn-header .btn.btn-top a, .phase1 main#roomType .sec1 .freeDialBox .btn-header .btn.btn-res a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  border: 1px solid #fff;
  transition: all 0.5s ease;
}
.phase1 main#roomType .sec1 .freeDialBox .btn-header .btn.btn-top a:hover, .phase1 main#roomType .sec1 .freeDialBox .btn-header .btn.btn-res a:hover {
  background-color: #00415f;
}
.phase1 main#roomType .sec1 .freeDialBox .btn-header .btn.btn-req a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  border: 1px solid #fff;
  transition: all 0.5s ease;
  background: #aa965c;
}
.phase1 main#roomType .sec1 .freeDialBox .btn-header .btn.btn-req a:hover {
  background-color: #00415f;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#roomType .sec1 .freeDialBox .btn-header .btn {
    width: 100%;
  }
}
.phase1 main#roomType .sec1 .freeDialBox .workTime {
  text-align: center;
}
.phase1 main#roomType .sec2 {
  padding: 60px 0;
}
.phase1 main#roomType .sec2 #planList.item_box .flexcontainer {
  gap: 20px;
}
.phase1 main#roomType .sec2 #planList.item_box .flexcontainer li a {
  transition: all 0.5s ease;
  display: block;
  width: 100%;
  height: 100%;
}
.phase1 main#roomType .sec2 #planList.item_box .flexcontainer li a:hover {
  opacity: 0.6;
}
.phase1 main#roomType .sec2 #planList.item_box .flexcontainer li.soldout {
  position: relative;
}
.phase1 main#roomType .sec2 #planList.item_box .flexcontainer li.soldout a {
  pointer-events: none;
}
.phase1 main#roomType .sec2 #planList.item_box .flexcontainer li.soldout::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  background-image: url("../../room/images/soldout.jpg");
  background-size: 200px;
  background-repeat: no-repeat;
  background-position: 50%;
}
.phase1 main#roomType .sec3 .freeDialBox {
  width: min(90%, 800px);
  margin: 0 auto;
  padding: 3% 0 2%;
  line-height: 1.7;
}
.phase1 main#roomType .sec3 .freeDialBox .btn-header {
  margin-bottom: 20px;
  justify-content: center;
  gap: 15px;
}
.phase1 main#roomType .sec3 .freeDialBox .btn-header .btn.btn-top a {
  margin: auto;
  padding: 8px 20px;
  width: 40% !important;
}
.phase1 main#roomType .sec3 .freeDialBox .btn-header .btn.btn-top a, .phase1 main#roomType .sec3 .freeDialBox .btn-header .btn.btn-res a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  border: 1px solid #fff;
  transition: all 0.5s ease;
}
.phase1 main#roomType .sec3 .freeDialBox .btn-header .btn.btn-top a:hover, .phase1 main#roomType .sec3 .freeDialBox .btn-header .btn.btn-res a:hover {
  opacity: 0.5;
}
.phase1 main#roomType .sec3 .freeDialBox .btn-header .btn.btn-req a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  border: 1px solid #fff;
  transition: all 0.5s ease;
}
.phase1 main#roomType .sec3 .freeDialBox .btn-header .btn.btn-req a:hover {
  opacity: 0.5;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#roomType .sec3 .freeDialBox .btn-header .btn {
    width: 100%;
  }
}
.phase1 main#roomType .sec3 .freeDialBox .workTime {
  text-align: center;
}
.phase1 main#room {
  background-color: #f7f6ec;
}
.phase1 main#room .kvCol {
  position: relative;
  aspect-ratio: 192/95;
}
.phase1 main#room .kvCol .kv {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.phase1 main#room .kvCol .kv.kv01 {
  z-index: 1;
}
.phase1 main#room .kvCol .kv.kv02 {
  z-index: 0;
}
.phase1 main#room .sub_title {
  margin-top: min(3%, 30px);
}
.phase1 main#room .flSet .txt {
  margin-top: 1em;
}
.phase1 main#room .flSet.flSet02 {
  padding-bottom: min(6%, 60px);
}
.phase1 main#room .picCol {
  position: relative;
  aspect-ratio: 32/9;
}
.phase1 main#room .picCol .item {
  position: absolute;
}
.phase1 main#room .picCol .text {
  color: black;
  z-index: 2;
  top: 3em;
  left: 2em;
  font-size: clamp(1rem, 0.7771rem + 0.9639vw, 1.5rem);
}
.phase1 main#room .picCol .caption {
  color: white;
  z-index: 2;
  bottom: 1em;
  right: 1em;
}
.phase1 main#room .picCol .pic {
  top: 0;
  left: 0;
}
.phase1 main#room .sec {
  background-color: #29425f;
}
.phase1 main#room .sec .title {
  width: 90%;
  margin: 1em auto;
}
.phase1 main#room .sec .w80container {
  width: 90%;
  padding-top: min(2%, 20px);
}
.phase1 main#room .sec .w70container .caption {
  color: white;
  padding: min(2%, 20px) 0 min(5%, 50px);
}
.phase1 main#room .sec .fl02 {
  background-color: #3d62ad;
  color: white;
  padding: 2%;
  gap: 1em;
  justify-content: center;
  margin: min(5%, 50px) 0 min(4%, 40px);
}
.phase1 main#room .sec .fl02 .title {
  width: auto;
  font-size: clamp(1rem, 0.8886rem + 0.4819vw, 1.25rem);
  line-height: normal;
  font-weight: 700;
}
.phase1 main#room .sec .fl02 .txtCol {
  width: 70%;
}
.phase1 main#room .sec .fl02 .txtCol .txt {
  font-size: clamp(1rem, 0.8886rem + 0.4819vw, 1.25rem);
  line-height: normal;
}
.phase1 main#room .sec .fl02 .txtCol .txt.txt01 {
  font-weight: 700;
  margin-bottom: 0.5em;
}
.phase1 main#room .sec .fl02.fl02-re .txtCol {
  width: 100%;
  text-align: center;
}
.phase1 main#room .sec .fl02.fl02-re .txtCol .txt {
  font-size: clamp(0.875rem, 0.7636rem + 0.4819vw, 1.125rem);
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.phase1 main#room .sec .fl02.fl02-re .txtCol .txt.txt01 {
  font-weight: 400;
  margin-bottom: 0.5em;
}
.phase1 main#room .sec .fl02.fl02-re .txtCol .txt.txt02 {
  font-weight: 400;
}
.phase1 main#room .sec .info {
  width: min(90%, 600px);
}
.phase1 main#room .sec .info.info02 {
  padding-top: min(4%, 40px);
}
.phase1 main#room .sec .linkBtn {
  padding: min(4%, 40px) 0 min(10%, 100px);
}
.phase1 main#room .sec .linkBtn a {
  display: block;
  margin: 0 auto;
  padding: 3% 5%;
  width: min(40%, 300px);
  border: 2px solid white;
  transition: all 0.5s ease;
  background-color: #aa965c;
  line-height: 0;
}
.phase1 main#room .sec .linkBtn a:hover {
  background-color: #00415f;
}
.phase1 main#room .bnr {
  margin-top: 50px !important;
}
@media screen and (max-width: 767px) {
  .phase1 main#roomType .sec1 {
    padding: 30px 0;
  }
  .phase1 main#roomType .sec1 .image_ph {
    top: -50px;
    right: 4px;
    width: 36%;
  }
  .phase1 main#roomType .sec1 .item_box .w24 .caption {
    font-size: 14px;
  }
  .phase1 main#roomType .sec2 {
    padding-top: 10px;
  }
  .phase1 main#roomType .sec2 .flexcontainer {
    gap: 30px;
  }
  .phase1 main#room .flSet {
    flex-direction: column;
  }
  .phase1 main#room .flSet .txt {
    margin-bottom: 2em;
  }
  .phase1 main#room .flSet .w35,
  .phase1 main#room .flSet .w60 {
    width: 100%;
  }
  .phase1 main#room .picCol .text {
    top: 1em;
    left: 1em;
  }
  .phase1 main#room .picCol .caption {
    bottom: 0.5em;
    right: 0.5em;
    text-align: right;
  }
  .phase1 main#room .picCol .pic {
    top: 0;
    left: 0;
  }
  .phase1 main#room .sec .w80container {
    width: 98%;
  }
  .phase1 main#room .sec .fl02 {
    padding: 5%;
    gap: 0.5em;
    justify-content: flex-start;
  }
  .phase1 main#room .sec .fl02 .title {
    width: 100%;
  }
  .phase1 main#room .sec .fl02 .txtCol {
    width: 100%;
  }
}
.phase1 main#space .sec1 {
  padding: 150px 0 100px;
}
.phase1 main#space .sec1 .image_ph {
  position: absolute;
  top: -80px;
  right: 60px;
  width: 25%;
  z-index: 1;
}
.phase1 main#space .sec1 .item_box ul h3 {
  font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
}
@media screen and (max-width: 767px) {
  .phase1 main#space .flexcontainer {
    gap: 30px;
  }
  .phase1 main#space .sec1 {
    padding: 30px 0;
  }
  .phase1 main#space .sec1 .image_ph {
    top: -50px;
    right: 4px;
    width: 36%;
  }
  .phase1 main#space .sec1 .item_box .w24 .caption {
    font-size: 14px;
  }
  .phase1 main#space .sec2 {
    padding: 0 0 30px;
  }
  .phase1 main#space .sec2 .sec2_list {
    margin-top: 20px;
  }
}
.phase1 main#system .keyvisual {
  position: relative;
}
.phase1 main#system .keyvisual .logoImg {
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: clamp(70px, 18vw, 150px);
}
.phase1 main#system .sec1 {
  padding-top: 80px;
  background: linear-gradient(to bottom, #ECE9E6 0%, #fdfbfb 100%);
}
.phase1 main#system .sec1 .icon_attention {
  position: relative;
}
.phase1 main#system .sec1 .icon_attention::after {
  content: "";
  display: block;
  position: absolute;
  top: -30px;
  right: 10px;
  width: 90px;
  height: 90px;
}
.phase1 main#system .sec1 .step01,
.phase1 main#system .sec1 .step02 {
  margin: 40px 0;
  padding: 20px;
  border: 5px solid #a2d7d4;
  background: #fff;
}
.phase1 main#system .sec1 .step01 .icon_attention::after,
.phase1 main#system .sec1 .step02 .icon_attention::after {
  background: url("../../system/images/icon01.png") no-repeat;
  background-size: contain;
}
.phase1 main#system .sec1 .step01 .inner,
.phase1 main#system .sec1 .step02 .inner,
.phase1 main#system .sec1 .step03 .inner {
  padding: 20px 0;
}
.phase1 main#system .sec1 .step02 .flex-justify-between {
  display: flex;
  flex-direction: column;
}
.phase1 main#system .sec1 .step03 .icon_attention::after {
  background: url("../../system/images/icon02.png") no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .phase1 main#system .keyvisual .logoImg {
    right: 10px;
    bottom: 20px;
  }
  .phase1 main#system .sec1 {
    padding-top: 40px;
  }
  .phase1 main#system .sec1 .icon_attention::after {
    top: -30px;
    right: -5px;
    width: 70px;
    height: 70px;
  }
  .phase1 main#system .sec1 .step01 .inner,
  .phase1 main#system .sec1 .step02 .inner,
  .phase1 main#system .sec1 .step03 .inner {
    padding-bottom: 30px;
  }
  .phase1 main#system .sec1 .step02 .flex-justify-between {
    margin-top: 15px;
    gap: 15px;
  }
  .phase1 main#system .sec1 .step03 .w48:nth-child(2) {
    margin-top: 15px;
  }
}
.phase1 main#structure {
  background: #fff;
}
.phase1 main#structure #zehAnchor,
.phase1 main#structure #structureAnchor {
  padding-top: min(80px, 20%);
}
.phase1 main#structure .keyvisual {
  position: relative;
}
.phase1 main#structure .keyvisual .phKv {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  aspect-ratio: 384/187;
}
.phase1 main#structure .keyvisual .phMov {
  width: clamp(320px, 60vw, 1300px);
  position: absolute;
  top: min(90px, 10%);
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  aspect-ratio: 16/9;
}
.phase1 main#structure .keyvisual .phMov iframe {
  width: 100%;
  height: 100%;
}
.phase1 main#structure .sec1 {
  padding: 80px 0;
  background: #f8f7ec;
}
.phase1 main#structure .sec1 .item_box_list {
  display: flex;
  margin-bottom: 15px;
}
.phase1 main#structure .sec1 .item_box_list h3 {
  width: 55%;
}
.phase1 main#structure .sec1 .item_box_list .item_box_text {
  padding: 10px;
  background: #fff;
  flex: 1;
}
.phase1 main#structure .sec1 .item_box_list .item_box_text h4 {
  font-weight: normal;
  font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
}
.phase1 main#structure .sec2 .image_ph {
  position: absolute;
  top: -75px;
  right: 60px;
  width: 20%;
  z-index: 1;
}
.phase1 main#structure .sec2 .sub_title {
  padding: 50px 0;
}
.phase1 main#structure .sec2 .w100 {
  padding: 15px;
  background: #efeedf;
}
.phase1 main#structure .sec2 .centerItem {
  margin: 20px auto;
  width: 70%;
}
.phase1 main#structure .sec2 .w35 h3 {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  font-weight: normal;
}
.phase1 main#structure .sec2 .interview {
  margin-top: 5%;
}
.phase1 main#structure .sec2 .interview h3 {
  margin-bottom: 0.5em;
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.phase1 main#structure .sec2 .interview .taC {
  font-size: 1rem;
  text-align: center;
  letter-spacing: 0.1em;
}
.phase1 main#structure .sec2 .interview .taC .font_bl {
  font-size: 2.2em;
  color: #d3a243;
}
.phase1 main#structure .sec2 .interview .interviewMov {
  margin: 2rem 0;
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 2/1;
  position: relative;
}
.phase1 main#structure .sec2 .interview .interviewMov .pic {
  position: absolute;
}
.phase1 main#structure .sec2 .interview .interviewMov .pic.pic01 {
  width: clamp(50px, 10vw, 120px);
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.phase1 main#structure .sec2 .interview .interviewMov .pic.pic02 {
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 2/1;
}
.phase1 main#structure .sec2 .interview .inteview_bg {
  position: relative;
  margin-top: 2rem;
}
.phase1 main#structure .sec2 .interview .inteview_bg .inteview_ttl {
  position: absolute;
  top: 35%;
  left: 45%;
  width: 13%;
}
.phase1 main#structure .sec2 .interview .inteview_txt {
  margin: 1em auto;
  padding: 10px;
  border: 1px solid #d3A243;
  background-color: #f8f7ec;
  border-radius: 8px;
}
.phase1 main#structure #zeh {
  margin-top: 10%;
}
.phase1 main#structure #zeh .sub_title {
  font-size: clamp(1.375rem, 1.239rem + 0.68vw, 1.75rem);
}
.phase1 main#structure #zeh .zehInner {
  background-color: #f5f2e9;
  padding: 5% 0;
}
.phase1 main#structure #zeh .zehInner .centerItem {
  padding: 0 5%;
}
.phase1 main#structure #zeh .zehInner .pic {
  padding-top: 5%;
}
.phase1 main#structure #zeh .zehInner02 {
  margin-top: 5%;
}
.phase1 main#structure .linkBtnCol {
  padding: min(4%, 40px) 0 min(6%, 60px);
  display: flex;
  justify-content: center;
  gap: 30px;
}
.phase1 main#structure .linkBtnCol .link {
  width: min(50%, 500px);
  text-align: center;
}
.phase1 main#structure .linkBtnCol .link a {
  font-size: clamp(1.375rem, 1.239rem + 0.68vw, 1.75rem);
  display: block;
  margin: 0 auto;
  padding: 3% 3%;
  border: 1px solid #aa965c;
  transition: all 0.5s ease;
  background: radial-gradient(circle, rgb(0, 103, 165) 0%, rgb(0, 10, 71) 100%);
  line-height: normal;
  color: white;
}
.phase1 main#structure .linkBtnCol .link a .line {
  display: block;
  padding: 7% 7%;
  transition: all 0.5s ease;
  position: relative;
}
.phase1 main#structure .linkBtnCol .link a .line::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  top: 0;
  left: 0;
  border: 1px solid #aa965c;
  transition: all 0.5s ease;
  z-index: 1;
  box-sizing: border-box;
}
.phase1 main#structure .linkBtnCol .link a .line::before {
  content: "";
  position: absolute;
  display: block;
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 10px;
  aspect-ratio: 1/0.8660254038;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  background-color: white;
  z-index: 2;
  transition: all 0.5s ease;
}
.phase1 main#structure .linkBtnCol .link a:hover .line::after {
  border: 5px solid #aa965c;
}
.phase1 main#structure .linkBtnCol .link a:hover .line::before {
  bottom: -5px;
}
@media screen and (max-width: 991px) {
  .phase1 main#structure .sec1 .item_box_list {
    flex-direction: column;
  }
  .phase1 main#structure .sec1 .item_box_list h3 {
    width: 100%;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#structure .keyvisual .phKv {
    aspect-ratio: 1/1;
  }
  .phase1 main#structure .keyvisual .phMov {
    width: clamp(320px, 80vw, 1300px);
  }
  .phase1 main#structure .sec1 {
    padding: 40px 0;
  }
  .phase1 main#structure .sec2 .sub_title {
    margin-bottom: 0;
    padding: 30px 0;
  }
  .phase1 main#structure .sec2 .w20 {
    width: 38%;
  }
  .phase1 main#structure .sec2 .w35 {
    width: 58%;
  }
  .phase1 main#structure .sec2 .w40 {
    margin-top: 20px;
    width: 100%;
  }
  .phase1 main#structure .sec2 .centerItem {
    width: 90%;
  }
  .phase1 main#structure .linkBtnCol {
    flex-direction: column;
    justify-content: center;
    gap: 10px;
  }
  .phase1 main#structure .linkBtnCol .link {
    width: 100%;
  }
  .phase1 main#structure .linkBtnCol .link a {
    padding: 3% 3%;
    color: white;
  }
}
.phase1 main#equipment .bd-black {
  margin: 2em 0 1em;
  border-bottom: 1px solid black;
}
.phase1 main#equipment .bd-black .bg-Box {
  display: block;
  width: 240px;
  padding: 10px 0 5px;
  background-color: black;
  margin: 0 auto;
}
.phase1 main#equipment .bd-black h3 {
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
  color: white;
  text-align: center;
  margin-bottom: 0;
}
@media screen and (max-width: 991px) {
  .phase1 main#equipment .bd-black {
    margin: 2em 0 1em;
  }
  .phase1 main#equipment .bd-black .bg-Box {
    display: block;
    width: 200px;
    padding: 5px 0 1px;
    background-color: black;
    margin: 0 auto;
  }
  .phase1 main#equipment .bd-black h3 {
    font-size: 1.1rem;
  }
}
.phase1 main#equipment ul.setsubi {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px 2%;
}
.phase1 main#equipment ul.setsubi li {
  width: 32%;
  line-height: 1.5;
}
.phase1 main#equipment ul.setsubi li h5 {
  font-size: 1rem;
  text-align: center;
  padding: 0.5em;
  margin-bottom: 0;
  color: white;
  background-color: #a3b78a;
}
.phase1 main#equipment ul.setsubi li.w66 {
  width: 66%;
}
.phase1 main#equipment ul.setsubi li.w48 {
  width: 49%;
}
.phase1 main#equipment ul.setsubi li .ph {
  aspect-ratio: 3/2;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .phase1 main#equipment ul.setsubi li h5 {
    font-size: 0.9rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#equipment ul.setsubi li {
    width: 100%;
    line-height: 1.5;
  }
  .phase1 main#equipment ul.setsubi li h5 {
    font-size: 1.1rem;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 0;
    color: white;
    background-color: black;
  }
  .phase1 main#equipment ul.setsubi li.w66 {
    width: 100%;
  }
  .phase1 main#equipment ul.setsubi li.w48 {
    width: 100%;
  }
  .phase1 main#equipment ul.setsubi li .ph {
    aspect-ratio: 3/2;
    width: 100%;
  }
  .phase1 main#equipment ul.setsubi .w33 {
    width: 100%;
  }
}
.phase1 main#equipment .kitchen .flexcontainer .leftItem {
  position: relative;
  width: 50%;
  background-image: url("../../equipment/images/kitchen.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 600/821;
  background-position: center top;
}
.phase1 main#equipment .kitchen .flexcontainer .rightItem {
  width: 48%;
}
.phase1 main#equipment .kitchen .flexcontainer .rightItem ul.setsubi {
  justify-content: space-between;
}
.phase1 main#equipment .kitchen .flexcontainer .rightItem ul.setsubi li {
  width: 48%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#equipment .kitchen .flexcontainer .leftItem {
    width: 100%;
    margin-bottom: 1em;
  }
  .phase1 main#equipment .kitchen .flexcontainer .rightItem {
    width: 100%;
  }
  .phase1 main#equipment .kitchen .flexcontainer .rightItem ul.setsubi {
    justify-content: space-between;
  }
  .phase1 main#equipment .kitchen .flexcontainer .rightItem ul.setsubi li {
    width: 100%;
  }
}
.phase1 main#equipment .bathroom .flexcontainer .leftItem,
.phase1 main#equipment .dressingroom .flexcontainer .leftItem,
.phase1 main#equipment .toilet .flexcontainer .leftItem {
  position: relative;
  width: 40%;
  background-size: cover;
  background-position: 50%;
}
.phase1 main#equipment .bathroom .flexcontainer .rightItem,
.phase1 main#equipment .dressingroom .flexcontainer .rightItem,
.phase1 main#equipment .toilet .flexcontainer .rightItem {
  width: 58%;
}
.phase1 main#equipment .bathroom .flexcontainer .rightItem ul.setsubi,
.phase1 main#equipment .dressingroom .flexcontainer .rightItem ul.setsubi,
.phase1 main#equipment .toilet .flexcontainer .rightItem ul.setsubi {
  justify-content: space-between;
}
.phase1 main#equipment .bathroom .flexcontainer .rightItem ul.setsubi li,
.phase1 main#equipment .dressingroom .flexcontainer .rightItem ul.setsubi li,
.phase1 main#equipment .toilet .flexcontainer .rightItem ul.setsubi li {
  width: 48%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#equipment .bathroom .flexcontainer .leftItem,
  .phase1 main#equipment .dressingroom .flexcontainer .leftItem,
  .phase1 main#equipment .toilet .flexcontainer .leftItem {
    width: 100%;
    margin-bottom: 1em;
  }
  .phase1 main#equipment .bathroom .flexcontainer .rightItem,
  .phase1 main#equipment .dressingroom .flexcontainer .rightItem,
  .phase1 main#equipment .toilet .flexcontainer .rightItem {
    width: 100%;
  }
  .phase1 main#equipment .bathroom .flexcontainer .rightItem ul.setsubi,
  .phase1 main#equipment .dressingroom .flexcontainer .rightItem ul.setsubi,
  .phase1 main#equipment .toilet .flexcontainer .rightItem ul.setsubi {
    justify-content: space-between;
  }
  .phase1 main#equipment .bathroom .flexcontainer .rightItem ul.setsubi li,
  .phase1 main#equipment .dressingroom .flexcontainer .rightItem ul.setsubi li,
  .phase1 main#equipment .toilet .flexcontainer .rightItem ul.setsubi li {
    width: 100%;
  }
}
.phase1 main#equipment .bathroom .flexcontainer .leftItem {
  aspect-ratio: 30/41;
  background-image: url("../../equipment/images/bath-room.jpg");
}
.phase1 main#equipment .dressingroom .flexcontainer .leftItem {
  aspect-ratio: 30/41;
  background-image: url("../../equipment/images/dressing-room.jpg");
}
.phase1 main#equipment .toilet .flexcontainer .leftItem {
  aspect-ratio: 9/7;
  background-image: url("../../equipment/images/toilet.jpg");
}
.phase1 main#equipment .other {
  margin: 2em 0 1em;
}
.phase1 main#equipment .other .container {
  padding-top: 2em;
  border-top: 1px solid #B5B5B6;
}
.phase1 main#equipment .other .titleSub {
  font-size: 1.1rem;
  text-align: center;
  padding: 2px 5px 12px;
  margin-bottom: 1.5em;
  color: white;
  background-color: black;
}
.phase1 main#equipment .other ul.list li {
  width: 100%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#equipment .other .flexcontainer .w55,
  .phase1 main#equipment .other .flexcontainer .w40,
  .phase1 main#equipment .other .flexcontainer .w48 {
    width: 100%;
  }
}
.phase1 main#trust .sec1 {
  padding: 150px 0 100px;
}
@media screen and (max-width: 767px) {
  .phase1 main#trust .w24 {
    width: 50%;
  }
  .phase1 main#trust .sec1 {
    padding: 30px 0;
  }
}
.phase1 main#outline {
  font-family: "Noto Sans Japanese", sans-serif;
  padding: 0px 0;
  background-color: white;
}
.phase1 main#outline .container {
  width: 90%;
  margin: 0px auto;
}
.phase1 main#outline table.style1 {
  width: 100%;
  font-size: 0.9rem;
  line-height: 1.5;
  border-collapse: collapse;
}
.phase1 main#outline table.style1 td {
  padding: 1%;
  border: 1px solid #212121;
}
.phase1 main#outline table.style1 td.cell1 {
  width: 23%;
  background-color: #EEEEEE;
}
.phase1 main#outline table.style1 td.cell2 {
  width: 73%;
}
.phase1 main#map {
  background-color: white;
}
.phase1 main#map h2, .phase1 main#map h3 {
  font-size: clamp(0.9rem, 0.794rem + 0.451vw, 1.2rem);
}
.phase1 main#map .mapImage {
  margin-top: min(2%, 20px);
}
.phase1 {
  /*MAIN END*/
}
.phase1 .annotation {
  padding: 25px 0;
}
.phase1 .annotation a {
  transition: all 0.5s ease;
}
.phase1 .annotation a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .phase1 .annotation ul {
    gap: 20px;
  }
  .phase1 .annotation .w33 {
    width: 100%;
  }
}
.phase1 #footerNaviCol {
  display: none;
  position: fixed;
  z-index: 99;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 92px;
  border-top: 2px solid #004F99;
  background-color: white;
}
.phase1 #footerNaviCol .link {
  display: block;
}
@media screen and (max-width: 767px) {
  .phase1 #footerNaviCol {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0px;
  }
  .phase1 #footerNaviCol .link {
    width: calc((100% - 0px) / 3);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  .phase1 #footerNaviCol .link::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0;
    right: 0;
    background-color: #004F99;
    z-index: 2;
  }
  .phase1 #footerNaviCol .link a {
    display: block;
    width: 90px;
    height: 90px;
    line-height: 0;
  }
  .phase1 #footerNaviCol .link a img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    vertical-align: bottom;
  }
  .phase1 #footerNaviCol .link:last-of-type::after {
    display: none;
  }
  .phase1 #footerNaviCol .link:nth-child(2) {
    background: linear-gradient(90deg, rgb(165, 147, 90) 0%, rgb(188, 176, 136) 50%, rgb(165, 147, 90) 100%);
  }
  .phase1 #footerNaviCol .link:nth-child(3) {
    background: linear-gradient(90deg, rgb(0, 34, 85) 0%, rgb(59, 82, 127) 50%, rgb(0, 34, 85) 100%);
  }
}

.phase1 .flexcontainer,
.phase1 .flexContainer {
  gap: 1em 1.5em;
}
.phase1 .flexcontainer.flex-justify-start,
.phase1 .flexContainer.flex-justify-start {
  justify-content: flex-start;
}
.phase1 .flexcontainer.lifeList .lifeListCol,
.phase1 .flexContainer.lifeList .lifeListCol {
  width: 48%;
}
.phase1 .flexcontainer .w18,
.phase1 .flexContainer .w18 {
  width: 18%;
}
@media screen and (min-width: 992px) {
  .phase1 .flexcontainer,
  .phase1 .flexContainer {
    gap: 1em 1em;
  }
}
@media screen and (max-width: 991px) {
  .phase1 .flexcontainer,
  .phase1 .flexContainer {
    gap: 1em 0.8em;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 .flexcontainer .w32,
  .phase1 .flexContainer .w32 {
    width: 48%;
  }
  .phase1 .flexcontainer.lifeList .lifeListCol,
  .phase1 .flexContainer.lifeList .lifeListCol {
    width: 100%;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 .phW80 {
    width: 100%;
  }
}
.phase1 .lifeListCol .item {
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  padding: 10px 0px;
}
.phase1 .lifeListCol .item .title {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.phase1 .lifeListCol .item dl.itemList {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  max-width: 100%;
  line-height: 2.2;
  padding: 0;
}
.phase1 .lifeListCol .item dl.itemList dt.list {
  width: 80%;
  font-size: clamp(0.8rem, 0.73rem + 0.3vw, 1rem);
}
.phase1 .lifeListCol .item dl.itemList dd {
  font-size: clamp(0.7rem, 0.63rem + 0.3vw, 0.9rem);
  width: 20%;
  text-align: right;
}
.phase1 main#location h2 {
  font-size: clamp(1.2rem, 0.848rem + 1.502vw, 2.2rem);
  letter-spacing: 0.1em;
}
.phase1 main#location h4 {
  font-size: clamp(1.2rem, 0.918rem + 1.202vw, 2rem);
  font-weight: 500;
  letter-spacing: 0.1em;
}
.phase1 main#location h5, .phase1 main#location h6 {
  font-size: clamp(1.3rem, 0.913rem + 1.653vw, 2.4rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.phase1 main#location p {
  word-break: keep-all;
}
.phase1 main#location span.large {
  font-size: 1.2em;
}
.phase1 main#location .flex-column {
  flex-wrap: nowrap;
  flex-direction: column;
  gap: 2em;
}
.phase1 main#location .titleBar {
  background-color: #367D4D;
  padding: 4px 0 10px;
}
.phase1 main#location .titleBar .title {
  width: min(80%, 320px);
  margin: 0 auto;
}
.phase1 main#location .titleBar2 {
  background-color: #435944;
  padding: 15px 0 20px;
}
.phase1 main#location .titleBar2 .title {
  width: min(80%, 320px);
  margin: 0 auto;
}
.phase1 main#location .titleBar2 .title2 {
  width: min(80%, 400px);
  margin: 0 auto;
}
.phase1 main#location h4.title, .phase1 main#location h5.title {
  line-height: 1.5;
  margin-bottom: 0.5em;
}
.phase1 main#location h4.title.green, .phase1 main#location h5.title.green {
  color: #367D4D;
}
.phase1 main#location .bg_black {
  background-color: black;
  padding: 2% 0 1%;
  color: white;
}
.phase1 main#location .bg_black .title {
  font-size: clamp(1.3rem, 0.701rem + 2.554vw, 3rem);
  text-align: center;
  letter-spacing: 0.1em;
}
.phase1 main#location .bg_white {
  background-color: white;
  padding: 2% 0 1%;
}
.phase1 main#location .bBorder {
  padding: 3% 0 2%;
  color: black;
  font-size: clamp(1.2rem, 0.918rem + 1.202vw, 2rem);
  text-align: center;
  font-weight: 600;
  border-bottom: 1px solid black;
}
.phase1 main#location .sec1 {
  background-color: #367D4D;
  color: white;
}
.phase1 main#location .sec2 {
  background-color: #DFDDD6;
}
.phase1 main#location .sec2 .inner {
  padding: 5% 0;
}
.phase1 main#location .sec2 .inner .flexcontainer {
  justify-content: center;
  gap: 1em;
}
.phase1 main#location .sec2 .inner .flexcontainer .item {
  width: 46%;
}
.phase1 main#location .sec2 .inner .flexcontainer .item:hover {
  opacity: 0.5;
}
.phase1 main#location .sec4 .inner {
  padding: 8% 0;
}
.phase1 main#location .sec5 {
  background-color: black;
  color: white;
}
.phase1 main#location .sec5 .bBorder {
  color: white;
  border-bottom: 1px solid white;
}
.phase1 main#location .sec5 .inner {
  padding: 4% 0;
}
.phase1 main#location .sec5 .inner .flexcontainer .item {
  aspect-ratio: 16/9;
}
.phase1 main#location .sec5 .inner .flexcontainer .item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.phase1 main#location .sec6 .inner {
  padding: 4% 0;
}
.phase1 main#location .sec7 .inner {
  padding: 4% 0;
}
.phase1 main#location .sec7 .inner .flexcontainer .item {
  aspect-ratio: 16/9;
}
.phase1 main#location .sec7 .inner .flexcontainer .item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.phase1 main#location .sec8 .notes {
  margin: 3% 0 5%;
  color: white;
  background-color: #2B392F;
  padding: 30px;
  border-radius: 20px;
}
.phase1 main#location .sec8 .notes .gridcontainer {
  margin: 3% 0 3%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 15px;
  grid-row-gap: 15px;
}
.phase1 main#location .sec8 .notes .gridcontainer .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 16px;
}
.phase1 main#location .sec8 .notes .gridcontainer .item h5 {
  font-size: clamp(1rem, 0.93rem + 0.3vw, 1.2rem);
  text-align: center;
  line-height: 1.5;
  padding-bottom: 0.5em;
  border-bottom: 1px solid white;
}
.phase1 main#location .sec8 .notes .gridcontainer .item p {
  word-break: normal;
  line-height: 1.5;
}
@media (orientation: portrait) and (max-width: 767px) {
  .phase1 main#location .sec8 .notes .gridcontainer {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
}
.phase1 main#location .sec8 .notes h6 {
  font-size: clamp(1rem, 0.859rem + 0.601vw, 1.4rem);
  text-align: center;
}/*# sourceMappingURL=style_location.css.map */