@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600;700&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)
*/
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
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, sub, sup, 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 {
  vertical-align: bottom;
  border: none;
  height: auto;
}

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

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

a {
  cursor: pointer;
}

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

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

.mt0 {
  margin-top: 0px;
}

.mt1 {
  margin-top: 1em;
}

.mt2 {
  margin-top: 2em;
}

.mt3 {
  margin-top: 3em;
}

.mt4 {
  margin-top: 4em;
}

.mt5 {
  margin-top: 5em;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.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: 0em;
}

.mb1 {
  margin-bottom: 1em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb3 {
  margin-bottom: 3em;
}

.mb4 {
  margin-bottom: 4em;
}

.mb5 {
  margin-bottom: 5em;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.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;
}

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

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

.phW60 {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}
.phW60 img {
  width: 100%;
}

.phW40 {
  width: 40%;
  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%;
}

.w31 {
  width: 31%;
}

.w32 {
  width: 32%;
}

.w35 {
  width: 35%;
}

.w40 {
  width: 40%;
}

.w45 {
  width: 45%;
}

.w48 {
  width: 48%;
}

.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;
}

.nidden {
  display: none;
}

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

.clearfix:after {
  clear: both;
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
  height: -webkit-fill-available;
  font-size: 16px;
}

body {
  background-color: white;
  margin: 0;
  font-size: 1rem;
  box-sizing: border-box;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  min-height: 100vh;
  min-height: -webkit-fill-available;
}
body img {
  width: 100%;
}

/* ! Mixin */
h1,
h2,
h3 {
  font-weight: 700;
  line-height: 2;
}

p {
  font-size: 0.9rem;
  line-height: 2;
}
p.strong {
  font-weight: bold;
}

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;
}

.ph {
  position: relative;
}

button .online,
.basicBW.online {
  display: none;
}

.container {
  width: 94%;
  max-width: 1680px;
  margin-left: auto;
  margin-right: auto;
}

.w40container {
  width: 40%;
  margin-left: auto;
  margin-right: auto;
}
@media (orientation: portrait) and (max-width: 767px) {
  .w40container {
    width: 80%;
  }
}

.w50container {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}
@media (orientation: portrait) and (max-width: 767px) {
  .w50container {
    width: 80%;
  }
}

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

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

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

.red {
  color: #4f7da2;
}

.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;
}

.txshadow-b {
  text-shadow: 2px 2px 2px black;
}

.txshadow-w {
  text-shadow: 2px 2px 2px white;
}

.caption {
  font-size: 0.7rem;
  line-height: 1.5;
  letter-spacing: 0;
}
.caption.minusTop {
  margin-top: -4em;
}
.caption.left {
  text-align: left !important;
  margin-left: 2em;
}
.caption.right {
  text-align: right !important;
}

.caption_btm {
  position: absolute;
  bottom: 2px;
  left: 5px;
  font-size: 7px;
  margin-bottom: 0;
  color: black;
}
.caption_btm.white {
  color: white;
}
.caption_btm.right {
  left: auto;
  right: 5px;
}

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;
}

.stickyContainer {
  position: relative;
}

.top li.menu1 {
  background-color: #b98641;
}

.concept li.menu2 {
  background-color: #b98641;
}

.position li.menu3 {
  background-color: #b98641;
}

.design li.menu4 {
  background-color: #b98641;
}

.siteplan li.menu5 {
  background-color: #b98641;
}

.location li.menu6 {
  background-color: #b98641;
}

.plan li.menu7 {
  background-color: #b98641;
}

.gallery li.menu8 {
  background-color: #b98641;
}

.quality li.menu9 {
  background-color: #b98641;
}

.structure li.menu10 {
  background-color: #b98641;
}

/* Header */
.headStack {
  position: sticky;
  top: 0;
  width: 100%;
  height: 73px;
  background-color: black;
  color: #EEEEEE;
  z-index: 50;
}
@media screen and (max-width: 991px) {
  .headStack {
    top: 0;
    height: 60px;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .headStack {
    top: 0;
    height: 60px;
  }
}

header {
  padding: 6px 0;
}
header .container {
  position: relative;
  width: 100%;
  max-width: none;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header .container .logo {
  display: flex;
  width: 40%;
  justify-content: flex-start;
  align-items: center;
}
header .container .logo .logoBox {
  width: 150px;
  margin-right: 0.5em;
}
header .container .logo .pjName {
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  letter-spacing: 0.1em;
  color: white;
}
header .container nav.headerNavi {
  display: flex;
  justify-content: flex-end;
  gap: 0 1em;
  width: 50%;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
}
header .container nav.headerNavi ul {
  display: flex;
  width: 80%;
  justify-content: flex-end;
  align-items: center;
  gap: 0 10px;
}
header .container nav.headerNavi ul li {
  font-family: "EB Garamond", serif;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
header .container nav.headerNavi ul li a {
  display: block;
  color: #EEEEEE;
  padding: 0px;
  letter-spacing: 0.1em;
  text-align: center;
}
header .container nav.headerNavi ul li a .fa {
  display: inline;
}
header .container nav.headerNavi ul li a span {
  margin-left: 0.5em;
}
header .container nav.headerNavi ul li.btn {
  border: 1px solid white;
}
header .container nav.headerNavi ul li.btn:hover {
  opacity: 0.5;
}
header .container nav.headerNavi ul li.btn a {
  display: grid;
  place-content: center;
  width: 150px;
  height: 50px;
}
header .container nav.headerNavi ul li.btn.request {
  background-color: #b98641;
}
header .container nav.headerNavi ul li.btn.reserve {
  background-color: #888889;
}
header .container nav.headerNavi ul li.btn.online {
  background-color: #288472;
  display: none;
}
@media screen and (max-width: 991px) {
  header {
    width: 100%;
  }
  header .container .logo {
    width: 100%;
  }
  header .container .logo .logoBox {
    width: 120px;
    margin-right: 0.5em;
  }
  header .container .logo .pjName {
    font-size: 0.9rem;
    letter-spacing: 0.1em;
  }
  header .container nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1em;
  }
  header .container nav ul li {
    font-size: 0.7rem;
    line-height: 1.5;
  }
  header .container nav.headerNavi > ul {
    display: none;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  header {
    padding: 24px 0 0 20px;
  }
  header .container .logo {
    width: 100%;
    justify-content: center;
  }
  header .container .logo .pjName {
    vertical-align: middle;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    text-align: left;
  }
  header .container nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1em;
  }
  header .container nav ul li {
    font-size: 0.7rem;
    line-height: 1.5;
  }
  header .container nav.headerNavi {
    width: 100%;
    padding: 14px 24px 0;
  }
  header .container nav.headerNavi ul {
    width: 70%;
    justify-content: space-around;
    gap: 0 1.5em;
  }
  header .container nav.headerNavi ul li {
    font-size: 1.8rem;
    line-height: 0.5;
  }
  header .container nav.headerNavi ul li .sub {
    font-size: 0.3em;
    margin: 0;
  }
  header .container nav.headerNavi a {
    display: block;
    color: #EEEEEE;
    letter-spacing: 0em;
    padding: 0;
    text-align: center;
  }
  header .container nav.headerNavi a .fa {
    display: inline-block;
  }
}

#gNavi {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
  top: 0;
  right: -100%;
  width: min(100%, 500px);
  height: 100vh;
  /*ナビの高さ*/
  background: rgba(0, 0, 0, 0.9);
  /*動き*/
  transition: all 0.6s;
}
@media screen and (max-width: 991px) {
  #gNavi {
    width: 60%;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  #gNavi {
    width: 100%;
  }
}

