@charset "UTF-8";
/* CSS Document */
#billboard {position: relative;}
#billboard #mainSlide ul {}
#billboard #mainSlide ul li {height: 100svh;/*background: url("../img/index/index_mv01_img01_pc.webp") no-repeat center/cover;*/position: relative;}
#billboard #mainSlide ul li::after {display: none;content: '';width: 100%;height: 100%;background: linear-gradient(to bottom,transparent,rgba(0,0,0,0.9));position: absolute;left: 0;bottom: 0;right: 0;}
#billboard #mainSlide ul li .txtWrap {color: #fff;position: absolute;left: 7em;bottom: 7em;z-index: 100;}
#billboard #mainSlide ul li .txtWrap p:nth-child(1) {font-size: 112.5%;}
#billboard #mainSlide ul li .txtWrap p:nth-child(1) span {}
#billboard #mainSlide ul li .txtWrap p:nth-child(1) span::after {display: inline-block;content: '';width: calc(100% - 20em);height: 1px;margin-left: 0.5em;background: #fff;vertical-align: super;opacity: 0.6;}
#billboard #mainSlide ul li .txtWrap p:nth-child(2) {font-size: 300%;font-weight: 600;margin-top: 0.25em;}
#billboard #mainSlide ul li .txtWrap p:nth-child(3) {line-height: 2.5;margin-top: 1em;}
#billboard #mainSlide ul li figure img {width: 100%;height: 100%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);object-fit: cover;}
#billboard #mainSlide ul li figure {opacity: 0;}
#billboard #information {position: absolute;top: 100%;right: 0;z-index: 102;}
#billboard #information .container {display: flex;flex-wrap: wrap;justify-content: flex-start;align-items: center;max-width: 44em;padding: 0.5em;margin: 0 0 0 auto;background: #fff;box-sizing: border-box;}
#billboard #information .container h2 {font-size: 137.5%;font-weight: 500;padding: 0.5em 0.8em;width: 4em;}
#billboard #information .container > div {width: calc(100% - 11em);border-left: 1px solid #d8d8d8;box-sizing: border-box;overflow: hidden;}
#billboard #information .container > div ul li {padding: 0.5em 1.35em;}
#billboard #information .container > div ul li p span {display: inline-block;vertical-align: middle;}
#billboard #information .container > div ul li p span:nth-child(1) {font-weight: 600;margin-right: 1em;}
#billboard #information .container > div ul li p span:nth-child(2) {width: 22em;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
#billboard #information .container > div .swiper-navigation-info {text-align: center;width: 4em;position: absolute;top: 50%;left: auto;right: 1em;transform: translateY(-50%);}
#billboard #information .container > div .swiper-pagination-info {position: static;}
#billboard #information .container > div .swiper-button-prev-info,
#billboard #information .container > div .swiper-button-next-info {width: 0.7em;height: 0.7em;border-right: 1px solid #777;border-bottom: 1px solid #555;position: absolute;cursor: pointer;}
#billboard #information .container > div .swiper-button-prev-info {top: 0.4em;left: -0.25em;right: auto;transform: rotate(135deg);}
#billboard #information .container > div .swiper-button-next-info {top: 0.4em;left: auto;right: -0.25em;transform: rotate(-45deg);}
#billboard #information .container > div .swiper-button-next-info:after,
#billboard #information .container > div .swiper-button-prev-info:after {display: none;}
#property {background: #fff;}
#property .container {padding: 4em 0 7em;}
#property .container > div:nth-child(1) {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-end;text-align: center;padding: 0 0 3em;position: relative;z-index: 101;}
#property .container > div:nth-child(1) h1 {color: var(--color-03);font-size: 200%;font-weight: 600;letter-spacing: 0.05em;width: 100vw;margin: 0 -5vw 1em;padding: 2.5em 0;background: #f8f8f8;}
#property .container > div:nth-child(1) h1 span {display: inline-block;font-weight: inherit;}
#property .container > div:nth-child(1) h2 {font-size: 137.5%;font-weight: 400;letter-spacing: 0.1em;}
#property .container > div:nth-child(1) h2::before {display: inline-block;content: attr(data-title);font-size: 250%;font-weight: 400;font-family: 'Oswald', sans-serif;line-height: 1;margin: 0 0.25em 0.25em 0;transform: translateY(0.25em);}
#property .container > div:nth-child(1) a {margin: 0 0 0 auto;}
#property .container > div:nth-child(2) .swiper-navigation-proper {display: flex;flex-wrap: wrap;justify-content: space-between;width: calc((((100vw - 150px) / 4)*3) + 100px + 72px);position: absolute;top: calc(50% - 5em);left: 50%;transform: translate(-50%,-50%);z-index: 100;}
#property .container > div:nth-child(2) .swiper-navigation-style-01 button {background: #f0f0f0;box-shadow: none;}
#property .container > div:nth-child(2) {width: 100%;z-index: 1;position: relative;/*overflow-x: hidden;*/}
/*#property .container > div:nth-child(2) .swiper-wrapper {transition-timing-function: linear;}*/
#property .container > div:nth-child(2) ul li a figure {transform-origin: left;transition: 0.4s;}
#property .container > div:nth-child(2) figure {width: 100%;padding-top: 105%;border-radius: 1em;position: relative;overflow: hidden;}
#property .container > div:nth-child(2) .noImage figure {background: #f8f8f8;}
#property .container > div:nth-child(2) .noImage figure::after {content: '';width: 60%;height: 3em;background: url("../img/common/logo03_pc.webp") no-repeat center/contain;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}
#property .container > div:nth-child(2) figure img:not(.badge) {width: 100%;height: 100%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);object-fit: cover;}
#property .container > div:nth-child(2) figure img.badge {width: 6em;height: auto;position: absolute;top: 0.6em;right: 1.0em;z-index: 101;}
#property .container > div:nth-child(2) a > p:nth-of-type(1) {display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;font-size: 137.5%;font-weight: 600;white-space: normal;margin-top: 1em;overflow: hidden;}
#property .container > div:nth-child(2) a > p:nth-of-type(2) {display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;font-weight: 600;white-space: normal;margin-top: 0.25em;overflow: hidden;}
#property .container > div:nth-child(2) a > p:nth-of-type(3) {display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;font-size: 87.5%;line-height: 2;white-space: normal;margin-top: 1em;overflow: hidden;}
#usp {padding: 10em 0;position: relative;}
#usp::after {display: block;content: '';width: 100%;height: 100%;background: rgba(0,0,0,0.3);position: absolute;top: 0;left: 0;right: 0;}
#usp .container {position: relative;}
#usp .container h2 {width: 70%;max-width: 500px;margin: 0 auto;position: relative;z-index: 100;}
#usp .container .txtWrap {color: #fff;font-weight: 600;text-align: center;margin: 5em auto 0;width: 90%;}
#usp .container .txtWrap p:nth-child(1) {font-size: 150%;font-weight: 600;}
#usp .container .txtWrap p:nth-child(2) {font-size: 250%;font-weight: 600;margin-top: 0.5em;}
#usp .container .txtWrap p:nth-child(2)::before {display: inline-block;content: attr(data-label);font-size: 60%;font-weight: 600;line-height: 1;margin-right: 0.5em;padding: 0.2em 0.4em 0.15em;border: 2px solid #fff;vertical-align: text-bottom;}
#usp .container .txtWrap p:nth-child(3) {line-height: 2.5;margin-top: 1.5em;}
#usp .container .swiper-navigation-usp {width: 94%;max-width: 1200px;margin: 0 auto;position: absolute;top: 50%;left: 0;right: 0;transform: translateY(-50%);z-index: 100;}
#usp .container .swiper-navigation-usp .swiper-button-prev-usp,
#usp .container .swiper-navigation-usp .swiper-button-next-usp {width: 4em;height: 4em;border-right: 2px solid #fff;border-bottom: 2px solid #fff;margin: 0 auto;position: absolute;top: 0;left: 0;right: 0;cursor: pointer;}
#usp .container .swiper-navigation-usp .swiper-button-prev-usp {transform: rotate(135deg);right: auto;}
#usp .container .swiper-navigation-usp .swiper-button-next-usp {transform: rotate(-45deg);left: auto;}
#feature {padding: 5em 0;background: #dde1e9;}
#feature .container h2 {font-size: 300%;font-weight: 600;}
#feature .container h2 + p {font-size: 112.5%;}
#feature .container ul {display: flex;flex-wrap: wrap;justify-content: space-between;margin-top: 4em;}
#feature .container ul li {width: calc(50% - 1.5em);margin-bottom: 3em;}
#feature .container ul li a {display: block;width: 100%;padding-top: 65%;border-radius: 1.5em;background: #000;overflow: hidden;position: relative;}
#feature .container ul li a div {text-align: center;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);z-index: 100;}
#feature .container ul li a div h3 {color: #000;}
#feature .container ul li a div h3::before {display: inline-block;content: attr(data-label);color: #fff;font-size: 318.75%;font-weight: 400;font-family: 'Oswald', sans-serif;line-height: 1;padding: 0.1em 0.3em 0.15em;background: #000;}
#feature .container ul li a div h3 span {display: block;font-size: 131.25%;font-weight: 600;background: #fff;padding: 0.5em 1em 0.4em;margin: 0 auto;}
#feature .container ul li:nth-child(1) a div h3 span {}
#feature .container ul li:nth-child(2) a div h3 span {width: 16.5em;}
#feature .container ul li:nth-child(3) a div h3 span {max-width: 6em;}
#feature .container ul li:nth-child(4) a div h3 span {max-width: 7em;}
#feature .container ul li a div p {color: #fff;font-size: 112.5%;font-weight: 600;line-height: 1.75;white-space: nowrap;margin-top: 1.5em;}
#feature .container ul li a div p small {display: block;font-size: 10px;font-weight: 300;}
#feature .container ul li a figure {width: 100%;height: 100%;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}
#feature .container ul li a figure img {width: 102%;height: 102%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);object-fit: cover;opacity: 0.6;transition: 0.4s ease-out;}
#faq {padding: 5em 0;background: #fff;}
#faq .container > div:nth-child(2) {width: 100%;margin-top: 4em;position: relative;}
#faq .container > div:nth-child(2) ul li {height: auto;box-sizing: border-box;background: #f5f6f8;transition: 0.4s !important;}
#faq .container > div:nth-child(2) ul li {padding: 2.5em;}
#faq .container > div:nth-child(2) ul li p:nth-of-type(1) {height: 5em;white-space: normal;}
#faq .container > div:nth-child(2) ul li p:nth-of-type(1) span {display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;color: var(--color-03);font-size: 112.5%;font-weight: 600;overflow: hidden;}
#faq .container > div:nth-child(2) ul li p:nth-of-type(1) span::before {content: attr(data-label);}
#faq .container > div:nth-child(2) ul li p:nth-of-type(2) {display: -webkit-box;-webkit-line-clamp: 8;-webkit-box-orient: vertical;font-size: 87.5%;white-space: normal;line-height: 2;overflow: hidden;}
#faq .container > div:nth-child(2) .swiper-navigation-faq {width: 90%;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);z-index: 100;}
#faq .swiper-navigation-faq {display: flex;flex-wrap: wrap;justify-content: space-between;}
#column {padding: 6em 0;background: #868d94;}
#column .container {position: relative;}
#column .container .ttl-style-01 {color: #fff;}
#column .container > div:nth-child(2) {width: 100%;margin-top: 5em;}
#column .container > div:nth-child(2) ul li {border-radius: 1em;overflow: hidden;transition: all ease-in 0.8s;}
#column .container > div:nth-child(2) a figure {width: 100%;padding-top: 55%;position: relative;overflow: hidden;}
#column .container > div:nth-child(2) .noImage a figure {background: #f8f8f8;}
#column .container > div:nth-child(2) .noImage a figure::after {content: '';width: 60%;height: 3em;background: url("../img/common/logo03_pc.webp") no-repeat center/contain;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}
#column .container > div:nth-child(2) a figure img {width: 102%;height: 102%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);object-fit: cover;}
#column .container > div:nth-child(2) a {display: block;}
#column .container > div:nth-child(2) a > div {padding: 1em 1.5em;background: #fff;}
#column .container > div:nth-child(2) a > div > p:nth-of-type(1) {color: var(--color-01);font-size: 87.5%;}
#column .container > div:nth-child(2) a > div > p:nth-of-type(2) {display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;font-size: 112.5%;font-weight: 600;min-height: 3em;overflow: hidden;}
#column .container > div:nth-child(2) a > div > p:nth-of-type(3) {display: -webkit-box;-webkit-line-clamp: 5;-webkit-box-orient: vertical;font-size: 87.5%;line-height: 2;margin-top: 0.5em;overflow: hidden;}
#column .container > div:nth-child(2) .swiper-navigation-column {display: flex;flex-wrap: wrap;justify-content: space-between;width: 90%;position: absolute;top: calc(50% + 2.75em);left: 50%;transform: translate(-50%,-50%);z-index: 100;}
#column .container .btn-style-02 {border: none;}
#news {padding: 5em 0;background: #fff;}
#news .container ul {margin-top: 3em;}
#news .container ul li a {padding: 2.5em 4em 2.5em 0;position: relative;}
#news .container ul li:not(:last-child) a {border-bottom: 1px solid #d3d3d3;}
#news .container ul li a::after {display: block;content: '';width: 0.6em;height: 0.6em;border-right: 1px solid #d3d3d3;border-bottom: 1px solid #d3d3d3;position: absolute;top: 50%;right: 0;transform: rotate(-45deg) translateY(-50%);pointer-events: none;}
#news .container ul li a p {display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;}
#news .container ul li a p span:nth-child(1) {display: inline-block;width: 6em;}
#news .container ul li a p span:nth-child(2) {font-weight: 600;}
#move {padding: 8em 0;background: #eaeff2;}
#move .container {text-align: center;}
#move .container figure {width: 60%;max-width: 400px;margin: 0 auto;}
#move .container p {color: var(--color-03); font-size: 112.5%;font-weight: 600;line-height: 2.5;margin-top: 3em;}
#video-background {display: block;content: '';width: 100%;height: 100%;background: #333644;position: fixed;top: 0;left: 0;z-index: -2;overflow: hidden;}
#video-background video {width: 100%;height: 100%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);object-fit: cover;;}
@media only screen and (min-width: 1900px) {
  #property .container > div:nth-child(2) ul li.swiper-slide-active a figure {transform: scale(106%) translate(-3%,0%) !important;}
}
@media only screen and (min-width: 768px) and (max-width: 1500px) {
  /*#billboard #mainSlide ul li {height: 55vw;}*/
  #feature .container ul {font-size: 1.2vw;}
}
@media only screen and (max-width: 1400px) {
  #feature .container h2 {font-size: 250%;}
  #faq .container > div:nth-child(2) .swiper-navigation-faq {width: 57%;}
  #column .container > div:nth-child(2) .swiper-navigation-column {width: 40.5%;}
}
@media only screen and (max-width: 1200px) {}
@media only screen and (min-width: 768px) and (max-width: 1200px) {}
@media only screen and (min-width: 1100px) {
  #faq .container > div:nth-child(2) {padding-left: 32vw;}
}
@media only screen and (min-width: 768px) {
  #feature .container ul li:hover a figure img {width: 110%;height: 110%;opacity: 1;}
  #property .container > div:nth-child(2) ul li.swiper-slide-active a figure {transform: scale(110%) translate(-4%,0%);}
  #faq .container > div:nth-child(2) ul li:hover {transform: scale(110%);}
  #column .container > div:nth-child(2) ul li.swiper-slide-active {transform: scale(110%);}
}
@media only screen and (max-width: 767px) {
  #video-background,
  #billboard #mainSlide ul li {height: 90vw;}
  /*#billboard #mainSlide ul li {background: url("../img/index/index_mv01_img01_sp.webp") no-repeat center/cover;}*/
  #billboard #information {left: 0;}
  #billboard #information .container h2 {padding: 0.5em 0.8em 1.5em;}
  #billboard #information .container > div {width: calc(100% - 6em);}
  #billboard #information .container > div .swiper-navigation-info {width: 3em;top: auto;left: 1.65em;right: auto;bottom: -0.2em;}
  #billboard #information .container > div ul li {padding: 0.5em 1.2em;}
  #billboard #information .container > div ul li p span:nth-child(1) {display: block;margin: 0;} 
  #billboard #information .container > div ul li p span:nth-child(2) {width: 100%;}
  #property .container {padding: 5em 0 9em;position: relative;}
  #property .container > div:nth-child(1) {padding: 0 0 2em;position: static;}
  #property .container > div:nth-child(1) h1 {font-size: 137.5%;letter-spacing: 0.02em;padding: 2.5em 0;}
  #property .container > div:nth-child(1) h2::before {margin-left: -4px;}
  #property .container > div:nth-child(1) a {margin: 0 auto 3em;position: absolute;left: 0;right: 0;bottom: 0;}
  #property .container > div:nth-child(2) {margin: 0 auto 0 -4.5vw;padding: 0;}
  #property .container > div:nth-child(2) ul li {width: 77.5vw !important;margin-right: 5vw;box-sizing: border-box;}
  #property .container > div:nth-child(2) .swiper-navigation-proper {top: calc(50% - 7em);left: 44.5%;}
  #property .container > div:nth-child(2) .swiper-navigation-proper .swiper-button-prev-proper {opacity: 0;pointer-events: none;}
  #property .container > div:nth-child(2) a > p:nth-of-type(2) {-webkit-line-clamp: 2;min-height: 2.5em;margin-top: 1em;}
  #property .container > div:nth-child(2) a > p:nth-of-type(3) {-webkit-line-clamp: 4;}
  #feature {padding: 4em 0;}
  #feature .container h2 {font-size: 150%;}
  #feature .container h2 + p {font-size: 100%;white-space: nowrap;}
  #feature .container ul {margin-top: 3em;}
  #feature .container ul li {width: 100%;margin-bottom: 2em;}
  #feature .container ul li a div h3::before {font-size: 231.25%;}
  #feature .container ul li a div h3 span {font-size: 81.25%;padding: 0.25em 0.5em 0.2em;}
  #feature .container ul li a div p {font-size: 81.25%;margin-top: 1em;}
  #faq {padding: 4em 0 5em;overflow: hidden;}
  #faq .container > div:nth-child(2) {margin: 2em auto 0 -4.5vw;padding: 0;}
  #faq .container > div:nth-child(2) ul li {width: 77.5vw !important;margin-right: 5vw;padding: 1.5em;box-sizing: border-box;}
  #faq .container > div:nth-child(2) ul li p:nth-of-type(1) {height: 4em;}
  #faq .container > div:nth-child(2) .swiper-navigation-faq {left: 44.5%;}
  #faq .container > div:nth-child(2) .swiper-navigation-faq .swiper-button-prev-faq {opacity: 0;pointer-events: none;}
  #column {padding: 4em 0 5em;}
  #column .container > div:nth-child(2) {margin: 2em auto 0 -4.5vw;padding: 0;}
  #column .container > div:nth-child(2) ul li {width: 77.5vw !important;margin-right: 5vw;box-sizing: border-box;}
  #column .container > div:nth-child(2) .swiper-navigation-column {left: 44.5%;}
  #column .container > div:nth-child(2) .swiper-navigation-column .swiper-button-prev-column {opacity: 0;pointer-events: none;}
  #news .container ul {margin-top: 1em;}
  #news .container ul li a {padding-right: 1.5em;}
  #news .container ul li a p {-webkit-line-clamp: 2;}
  #news .container ul li a p span:nth-child(1) {display: block;width: 100%;}
  #news .container > a {margin-top: 1em;}
  #move {padding: 5em 0;}
  #move .container p {font-size: 100%;line-height: 2;}
  #move .container p + p {margin-top: 2em;}
}
@media only screen and (max-width: 768px) and (orientation: landscape) {}