@charset "UTF-8";
#Billboard {position: relative;}
#Billboard figure {overflow: hidden;}
#Billboard figure img {transform: scale(1) rotate(0deg);filter: contrast(.5) brightness(3.5) grayscale(0.7);-webkit-backface-visibility: hidden;backface-visibility: hidden;will-change: filter transform;}
#Billboard .ttl-style-01 {opacity: 0;transition: opacity 1.8s 1s ease, letter-spacing 4s 1s cubic-bezier(0.25, 1, 0.5, 1);-webkit-backface-visibility: hidden;backface-visibility: hidden;will-change: letter-spacing;position: absolute;top: calc(50% + 1.5em);left: 50%;transform: translate(-50%, -50%);z-index: 2;letter-spacing: 0.2em;text-align: center;font-size: 150%;font-family: var(--serif);white-space: nowrap;color: #fff;}
#Billboard .ttl-style-01 span {display: block;margin-bottom: 0.5em;background: linear-gradient(0deg, rgb(255 255 255 / 100%) 0%, rgb(255 255 255 / 68%) 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;font-size: 400%;font-weight: 400;font-family: var(--garamond);line-height: 1;}

#Billboard.staging figure img {filter: contrast(1) brightness(1) grayscale(0);transform: scale(1.05) rotate(1deg);transition: filter var(--easing) 2000ms, transform var(--easing) 10000ms;}
#Billboard.staging .ttl-style-01 {opacity: 1;letter-spacing: 0.15em;}
/* =====
 * LAYOUT :: ALL DEVICE
=================================================================== */
#Main h3,
#Main h4,
#Main .lead {word-break: keep-all;overflow-wrap: anywhere;}
#Main .block-hilltop-01,
#Main .block-hilltop-03,
#Main .block-hilltop-05 {background: transparent url("../img/common/bg_01.webp") no-repeat 50% 0 / cover;}
#Main .block-hilltop-04 .container,
#Main .block-hilltop-05 .container {padding-top: 7em;}
#Main .block h3 {margin-bottom: 2.5em;font-family: var(--serif);font-size: 137.5%;font-weight: normal;text-align: center;letter-spacing: 0.24em;color: #67473d;}
#Main .block h3 span {display: block;margin-bottom: 1em;opacity: 0.5;font-family: var(--garamond);}
#Main .block h4 {position: relative;margin-bottom: 1.5em;font-family: var(--serif);font-size: 125%;font-weight: normal;text-align: center;letter-spacing: 0.16em;color: #67473d;white-space: nowrap;}
#Main .block h4[data-num]::before {content: attr(data-num)"";position: absolute;bottom: -0.1em;left: 0;right: 0;font-size: 700%;line-height: 1;opacity: 0.1;}
#Main .block .lead {max-width: 62.5em;margin: 0 auto 3em;}
#Main .block .column {display: flex;gap: 1.25em;}
#Main .block figure[data-caps].icon::after {bottom: inherit;top: 0;background-color: #121212;}
#Main .block-hilltop-02 .note {margin-top: 1em;font-size: 75%;line-height: 1.5;letter-spacing: 0;color: #666;}
#Main .block-hilltop-04 section > figure {max-width: 50em;margin-left: auto;margin-right: auto;}
#Main .block-hilltop-04 section > figure[data-protect] {position: relative;}
#Main .block-hilltop-04 section > figure[data-protect]::before {content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 1;}
#Main .block-hilltop-04 section > figure[data-protect] img {pointer-events: none;-webkit-user-select: none;user-select: none;-webkit-touch-callout: none;}
#Main .block-hilltop-03 section > figure + .column {margin-top: 3em;}
/* =====
* LAYOUT :: PC
=================================================================== */
@media only screen and (min-width:769px) {
  #Main .block-hilltop-02 figure[data-caps="高低差概念図"]::after {right: inherit;left: 0;bottom: 0 !important;top: inherit !important;background-color: transparent !important;border: 1px solid #888;color: #888;}
  #Main .block-hilltop-03 h3 {margin-bottom: 4em;}
  #Main .block .column > * {width: calc((100% - 1.25em * 2) / 3);}
}
/* =====
* LAYOUT :: SP
=================================================================== */
@media only screen and (max-width:768px) {
  #Billboard figure img {object-fit: cover;height: 100vw;object-position: 50% 50%;}
  #Billboard .ttl-style-01 {font-size: 125%;}
  #Billboard .ttl-style-01 span {font-size: 200%;}

  #Main .block .column {flex-direction: column;}
  #Main .block h4[data-num] {display: flex;align-items: center;justify-content: center;gap: 1em;}
  #Main .block h4[data-num] span {transform: scale(1.5, 3);opacity: 0.2;}
}
