/* intro */
#intro .inner {
  position: relative;
  background: var(--cl-white);
  box-shadow: var(--custom-box-shadow-2);
  border-radius: 0.5em;
  padding: calc(var(--u-padding) * 2); }
  #intro .inner .intro-im {
    position: absolute;
    display: inline-block;
    width: 50%;
    aspect-ratio: 325/500; }
    #intro .inner .intro-im.im-left {
      top: -30%;
      left: -10%; }
    #intro .inner .intro-im.im-right {
      bottom: -30%;
      right: -10%; }
  #intro .inner .intro-text {
    width: 50%;
    margin: auto; }
  #intro .inner .uk-card-body {
    text-align: center;
    margin: 2em 0 1em; }
    #intro .inner .uk-card-body p {
      text-align: left; }
      #intro .inner .uk-card-body p:last-of-type {
        margin-bottom: 3em; }
@media only screen and (max-width: 1192px) {
  #intro .inner {
    padding: var(--u-padding); } }
@media only screen and (max-width: 800px) {
  #intro .wrapper {
    margin-bottom: var(--u-space); }
  #intro .inner {
    text-align: center;
    margin-top: 11em;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0; }
    #intro .inner .intro-im {
      position: relative;
      width: 100%;
      height: fit-content; }
      #intro .inner .intro-im.im-left {
        top: -8em;
        left: 50%;
        transform: translate(-50%, 0);
        aspect-ratio: 449/320;
        margin-bottom: -6em; }
      #intro .inner .intro-im.im-right {
        bottom: -3em;
        right: initial;
        left: 50%;
        transform: translate(-50%, 0);
        aspect-ratio: 450/244;
        margin-top: -2em; }
    #intro .inner .intro-text {
      width: 100%; }
    #intro .inner .uk-card-body {
      margin: 0;
      padding-bottom: 1em; } }
@media only screen and (max-width: 800px) {
  #intro {
    padding-top: 0;
    padding-bottom: 0; } }

/* philisophy */
#philisophy.frame::before {
  height: 72%; }
@media only screen and (min-width: 951px) {
  #philisophy.frame::before, #philisophy.frame::after {
    height: 524px; } }
@media only screen and (max-width: 950px) {
  #philisophy {
    padding-bottom: 30vw; } }

/* vision */
#vision {
  padding-bottom: 0; }
  #vision.s-frame {
    /*.s-frame-wrapper {
    	padding-top: calc(var(--u-padding) + var(--u-padding-s));
    	padding-bottom: calc(var(--u-padding) + var(--u-padding-s));
    }*/ }
    #vision.s-frame .uk-card-media-top {
      aspect-ratio: initial; }
      #vision.s-frame .uk-card-media-top img {
        height: auto; }
  #vision .uk-card-body p {
    font-weight: 500;
    font-size: 1.2em;
    line-height: 1.7em;
    letter-spacing: 0.1em; }
  @media only screen and (max-width: 1100px) {
    #vision .br-custom {
      display: none; } }
  @media only screen and (max-width: 800px) {
    #vision .wrapper .inner {
      max-width: 100%; }
    #vision .uk-card-media-top {
      margin-left: calc(0 - var(--u-padding));
      margin-right: calc(0 - var(--u-padding)); }
    #vision .uk-card-body p {
      font-size: 1em; } }
  @media only screen and (max-width: 640px) {
    #vision.s-frame .s-frame-wrapper {
      margin: -3em auto 0;
      padding-top: var(--u-padding);
      padding-bottom: var(--u-padding); } }

/* overview */
#overview {
  padding-bottom: 0; }
  @media only screen and (max-width: 640px) {
    #overview .box-dl dt {
      width: 7.25em; }
    #overview .box-dl dd {
      width: calc(100% - 7.25em); } }

/* access */
#access h4 {
  font-size: 1.5em;
  letter-spacing: 0.05em;
  padding-bottom: 1em;
  border-bottom: 1px solid var(--cl-grey); }
#access iframe {
  width: 100%;
  height: 100%; }
#access .uk-card-body {
  padding-right: var(--u-padding); }
  #access .uk-card-body > div:first-of-type {
    margin-bottom: 3em; }
    #access .uk-card-body > div:first-of-type > * {
      margin-bottom: 0.5em; }
#access .location-info {
  font-size: 1em;
  letter-spacing: 0.05em;
  margin-bottom: 0.1em; }
#access dl > * {
  padding: 0.2em 0;
  font-weight: 400;
  font-size: 1em;
  line-height: 1.625em;
  letter-spacing: 0.1em; }
#access dt {
  width: calc(100% - 5.5em); }
#access dd {
  width: 5.5em; }
#access .hover-fix {
  margin-top: .75em; }
#access a.bt:not(.bt-iconR) {
  padding: 0.1em 0.75em 0.35em;
  font-weight: 500;
  font-size: 0.95em;
  letter-spacing: 0.02em;
  background-color: transparent;
  color: var(--cl-page-ink);
  border: var(--cl-page-ink) solid 1px !important; }
  #access a.bt:not(.bt-iconR) span {
    padding-left: 1.5em; }
    #access a.bt:not(.bt-iconR) span::before {
      background-size: 1.2em;
      width: 1.2em;
      height: 1.2em; }
  #access a.bt:not(.bt-iconR):hover {
    color: var(--cl-white); }
@media only screen and (min-width: 951px) {
  #access .uk-card-body > div {
    margin-bottom: 1.5em; } }
@media only screen and (max-width: 1192px) {
  #access .uk-card-body {
    padding-right: var(--u-padding-s); } }
@media only screen and (max-width: 950px) {
  #access h4 {
    font-size: 1.25em; }
  #access .inner > .uk-card > div:first-of-type {
    order: 1; }
  #access .inner > .uk-card > div:last-of-type {
    order: 2; }
  #access iframe {
    aspect-ratio: 16/9; }
  #access .uk-card-body {
    padding-right: 0; }
    #access .uk-card-body > div:first-of-type {
      margin-bottom: 1em; }
    #access .uk-card-body > div + div {
      margin-top: 1.5em; }
  #access dt {
    width: calc(100% - 6.5em); }
  #access dd {
    width: 6.5em; } }

/**/
@media only screen and (min-width: 951px) {
  #philosophy.frame::before, #philosophy.frame::after {
    height: 580px; } }
