@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap");
@font-face {
  font-family: "Roboto";
  font-weight: 500;
  src: url("../fonts/Roboto-Medium.ttf") format("truetype");
}
/* 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, 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;
}

/*! Pushy - v1.4.0 - 2020-12-28
* Pushy is a responsive off-canvas navigation menu using CSS transforms & transitions.
* https://github.com/christophery/pushy/
* by Christopher Yee */
/* Menu Appearance */
.pushy {
  position: fixed;
  width: 290px;
  height: 100%;
  top: 0;
  z-index: 9999;
  background: #00183e;
  overflow: auto;
  -webkit-overflow-scrolling: touch; /* enables momentum scrolling in iOS overflow elements */
  font-size: 12px;
}
.pushy a {
  display: block;
  color: white !important;
  padding: 15px 30px;
  text-decoration: none;
}
.pushy a:hover {
  color: white;
}
.pushy ul:first-child {
  margin-top: 10px;
}
.pushy.pushy-left {
  left: 0;
}
.pushy.pushy-right {
  right: 0;
}
.pushy button {
  font-size: 0.8rem;
}
.pushy li {
  line-height: 2;
  font-size: 0.8rem;
}

.pushy-content {
  visibility: hidden;
}

/* Menu Movement */
.pushy-left {
  -webkit-transform: translate3d(-290px, 0, 0);
  -ms-transform: translate3d(-290px, 0, 0);
  transform: translate3d(-290px, 0, 0);
}

.pushy-open-left #container,
.pushy-open-left .push {
  -webkit-transform: translate3d(290px, 0, 0);
  -ms-transform: translate3d(290px, 0, 0);
  transform: translate3d(290px, 0, 0);
}

.pushy-right {
  -webkit-transform: translate3d(290px, 0, 0);
  -ms-transform: translate3d(290px, 0, 0);
  transform: translate3d(290px, 0, 0);
}

.pushy-open-right #container,
.pushy-open-right .push {
  -webkit-transform: translate3d(-290px, 0, 0);
  -ms-transform: translate3d(-290px, 0, 0);
  transform: translate3d(-290px, 0, 0);
}

