:root {
  --l-content: 100%; }
  @media (min-width: 768px) {
    :root {
      --l-content: calc(768px - 32px); } }
  @media (min-width: 960px) {
    :root {
      --l-content: calc(960px - 32px); } }
  @media (min-width: 1200px) {
    :root {
      --l-content: calc(1212px - 32px); } }
  @media (max-width: 767px) {
    :root {
      --l-content: calc(100% - 32px); } }

@media (min-width: 768px) {
  :root {
    --h-firstview: 700px; } }
@media (min-width: 1200px) {
  :root {
    --h-firstview: 800px; } }
@media (max-width: 767px) {
  :root {
    --h-firstview: 600px; } }

@media (min-width: 768px) {
  .l-header,
  .main-visual {
    height: 90vh !important; }

  .l-header {
    position: absolute;
    z-index: 1000;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-color: transparent; }
    .l-header .l-header-center,
    .l-header .header-menu-center {
      height: calc((100% - 60%) / 2) !important; }
      .l-header .l-header-center > .l-content,
      .l-header .header-menu-center > .l-content {
        height: 100%; } }
  @media (min-width: 768px) and (min-width: 960px) {
    .l-header .header-cta {
      top: 90vh;
      transform: translateY(-100%);
      height: 100%; } }
@media (min-width: 768px) {
  .l-header-center {
    width: 100%;
    height: 100%; } }
@media (min-width: 768px) and (min-width: 768px) {
  .l-header__inner {
    height: 100%; } }

@media (min-width: 768px) {
  .site-logo__img,
  .site-logo__img-common {
    height: 100px; }

  .header-menu-center {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: transparent; }
    .header-menu-center .l-content,
    .header-menu-center .menu-gmenu-container,
    .header-menu-center .header-menu {
      height: 100%; }
    .header-menu-center .l-content {
      display: flex;
      justify-content: flex-end;
      align-items: center; } }
.main-visual {
  background-color: #baac95; }
  .main-visual__title {
    position: absolute;
    z-index: 100;
    top: 40%;
    left: calc(50% - var(--l-content) / 2);
    line-height: 1.1;
    animation: slideIn1 4s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards; }
    .main-visual__title span {
      display: inline-block;
      margin-bottom: 8px;
      padding: 0 8px;
      background-color: #fff; }
@keyframes slideIn1 {
  0% {
    transform: translateX(10px);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
  .main-visual__message {
    position: absolute;
    z-index: 100;
    top: 50%;
    left: calc(50% - var(--l-content) / 2);
    transform: translate(-60%, -50%) rotate(90deg);
    width: fit-content;
    line-height: 1; }
    @media (max-width: 767px) {
      .main-visual__message {
        display: none; } }

.header-image-slider {
  position: absolute;
  z-index: 10;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: calc(var(--l-content) + calc(50% - var(--l-content) / 2));
  border-radius: 20px 0 0 20px;
  opacity: 0;
  transition: opacity .25s ease; }
  @media (min-width: 768px) {
    .header-image-slider {
      height: 60%; } }
  @media (max-width: 767px) {
    .header-image-slider {
      height: 80%; } }
  .header-image-slider .slick-list {
    width: 100% !important;
    height: 100% !important; }
  .header-image-slider .u-row {
    height: 100% !important; }
  .header-image-slider .slider-item {
    width: 100% !important;
    height: 100% !important; }
  .header-image-slider.slick-initialized {
    opacity: 1; }

.c-section-widget__header,
.section_header {
  display: flex;
  flex-direction: column;
  width: fit-content;
  margin: auto;
  margin-bottom: calc(8px * 3); }
.c-section-widget__title,
.section_title {
  order: 2;
  width: fit-content;
  font-weight: normal !important;
  font-size: 35px; }
.c-section-widget__sub-title,
.section_sub-title {
  order: 1;
  margin-bottom: 0;
  letter-spacing: 0.05em;
  font-size: 120%;
  color: #baac95 !important;
  font-weight: bold; }

#custom_html-3 .c-section-widget__btn,
#custom_html-3 .ncButton,
#custom_html-6 .c-section-widget__btn,
#custom_html-6 .ncButton,
#custom_html-7 .c-section-widget__btn,
#custom_html-7 .ncButton,
#custom_html-9 .c-section-widget__btn,
#custom_html-9 .ncButton {
  margin-left: 0; }

@media (max-width: 767px) {
  #posts_list_section-3 {
    background-color: #baac95 !important; }
    #posts_list_section-3 .c-section-widget__sub-title {
      color: #fff !important; } }
#posts_list_section-3 .post-list__link {
  display: block; }
#posts_list_section-3 .post-list__title {
  text-align: center; }

#custom_html-6 .c-section-widget__inner,
#sec_menu .c-section-widget__inner {
  padding-left: 0;
  padding-right: 0; }
#custom_html-6 .l-content-widget,
#sec_menu .l-content-widget {
  width: 100%; }

