/* wp css */


/* merge this with app.css
 */
.hero {
  cursor: grab;
}

.hero:active {
  cursor: grabbing;
}

.hero__banner {
  user-select: none;
  pointer-events: none;

}

/* only for wp 
 */
.concept__items .concept__items-box:nth-child(even) .concept__item {
  flex-direction: row-reverse;
}

.concept__col-slider-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menu-itm-ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media only screen and (min-width: 1200px) {
  .menu-itm-ttl {
    margin-bottom: 14px;
  }
}

.menu-itm-ttl>p {
  font-size: 2rem;
  color: #fff;
  background-color: #84673F;
  padding: 6px 8px;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
  /* background-image: linear-gradient(0deg, #84673F 55px, transparent 55px); */
  background-size: auto 55px;
}

@media only screen and (min-width: 576px) {
  .menu-itm-ttl>p {
    font-size: 2.2rem;
  }
}

@media only screen and (min-width: 768px) {
  .menu-itm-ttl>p {
    font-size: 2.4rem;
    /* line-height: 2.1428571429; */
  }
}

@media only screen and (min-width: 992px) {
  .menu-itm-ttl>p {
    font-size: 2.6rem;
  }
}

@media only screen and (min-width: 1200px) {
  .menu-itm-ttl>p {
    font-size: 2.8rem;
  }
}

.concept__item-desc p:not(:first-child),
.concept__desc p:not(:first-child) {
  margin-top: 10px;
}

.header__logo.-text {
  white-space: nowrap;
  text-decoration: none;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 2.1rem;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 700;
  letter-spacing: -0.09em;
}

@media only screen and (min-width: 576px) {
  .header__logo.-text {
    font-size: 2.8rem;
  }
}

@media only screen and (min-width: 768px) {
  .header__logo.-text {
    font-size: 3rem;
  }
}



/* 21/4/2025 */

body {
  font-family: "Noto Sans JP", sans-serif;
}

.header__logo {
  transition: all 0.3s ease;
}

.header__logo:hover {
  opacity: 0.7;
}

.header__btn {
  width: 246px;
}

@media only screen and (min-width: 1200px) {
  .header__btn {
    flex: 0 0 246px;
  }
}

.header__btn .btn-phone {
  border-radius: 0;
}

@media only screen and (min-width: 1200px) {
  .header__btn {
    flex: 0 0 246px;
  }

  .header__logo {
    width: 162px;
    flex: 0 0 162px;
  }
}

.header.header-bg {
  background-color: var(--subcolor7);
}

.nav.is-opened {
  background-color: var(--subcolor7);
}

.nav__link-en {
  color: #14100A;
  font-weight: 700;
}

.nav__link-jp {
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
}


.hero__bg-wrapper {
  height: 100%;
}

.slick-list {
  height: 100%;
}

.hero .slick-track {
  display: flex;
  height: 100%;
}

.hero .slick-slide {
  height: auto;
}

.hero .slick-slide>div,
.hero .slick-slide>div .hero__bg,
.hero .slick-slide>div .hero__bg picture,
.hero .slick-slide>div .hero__bg picture img {
  display: block;
  height: 100%;
}