/*アクティブクラスがついたら位置を0に*/
#gNavi.panelactive {
  right: 0;
}

/*ナビゲーションの縦スクロール*/
#gNavi.panelactive #g-nav-list {
  position: relative;
  z-index: 999;
  height: 80vh;
  margin-left: auto;
  margin-right: auto;
  /*表示する高さ*/
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (max-width: 991px) {
  #gNavi.panelactive #g-nav-list {
    width: 80%;
  }
}

#gNavi.panelactive #g-nav-list::-webkit-scrollbar {
  display: none;
}

.menuContent {
  width: 100%;
  padding: 5% 0%;
}
.menuContent .stack {
  position: relative;
  width: 60%;
  margin: 0 auto;
}
.menuContent .stack .logo {
  width: 80%;
  max-width: 220px;
  margin: 0 auto 10%;
}
.menuContent .stack ul.content-menu {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 20px;
}
.menuContent .stack ul.content-menu li {
  font-family: "EB Garamond", serif;
  font-weight: 500;
  position: relative;
  width: 100%;
  font-size: 0.9rem;
  letter-spacing: 0.2em;
  vertical-align: middle;
  border: 1px dashed #4A4A4A;
}
.menuContent .stack ul.content-menu li a {
  display: block;
  padding: 20px 20px;
  color: #EEEEEE;
}
.menuContent .stack ul.content-menu li a span.on {
  position: absolute;
  display: block;
  font-size: 0.8em;
  right: 10px;
  top: 40%;
  color: #B5B5B6;
}
.menuContent .stack ul.content-menu li:hover {
  background-color: #B5B5B6;
}
.menuContent .stack .bttomBtnArea {
  background-color: transparent;
}
.menuContent .stack .bttomBtnArea .middle {
  width: 100%;
  font-family: "EB Garamond", serif;
}
.menuContent .stack .bttomBtnArea .middle button.basicBW {
  aspect-ratio: 16/6;
}
@media screen and (max-width: 1199px) {
  .menuContent .stack {
    width: 80%;
  }
}
@media screen and (max-width: 991px) {
  .menuContent .stack {
    width: 90%;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .menuContent .stack {
    width: 100%;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .menuContent {
    padding: 0;
  }
}

/*========= ボタンのためのCSS ===============*/
.openbtn1 {
  position: relative;
  z-index: 9999;
  /*ボタンを最前面に*/
  cursor: pointer;
  margin-top: 7px;
  width: 50px;
  height: 50px;
  background-color: transparent;
}
@media screen and (max-width: 991px) {
  .openbtn1 {
    position: fixed;
    top: 10px;
    right: 20px;
    margin-top: 0;
  }
}

/*×に変化*/
.openbtn1 span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 20px;
  height: 3px;
  border-radius: 2px;
  background-color: white;
  width: 55%;
}

.openbtn1 span:nth-of-type(1) {
  top: 10px;
}

.openbtn1 span:nth-of-type(2) {
  top: 20px;
}

.openbtn1 span:nth-of-type(3) {
  top: 30px;
}

.openbtn1.active span:nth-of-type(1) {
  top: 10px;
  left: 22px;
  transform: translateY(10px) rotate(-45deg);
  width: 40%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
  top: 30px;
  left: 22px;
  transform: translateY(-10px) rotate(45deg);
  width: 40%;
}

/* !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 #4f7da2;
}
.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 {
  position: relative;
  width: 100%;
  padding: 10px 0;
  z-index: 10;
}
.bttomBtnArea .middle {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em 2%;
  width: 90%;
  max-width: 800px;
  margin: 3% auto;
  padding: 0;
  text-align: center;
}
.bttomBtnArea .middle button.basicBW {
  position: relative;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  width: 48%;
  aspect-ratio: 16/4;
  border: 1px solid white;
  color: #EEEEEE;
  letter-spacing: 3px;
  background-image: url(../images/common/triangle-w.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-color: transparent;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
  z-index: 2;
}
.bttomBtnArea .middle button.basicBW.request {
  background-color: #b98641;
  color: white;
}
.bttomBtnArea .middle button.basicBW.reserve {
  background-color: #888889;
  color: white;
}
.bttomBtnArea .middle button.basicBW.online {
  background-color: #288472;
  color: white;
}
.bttomBtnArea .middle button.basicBW .fa {
  position: absolute;
  top: 32%;
  right: 10px;
  font-size: 20px;
}
.bttomBtnArea .middle button.basicBW:hover {
  opacity: 0.5;
}
.bttomBtnArea .hpLink li {
  font-family: "EB Garamond", serif;
  display: inline-block;
  margin: 10px 20px 0px;
  letter-spacing: 0.2em;
}
.bttomBtnArea .hpLink li a {
  color: white;
}
.bttomBtnArea .hpLink li a:hover {
  text-decoration: underline;
}
.bttomBtnArea .hpLink li.soon {
  display: none;
}
.bttomBtnArea .caption {
  font-family: "Noto Sans JP", sans-serif;
}
.bttomBtnArea .w100Container {
  margin-top: 50px;
}
.bttomBtnArea .w100Container ul {
  width: 90%;
  max-width: 776px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
}
.bttomBtnArea .w100Container ul li {
  width: 24%;
  margin: 0.5%;
}
.bttomBtnArea .w100Container ul li img {
  width: 100%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .bttomBtnArea .middle button.basicBW {
    font-size: 30%;
    aspect-ratio: 16/5;
  }
}

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

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

footer {
  position: relative;
  width: 100%;
  padding: 0px;
  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: 300px;
  margin: 20px auto 10px;
}
footer .bottomStack .centerLogo img {
  width: 100%;
}
footer .bottomStack .copyright {
  text-align: center;
  color: #212121;
  font-size: 0.7em !important;
}

.linkButton {
  margin: 5% auto 0;
  width: 100px;
}
.linkButton a {
  display: block;
  width: 120px;
  height: 120px;
  padding: 46px 0;
  color: white;
  -moz-border-radius: 60px;
  -webkit-border-radius: 60px;
  border-radius: 60px;
  background-color: #4f7da2;
  text-align: center;
}
.linkButton a:hover {
  opacity: 0.5;
}

/* !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 .w18,
.flexcontainer .w18 {
  width: 18%;
}
.flexContainer .w20,
.flexcontainer .w20 {
  width: 20%;
}
.flexContainer .w24,
.flexcontainer .w24 {
  width: 24%;
}
.flexContainer .w25,
.flexcontainer .w25 {
  width: 25%;
}
.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 .w37,
.flexcontainer .w37 {
  width: 37%;
}
.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 .w52,
.flexcontainer .w52 {
  width: 52%;
}
.flexContainer .w55,
.flexcontainer .w55 {
  width: 55%;
}
.flexContainer .w60,
.flexcontainer .w60 {
  width: 60%;
}
.flexContainer .w62,
.flexcontainer .w62 {
  width: 62%;
}
.flexContainer .w65,
.flexcontainer .w65 {
  width: 65%;
}
.flexContainer .w66,
.flexContainer .flexItem3_2,
.flexcontainer .w66,
.flexcontainer .flexItem3_2 {
  width: 66%;
}
.flexContainer .w70,
.flexcontainer .w70 {
  width: 70%;
}
.flexContainer .w74,
.flexcontainer .w74 {
  width: 74%;
}
.flexContainer .w75,
.flexcontainer .w75 {
  width: 75%;
}
.flexContainer .w85,
.flexcontainer .w85 {
  width: 85%;
}
.flexContainer .w25,
.flexContainer .w33,
.flexContainer .w30,
.flexContainer .w40,
.flexContainer .w50,
.flexContainer .w60,
.flexContainer .w65,
.flexContainer .w70,
.flexContainer .w74,
.flexContainer .w75,
.flexContainer .w85,
.flexContainer .flexItem2,
.flexContainer .flexItem3,
.flexcontainer .w25,
.flexcontainer .w33,
.flexcontainer .w30,
.flexcontainer .w40,
.flexcontainer .w50,
.flexcontainer .w60,
.flexcontainer .w65,
.flexcontainer .w70,
.flexcontainer .w74,
.flexcontainer .w75,
.flexcontainer .w85,
.flexcontainer .flexItem2,
.flexcontainer .flexItem3 {
  margin-bottom: 10px;
}
.flexContainer.flex-align-end,
.flexcontainer.flex-align-end {
  align-items: flex-end;
}
.flexContainer.flex-align-stretch,
.flexcontainer.flex-align-stretch {
  align-items: stretch;
}

/* !Button */
.btn {
  letter-spacing: 3px;
}

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

.btn_scroll {
  position: absolute;
  top: 80px;
  left: 50%;
  width: 80px;
  height: 80px;
  margin-left: -40px;
  color: white;
  background-color: black;
  background-image: url(../images/common/nLogo_w.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  text-align: center;
  border: 1px solid black;
  z-index: 1;
  -moz-border-radius: 40px;
  -webkit-border-radius: 40px;
  border-radius: 40px;
  -moz-animation: fluffy1 4s ease infinite;
  -webkit-animation: fluffy1 4s ease infinite;
  animation: fluffy1 4s ease infinite;
}
.btn_scroll p {
  font-size: 10px;
  line-height: 1.5;
  margin-bottom: 0;
}

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

.btn-more {
  display: block;
  width: 300px;
  height: 300px;
  margin: 0 auto;
}
.btn-more img {
  width: 90%;
}
.btn-more a {
  color: white;
}

.btn-more-inner {
  position: absolute;
  bottom: -5%;
  left: 50%;
  margin-left: -80px;
  width: 160px;
  color: white;
  letter-spacing: 2px;
  text-align: center;
  background-color: black;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
.btn-more-inner:hover {
  background-color: #4f7da2;
  color: white;
}

/* !gNavi Anime */
.borderBtmTop {
  display: inline-block;
  position: relative;
}
.borderBtmTop a {
  color: white;
}
.borderBtmTop a .fa {
  color: #4f7da2;
}
.borderBtmTop a:hover .fa {
  color: white;
}
.borderBtmTop.current {
  background-color: #4f7da2;
}
.borderBtmTop.current .fa {
  color: white;
}

.borderBtmTop::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleY(0);
  height: 100%;
  bottom: 0;
  left: 0;
  background-color: #4f7da2;
  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;
}

.footerNavi {
  display: none;
}

/* !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;
  background-color: #666;
}

.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;
  }
}
@-webkit-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

***************************************/
/* !tab */
/* !SP */
@media only screen and (max-width: 767px) {
  .spHidden {
    display: none;
  }
  .pcHidden {
    display: block;
  }
  .caption {
    font-size: 8px;
  }
  .container {
    width: 100%;
  }
  .headStack header .container {
    flex-direction: column;
  }
  .headStack header .container .logo {
    flex-direction: row;
    width: 90%;
    min-width: auto;
    height: auto;
    margin: 0 0;
    padding: 0;
  }
  .headStack header .container .logo .logoBox {
    display: none;
  }
  .headStack header .container .logo .pjName {
    width: 100%;
    font-size: 0.8rem;
    text-align: left;
  }
  .bttomBtnArea {
    width: 100%;
    padding-left: 3%;
    padding-right: 3%;
  }
  .bttomBtnArea .w100Container ul li {
    width: 48%;
    margin: 1%;
  }
  .w60container,
  .w70container,
  .w80container {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .footerNavi {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 64px;
    background-color: #ddd;
    z-index: 999;
    padding: 2px;
  }
  .footerNavi nav.spNav ul.sp_buttons {
    display: flex;
    justify-content: center;
  }
  .footerNavi nav.spNav ul.sp_buttons li {
    width: 18%;
    border-right: 1px solid #999;
  }
  .footerNavi nav.spNav ul.sp_buttons li a {
    display: block;
    width: 76%;
    margin: 2px auto;
  }
  .footerNavi nav.spNav ul.sp_buttons li a img {
    width: 100%;
  }
  .footerNavi nav.spNav ul.sp_buttons li:last-child {
    border-right: none;
  }
}
/* zoomIn */
.zoomIn {
  animation-name: zoomInAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
  from {
    transform: scale(0.6);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* zoomOut */
.zoomOut {
  animation-name: zoomOutAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

@keyframes zoomOutAnime {
  from {
    transform: scale(1.2);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.zoomInTrigger,
.zoomOutTrigger {
  opacity: 0;
}

/* blur */
.blur {
  animation-name: blurAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes blurAnime {
  from {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.blurTrigger {
  opacity: 0;
}

/* fadeUp */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* fadeDown */
.fadeDown {
  animation-name: fadeDownAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* fadeLeft */
.fadeLeft {
  animation-name: fadeLeftAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* fadeRight */
.fadeRight {
  animation-name: fadeRightAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
  opacity: 0;
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*==================================================
背景色が伸びて出現
===================================*/
.bgextend {
  animation-name: bgextendAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  /*　はみ出た色要素を隠す　*/
  opacity: 0;
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*中の要素*/
.bgappear {
  animation-name: bgextendAnimeSecond;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*左から右*/
.bgLRextend::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #666;
  /*伸びる背景色の設定*/
}

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
/*右から左*/
.bgRLextend::before {
  animation-name: bgRLextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #666;
  /*伸びる背景色の設定*/
}

@keyframes bgRLextendAnime {
  0% {
    transform-origin: right;
    transform: scaleX(0);
  }
  50% {
    transform-origin: right;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: left;
  }
  100% {
    transform-origin: left;
    transform: scaleX(0);
  }
}
/*下から上*/
.bgDUextend::before {
  animation-name: bgDUextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #666;
  /*伸びる背景色の設定*/
}

@keyframes bgDUextendAnime {
  0% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
  50% {
    transform-origin: bottom;
    transform: scaleY(1);
  }
  50.001% {
    transform-origin: top;
  }
  100% {
    transform-origin: top;
    transform: scaleY(0);
  }
}
/*上から下*/
.bgUDextend::before {
  animation-name: bgUDextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #666;
  /*伸びる背景色の設定*/
}

@keyframes bgUDextendAnime {
  0% {
    transform-origin: top;
    transform: scaleY(0);
  }
  50% {
    transform-origin: top;
    transform: scaleY(1);
  }
  50.001% {
    transform-origin: bottom;
  }
  100% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger {
  opacity: 0;
}

/* アニメーションスタートの遅延時間を決めるCSS*/
.delay-time05 {
  animation-delay: 0.5s;
}

.delay-time08 {
  animation-delay: 0.8s;
}

.delay-time1 {
  animation-delay: 1s;
}

.delay-time15 {
  animation-delay: 1.5s;
}

.delay-time2 {
  animation-delay: 2s;
}

.delay-time25 {
  animation-delay: 2.5s;
}

/* アニメーション自体が変化する時間を決めるCSS*/
.change-time05 {
  animation-duration: 0.5s;
}

.change-time1 {
  animation-duration: 1s;
}

.change-time15 {
  animation-duration: 1.5s;
}

.change-time2 {
  animation-duration: 2s;
}

.change-time25 {
  animation-duration: 2.5s;
}

/* !tab */
.tabBase {
  margin-left: auto;
  margin-right: auto;
  background-color: rgba(255, 255, 255, 0.7);
  border: 1px solid #979796;
  padding: 30px;
}
.tabBase .titleStack {
  padding-left: 30px;
  padding-right: 30px;
}
.tabBase .titleStack h1.pageTitle {
  margin: 0 0 0px 0;
}
.tabBase .titleStack p.lead {
  margin-top: 0;
}

.tabContainer {
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
}

.tabMenu {
  width: 100%;
}
.tabMenu ul.tab {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.tabMenu ul.tab li {
  list-style: none;
  width: 16.666%;
  font-size: 1.2em;
  letter-spacing: 0px;
  text-align: center;
  border-right: 1px solid #b9ac67;
  text-transform: uppercase;
}
.tabMenu ul.tab li.item2 {
  width: 50%;
}
.tabMenu ul.tab li.item3 {
  width: 33.333%;
}
.tabMenu ul.tab li.item4 {
  width: 25%;
  border-bottom: 1px solid #b9ac67;
}
.tabMenu ul.tab li.item5 {
  width: 20%;
  border-bottom: 1px solid #b9ac67;
}
.tabMenu ul.tab li:last-child {
  border-right: none;
}
.tabMenu ul.tab li a {
  display: block;
  width: 100%;
  padding: 10px 0;
  color: #4A4A4A;
  background-color: #EEEEEE;
  cursor: pointer;
}
.tabMenu ul.tab li a:hover, .tabMenu ul.tab li a.selected {
  background-color: #b9ac67;
  color: white;
  text-decoration: none;
}
.tabMenu ul.tab li span {
  font-size: 0.7em;
}
.tabMenu ul.tab li sup {
  vertical-align: super;
  font-size: 0.7em;
}

.tabItem > .stack {
  padding: 15px;
}

/* !tab panel */
.tabPanel {
  padding: 0px;
}
.tabPanel .tab {
  width: 100%;
  list-style: none;
  line-height: 1.5;
}
.tabPanel h2 {
  margin: 15px 0;
}
.tabPanel h2.bBorder {
  margin: 0 0 30px;
  padding: 0px;
  letter-spacing: 5px;
}
.tabPanel h3 {
  font-weight: bold;
  margin-bottom: 15px;
}
.tabPanel h4,
.tabPanel h5 {
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 991px) {
  .tabMenu ul.tab li {
    font-size: 0.7em;
    letter-spacing: 0px;
  }
}
@media screen and (max-width: 767px) {
  .tabContainer {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
  }
  .tabBase {
    padding: 0px;
  }
  .tabBase .titleStack {
    padding: 0;
  }
  .tabMenu ul.tab li {
    font-size: 0.7em;
    letter-spacing: 0px;
  }
  .tabMenu ul.tab li.item2, .tabMenu ul.tab li.item3, .tabMenu ul.tab li.item4, .tabMenu ul.tab li.item5 {
    width: 100%;
  }
}
html,
body {
  background-color: white;
  margin: 0;
  font-size: 16px;
  box-sizing: border-box;
  font-family: "Noto Serif JP", serif;
}

h2 {
  font-size: clamp(1.2rem, 1.059rem + 0.601vw, 1.6rem);
  font-weight: 300;
  letter-spacing: 0.1em;
}

h3 {
  font-size: 1.3rem;
  font-weight: 300;
  letter-spacing: 0.1rem;
}

h2 span,
h3 span,
h4 span,
h5 span,
h6 span,
p span {
  display: inline-block;
}

.eng {
  font-family: "EB Garamond", serif;
  font-weight: normal;
  letter-spacing: 0.1em;
  color: inherit;
}

.dashB {
  background-color: transparent;
  border-bottom: 1px dashed #212121;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}

.boxNumber {
  display: inline-block;
  width: 1.6em;
  line-height: 1.6;
  padding-bottom: 0;
  background-color: #840420;
  box-sizing: border-box;
  color: white;
  text-align: center;
  margin-right: 0.5em;
  vertical-align: middle;
}

.objfit {
  object-fit: cover;
  width: 100%;
  height: inherit;
}

.item100,
.w100 {
  width: 100%;
}

main {
  display: block;
  position: relative;
  line-height: 2;
  font-weight: 400;
}
main img {
  width: 100%;
}
main ul li {
  font-size: 0.9rem;
}

/* !Pages */
@media screen and (max-width: 991px) {
  .pages .pcOnly {
    display: none;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages .pcOnly {
    display: none;
  }
}
.pages p.lead {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 991px) {
  .pages p.lead {
    font-size: 1.2rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages p.lead {
    font-size: 1rem;
  }
}
.pages p.lead2 {
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 991px) {
  .pages p.lead2 {
    font-size: 1rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages p.lead2 {
    font-size: 0.9rem;
  }
}
.pages .fullWidth {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  overflow: hidden;
}
.pages .secBg {
  height: 100%;
}
.pages h1.ttl {
  height: 24px;
  margin-bottom: 3em;
}
.pages h1.ttl img {
  width: auto;
  height: 100%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .pages h1.ttl {
    height: 18px;
  }
}

.luic.pages .none,
.quality.pages .none {
  display: none;
}
.luic.pages main,
.quality.pages main {
  display: block;
  font-family: "Crimson Text", "Noto Serif JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}
.luic.pages main img,
.quality.pages main img {
  width: 100%;
}
.luic.pages main h3,
.quality.pages main h3 {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 0.5em;
}
.luic.pages main h4,
.quality.pages main h4 {
  margin-bottom: 0.5em;
}
.luic.pages main h4.mb0,
.quality.pages main h4.mb0 {
  margin-bottom: 0;
}
.luic.pages main h4 span.sub,
.quality.pages main h4 span.sub {
  font-size: 0.9em;
  font-weight: normal;
}
.luic.pages main h4.obi-black, .luic.pages main h4.obi-blue, .luic.pages main h4.obi-gray, .luic.pages main h4.obi-orange,
.quality.pages main h4.obi-black,
.quality.pages main h4.obi-blue,
.quality.pages main h4.obi-gray,
.quality.pages main h4.obi-orange {
  line-height: 1.5;
}
.luic.pages main h4.lead,
.quality.pages main h4.lead {
  font-size: 1.2rem;
}
.luic.pages main h5,
.quality.pages main h5 {
  margin-bottom: 0.5em;
  font-size: 1.4rem;
  line-height: 1.3;
}
.luic.pages main h5 span,
.quality.pages main h5 span {
  font-size: 65%;
}
.luic.pages main p,
.luic.pages main li,
.luic.pages main dt,
.luic.pages main dd,
.quality.pages main p,
.quality.pages main li,
.quality.pages main dt,
.quality.pages main dd {
  font-size: 0.8rem;
  line-height: 1.7;
}
.luic.pages main dt,
.quality.pages main dt {
  font-weight: bold;
}
.luic.pages main h1.pageTitle,
.quality.pages main h1.pageTitle {
  margin: 20px 30px;
  font-size: 1.4em;
  letter-spacing: 0.2em;
  font-weight: 500;
}
.luic.pages main span.sub,
.quality.pages main span.sub {
  font-size: 0.7em;
  font-weight: normal;
}
.luic.pages main .caption,
.luic.pages main .caption_btm,
.quality.pages main .caption,
.quality.pages main .caption_btm {
  font-size: 9px;
}
.luic.pages main .center,
.quality.pages main .center {
  text-align: center;
}
.luic.pages main .left,
.quality.pages main .left {
  text-align: left;
}
.luic.pages main .container,
.quality.pages main .container {
  width: 96%;
  max-width: 1080px;
}
.luic.pages main .ph,
.quality.pages main .ph {
  position: relative;
}
.luic.pages .mainArea,
.quality.pages .mainArea {
  padding-bottom: 50px;
}
.luic.pages .obi-black, .luic.pages .obi-blue, .luic.pages .obi-gray, .luic.pages .obi-orange,
.quality.pages .obi-black,
.quality.pages .obi-blue,
.quality.pages .obi-gray,
.quality.pages .obi-orange {
  width: 100%;
  background-color: black;
  padding: 0.2em;
  text-align: center;
  margin-bottom: 0.5em;
  color: white;
}
.luic.pages .obi-black span.caption, .luic.pages .obi-blue span.caption, .luic.pages .obi-gray span.caption, .luic.pages .obi-orange span.caption,
.quality.pages .obi-black span.caption,
.quality.pages .obi-blue span.caption,
.quality.pages .obi-gray span.caption,
.quality.pages .obi-orange span.caption {
  margin: 0;
  font-size: 0.8em;
}
.luic.pages .obi-orange,
.quality.pages .obi-orange {
  padding: 10px 5px;
  line-height: 1;
  font-weight: normal;
  background-color: #e08155;
  text-transform: uppercase;
}
.luic.pages .obi-orange span,
.quality.pages .obi-orange span {
  font-size: 75%;
}
.luic.pages .obi-gray,
.quality.pages .obi-gray {
  background-color: #667291;
  text-transform: uppercase;
}
.luic.pages .obi-blue,
.quality.pages .obi-blue {
  background-color: #4f7da2;
  color: white;
}
.luic.pages .flexContainer,
.luic.pages .flexcontainer,
.quality.pages .flexContainer,
.quality.pages .flexcontainer {
  align-items: stretch;
  justify-content: space-between;
  gap: 1em 1%;
}
.luic.pages .flexContainer .w32,
.luic.pages .flexcontainer .w32,
.quality.pages .flexContainer .w32,
.quality.pages .flexcontainer .w32 {
  width: 32%;
}
.luic.pages .flexContainer.jusspbet, .luic.pages .flexContainer.fcsb,
.luic.pages .flexcontainer.jusspbet,
.luic.pages .flexcontainer.fcsb,
.quality.pages .flexContainer.jusspbet,
.quality.pages .flexContainer.fcsb,
.quality.pages .flexcontainer.jusspbet,
.quality.pages .flexcontainer.fcsb {
  justify-content: space-between;
}
.luic.pages .flexContainer.jussparo, .luic.pages .flexContainer.fcsa,
.luic.pages .flexcontainer.jussparo,
.luic.pages .flexcontainer.fcsa,
.quality.pages .flexContainer.jussparo,
.quality.pages .flexContainer.fcsa,
.quality.pages .flexcontainer.jussparo,
.quality.pages .flexcontainer.fcsa {
  justify-content: space-around;
}
.luic.pages .flexContainer.fcfs,
.quality.pages .flexContainer.fcfs {
  justify-content: flex-start;
}
.luic.pages .flexContainer.fcvc,
.quality.pages .flexContainer.fcvc {
  align-items: center;
}
.luic.pages .flexContainer.fcfend,
.quality.pages .flexContainer.fcfend {
  align-items: flex-end;
}
.luic.pages .flexContainer.fcCenter,
.quality.pages .flexContainer.fcCenter {
  justify-content: center;
}
.luic.pages .flexContainer.fcCenter .recPh,
.quality.pages .flexContainer.fcCenter .recPh {
  margin: 0.5em;
}
.luic.pages .phW100,
.luic.pages .phW80,
.luic.pages .phW60,
.quality.pages .phW100,
.quality.pages .phW80,
.quality.pages .phW60 {
  position: relative;
}
.luic.pages p.caption_btm,
.quality.pages p.caption_btm {
  position: absolute;
  bottom: 5px;
  left: 10px;
  margin-bottom: 0;
}
.luic.pages p.caption_btm.white,
.quality.pages p.caption_btm.white {
  color: white;
}
.luic.pages p.caption_btm.black,
.quality.pages p.caption_btm.black {
  color: black;
}
.luic.pages p.caption_btm.right,
.quality.pages p.caption_btm.right {
  left: auto;
  right: 10px;
}
.luic.pages .catTitle,
.quality.pages .catTitle {
  color: #4f7da2;
  font-family: "Crimson Text", "Noto Sans JP", serif;
  font-size: 1.5em;
  font-weight: normal;
}
.luic.pages .flexContainer .item100,
.luic.pages .flexcontainer .item100,
.quality.pages .flexContainer .item100,
.quality.pages .flexcontainer .item100 {
  width: 100%;
  margin-bottom: 1em;
}
.luic.pages .flexContainer .item66,
.luic.pages .flexcontainer .item66,
.quality.pages .flexContainer .item66,
.quality.pages .flexcontainer .item66 {
  width: 66%;
  margin: 0 auto;
}
.luic.pages .flexContainer .item50,
.luic.pages .flexcontainer .item50,
.quality.pages .flexContainer .item50,
.quality.pages .flexcontainer .item50 {
  width: 50%;
  margin: 0 auto;
}
.luic.pages .flexContainer .item48,
.luic.pages .flexcontainer .item48,
.quality.pages .flexContainer .item48,
.quality.pages .flexcontainer .item48 {
  width: 48%;
  margin-bottom: 1em;
}
.luic.pages .flexContainer.middle,
.luic.pages .flexcontainer.middle,
.quality.pages .flexContainer.middle,
.quality.pages .flexcontainer.middle {
  align-items: center;
}
.luic.pages .mainvisual,
.quality.pages .mainvisual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  aspect-ratio: 600/71;
  overflow: hidden;
}
.luic.pages .mainvisual .mainvisual__bg,
.quality.pages .mainvisual .mainvisual__bg {
  position: absolute;
  inset: 0;
  background: url("../../quality/images/bg-mainvisual.jpg") center/cover no-repeat;
  z-index: 0;
}
.luic.pages .mainvisual .mainvisual__title,
.quality.pages .mainvisual .mainvisual__title {
  position: relative;
  z-index: 1;
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: 7px;
}
.luic.pages .mainvisual .caption,
.quality.pages .mainvisual .caption {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 1;
}
.luic.pages .localNavi,
.quality.pages .localNavi {
  padding-top: 35px;
  text-transform: uppercase;
}
.luic.pages .localNavi .container,
.quality.pages .localNavi .container {
  max-width: 1100px;
}
.luic.pages .localNavi ul,
.quality.pages .localNavi ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5px;
  width: 100%;
}
.luic.pages .localNavi ul li,
.quality.pages .localNavi ul li {
  width: 19.5%;
  font-size: 1rem;
}
.luic.pages .localNavi ul li a,
.quality.pages .localNavi ul li a {
  display: block;
  padding: 10px;
  text-align: center;
  color: #4f7da2;
  background-color: #fff;
  border: 1px solid #4f7da2;
  transition: 0.5s;
}
.luic.pages .localNavi ul li a:hover, .luic.pages .localNavi ul li a.current,
.quality.pages .localNavi ul li a:hover,
.quality.pages .localNavi ul li a.current {
  color: #fff;
  background-color: #4f7da2;
}
.luic.pages .localNavi ul li a span,
.quality.pages .localNavi ul li a span {
  display: block;
  font-size: 80%;
}
.luic.pages .quality__Title,
.quality.pages .quality__Title {
  margin: 50px 0;
  text-align: center;
}
.luic.pages .quality__Title .heading__h2,
.quality.pages .quality__Title .heading__h2 {
  font-size: clamp(1.2rem, 1.092rem + 0.41vw, 1.4rem);
  font-weight: 600;
  line-height: 1.5;
}
.luic.pages .quality__Title .heading__h2 .sub-ttl,
.quality.pages .quality__Title .heading__h2 .sub-ttl {
  display: block;
  padding-bottom: 25px;
  color: #4f7da2;
}
.luic.pages .quality__Title .ph,
.quality.pages .quality__Title .ph {
  margin: auto;
  width: min(80%, 300px);
}
.luic.pages .sectionCol,
.quality.pages .sectionCol {
  font-family: "Noto Sans JP", sans-serif;
}

/*!water system */
.luic.pages h2.obi-gray span.caption {
  font-size: 0.6em;
  margin-left: 1em;
}
.luic.pages h4 {
  font-size: 1rem;
  letter-spacing: 0.05em;
}
.luic.pages .right {
  margin-left: auto;
}
.luic.pages .mainArea {
  background: url("../../quality/images/bg-quality-top.jpg") center/cover no-repeat;
}
.luic.pages main .inner {
  padding: 0 20px 20px;
}
.luic.pages main .water .obi-blue,
.luic.pages main .mirabath .obi-blue {
  margin: 5px 0 20px;
  font-size: 1rem;
  border-radius: 30px;
}
.luic.pages main .water .w48.fcsb {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.luic.pages main .water .point img.w35 {
  width: 35%;
}
.luic.pages main .water .point img.w45 {
  width: 45%;
}
.luic.pages main .water .phW90 {
  margin-left: 0;
}
.luic.pages main .mirabath .gap20 {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.luic.pages main .mirable ul.flexContainer li {
  border-right: 1px solid #4f7da2;
}
.luic.pages main .mirable ul.flexContainer li:last-child {
  border-right: none;
}
.luic.pages main .mirable ul.flexContainer li .inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 15px;
  padding: 0 15px 0 0;
}
.luic.pages main .mirable .ttlBox {
  margin: 20px 0;
}
.luic.pages main .mirable .ttlBox .ttl {
  column-gap: 8px;
  padding-bottom: 5px;
  border-bottom: 1px solid #4f7da2;
}
.luic.pages main .mirable .ttlBox .ttl img {
  max-width: 235px;
}
.luic.pages main .mirable .obi-blue {
  margin-bottom: 0;
  font-size: 1rem;
  border-radius: 3px;
}
.luic.pages main .mirable .w15 {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
}
.luic.pages .flexContainer,
.luic.pages .flexcontainer {
  align-items: stretch;
  gap: 1em 2%;
}
.luic.pages .sectionCol {
  margin-bottom: 95px;
  color: #4f7da2;
}
.luic.pages .sectionCol:last-child {
  margin-bottom: 0;
}
.luic.pages .sectionCol .catTitle {
  display: flex;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 1.2em;
  font-weight: 500;
  flex-direction: column;
  gap: 10px;
  border-bottom: 1px solid #4f7da2;
}
.luic.pages .sectionCol .catTitle img.w25 {
  width: 25%;
}
.luic.pages .sectionCol .catTitle img.w32 {
  width: 32%;
}
.luic.pages .sectionCol .catTitle img.w48 {
  width: 48%;
}

/* !quality */
.quality.pages main h3 {
  letter-spacing: 0.1em;
  font-weight: bold;
}
.quality.pages main h4 {
  font-size: 1em;
  letter-spacing: 0.1em;
  font-weight: normal;
}
.quality.pages main h4.obi-black,
.quality.pages main h4.obi-orange,
.quality.pages main h4.obi-gray,
.quality.pages main h4.obi-blue {
  line-height: 1.5;
}
.quality.pages main h5.dashB {
  font-weight: 600;
  padding-bottom: 0;
}
.quality.pages main p {
  line-height: 1.7;
}
.quality.pages main p.caption,
.quality.pages main p span.caption {
  font-weight: normal;
  font-size: 0.6rem;
  line-height: 1.5;
}
.quality.pages main .sectionCol .itemTitle {
  font-size: 14px;
  font-weight: normal;
  padding-bottom: 5px;
  border-bottom: 1px solid #231815;
}
.quality.pages main .sectionCol .itemTitle span {
  font-size: 85%;
}
.quality.pages main .sectionCol .itemTitle_blue {
  padding: 15px 0;
  font-weight: 500;
  text-align: center;
  color: #4f7da2;
  border: 1px solid #4f7da2;
  text-box: trim-both cap alphabetic;
}
.quality.pages main .sectionCol .bgBlue {
  margin-bottom: 20px;
  padding: 5px 0;
  text-align: center;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  background-image: linear-gradient(90deg, #00a6e9, #1d2087);
}
.quality.pages main .sectionCol .bgBlue span {
  font-size: 85%;
}
.quality.pages main .sectionCol .item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 40px;
}
.quality.pages main .sectionCol .img_cap {
  position: relative;
}
.quality.pages main .sectionCol .img_cap .caption {
  position: absolute;
  right: 5px;
  bottom: 5px;
}
.quality.pages main .sectionCol .w50 .phW60 {
  margin-left: 30px;
}
.quality.pages main .sectionCol.maintenance .w35 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 15px;
}
.quality.pages main .sectionCol.maintenance .center {
  line-height: 1.3;
}
.quality.pages main .sectionCol.maintenance .center span {
  font-size: 85%;
}
.quality.pages main .sectionCol.homeservice .borderBox {
  border: 1px solid #667291;
}
.quality.pages main .linkBox {
  margin: 80px 0;
}
.quality.pages main .linkBox .w40container {
  max-width: 365px;
}
.quality.pages h2 {
  letter-spacing: 1px;
}
.quality.pages h3 {
  margin-bottom: 0.5rem;
  line-height: 1.5;
}

.sanitary.pages .sectionCol,
.amenity.pages .sectionCol {
  margin-bottom: 80px;
}
.sanitary.pages .sectionCol:last-child,
.amenity.pages .sectionCol:last-child {
  margin-bottom: 0;
}
.sanitary.pages .itemTitle,
.amenity.pages .itemTitle {
  margin-top: 10px;
}

.security.pages .sectionCol ul li,
.structure.pages .sectionCol ul li {
  font-size: 70%;
}

.amenity .storage .flexContainer {
  gap: 1.5em;
}

@media screen and (max-width: 991px) {
  .luic.pages .localNavi ul,
  .quality.pages .localNavi ul {
    justify-content: center;
  }
  .luic.pages .localNavi ul li,
  .quality.pages .localNavi ul li {
    width: 32%;
  }
  /*!Tablet waterserver */
  .luic.pages main .obi-black, .luic.pages main .obi-orange, .luic.pages main .obi-gray, .luic.pages main .obi-blue {
    font-size: 0.8em;
  }
  .luic.pages .flexContainer .w24,
  .luic.pages .flexContainer .w30,
  .luic.pages .flexContainer .w33,
  .luic.pages .flexcontainer .w24,
  .luic.pages .flexcontainer .w30,
  .luic.pages .flexcontainer .w33 {
    width: 49%;
    margin: 1em auto;
  }
  .luic.pages .flexContainer .w24.tb100,
  .luic.pages .flexContainer .w30.tb100,
  .luic.pages .flexContainer .w33.tb100,
  .luic.pages .flexcontainer .w24.tb100,
  .luic.pages .flexcontainer .w30.tb100,
  .luic.pages .flexcontainer .w33.tb100 {
    width: 100%;
  }
  .luic.pages .flexContainer .tb100,
  .luic.pages .flexContainer .w62,
  .luic.pages .flexContainer .w65,
  .luic.pages .flexContainer .w70,
  .luic.pages .flexContainer .w74,
  .luic.pages .flexContainer .w85,
  .luic.pages .flexcontainer .tb100,
  .luic.pages .flexcontainer .w62,
  .luic.pages .flexcontainer .w65,
  .luic.pages .flexcontainer .w70,
  .luic.pages .flexcontainer .w74,
  .luic.pages .flexcontainer .w85 {
    width: 100%;
  }
  .luic.pages .flexContainer .od1,
  .luic.pages .flexcontainer .od1 {
    order: 1;
  }
  .luic.pages .flexContainer .od2,
  .luic.pages .flexcontainer .od2 {
    order: 2;
  }
  .luic.pages .flexContainer .od3,
  .luic.pages .flexcontainer .od3 {
    order: 3;
  }
  .luic.pages .flexContainer .od4,
  .luic.pages .flexcontainer .od4 {
    order: 4;
  }
  /* !Tablet Quality */
  .quality.pages .w90Container {
    width: 100%;
  }
  .quality.pages .topBG {
    position: relative;
    width: 100%;
    background-position: center center;
    background-size: 100%;
    margin-bottom: 0%;
    z-index: 0;
  }
  .quality.pages .container_nav .localMenu {
    margin: 0px auto;
  }
  .quality.pages .container_nav .localMenu .localMenuItem {
    padding: 6px;
    font-size: 0.8rem;
    letter-spacing: 2px;
  }
  .quality.pages main .container {
    width: 90%;
  }
  .quality.pages main .sectionCol .w50 .phW60 {
    margin: auto;
  }
  .quality.pages .flexContainer .w25 {
    width: 33.333%;
  }
  .quality.pages .flexContainer .flexContainer .w45,
  .quality.pages .flexContainer .flexContainer .w50 {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .luic.pages main .container,
  .quality.pages main .container {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .luic.pages .flexContainer .item,
  .quality.pages .flexContainer .item {
    width: 100%;
    padding: 10px 0;
  }
  .luic.pages .flexContainer .item.last,
  .quality.pages .flexContainer .item.last {
    margin-left: auto;
    margin-right: 0%;
  }
  .luic.pages .flexContainer .w18,
  .luic.pages .flexContainer .w20,
  .luic.pages .flexContainer .w23,
  .luic.pages .flexContainer .w24,
  .luic.pages .flexContainer .w25,
  .luic.pages .flexContainer .w29,
  .luic.pages .flexContainer .w30,
  .luic.pages .flexContainer .w32,
  .luic.pages .flexContainer .w33,
  .luic.pages .flexContainer .w35,
  .luic.pages .flexContainer .w37,
  .luic.pages .flexContainer .w39,
  .luic.pages .flexContainer .w40,
  .luic.pages .flexContainer .w45,
  .luic.pages .flexContainer .w48,
  .luic.pages .flexContainer .w49,
  .luic.pages .flexContainer .w50,
  .luic.pages .flexContainer .w52,
  .luic.pages .flexContainer .w55,
  .luic.pages .flexContainer .w60,
  .luic.pages .flexContainer .w62,
  .luic.pages .flexContainer .w65,
  .luic.pages .flexContainer .w66,
  .luic.pages .flexContainer .w69,
  .luic.pages .flexContainer .w70,
  .luic.pages .flexContainer .w74,
  .luic.pages .flexContainer .w75,
  .luic.pages .flexContainer .w80,
  .luic.pages .flexContainer .w85,
  .quality.pages .flexContainer .w18,
  .quality.pages .flexContainer .w20,
  .quality.pages .flexContainer .w23,
  .quality.pages .flexContainer .w24,
  .quality.pages .flexContainer .w25,
  .quality.pages .flexContainer .w29,
  .quality.pages .flexContainer .w30,
  .quality.pages .flexContainer .w32,
  .quality.pages .flexContainer .w33,
  .quality.pages .flexContainer .w35,
  .quality.pages .flexContainer .w37,
  .quality.pages .flexContainer .w39,
  .quality.pages .flexContainer .w40,
  .quality.pages .flexContainer .w45,
  .quality.pages .flexContainer .w48,
  .quality.pages .flexContainer .w49,
  .quality.pages .flexContainer .w50,
  .quality.pages .flexContainer .w52,
  .quality.pages .flexContainer .w55,
  .quality.pages .flexContainer .w60,
  .quality.pages .flexContainer .w62,
  .quality.pages .flexContainer .w65,
  .quality.pages .flexContainer .w66,
  .quality.pages .flexContainer .w69,
  .quality.pages .flexContainer .w70,
  .quality.pages .flexContainer .w74,
  .quality.pages .flexContainer .w75,
  .quality.pages .flexContainer .w80,
  .quality.pages .flexContainer .w85 {
    width: 100%;
    margin-bottom: 1em;
  }
  .luic.pages .flexContainer .w18,
  .luic.pages .flexContainer .w25,
  .luic.pages .flexContainer .w33,
  .luic.pages .flexContainer .w30,
  .luic.pages .flexContainer .w37,
  .luic.pages .flexContainer .w40,
  .luic.pages .flexContainer .w50,
  .luic.pages .flexContainer .w52,
  .luic.pages .flexContainer .w60,
  .luic.pages .flexContainer .w62,
  .luic.pages .flexContainer .w70,
  .luic.pages .flexContainer .w74,
  .luic.pages .flexContainer .w75,
  .luic.pages .flexContainer .w85,
  .quality.pages .flexContainer .w18,
  .quality.pages .flexContainer .w25,
  .quality.pages .flexContainer .w33,
  .quality.pages .flexContainer .w30,
  .quality.pages .flexContainer .w37,
  .quality.pages .flexContainer .w40,
  .quality.pages .flexContainer .w50,
  .quality.pages .flexContainer .w52,
  .quality.pages .flexContainer .w60,
  .quality.pages .flexContainer .w62,
  .quality.pages .flexContainer .w70,
  .quality.pages .flexContainer .w74,
  .quality.pages .flexContainer .w75,
  .quality.pages .flexContainer .w85 {
    padding-left: 0px;
    padding-right: 0px;
  }
  .luic.pages .mainvisual,
  .quality.pages .mainvisual {
    aspect-ratio: 9/3;
  }
  .luic.pages .mainvisual .caption,
  .quality.pages .mainvisual .caption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 1;
  }
  .luic.pages .quality__Title,
  .quality.pages .quality__Title {
    line-height: 1.2;
    padding: 0.5em 1em;
  }
  .luic.pages .quality__Title .heading__h2 .sub-ttl,
  .quality.pages .quality__Title .heading__h2 .sub-ttl {
    padding-bottom: 10px;
    font-size: 2rem;
  }
  .luic.pages .pageTitle,
  .quality.pages .pageTitle {
    font-size: 2em;
    letter-spacing: 2px;
    margin: 10px 0 0 0px;
    text-align: center;
  }
  /* !SP_waterserver */
  .luic.pages .flexContainer .w15,
  .luic.pages .flexContainer .w18,
  .luic.pages .flexContainer .w20,
  .luic.pages .flexContainer .w23,
  .luic.pages .flexContainer .w24,
  .luic.pages .flexContainer .w25,
  .luic.pages .flexContainer .w29,
  .luic.pages .flexContainer .w30,
  .luic.pages .flexContainer .w32,
  .luic.pages .flexContainer .w33,
  .luic.pages .flexContainer .w35,
  .luic.pages .flexContainer .w37,
  .luic.pages .flexContainer .w39,
  .luic.pages .flexContainer .w40,
  .luic.pages .flexContainer .w45,
  .luic.pages .flexContainer .w48,
  .luic.pages .flexContainer .w49,
  .luic.pages .flexContainer .w50,
  .luic.pages .flexContainer .w52,
  .luic.pages .flexContainer .w55,
  .luic.pages .flexContainer .w60,
  .luic.pages .flexContainer .w65,
  .luic.pages .flexContainer .w66,
  .luic.pages .flexContainer .w69,
  .luic.pages .flexContainer .w70,
  .luic.pages .flexContainer .w74,
  .luic.pages .flexContainer .w75,
  .luic.pages .flexContainer .w80,
  .luic.pages .flexContainer .w85,
  .luic.pages .flexcontainer .w15,
  .luic.pages .flexcontainer .w18,
  .luic.pages .flexcontainer .w20,
  .luic.pages .flexcontainer .w23,
  .luic.pages .flexcontainer .w24,
  .luic.pages .flexcontainer .w25,
  .luic.pages .flexcontainer .w29,
  .luic.pages .flexcontainer .w30,
  .luic.pages .flexcontainer .w32,
  .luic.pages .flexcontainer .w33,
  .luic.pages .flexcontainer .w35,
  .luic.pages .flexcontainer .w37,
  .luic.pages .flexcontainer .w39,
  .luic.pages .flexcontainer .w40,
  .luic.pages .flexcontainer .w45,
  .luic.pages .flexcontainer .w48,
  .luic.pages .flexcontainer .w49,
  .luic.pages .flexcontainer .w50,
  .luic.pages .flexcontainer .w52,
  .luic.pages .flexcontainer .w55,
  .luic.pages .flexcontainer .w60,
  .luic.pages .flexcontainer .w65,
  .luic.pages .flexcontainer .w66,
  .luic.pages .flexcontainer .w69,
  .luic.pages .flexcontainer .w70,
  .luic.pages .flexcontainer .w74,
  .luic.pages .flexcontainer .w75,
  .luic.pages .flexcontainer .w80,
  .luic.pages .flexcontainer .w85 {
    width: 100%;
  }
  .luic.pages .flexContainer .item,
  .luic.pages .flexcontainer .item {
    width: 100%;
  }
  .luic.pages .sectionCol {
    margin-bottom: 40px;
  }
  .luic.pages .sectionCol .catTitle {
    padding-bottom: 0;
  }
  .luic.pages .sectionCol .catTitle img.w25 {
    width: 45%;
  }
  .luic.pages .sectionCol .catTitle img.w32,
  .luic.pages .sectionCol .catTitle img.w48 {
    width: 85%;
  }
  .luic.pages main .inner {
    padding: 0 0 15px;
  }
  .luic.pages main .ph {
    margin: auto;
    width: 80%;
  }
  .luic.pages main .water .obi-blue,
  .luic.pages main .mirabath .obi-blue {
    padding: 5px;
    font-size: 0.8rem;
  }
  .luic.pages main .water .point img.w35 {
    width: 60%;
  }
  .luic.pages main .water .point img.w45 {
    width: 65%;
  }
  .luic.pages main .mirable ul.flexContainer li {
    border-right: none;
  }
  .luic.pages main .mirable ul.flexContainer li .inner {
    padding: 0;
  }
  /* !SP_Quality */
  .quality.pages main .first {
    aspect-ratio: 16/6;
  }
  .quality.pages main .first h1 {
    width: 50%;
    margin-left: 5%;
  }
  .quality.pages main .container {
    width: 90%;
  }
  .quality.pages main h4.lead {
    font-size: 1rem;
  }
  .quality.pages main .sectionCol .item {
    margin-bottom: 0;
  }
  .quality.pages main .linkBox {
    margin: 60px 0 0;
  }
  .quality.pages .localNavi {
    width: 100%;
    padding: 2em 0 2em;
  }
  .quality.pages .localNavi .container {
    width: 90%;
  }
  .quality.pages .localNavi ul {
    flex-direction: column;
    row-gap: 0.5em;
  }
  .quality.pages .localNavi ul li {
    width: 100%;
  }
  .quality.pages .localNavi ul a {
    padding: 0.5em 0;
  }
  .sanitary.pages .sectionCol,
  .amenity.pages .sectionCol {
    margin-bottom: 40px;
  }
}

/*# sourceMappingURL=style-quality.css.map */