#custom_html-3 .c-section-widget__inner::before,
#custom_html-5 .c-section-widget__inner::before,
#custom_html-6 .c-section-widget__inner::before,
#custom_html-7 .c-section-widget__inner::before {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  height: 100%;
  background-image: url("/wp-content/site-parts/img/page/top/bg-content.svg?uqqsxwgzs");
  content: ""; }
  @media (min-width: 768px) {
    #custom_html-3 .c-section-widget__inner::before,
    #custom_html-5 .c-section-widget__inner::before,
    #custom_html-6 .c-section-widget__inner::before,
    #custom_html-7 .c-section-widget__inner::before {
      width: calc(100% / 3); } }
  @media (max-width: 767px) {
    #custom_html-3 .c-section-widget__inner::before,
    #custom_html-5 .c-section-widget__inner::before,
    #custom_html-6 .c-section-widget__inner::before,
    #custom_html-7 .c-section-widget__inner::before {
      width: 50%; } }

@media (min-width: 768px) {
  #custom_html-3 .c-section-widget__inner::before {
    height: 50%; } }
@media (max-width: 767px) {
  #custom_html-3 .c-section-widget__inner::before {
    height: 52%; } }
#custom_html-3 .section_inner {
  background: url("/wp-content/site-parts/img/page/top/concept-sec-inner-bg.svg") top/contain no-repeat; }
#custom_html-3 .section_body {
  position: relative; }
  #custom_html-3 .section_body .bg {
    position: absolute;
    z-index: 10;
    top: 0;
    right: 0;
    aspect-ratio: 75 / 53;
    background: url("/wp-content/site-parts/img/page/top/concept-sec-body-bg.jpg") top/contain no-repeat; }
    @media (min-width: 768px) {
      #custom_html-3 .section_body .bg {
        width: min(100%, 759px); } }
    @media (max-width: 767px) {
      #custom_html-3 .section_body .bg {
        width: 100%; } }
  #custom_html-3 .section_body::before {
    display: block;
    width: 100%;
    content: ""; }
    @media (min-width: 768px) {
      #custom_html-3 .section_body::before {
        aspect-ratio: 9 / 4; } }
    @media (max-width: 767px) {
      #custom_html-3 .section_body::before {
        aspect-ratio: 9 / 7; } }
  #custom_html-3 .section_body .content {
    position: relative;
    z-index: 100; }
    @media (min-width: 768px) {
      #custom_html-3 .section_body .content {
        width: 55%; } }
    @media (max-width: 767px) {
      #custom_html-3 .section_body .content {
        width: 100%; } }