.hero__title {
  color: var(--color-white);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

@media only screen and (min-width: 1200px) {
  .hero__title {
    font-size: 6rem;
  }
}

.hero__desc {
  color: var(--color-white);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

@media only screen and (min-width: 1200px) {
  .hero__desc {
    font-size: 4rem;
  }
}

._overlay::before {
  content: none;
}

.concept__wrapper::before {
  content: none;
}

.concept__ttl {
  margin-top: 47px;
  font-weight: 600;
}

@media only screen and (min-width: 1200px) {
  .concept__title {
    font-size: 4rem;
  }
}

@media only screen and (max-width: 767px) {
  .concept__ttl {
    margin-bottom: 26px;
  }
}

.concept__text {
  font-weight: 600;
}

.concept__desc {
  font-weight: 400;
}

.concept__title {
  font-weight: 600;
}

.concept__item-title span:first-child,
.concept__item-title span:last-child,
.concept__item-desc {
  font-family: "Noto Sans JP", sans-serif;
}

.concept__item-title span:last-child {
  font-weight: 600;
}

.concept__col .slick-list,
.concept__col .slick-track,
.concept__col .slick-slide,
.concept__col .slick-slide>div,
.concept__col .slick-slide .concept__gallery-img,
.concept__col .slick-slide .concept__gallery-img picture,
.concept__col .slick-slide .concept__gallery-img picture img {
  height: 100%;
}

.concept__col-slider.slider-nav {
  display: none;
}

.concept__col--rt {
  background-image: url(./img/concept/pattern-bg.png);
}

.btn {
  background-color: var(--accentcolor);
  color: var(--color-white);
}

.concept__col--rt::after {
  background-color: var(--subcolor7);
  z-index: -1;
}

.news__cat {
  width: 110px;
  height: 38px;
  color: var(--color-white);
}

.news__desc {
  -webkit-line-clamp: 2;
}

@media only screen and (min-width: 1200px) {
  .news__cat-wrapper {
    padding-left: 56px;
  }

  .news__cat {
    margin-right: 32px;
    padding-inline: 4px;
    max-width: 100%;
  }

  .top-posts.menu-list {
    margin-bottom: 50px;
  }
}

.btm-menu__card-banner .desc {
  font-weight: 500;
}

.btn-phone {
  border-radius: 0;
  width: 246px;
}

.btn-phone .fa-chevron-right {
  /* width: 19px;
  height: 19px; */

  margin-left: 11px;
  color: var(--color-white);
}

.btn-phone__icon {
  color: var(--color-white);
}

@media only screen and (min-width: 1200px) {
  .btn-phone__icon {
    font-size: 32px;
  }
}

.btn-phone__top,
.btn-phone__no {
  color: var(--color-white);
  font-weight: 500;
}


.btn-phone:hover {
  background-color: var(--color-white);
}

.btn-phone:hover .btn-phone__icon,
.btn-phone:hover .fa-chevron-right,
.btn-phone:hover .btn-phone__top,
.btn-phone:hover .btn-phone__no {
  color: var(--accentcolor);
}

.btm-menu__card-banner {
  background-color: #9F8868;
  background-image: url(./img/caption-pattern.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.btm-menu__card-banner .desc {
  color: var(--color-white);
}

.menu-row {
  align-items: stretch;
}


.footer__btm {
  background-image: none;
}

.footer__btm-desc {
  font-family: "Noto Sans JP", sans-serif;
}

@media only screen and (min-width: 1200px) {
  .footer__btm-desc {
    font-size: 1.6rem;
  }
}

.footer__left .txtwrap p.desc {
  font-weight: 600;
}

.footer__left .txtwrap p {
  font-weight: 500;
}

.blog__cat {
  color: var(--color-white);
}

.j-card-ttl {
  font-weight: 600;
}

@media only screen and (min-width: 1200px) {
  .concept {
    margin-bottom: 44px;
  }

  .concept__items-box {
    margin-top: 0;
    margin-bottom: 0;
  }

  .concept__items-box:first-of-type {
    margin-top: 62px;
  }

  .concept__items-box:not(:last-of-type) {
    margin-bottom: 65px;
  }
}

.blog__date {
  font-weight: 500;
}

.blog__text {
  font-weight: 400;
}

@media only screen and (min-width: 1200px) {
  .blog__cat {
    margin-bottom: 3px;
  }

  .blog__text {
    line-height: 1.4444;
  }

  .top-posts__title {
    margin-bottom: 35px;
  }

  .btm-menu {
    margin-top: 70px;
    margin-bottom: 64px;
  }
}

@media only screen and (max-width: 1200px) {
  .nav__item {
    border-color: #707070;
  }

  .hamburger-inner,
  .hamburger-inner::before,
  .hamburger-inner::after {
    background-color: #14100A;
  }

  .hamburger.is-opened .hamburger-inner,
  .hamburger.is-opened .hamburger-inner::before,
  .hamburger.is-opened .hamburger-inner::after {
    background-color: #14100A;
  }
}


.title-bar::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: #14100A;
  opacity: 0.43;
  z-index: -1;
}

.title-bar__title,
.title-bar__subtitle {
  color: var(--color-white);
}


@media only screen and (min-width: 768px) {
  .menu-itm-img img {
    aspect-ratio: 600 / 337;
    object-fit: cover;
  }
}

@media only screen and (min-width: 1200px) {
  .title-bar__title {
    font-size: 5rem;
    font-weight: 800;
  }

  .title-bar__subtitle {
    font-size: 2rem;
    font-weight: 700;
  }
}


/* about page */


.tbl__flex {}

.tbl__flex .tbl__lft .tbl__txt {
  color: var(--accentcolor);
  font-weight: 800;
}

.tbl__flex .tbl__right .tbl__txt {
  color: var(--fontcolor);
  font-weight: 400;
}

.tbl__flex .tbl__right .tbl__txt a {
  color: #0D228D;
  text-underline-offset: 8px;
  transition: all 0.3s ease;
  word-break: break-all;
}

.tbl__flex .tbl__right .tbl__txt a:hover {
  opacity: 0.7;
}

.tbl__lft {
  flex-shrink: 0;
}

@media only screen and (min-width: 576px) {
  .tbl__right--lg {
    margin-left: 0;
  }
}

@media only screen and (min-width: 1200px) {
  .tbl__flex {
    padding: 18px 18px 32px;
  }

  .tbl__lft {
    width: 422px;
  }

  .tbl__right--lg {
    width: calc(100% - 422px);
    margin-left: 0;
  }
}



.btn.btn-border:hover {
  background-color: var(--color-white);
  color: var(--accentcolor);
}


/* recruit page */

.recruit .concept__wrapper {
  position: relative;
  z-index: 1;
}

.recruit .concept__wrapper::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #14100A;
  opacity: 0.3;
}

/* blog page */


.news-single .concept__title::after {
  content: none;
}

.news-single__cat {
  display: inline-block;
  color: var(--color-white);
  padding: 4px 5px;
}

.news-single__content p {
  font-weight: 500;
}

@media only screen and (min-width: 576px) {
  .news-single__date {
    font-weight: 500;
  }
}

@media only screen and (min-width: 768px) {
  .news-single__content p {
    line-height: 1.5;
  }
}

.menu-note__wrapper {
  margin-top: -40px;
  margin-bottom: 30px;
}

.menu-note {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
}

.menu-itm-txt {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  .menu-itm-txt {
    font-size: 1.6rem;
  }
}

.footer .txtwrap .desc {
  color: #14100A;
}

.footer .txtwrap .desc:last-of-type {
  font-weight: 500;
}


.menu-itm-tbl table th {
  font-weight: 700;
}

.menu-itm-tbl table td {
  font-weight: 500;
}

.menu-itm-tbl table tbody tr:first-of-type td {
  padding-top: 0;
}

.about__txt {
  color: var(--fontcolor);
  font-weight: 700;
}

.hero {
  margin-top: 54px;
  height: calc(100vh - 54px);
}

@media only screen and (min-width: 576px) {
  .hero {
    margin-top: 61px;
    height: calc(100vh - 61px);
  }
}

@media only screen and (min-width: 768px) {
  .hero {
    margin-top: 76px;
    height: calc(100vh - 76px);
  }

  .footer__top {
    padding-bottom: 60px;
  }
}

@media only screen and (min-width: 1200px) {
  .hero {
    margin-top: 95px;
    height: calc(100vh - 95px);
  }

  .footer__left {
    max-width: 500px;
  }

  .footer__right {
    max-width: calc(100% - 500px);
  }

  .footer__btm {
    padding: 30px 0;
  }

  .footer__right .btn-phone {
    margin-top: 30px;
  }


  .footer__wrap {
    max-width: 1060px;
    margin-inline: auto;
  }
}



/* news page */

.news .news__desc {
  font-weight: 400;
}

.news .news__date {
  padding-left: 2px;
}


/* 8-18-2025 */

/* .blog.top-posts .news__button {
  display: none;
} */
.blog.top-posts .news__button {
  text-align: end;
}

.title-bar::after {
  content: none;
}

.title-bar__image--overlay::before {
  content: none;
}


/* 19-8-2025 */
.menu-itm-tbl table>tbody>tr>td:last-child {
  width: 170px;
}

@media only screen and (min-width: 768px) {
  .menu-itm-tbl table>tbody>tr>td:last-child {
    width: 167px;
  }
}

@media only screen and (min-width: 992px) {
  .menu-itm-tbl table>tbody>tr>td:last-child {
    width: 170px;
  }
}


@media only screen and (min-width: 768px) {
  .menu-itm-tbl__wrapper {
    padding: 0;
    gap: 16px;
  }

  .menu-itm-tbl {
    padding: 0;
    flex: 0 0 calc((100% / 2) - ((16px * 1) / 2));
    max-width: calc((100% / 2) - ((16px * 1) / 2));
  }
}

@media only screen and (min-width: 992px) {
  .menu-itm-tbl__wrapper {
    padding: 0;
    gap: 30px;
  }

  .menu-itm-tbl {
    padding: 0;
    flex: 0 0 calc((100% / 2) - ((30px * 1) / 2));
    max-width: calc((100% / 2) - ((30px * 1) / 2));
  }
}

@media only screen and (min-width: 1200px) {
  .menu-itm-tbl__wrapper {
    padding: 0;
    gap: 30px;
  }

  .menu-itm-tbl {
    padding: 0;
    flex: 0 0 calc((100% / 3) - ((30px * 2) / 3));
    max-width: calc((100% / 3) - ((30px * 2) / 3));
  }
}

.concept .concept__title {
  font-weight: 600;
}

@media only screen and (min-width: 1200px) {
  .concept .concept__title {
    font-size: 2.4rem;
  }
}

.concept__title p:last-of-type {
  font-size: 1.8rem;
  font-weight: 600;
}

@media only screen and (min-width: 768px) {
  .concept__title p:last-of-type {
    font-size: 1.8rem;
    margin-top: 14px;
  }
}

@media only screen and (min-width: 768px) {
  .concept__desc {
    font-size: 1.8rem;
    font-weight: 600;
  }
}

.blog.top-posts {
  margin-bottom: 0;
}

.news__button {
  margin-top: 28px;
}

@media only screen and (min-width: 768px) {
  .concept__item-title span:first-of-type {
    margin-bottom: 14px;
  }
}