.pushy-open-left .pushy,
.pushy-open-right .pushy {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.pushy-open-left .pushy-content,
.pushy-open-right .pushy-content {
  visibility: visible;
}

/* Menu Transitions */
#container,
.pushy,
.push {
  transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

.pushy-content {
  transition: visibility 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

/* Site Overlay */
.site-overlay {
  display: none;
}

.pushy-open-left .site-overlay,
.pushy-open-right .site-overlay {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9998;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-animation: fade 500ms;
  animation: fade 500ms;
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Submenu Appearance */
.pushy-submenu {
  /* Submenu Buttons */
  /* Submenu Icon */
}
.pushy-submenu > ul {
  padding-left: 15px;
  transition: max-height 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.pushy-submenu > ul .pushy-link {
  transition: opacity 0.2s ease-in-out;
}
.pushy-submenu > ul.bgGray li {
  background-color: #61a8f2;
  border-bottom: 1px solid #000;
}
.pushy-submenu button {
  width: 100%;
  color: white;
  padding: 15px 30px;
  text-align: left;
  background: transparent;
  border: 0;
}
.pushy-submenu > a,
.pushy-submenu > button {
  position: relative;
}
.pushy-submenu > a::after,
.pushy-submenu > button::after {
  content: "";
  display: block;
  height: 11px;
  width: 8px;
  position: absolute;
  top: 50%;
  right: 15px;
  background: url("../images/arrow.svg") no-repeat;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: transform 0.2s;
}

/* Submenu Movement */
.pushy-submenu-closed > ul {
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
}
.pushy-submenu-closed .pushy-link {
  opacity: 0;
}

.pushy-submenu-open {
  background-color: #0d3e80;
  /* Submenu Icon */
}
.pushy-submenu-open > ul {
  max-height: 1000px;
  visibility: visible;
}
.pushy-submenu-open .pushy-link {
  opacity: 1;
}
.pushy-submenu-open > a::after,
.pushy-submenu-open > button::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}

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

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

dl {
  line-height: 2;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.mfont {
  font-family: "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

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

.mt0 {
  margin-top: 0px;
}

.mt05 {
  margin-top: 0.5em;
}

.mt1 {
  margin-top: 1em;
}

.mt2 {
  margin-top: 2em;
}

.mt3 {
  margin-top: 3em;
}

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

.mb1 {
  margin-bottom: 1em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb3 {
  margin-bottom: 3em;
}

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

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

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

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

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

.phW40 {
  width: 40%;
  margin-left: auto;
  margin-right: auto;
}

.w50Container,
.w50container {
  width: min(94%, 800px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.w60Container,
.w60container {
  width: min(94%, 960px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.w70Container,
.w70container {
  width: min(70%, 1140px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.w80Container,
.w80container {
  width: min(80%, 1280px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.w90Container,
.w90container {
  width: min(90%, 1440px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.w05 {
  width: 5%;
}

.w10 {
  width: 10%;
}

.w15 {
  width: 15%;
}

.w16 {
  width: 16%;
}

.w17 {
  width: 17%;
}

.w18 {
  width: 18%;
}

.w20 {
  width: 20%;
}

.w23 {
  width: 23%;
}

.w24 {
  width: 24%;
}

.w25 {
  width: 25%;
}

.w28 {
  width: 28%;
}

.w30 {
  width: 30%;
}

.w32 {
  width: 32%;
}

.w33 {
  width: 33%;
}

.w34 {
  width: 34%;
}

.w35 {
  width: 35%;
}

.w38 {
  width: 38%;
}

.w39 {
  width: 39%;
}

.w40 {
  width: 40%;
}

.w45 {
  width: 45%;
}

.w48 {
  width: 48%;
}

.w49 {
  width: 49%;
}

.w50 {
  width: 50%;
}

.w55 {
  width: 55%;
}

.w58 {
  width: 58%;
}

.w59 {
  width: 59%;
}

.w60 {
  width: 60%;
}

.w65 {
  width: 65%;
}

.w68 {
  width: 68%;
}

.w69 {
  width: 69%;
}

.w70 {
  width: 70%;
}

.w75 {
  width: 75%;
}

.w80 {
  width: 80%;
}

.pcHidden {
  display: none;
}

.flexcontainer {
  display: flex;
  flex-wrap: wrap;
}

button.menu-btn {
  display: none;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1 {
  position: fixed;
  z-index: 99999;
  /*ボタンを最前面に*/
  top: 0px;
  right: 0px;
  cursor: pointer;
  width: 50px;
  height: 50px;
}

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

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

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

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

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

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

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

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

.clearfix:after {
  clear: both;
}

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

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

	 			!Media

***************************************/
/* col-sm- 991px 以下 */
@media screen and (max-width: 991px) {
  .w60Container,
  .w50Container {
    width: 90%;
  }
  .w70Container {
    width: 90%;
  }
  .w80Container {
    width: 94%;
  }
  .w90Container {
    width: 94%;
  }
}
/* col-sm- 767px 以下 */
@media only screen and (max-width: 767px) {
  .pcHidden {
    display: block;
  }
  .spHidden {
    display: none;
  }
  button.menu-btn {
    display: block;
    position: absolute;
    top: 10px;
    right: 0px;
    font-size: 22px;
    border: none;
    background-color: transparent;
  }
  .w60Container,
  .w50Container {
    width: 94%;
  }
  .w70Container, .w70container {
    width: 94%;
  }
  .w80Container, .w80container {
    width: 94%;
  }
  .w90Container {
    width: 94%;
  }
}
body {
  position: relative;
  font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.container {
  width: min(1440px, 94%);
  margin: 0 auto;
}

p {
  font-size: 0.9rem;
  line-height: 1.8;
}
p.caption {
  font-size: 0.7rem;
}

header {
  position: sticky;
  top: 0;
  z-index: 9980;
  width: 100%;
  background-color: #fff;
}
header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: min(1440px, 90%);
  margin: 0 auto;
  padding: 20px 0;
}
header .container .logo_left {
  width: min(38vw, 198px);
}
header .container .logo_right {
  width: min(26vw, 156px);
}
header .container nav ul {
  display: flex;
  justify-content: center;
  gap: 1.6vw;
}
header .container nav ul li {
  font-size: min(1vw, 1.1rem);
  text-align: center;
  line-height: 1.2;
}
header .container nav ul li span.small {
  font-size: min(0.6vw, 0.8rem);
}
@media (orientation: portrait) and (max-width: 767px) {
  header .container .logo_right {
    display: none;
  }
  header .container nav {
    display: none;
  }
}

#designA .sec_top .container {
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("../images/top/topBG.jpg");
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 16/10;
}
#designA .sec_top .container .inner .title1 {
  width: min(40%, 300px);
  margin: 1% auto;
  filter: drop-shadow(4px 4px 5px rgba(0, 0, 0, 0.7));
}
#designA .sec_top .container .inner .title2 {
  width: min(50%, 300px);
  margin: 4% auto;
}
#designA .sec_top .container .inner .title3 {
  width: min(50%, 340px);
  margin: 5% auto;
}
@media (orientation: portrait) and (max-width: 767px) {
  #designA .sec_top .container {
    background-image: none;
  }
}

#designB .sec_top {
  width: min(90%, 1680px);
  margin: 5% auto;
  background-image: url("../images/top/topVisual-B.png");
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 3/2;
}

.slide {
  width: min(90%, 1440px);
  margin: 0 auto;
}
.slide .slide-items li {
  border-left: 1px solid white;
}

.content {
  padding: 4% 0;
}

.recommend h2.ttl {
  width: min(80vw, 260px);
  margin: 0 auto 2em;
}
.recommend .property_list {
  margin: 2em 0;
}
.recommend .property_list .gridcontainer {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}
.recommend .property_list .gridcontainer .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.recommend .property_list .gridcontainer .item figure {
  width: 100%;
  background-color: #ddd;
  aspect-ratio: 5/4;
}
.recommend .property_list .gridcontainer .item .propaty-name {
  text-align: center;
  font-size: 0.9rem;
}
.recommend .property_list .gridcontainer .item .details {
  font-size: 0.8rem;
  line-height: 1.6;
}
.recommend .property_list .gridcontainer .item .btnfield {
  display: flex;
  justify-content: space-between;
}
.recommend .property_list .gridcontainer .item .btnfield .btn {
  width: 49%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .recommend .property_list .gridcontainer .item {
    padding-bottom: 1em;
    border-bottom: 1px dashed #ccc;
  }
}

.feature {
  margin-top: 5%;
}
.feature h2.ttl {
  width: min(80vw, 200px);
  margin: 0 auto 1em;
}
.feature .feature_list .flexcontainer {
  justify-content: center;
  gap: 1em 1%;
}
.feature .feature_list .flexcontainer .item {
  width: 22%;
  padding: 0.5em 1%;
  background-color: #ddd;
  background-size: cover;
  aspect-ratio: 5/4;
  background-color: rgba(96, 76, 63, 0.55);
  background-blend-mode: multiply;
  transition: all 0.5s ease;
}
.feature .feature_list .flexcontainer .item:hover {
  background-color: transparent;
}
.feature .feature_list .flexcontainer .item h3.ttl {
  text-align: center;
}
.feature .feature_list .flexcontainer .item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: min(10vw, 14px);
  line-height: 1.5;
  font-weight: 600;
  color: white;
}
.feature .feature_list .flexcontainer .item a:hover {
  color: #ffd700;
  text-shadow: 1px 1px 2px black;
}
.feature .feature_list .flexcontainer .item.feature1 {
  background-image: url("../images/top/feature-01.jpg");
}
.feature .feature_list .flexcontainer .item.feature2 {
  background-image: url("../images/top/feature-02.jpg");
}
.feature .feature_list .flexcontainer .item.feature3 {
  background-image: url("../images/top/feature-03.jpg");
}
.feature .feature_list .flexcontainer .item.feature4 {
  background-image: url("../images/top/feature-04.jpg");
}
.feature .feature_list .flexcontainer .item.feature5 {
  background-image: url("../images/top/feature-05.jpg");
}
.feature .feature_list .flexcontainer .item.feature6 {
  background-image: url("../images/top/feature-06.jpg");
}
.feature .feature_list .flexcontainer .item.feature7 {
  background-image: url("../images/top/feature-07.jpg");
}
.feature .feature_list .flexcontainer .item.feature8 {
  background-image: url("../images/top/feature-08.jpg");
}
@media (orientation: portrait) and (max-width: 767px) {
  .feature .feature_list .flexcontainer {
    gap: 1em 0;
    justify-content: space-between;
  }
  .feature .feature_list .flexcontainer .item {
    width: 47%;
    aspect-ratio: 3/2;
  }
}

.news {
  margin-top: 5%;
}
.news h2.ttl {
  width: min(70vw, 320px);
  margin: 0 auto 1em;
}
.news iframe {
  width: 100%;
  padding: 0.5em 0 1em;
  border: 2px solid black;
  aspect-ratio: 16/2;
}
@media (orientation: portrait) and (max-width: 767px) {
  .news iframe {
    padding: 0.5em 0 1em;
    border: 1px solid black;
    aspect-ratio: 16/9;
  }
}

.dynamicWebSite,
.service {
  margin-top: 5%;
  text-align: center;
}
.dynamicWebSite .ttlBorderwrap,
.service .ttlBorderwrap {
  position: relative;
  width: min(90%, 960px);
  margin: 0 auto 2em;
}
.dynamicWebSite .ttlBorderwrap .ttlBorder,
.service .ttlBorderwrap .ttlBorder {
  width: 100%;
  height: 4px;
  background-color: black;
}
.dynamicWebSite h2.ttl,
.service h2.ttl {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: min(70vw, 400px);
  padding: 0 1em;
  background-color: white;
}
.dynamicWebSite .flexcontainer,
.service .flexcontainer {
  justify-content: center;
  gap: 1em;
}
.dynamicWebSite .flexcontainer .item,
.service .flexcontainer .item {
  width: 32%;
}
@media (orientation: portrait) and (max-width: 767px) {
  .dynamicWebSite .flexcontainer,
  .service .flexcontainer {
    gap: 1em 0;
    justify-content: space-between;
  }
  .dynamicWebSite .flexcontainer .item,
  .service .flexcontainer .item {
    width: 48%;
  }
}

.service {
  margin-top: 4%;
}
.service h2.ttl {
  width: min(70vw, 240px);
  margin: 0 auto;
}

footer {
  width: 100%;
  background-color: #397187;
  color: white;
}
footer .container {
  width: min(1440px, 90%);
  margin: 0 auto;
  padding: 20px 0;
}
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 .logo_left {
  width: min(36vw, 198px);
}
footer .container .localNavi nav ul {
  display: flex;
  justify-content: center;
  gap: 1.6vw;
}
footer .container .localNavi nav ul li {
  font-size: min(1vw, 1.1rem);
  text-align: center;
  line-height: 1.2;
}
footer .container .localNavi nav ul li span.small {
  font-size: min(0.6vw, 0.8rem);
}
footer .container .localNavi .logo_right {
  width: min(32vw, 176px);
}
@media (orientation: portrait) and (max-width: 767px) {
  footer .container .localNavi nav {
    display: none;
  }
}
footer .container .btmNavi {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
footer .container .btmNavi .material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 1.8em;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  vertical-align: middle;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}
footer .container .btmNavi .corp {
  font-size: 0.9rem;
  line-height: 1.6;
  letter-spacing: 0.2em;
  vertical-align: baseline;
}
footer .container .btmNavi .snsBtn ul {
  display: flex;
  justify-content: flex-end;
  gap: 1em;
}
footer .container .btmNavi .snsBtn ul li {
  width: 50px;
}
@media (orientation: portrait) and (max-width: 767px) {
  footer .container .btmNavi {
    flex-direction: column;
  }
  footer .container .btmNavi .corp {
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    margin-bottom: 1em;
  }
}
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;
  }
}

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

.scrolldown2 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  top: 80%;
  left: 50%;
}

/* 丸の描写 */
.scrolldown2:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -8px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #036eb8;
  animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove {
  0% {
    bottom: 180px;
  }
  100% {
    bottom: -5px;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
/* 線の描写 */
.scrolldown2:after {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  left: 0;
  /*線の形状*/
  width: 4px;
  height: 180px;
  background: #036eb8;
}

.brand main .contents {
  width: min(100%, 1680px);
  margin: 0 auto;
}
.brand main h2 {
  text-align: center;
  margin: 3em 0;
  font-size: 1.4rem;
  font-weight: bold;
}
@media screen and (max-width: 991px) {
  .brand main h2 {
    margin: 2em 0;
    font-size: 1.2rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand main h2 {
    margin: 2em 0;
    font-size: 1rem;
  }
}
.brand main .mainVisual {
  position: relative;
  display: grid;
  place-items: center;
  background-image: url("../../brand/images/ph-01.jpg");
  background-position: 50%;
  background-size: cover;
  width: 100%;
  aspect-ratio: 16/9;
}
.brand main .mainVisual .inner {
  width: 60%;
}
.brand main .mainVisual .inner h1 {
  width: 100%;
}
.brand main .fiveBrand {
  width: 94%;
  margin: 0 auto;
}
.brand main .fiveBrand article {
  margin-bottom: 5%;
}
.brand main .fiveBrand article .flexcontainer .phBox {
  position: relative;
  width: 80%;
  background-position: 50%;
  background-size: cover;
}
.brand main .fiveBrand article .flexcontainer .phBox .blueBorder {
  position: relative;
  height: 100%;
}
.brand main .fiveBrand article .flexcontainer .phBox .blueBorder:before {
  display: block;
  content: "";
  width: 24%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 4%;
  background-color: rgba(3, 110, 180, 0.7);
  mix-blend-mode: multiply;
}
.brand main .fiveBrand article .flexcontainer .phBox .blueBorder .inner {
  position: relative;
  display: block;
  left: 5%;
  width: 20%;
  padding: 50px 20px;
  color: white;
}
.brand main .fiveBrand article .flexcontainer .phBox .floating {
  position: absolute;
  left: 6%;
  bottom: 5%;
  height: 25%;
}
.brand main .fiveBrand article .flexcontainer .phBox .floating img {
  width: auto;
  height: 100%;
}
.brand main .fiveBrand article .flexcontainer .sideBarBox {
  width: 20%;
}
.brand main .fiveBrand article .flexcontainer .sideBarBox .sideBar {
  width: 6%;
  padding: 10% 0;
  margin: 0 auto;
}
@media screen and (max-width: 1199px) {
  .brand main .fiveBrand article .flexcontainer .phBox .blueBorder:before {
    width: 44%;
    left: 4%;
  }
  .brand main .fiveBrand article .flexcontainer .phBox .blueBorder .inner {
    left: 4%;
    width: 40%;
    padding: 50px 22px;
  }
  .brand main .fiveBrand article .flexcontainer .phBox .blueBorder .inner p {
    font-size: 0.84rem;
  }
  .brand main .fiveBrand article .flexcontainer .phBox .floating {
    position: absolute;
    left: 8%;
    bottom: 5%;
    height: 24%;
  }
}
@media screen and (max-width: 991px) {
  .brand main .fiveBrand article .flexcontainer .phBox {
    width: 100%;
    aspect-ratio: 3/2;
  }
  .brand main .fiveBrand article .flexcontainer .phBox .blueBorder:before {
    width: 40%;
    left: 4%;
  }
  .brand main .fiveBrand article .flexcontainer .phBox .blueBorder .inner {
    left: 4%;
    width: 34%;
    padding: 50px 22px;
  }
  .brand main .fiveBrand article .flexcontainer .phBox .blueBorder .inner p {
    font-size: 0.84rem;
  }
  .brand main .fiveBrand article .flexcontainer .phBox .floating {
    position: absolute;
    left: 8%;
    bottom: 5%;
    height: 20%;
  }
  .brand main .fiveBrand article .flexcontainer .sideBarBox {
    display: none;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand main .fiveBrand article .flexcontainer .phBox {
    aspect-ratio: 16/9;
  }
  .brand main .fiveBrand article .flexcontainer .phBox .blueBorder {
    display: none;
  }
  .brand main .fiveBrand article .flexcontainer .phBox .floating {
    position: absolute;
    left: 8%;
    bottom: 5%;
    height: 33%;
  }
}
.brand main .fiveBrand article .blueBox {
  display: none;
  padding: 20px;
  background-color: rgb(3, 110, 180);
}
.brand main .fiveBrand article .blueBox p {
  font-size: 0.8rem;
  color: white;
}
.brand main .fiveBrand article.design .phBox {
  background-image: url("../../brand/images/ph-02.jpg");
}
.brand main .fiveBrand article.comfort .flexcontainer {
  flex-direction: row-reverse;
}
.brand main .fiveBrand article.comfort .phBox {
  background-image: url("../../brand/images/ph-03.jpg");
}
.brand main .fiveBrand article.comfort .phBox .floating {
  height: 20%;
}
.brand main .fiveBrand article.commonspace .phBox {
  background-image: url("../../brand/images/ph-04.jpg");
}
.brand main .fiveBrand article.commonspace .phBox .floating {
  height: 20%;
}
.brand main .fiveBrand article.safety .flexcontainer {
  flex-direction: row-reverse;
}
.brand main .fiveBrand article.safety .phBox {
  background-image: url("../../brand/images/ph-05.jpg");
}
.brand main .fiveBrand article.community .phBox {
  background-image: url("../../brand/images/ph-06.jpg");
}
@media screen and (max-width: 1199px) {
  .brand main .fiveBrand article.comfort .phBox .floating, .brand main .fiveBrand article.commonspace .phBox .floating {
    height: 21%;
  }
}
@media screen and (max-width: 991px) {
  .brand main .fiveBrand article.comfort .phBox .floating, .brand main .fiveBrand article.commonspace .phBox .floating {
    height: 17%;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand main .fiveBrand article .blueBox {
    display: block;
  }
  .brand main .fiveBrand article.comfort .phBox .floating, .brand main .fiveBrand article.commonspace .phBox .floating {
    height: 27%;
  }
}
.brand main .external {
  width: 50%;
  margin: 3% auto;
}
.brand main .external .flexcontainer {
  justify-content: space-between;
}
.brand main .external .flexcontainer .caption {
  text-align: center;
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand main .external {
    width: 90%;
  }
}

.brand5 main .contents {
  width: min(100%, 1680px);
  margin: 0 auto;
}
.brand5 main h2 {
  text-align: center;
  margin: 1em 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #674e33;
}
@media screen and (max-width: 991px) {
  .brand5 main h2 {
    margin: 2em 0;
    font-size: 1.2rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand5 main h2 {
    margin: 2em 0;
    font-size: 1.1rem;
  }
}
.brand5 main .lead {
  width: 76%;
  margin: 0 auto;
  text-align: center;
  font-size: 1.1rem;
  line-height: 2;
}
@media screen and (max-width: 991px) {
  .brand5 main .lead {
    width: 90%;
    font-size: 0.9rem;
    text-align: left;
  }
}
.brand5 main .mainVisual {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16/4;
}
.brand5 main .mainVisual .inner {
  width: 50%;
}
.brand5 main .mainVisual .inner h1 {
  width: 100%;
}
.brand5 main .fiveDesign {
  position: relative;
  width: 80%;
  margin: 3em auto 0;
  padding-bottom: 50px;
}
.brand5 main .fiveDesign .firstStack {
  margin-bottom: -2px;
  align-items: flex-end;
}
.brand5 main .fiveDesign .firstStack .logo {
  width: 30%;
  margin: 0 10% 5em auto;
}
.brand5 main .fiveDesign .innerBox {
  width: 60%;
  margin: 0 auto;
  border: 2px solid #1b1311;
  padding: 4em 10%;
}
.brand5 main .fiveDesign .innerBox h3 {
  width: 80%;
  margin: 3em auto 0;
}
.brand5 main .fiveDesign .innerBox h4 {
  font-size: 1.4rem;
  color: #231815;
  text-align: center;
  margin-bottom: 1em;
}
.brand5 main .fiveDesign .floating-txt1 {
  position: absolute;
  left: 8%;
  top: 50%;
  width: 4%;
  transform: translateY(-50%);
}
.brand5 main .fiveDesign .floating-txt2 {
  position: absolute;
  left: 8%;
  bottom: 1.1%;
  width: 672px;
}
@media screen and (max-width: 991px) {
  .brand5 main .fiveDesign {
    width: 100%;
  }
  .brand5 main .fiveDesign .firstStack {
    display: none;
  }
  .brand5 main .fiveDesign .innerBox {
    width: 70%;
    padding: 0em 10% 3em;
  }
  .brand5 main .fiveDesign .floating-txt1 {
    left: 3%;
    top: 50%;
    width: 4%;
  }
  .brand5 main .fiveDesign .floating-txt2 {
    left: 4%;
    bottom: 2%;
    width: 384px;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand5 main .fiveDesign {
    width: 100%;
  }
  .brand5 main .fiveDesign .firstStack {
    display: none;
  }
  .brand5 main .fiveDesign .innerBox {
    width: 70%;
    padding: 0em 10% 3em;
  }
  .brand5 main .fiveDesign .innerBox h3 {
    width: 100%;
    margin: 3em auto 0;
  }
  .brand5 main .fiveDesign .innerBox h4 {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-bottom: 1em;
  }
  .brand5 main .fiveDesign .floating-txt1 {
    left: 3%;
    top: 50%;
    width: 6%;
  }
  .brand5 main .fiveDesign .floating-txt2 {
    left: 4%;
    bottom: 1.66%;
    width: 262.5px;
  }
}
.brand5 main .external {
  width: 50%;
  margin: 3% auto;
}
.brand5 main .external .flexcontainer {
  justify-content: space-between;
}
.brand5 main .external .flexcontainer .caption {
  text-align: center;
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand5 main .external {
    width: 90%;
  }
}

.brand-tc main .contents {
  width: min(100%, 1680px);
  margin: 0 auto;
}
.brand-tc main h2 {
  text-align: center;
  margin: 1em 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #674e33;
}
@media screen and (max-width: 991px) {
  .brand-tc main h2 {
    margin: 2em 0;
    font-size: 1.2rem;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main h2 {
    margin: 2em 0;
    font-size: 1.1rem;
  }
}
.brand-tc main .lead {
  width: 76%;
  margin: 0 auto;
  text-align: center;
  font-size: 1.1rem;
  line-height: 2;
}
@media screen and (max-width: 991px) {
  .brand-tc main .lead {
    width: 90%;
    font-size: 0.9rem;
    text-align: left;
  }
}
.brand-tc main .mainVisual {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16/4;
}
.brand-tc main .mainVisual .inner {
  width: 40%;
}
.brand-tc main .mainVisual .inner h1 {
  width: 100%;
}
.brand-tc main .five-brand {
  margin: 3% 0;
}
.brand-tc main .five-brand .flexcontainer {
  width: 80%;
  margin: 0 auto;
  justify-content: center;
  gap: 3em 1em;
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main .five-brand .flexcontainer {
    gap: 1em;
  }
  .brand-tc main .five-brand .flexcontainer .toolChip {
    width: 100%;
  }
}
.brand-tc main .five-brand .toolChip {
  width: 30%;
  background-size: cover;
  background-position: 50%;
  aspect-ratio: 16/8.13;
  background-color: transparent;
  border: none;
}
.brand-tc main .five-brand .toolChip.btn1 {
  background-image: url("../../brand/images/bland-01-off.svg");
}
.brand-tc main .five-brand .toolChip.btn1:hover {
  background-image: url("../../brand/images/bland-01-on.svg");
}
.brand-tc main .five-brand .toolChip.btn2 {
  background-image: url("../../brand/images/bland-02-off.svg");
}
.brand-tc main .five-brand .toolChip.btn2:hover {
  background-image: url("../../brand/images/bland-02-on.svg");
}
.brand-tc main .five-brand .toolChip.btn3 {
  background-image: url("../../brand/images/bland-03-off.svg");
}
.brand-tc main .five-brand .toolChip.btn3:hover {
  background-image: url("../../brand/images/bland-03-on.svg");
}
.brand-tc main .five-brand .toolChip.btn4 {
  background-image: url("../../brand/images/bland-04-off.svg");
}
.brand-tc main .five-brand .toolChip.btn4:hover {
  background-image: url("../../brand/images/bland-04-on.svg");
}
.brand-tc main .five-brand .toolChip.btn5 {
  background-image: url("../../brand/images/bland-05-off.svg");
}
.brand-tc main .five-brand .toolChip.btn5:hover {
  background-image: url("../../brand/images/bland-05-on.svg");
}
.brand-tc main .displayChip {
  display: none;
  position: relative;
}
.brand-tc main .displayChip .closeChip {
  display: none;
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main .displayChip .closeChip {
    position: absolute;
    top: -3.25em;
    right: 0;
    display: block;
    width: 3em;
    height: 3em;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main .displayChip .closeChip span:nth-child(1) {
    display: block;
    width: 100%;
    height: 2px;
    background: white;
    top: 50%;
    position: absolute;
    transform: rotate(45deg);
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main .displayChip .closeChip span:nth-child(2) {
    display: block;
    width: 100%;
    height: 2px;
    background: white;
    top: 50%;
    position: absolute;
    transform: rotate(-45deg);
  }
}
.brand-tc main .displayChip p {
  font-size: 1rem;
  line-height: 2;
  color: #674E33;
  padding: 40px 40px;
}
@media screen and (max-width: 991px) {
  .brand-tc main .displayChip p {
    font-size: 0.8rem;
    line-height: 1.8;
    padding: 20px 30px;
  }
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main .displayChip p {
    font-size: 0.9rem;
    line-height: 2;
    padding: 60px 40px;
  }
}
.brand-tc main .displayChip.open {
  display: block;
  position: absolute;
  background-color: white;
  border: 2px solid #674E33;
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main .displayChip.open {
    position: fixed;
    width: 90% !important;
    margin: 0 5% !important;
    height: auto;
    top: 20% !important;
    left: 0 !important;
    z-index: 10002;
  }
}
.brand-tc main .displayChip.open:before {
  content: "";
  position: absolute;
  bottom: -80px;
  left: 40%;
  margin-left: 2px;
  border: 40px solid transparent;
  border-top: 40px solid white;
  z-index: 2;
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main .displayChip.open:before {
    display: none;
  }
}
.brand-tc main .displayChip.open:after {
  content: "";
  position: absolute;
  bottom: -84px;
  left: 40%;
  margin-left: 0px;
  border: 42px solid transparent;
  border-top: 42px solid #674E33;
  z-index: 1;
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main .displayChip.open:after {
    display: none;
  }
}
.brand-tc main .external {
  width: 50%;
  margin: 3% auto;
}
.brand-tc main .external .flexcontainer {
  justify-content: space-between;
}
.brand-tc main .external .flexcontainer .caption {
  text-align: center;
}
@media (orientation: portrait) and (max-width: 767px) {
  .brand-tc main .external {
    width: 90%;
  }
}

#cover {
  display: none;
}
#cover.open {
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 10001;
}/*# sourceMappingURL=brand.css.map */