#custom_html-5 {
  counter-reset: point 0; }
  @media (max-width: 767px) {
    #custom_html-5 .ncRows {
      width: 50%;
      padding-left: calc(8px * 0.5);
      padding-right: calc(8px * 0.5); }
      #custom_html-5 .ncRows:nth-of-type(2) {
        margin-top: 0 !important; }
      #custom_html-5 .ncRows > * {
        width: 100%; } }
  #custom_html-5 .ncRows_title {
    order: 2;
    text-align: justify;
    position: relative; }
    #custom_html-5 .ncRows_title::before {
      position: absolute;
      right: 8px;
      z-index: 1001;
      counter-increment: point 1;
      content: counter(point) " ";
      font-size: 300%;
      font-weight: bold;
      line-height: 1;
      transition: 0.2s ease-in; }
      @media (min-width: 768px) {
        #custom_html-5 .ncRows_title::before {
          bottom: calc(0.5 * calc(8px * 2)); } }
      @media (max-width: 767px) {
        #custom_html-5 .ncRows_title::before {
          top: 0;
          transform: translateY(-110%); } }
  #custom_html-5 .ncRows_text {
    order: 3;
    margin-bottom: calc(8px * 3); }
  #custom_html-5 .ncRows_image {
    order: 1;
    aspect-ratio: 1 / 1; }
    @media (max-width: 767px) {
      #custom_html-5 .ncRows_image {
        margin-bottom: 1em; } }
    #custom_html-5 .ncRows_image picture {
      width: 100%;
      height: 100%;
      position: relative;
      overflow: hidden;
      background-color: #fff; }
      @media (max-width: 767px) {
        #custom_html-5 .ncRows_image picture {
          position: relative; } }
      #custom_html-5 .ncRows_image picture img {
        position: absolute;
        z-index: 1;
        width: auto;
        height: 100%; }
        @media (min-width: 768px) {
          #custom_html-5 .ncRows_image picture img {
            max-width: initial;
            -webkit-clip-path: inset(0 23% 0 23%);
            clip-path: inset(0 0% 0 23%);
            transition: 0.3s ease-in; } }
        @media (max-width: 767px) {
          #custom_html-5 .ncRows_image picture img {
            max-width: initial;
            object-fit: cover; } }
  @media (max-width: 767px) {
    #custom_html-5 .ncColumns {
      gap: 0; }
      #custom_html-5 .ncColumns_panel:nth-child(1) .ncRows_image picture img {
        right: 0; }
      #custom_html-5 .ncColumns_panel:nth-child(3) .ncRows_image picture img {
        left: 0; }
      #custom_html-5 .ncColumns_panel:nth-child(5) .ncRows_image picture img {
        right: -10%; } }
  @media (min-width: 768px) {
    #custom_html-5 .ncColumns:hover .ncRows:not(:hover) {
      opacity: .2; }
    #custom_html-5 .ncColumns_panel .ncRows_image picture img {
      max-width: initial;
      width: auto;
      height: 100%; }
    #custom_html-5 .ncColumns_panel .ncRows_image picture:hover {
      overflow: visible; }
      #custom_html-5 .ncColumns_panel .ncRows_image picture:hover img {
        z-index: 1000;
        transition: 0.2s ease-in; }
    #custom_html-5 .ncColumns_panel:nth-child(3n - 2) .ncRows_image picture:hover img {
      left: -85%;
      -webkit-clip-path: inset(0);
      clip-path: inset(0); }
    #custom_html-5 .ncColumns_panel:nth-child(3n - 1) .ncRows_image picture img {
      left: 50%;
      transform: translateX(-50%);
      -webkit-clip-path: inset(0 23% 0 23%);
      clip-path: inset(0 23% 0 23%); }
    #custom_html-5 .ncColumns_panel:nth-child(3n - 1) .ncRows_image picture:hover img {
      -webkit-clip-path: inset(0 0% 0 0%);
      clip-path: inset(0 0% 0 0%); }
    #custom_html-5 .ncColumns_panel:nth-child(3n) .ncRows_image picture img {
      left: 0;
      -webkit-clip-path: inset(0 20% 0 0%);
      clip-path: inset(0 20% 0 0%); }
    #custom_html-5 .ncColumns_panel:nth-child(3n) .ncRows_image picture:hover img {
      -webkit-clip-path: inset(0 7% 0 0%);
      clip-path: inset(0 7% 0 0%); } }

