@charset "UTF-8";
/* CSS Document */
.billboard-style-01 h2 img {filter: brightness(0) invert(1);}
.billboard-style-01 p {text-shadow: none;}
#Main {background: #5f5d5b;}
#Main .block-concept-01 {padding: 0 0 22em;background: #272524;position: relative;}
#Main .block-concept-01::after {display: block;content: '';width: 100%;height: 16em;background: url("../img/common/bg04.svg") no-repeat center bottom/100%;position: absolute;left: 0;bottom: -1px;z-index: 1;pointer-events: none;}
#Main .block-concept-01 h3 {color: #fff;font-size: 175%;text-align: center;letter-spacing: 0.1em;}
#Main .block-concept-01 h3::before {display: block;content: attr(data-title);font-size: 150%;max-width: 18em;margin: 0 auto 0.5em;padding-bottom: 0.25em;border-bottom: 1px solid rgba(255,255,255,0.7);}
#Main .block-concept-01 h3 + p {text-align: center;margin-top: 1em !important;}
#Main .block-concept-01 .container:nth-child(1) div {margin-top: 4em;}
#Main .block-concept-01 .container:nth-child(1) div::after {background: transparent;top: 100%;bottom: auto;}
#Main .block-concept-01 .container:nth-child(1) div ul {transition-timing-function: linear;pointer-events: none;}
#Main .block-concept-01 .container:nth-child(1) p {color: #fff;font-size: 125%;line-height: 2;max-width: 40em;margin: 3em auto 0;}
#Main .block-concept-02 {padding: 0;position: relative;}
#Main .block-concept-02 h3 {color: #fff;font-size: 175%;text-align: center;letter-spacing: 0.1em;}
#Main .block-concept-02 .container:nth-of-type(1) {display: flex;flex-wrap: wrap;justify-content: center;align-items: center;margin-top: 4em;}
#Main .block-concept-02 .container:nth-of-type(1) img {width: 42%;margin-right: 3%;}
#Main .block-concept-02 .container:nth-of-type(1) > p {color: #fff;font-size: 125%;line-height: 2;width: calc(50% - 2em);margin: -3em 1em 1em;}
#Main .block-concept-02 .container:nth-of-type(2) {text-align: left;}
#Main .block-concept-02 .container:nth-of-type(2) ul {display: flex;flex-wrap: wrap;justify-content: space-between;margin-top: 16em;}
#Main .block-concept-02 .container:nth-of-type(2) ul li {width: 42%;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(1) {margin: 0 0 0 -2em;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(2) {margin: -16em 6em 0 0;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(3) {margin: 9em 0 0 2em;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(4) {margin: -11em -3em 0 0;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(5) {margin: -10em 0 0 auto;}
#Main .block-concept-02 .container:nth-of-type(2) ul li figure {position: relative;}
#Main .block-concept-02 .container:nth-of-type(2) ul li figure figcaption {color: #fff;}
#Main .block-concept-02 .container:nth-of-type(2) ul li h4 {color: #fff;font-size: 225%;margin-top: 0.25em;}
#Main .block-concept-02 .container:nth-of-type(2) ul li h4 span {display: block;color: #fff;font-size: 50%;font-weight: bold;writing-mode: vertical-rl;font-feature-settings: normal;letter-spacing: 0.1em;padding: 0 0.75em;height: 100%;border-right: 1px solid #fff;position: absolute;top: 0;right: calc(100% + 1em);z-index: 1;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(1) h4 span {height: 24em;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(2) h4 span {height: 24em;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(3) h4 span {height: 25.7em;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(4) h4 span {height: 24em;}
#Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(5) h4 span {height: 25.7em;}
#Main .block-concept-02 .container:nth-of-type(2) ul li p {color: #fff;font-size: 112.5%;line-height: 1.75;margin-top: 0.5em;}
#Main .block-concept-03 {padding: 5em 0;position: relative;}
#Main .block-concept-03 .container:nth-child(1) {padding-bottom: 3em;}
#Main .block-concept-03 .container:nth-child(1) {margin-bottom: 7em;background: #478387;position: relative;}
#Main .block-concept-03 .container:nth-child(1)::after {background: transparent;top: 100%;bottom: auto;}
#Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) {color: #fff;padding: 9em 0 6em;width: 60%;max-width: 700px;}
#Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) h4 {font-size: 125%;line-height: 2;padding: 0 45% 6em 0;position: relative;}
#Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) h4::after {display: block;content: '';width: 50%;padding-top: 19em;background: url("../img/concept/concept_img03_04.svg") no-repeat center/contain;position: absolute;top: -4em;right: 0;z-index: 1;}
#Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) h4 span {display: block;font-size: 150%;margin-bottom: 1em;}
#Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) p {font-size: 125%;line-height: 2;margin-top: 3em;}
#Main .block-concept-03 .container:nth-child(1) .img {width: 14%;height: 100%;position: absolute;top: 0;z-index: 1;}
#Main .block-concept-03 .container:nth-child(1) .img span {display: block;height: 20%;}
#Main .block-concept-03 .container:nth-child(1) .img.left {left: 0;}
#Main .block-concept-03 .container:nth-child(1) .img.left span:nth-child(1) {background: url("../img/concept/concept_img03_02_01.webp") no-repeat center/cover;}
#Main .block-concept-03 .container:nth-child(1) .img.left span:nth-child(2) {background: url("../img/concept/concept_img03_02_02.webp") no-repeat center/cover;}
#Main .block-concept-03 .container:nth-child(1) .img.left span:nth-child(3) {background: url("../img/concept/concept_img03_02_03.webp") no-repeat center/cover;}
#Main .block-concept-03 .container:nth-child(1) .img.left span:nth-child(4) {background: url("../img/concept/concept_img03_02_04.webp") no-repeat center/cover;}
#Main .block-concept-03 .container:nth-child(1) .img.left span:nth-child(5) {background: url("../img/concept/concept_img03_02_05.webp") no-repeat center/cover;}
#Main .block-concept-03 .container:nth-child(1) .img.right {right: 0;}
#Main .block-concept-03 .container:nth-child(1) .img.right span:nth-child(1) {background: url("../img/concept/concept_img03_03_01.webp") no-repeat center/cover;}
#Main .block-concept-03 .container:nth-child(1) .img.right span:nth-child(2) {background: url("../img/concept/concept_img03_03_02.webp") no-repeat center/cover;}
#Main .block-concept-03 .container:nth-child(1) .img.right span:nth-child(3) {background: url("../img/concept/concept_img03_03_03.webp") no-repeat center/cover;}
#Main .block-concept-03 .container:nth-child(1) .img.right span:nth-child(4) {background: url("../img/concept/concept_img03_03_04.webp") no-repeat center/cover;}
#Main .block-concept-03 .container:nth-child(1) .img.right span:nth-child(5) {background: url("../img/concept/concept_img03_03_05.webp") no-repeat center/cover;}
#Main .block-common-note {background: transparent;}
#Main .block-common-note ul li {color: #fff;}
@media only screen and (min-width: 768px) and (max-width: 1200px) {}
@media only screen and (max-width: 1600px) {
  #Main .block-concept-01::after {height: 14vw;}
  #Main .block-concept-02::after {height: 14vw;}
  #Main .block-concept-03::after {height: 14vw;}
}
@media only screen and (max-width: 1400px) {
}
@media only screen and (max-width: 1100px) {
  #Main .block-concept-01 {padding: 2em 0 10em;}
  #Main .block-concept-01 h3 {font-size: 137.5%;}
  #Main .block-concept-01 figure {margin-top: 1.5em;}
  #Main .block-concept-01 p {margin-top: 1.5em;}
  #Main .block-concept-02 {padding: 2em 0 3em;}
  #Main .block-concept-02 h3 {font-size: 137.5%;}
  #Main .block-concept-02 .container:nth-of-type(1) {margin-top: 3em;}
  #Main .block-concept-02 .container:nth-of-type(1) img {width: 55%;margin-right: 0;}
  #Main .block-concept-02 .container:nth-of-type(1) > p {width: 100%;margin: 1em 0 0;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li {width: 40%;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(1) {margin: 0 0 0 3em;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(2) {margin: -10em 0 0 0;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(3) {margin: 5em 0 0 3em;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(4) {margin: -5em 0 0;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(5) {margin: -2em 0 0 auto;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li h4 {font-size: 175%;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li p {font-size: 100%;}
  #Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) {padding: 4em 0;width: 64%;}
  #Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) h4 {text-align: center;padding: 0;}
  #Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) h4::after {width: 70%;padding-top: 65%;margin: 2em auto 0;position: static;} 
}
@media only screen and (min-width: 1800px) {
  #Main .block-concept-01::after {height: 30em;}
}
@media only screen and (min-width: 768px) {}
@media only screen and (max-width: 767px) {
  .billboard-style-01 {height: 184vw;}
  .billboard-style-01 p {white-space: nowrap;}
  #Main .block-concept-01 {padding: 2em 0 8em;}
  #Main .block-concept-01 .container:nth-child(1) {padding-bottom: 0;}
  #Main .block-concept-01 .container:nth-child(1) div {margin-top: 2em;}
  #Main .block-concept-01 .container:nth-child(1) p {font-size: 112.5%;}
  #Main .block-concept-02 {padding: 2em 0 3em;}  
  #Main .block-concept-02 .container:nth-of-type(1) {margin-top: 2em;}
  #Main .block-concept-02 .container:nth-of-type(1) img {width: 70%;}
  #Main .block-concept-02 .container:nth-of-type(1) > p {font-size: 112.5%;margin-top: 1em;}
  #Main .block-concept-02 .container:nth-of-type(2) ul {margin-top: 2em;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li {width: 100%;margin: 0 !important;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li + li {margin: 3em 0 0 !important;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li figure {width: 100vw;margin: 0 0 1.5em -5vw;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li figure figcaption {left: 1em;right: auto;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li h4 {font-size: 200%;line-height: 1;margin-top: 2em;padding-bottom: 0.5em;position: relative;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(5) h4 {margin-top: 1.2em;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li h4 span {font-size: 60%;letter-spacing: 0;line-height: 1.5;writing-mode: horizontal-tb;width: 51vw;height: auto !important;padding: 0.5em 0 0.75em;margin-bottom: 0.75em;border-right: none;border-bottom: 1px solid #fff;position: static;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li h4::after {display: block;content: '';width: 50vw;height: 50vw;position: absolute;right: -4vw;bottom: 0;z-index: 1;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(1) h4::after {background: url("../img/concept/concept_img02_01.svg") no-repeat center/contain;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(2) h4::after {background: url("../img/concept/concept_img02_02.svg") no-repeat center/contain;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(3) h4::after {background: url("../img/concept/concept_img02_03.svg") no-repeat center/contain;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(4) h4::after {background: url("../img/concept/concept_img02_04.svg") no-repeat center/contain;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li:nth-child(5) h4::after {background: url("../img/concept/concept_img02_05.svg") no-repeat center/contain;}
  #Main .block-concept-02 .container:nth-of-type(2) ul li p {font-size: 125%;margin-top: 0.5em;}
  #Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) {padding: 9em 0 7em;width: 90%;}
  #Main .block-concept-03 .container:nth-child(1) .img {display: flex;flex-wrap: wrap;justify-content: space-between;width: 100%;height: 6em;}
  #Main .block-concept-03 .container:nth-child(1) .img span {width: 20%;height: 100%;}
  #Main .block-concept-03 .container:nth-child(1) .img.right {top: auto;bottom: 0;}
  #Main .block-concept-03 .container:nth-child(1) > div:nth-child(1) p {font-size: 112.5%;margin-top: 2em;}
  #Main .block-concept-03 {padding: 2em 0;}
  #Main .block-concept-03 .container:nth-child(1) {margin-bottom: 5em;}
  #Main .block-concept-03 figure figcaption {color: #fff;top: calc(100% + 0.1em);bottom: auto;}
}
@media only screen and (max-width: 768px) and (orientation: landscape) {}