#custom_html-6 .c-section-widget__inner {
  padding-top: 0;
  padding-bottom: 0; }
#custom_html-6 .ncColumns {
  align-items: flex-start;
  margin: 0;
  gap: 0; }
  #custom_html-6 .ncColumns_panel {
    position: relative;
    padding-top: 46%; }
    #custom_html-6 .ncColumns_panel:nth-of-type(2) {
      margin-top: 8%; }
#custom_html-6 .ncRows_image {
  position: absolute;
  top: 0; }
  #custom_html-6 .ncRows_image picture {
    aspect-ratio: auto;
    margin: 0; }
#custom_html-6 .ncRows_title, #custom_html-6 .ncRows_text {
  width: 80%;
  margin: auto; }
#custom_html-6 .ncRows_title {
  position: relative;
  z-index: 100;
  order: 1;
  font-size: 6vw;
  line-height: 1;
  text-align: justify; }
#custom_html-6 .ncRows_text {
  order: 2;
  margin-bottom: calc(8px * 3); }
@media (min-width: 768px) {
  #custom_html-6 .ncColumns_panel {
    width: calc(100% / 3); } }
@media (max-width: 767px) {
  #custom_html-6 .ncColumns_panel {
    width: calc((100% - 8px) / 3); }
    #custom_html-6 .ncColumns_panel:nth-of-type(3) {
      margin-top: 0 !important; }
  #custom_html-6 .ncRows_text p {
    display: none; } }

@media (max-width: 767px) {
  #custom_html-7 .c-section-widget__inner::before {
    content: none; } }
#custom_html-7 .ncColumns {
  border-top: solid 2px #333;
  border-bottom: solid 2px #333; }
  #custom_html-7 .ncColumns_panel:nth-of-type(1) figure {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    width: 100%;
    height: 100%;
    overflow: hidden; }
    #custom_html-7 .ncColumns_panel:nth-of-type(1) figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  #custom_html-7 .ncColumns_panel:nth-of-type(2) {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: max(3vw, 40px); }
    #custom_html-7 .ncColumns_panel:nth-of-type(2) .content {
      width: 80%; }

#custom_html-9 {
  background-image: url("/wp-content/site-parts/img/page/top/bg-content.svg?uqqsxwgzx"); }
  #custom_html-9 .section_inner {
    position: relative; }
  #custom_html-9 .section_header {
    position: absolute; }
  #custom_html-9 .section_title {
    width: 100%;
    height: 100%; }
  @media (min-width: 768px) {
    #custom_html-9 .section_header {
      top: 50%;
      left: 40%;
      transform: translate(-50%, -50%);
      margin-bottom: 0;
      width: 15%;
      height: 80%; }
    #custom_html-9 .content {
      aspect-ratio: 5 / 3;
      padding-right: 10%; }
      #custom_html-9 .content p {
        writing-mode: vertical-rl; } }
  @media (max-width: 767px) {
    #custom_html-9 .section_inner {
      padding-top: 50vw; }
    #custom_html-9 .section_header {
      z-index: 10;
      top: 0;
      right: 5vw;
      width: 30%; }
    #custom_html-9 .section_title img {
      height: 100%; }
    #custom_html-9 .ncColumns_panel:nth-of-type(1) {
      position: absolute;
      top: 5vw;
      left: 0;
      width: 70%; } }

#shortcod_section-15 .c-section-widget__inner {
  aspect-ratio: 1400 / 750;
  background-position: center bottom !important;
  background-size: contain !important; }
#shortcod_section-15 .c-section-widget__zindex:nth-of-type(2) {
  position: absolute;
  top: 70%;
  right: 50%;
  transform: translateX(50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  padding-top: 2em;
  padding-bottom: 2em;
  background-color: rgba(0, 0, 0, 0.4);
  color: #fff; }
#shortcod_section-15 .shortcod-content {
  text-align: center; }

#shortcod_section-3 .shortcod-content {
  text-align: center; }

#shortcod_section-14 iframe {
  width: 100%;
  height: 300px;
  border: 0; }
