/**
 * Custom CSS for Mass Theme
*/

:root {
  --width: 1280;

  @media (width <=600px) {
    --width: 600;
  }
}

body {
  font-family: "Helvetica Neue",
    Arial,
    YuGothic, "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-feature-settings: "palt";
  font-variant-east-asian: proportional-width;
  /* font-feature-settings: "pwid" 1; */
}

body:lang(zh-Hans) {
  font-family: "Helvetica Neue",
    Arial,
    "PingFang SC", "微软雅黑", "宋体",
    YuGothic, "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

header {
  position: fixed;
  z-index: 9999;
  width: 100%;
  left: 0;
  right: 0;
  height: 120px;

  @media (width <=600px) {
    height: 50px;
  }
}

main {
  overflow-x: clip;
  padding-top: 120px !important;

  @media (width < 768px) {
    padding-top: 50px !important;
  }
}

.static {
  position: static;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.z-index-bg {
  z-index: -1;
}

.w-100 {
  width: 100%;
}

.mh-60 {
  max-height: 60px;
}

.mh-100 {
  max-height: 100px;
}

.mh-130 {
  max-height: 130px;
}

.mh-160 {
  max-height: 160px;
}

/* -------------------------------------------------------------------------------- */
/* header */

/* --- 768px以上（PC表示）：ハンバーガー非表示 --- */
@media (min-width: 768px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none !important;
  }

  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block !important;
  }
}

/* --- 767px以下（タブレット／スマホ表示）：ハンバーガー表示 --- */
@media (max-width: 767px) {
  .wp-block-navigation__responsive-container-open {
    display: block !important;
  }

  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none !important;
  }
}


.wp-block-site-logo img {
  padding: .75em 0 .25em 0;
  width: min(162px, 12.6vw);
  min-width: 128px;

  @media (width <=600px) {
    width: min(100px, 24vw);
  }
}

.wp-block-image {
  margin: 0;
}

.wp-block-navigation-item__content {
  padding-bottom: .5em !important;
}

/* 言語switch */
.lang-item {
  list-style: none;
}

.wp-block-bogo-language-switcher ul {
  list-style: none;
  display: flex;
  gap: 1em;
  margin: 0;
  padding: 0;
}

.bogoflags {
  /* display: none; */
}

.bogo-language-name a {
  text-decoration: none;
}

/* 検索窓 */
.wp-block-search__button {
  background-color: #fff !important;
  padding: 0 .25em !important;
}

.wp-block-search__button svg {
  fill: #4D4D4D;
  transform: scale(-1, 1);
}

/* お問い合わせボタン */
.header-contact {
  /* padding-top: 1.5rem !important; */
  /* padding-bottom: 1.5rem !important; */
  padding: 0 !important;
  /* margin-bottom: -1rem !important; */
  margin: 0 !important;
  z-index: 99;
  width: 120px;
  height: 120px;
  /* max-width: 120px;
  max-height: 120px; */
  aspect-ratio: 1;
}

/* pagination */
.wp-block-query-pagination .page-numbers.current,
.wp-block-comments-pagination .page-numbers.current {
  /* background-color: #fff !important; */
}


/* -------------------------------------------------------------------------------- */
/* footer  */

/* 折り返して縦に表示（ブロックの設定はOFFにする） */
@media (width < 768px) {
  .cta .wp-block-columns {
    flex-wrap: wrap !important;
  }
  .cta .wp-block-columns>.wp-block-column {
    flex-basis: 100% !important;
  }
  .cta .wp-block-cover {
    min-height: 375px !important;
  }
}

.cta .cta-content {
  min-height: 280px;
  @media (width < 768px) {
    min-height: 240px;
  }
}

.cta .cta-title {
  margin: 0;
  font-size: min(calc(100vw * 42 / 1280), 42px);
  font-weight: 700;
  line-height: 1.5;
  @media (width < 768px) {
    font-size: max(calc(100vw * 36 / 768), 24px);
  }
}

.cta .cta-btn a {
  font-size: 16px !important;
  /* width: 18em; */
  width: 20em;
}
.home .cta .vk_button_link.btn,
.cta .vk_button_link.btn {
  padding: 1em .5rem !important;
  font-weight: 600;
  @media (width <=600px) {
    font-size: inherit !important;
    padding: .5em .5rem !important;
  }
}
.cta .cta-btn a:lang(en-US) {
    width: 20em;
}
/* -------------------------------------------------------------------------------- */
/* タイトル見出し */

.page-title {
  font-size: min(calc(100vw * 44 / var(--width)), 44px);
  font-weight: 700;
  /* line-height: 1; */
  /* margin: 0; */
  /* padding-bottom: .5em !important; */

  @media (width <=600px) {
    font-size: max(calc(100vw * 36 / 600), 26px);
    padding-top: var(--wp--preset--spacing--50) !important;
  }
}
/* 
.title-information {
  width: calc(160 / var(--width) * 100%);
}
.title-information-en {
  width: calc(296 / var(--width) * 100%);
}
.title-information-zh {
  width: calc(177 / var(--width) * 100%);
}

.title-company {
  width: calc(170 / var(--width) * 100%);
}

.title-company-en {
  width: calc(220 / var(--width) * 100%);
}

.title-company-zh {
  width: calc(174 / var(--width) * 100%);
}

.title-service {
  width: calc(156 / var(--width) * 100%);
}

.title-service-en {
  width: calc(180 / var(--width) * 100%);
}

.title-service-zh {
  width: calc(88 / var(--width) * 100%);
}

.title-access {
  width: calc(150 / var(--width) * 100%);
}

.title-showroom {
  width: calc(230 / var(--width) * 100%);
}

.title-recruit {
  width: calc(170 / var(--width) * 100%);
}

.title-product {
  width: calc(362 / var(--width) * 100%);
}

.title-product-en {
  width: calc(512 / var(--width) * 100%);
}

.title-product-zh {
  width: calc(218 / var(--width) * 100%);
}

.title-contact {
  width: calc(248 / var(--width) * 100%);
}

.title-form {
  width: calc(322 / var(--width) * 100%);
} */

/* -------------------------------------------------------------------------------- */
/* トップ */

.splide {
  padding-top: 1.5em !important;
}

.splide__pagination {
  display: block;
}

.home .vk_button_link.btn {
  padding: .95em 2.7rem !important;
  font-weight: 600;

  @media (width <=600px) {
    padding: .25em 1rem !important;
    font-weight: 500;
    font-size: .96rem !important;
  }
}


.home .top-home-info-slider {
  height: 100%;
  max-height: 500px;
}

.swiper-pagination-bullet {
  width: 10px !important;
  height: 10px !important;
  border-radius: 5px !important;
}

/* 企業情報 */
.home .company-text {
  font-size: 1.75em;
  font-weight: 700;
  line-height: 1.5;

  @media (width <=600px) {
    font-size: 1em;
  }
}

/* サービス アニメーション画像 */
.home .service-container {
  max-height: 944px;
}

.home .service-text1 {
  top: calc(4 / 944 * 100%);
  left: calc(102 / 1280 * 100%);
  /* width: calc(540 / 1280 * 100%); */
}

.home .service-text1 {
  margin: 0;
  font-size: min(calc(100vw * 28 / 1280), 28px);
  font-weight: 700;
  line-height: 1.5;
}

.home .service-text2 {
  top: calc(378 / 944 * 100%);
  right: calc(104 / 1280 * 100%);
  width: calc(727 / 1280 * 100%);
  z-index: 2;
}

.home .service-text3 {
  top: calc(588 / 944 * 100%);
  right: calc(75 / 1280 * 100%);
  /* width: calc(564 / 1280 * 100%); */
}

.home .service-text3 {
  margin: 0;
  font-size: min(calc(100vw * 22 / 1280), 22px);
  font-weight: 700;
  line-height: 1.5;
}

.home .service-text4 {
  top: calc(690 / 944 * 100%);
  right: calc(152 / 1280 * 100%);
  width: calc(480 / 1280 * 100%);
}

.home .service-pict1 {
  top: calc(119 / 944 * 100%);
  left: 0;
  width: calc(670 / 1280 * 100%);
}

.home .service-pict2 {
  top: 0;
  right: calc(-40 / 1280 * 100%);
  width: calc(668 / 1280 * 100%);
}

.home .service-pict3 {
  top: calc(544 / 944 * 100%);
  left: 0;
  width: calc(617 / 1280 * 100%);
}

.home .service-img {
  top: calc(248 / 944 * 100%);
  left: 0;
  width: calc(418 / 1280 * 100%);
  z-index: -1;
}

.home .service-btn {
  top: calc(873 / 944 * 100%);
  right: calc(248 / 1280 * 100%);
}

/* 製品情報 */
.home .home-product {
  --mh: 874;
}

.home .product-title {
  top: calc(62 / var(--mh) * 100%);
  left: 0;
  right: 0;
}

.home .product-title-en {
  top: calc(512 / var(--mh) * 100%);
  left: 0;
  right: 0;
}

.home .product-text {
  top: calc(220 / var(--mh) * 100%);
  left: calc(100 / 1280 * 100%);
  /* width: calc(512 / 1280 * 100%); */
}

.home .product-text {
  margin: 0;
  font-size: min(calc(100vw * 28 / 1280), 28px);
  font-weight: 700;
  line-height: 1.5;
}

.home .product-list {
  top: calc(412 / var(--mh) * 100%);
  left: calc(100 / 1280 * 100%);
  right: calc(100 / 1280 * 100%);
}
.home .product-list a:hover img {
  transition: filter 0.3s ease;
  /* filter: brightness(1.1) saturate(2); */
  filter: brightness(1.4);
}

/* 製品情報へのボタン */
.home .products-btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(60 / 874 * 100%);
}

/* -------------------------------------------------------------------------------- */
/* お知らせ */
.information-block {
  max-width: 720px;
}

.single-information .vk_button_link.btn {
  padding: .95em 2.7rem !important;
  font-weight: 600;
  border: 1px solid #0092D7;

  @media (width <=600px) {
    padding: .25em 1rem !important;
    font-weight: 500;
    font-size: .95rem !important;
  }
}

/* -------------------------------------------------------------------------------- */
/* 企業情報 */
.post-name-company .company_top {
  top: 0;
}
.post-name-company .company-greeting-title {
  @media (width <=600px) {
    font-size: var(--wp--preset--font-size--xx-large);
  }
}

.post-name-company .message {
  position: absolute;
  top: calc(160 / 742 * 100%);
  left: calc(100 / var(--width) * 100%);
  width: calc(800 / var(--width) * 100%);

  @media (width <=600px) {
    top: 14%;
    left: 0;
    right: 0;
    width: 80%;
  }
}

.post-name-company .president span:last-child {
  font-family: "Yu Mincho", "YuMincho";
  margin-left: .5em;
}

.post-name-company .company-youtube {
  @media (width <=600px) {
    padding-inline: var(--wp--preset--spacing--70) !important;

    figure {
      max-width: inherit !important;
    }
  }
}

.post-name-company .philosophy,
.post-name-company .profile {
  padding-inline: var(--wp--preset--spacing--80) !important;

  @media (width <=600px) {
    padding-inline: var(--wp--preset--spacing--50) !important;
  }
}

.post-name-company .motto {
  width: 80%;
  margin-left: 0 !important;
  @media (width <=600px) {
    width: 100%;
  }
}

.post-name-company .profile-tables {
  padding-inline: 0 !important;
}


/* -------------------------------------------------------------------------------- */
/* アクセス */
.access-text {
  @media (width <=600px) {
    font-size: 1em !important;
  }
}

.address {
  min-height: 10em;
}

.access-addressgroup {
  @media (width <=600px) {
    padding-inline: var(--wp--preset--spacing--50) !important;
  }
}

.overseas {
  scroll-margin-top: 120px;
}

/* -------------------------------------------------------------------------------- */
/* ショールーム */
.post-name-showroom figcaption {
  text-align: left !important;
}
.post-name-showroom .wp-block-flexible-table-block-table {
  overflow-x: auto;
}

/* -------------------------------------------------------------------------------- */
/* 採用情報 */

.post-name-recruit .recruit-title {
  margin: 0;
  font-size: min(calc(100vw * 52 / var(--width)), 52px);
  font-weight: 900;
  line-height: 1.5;

  @media (width <=600px) {
    font-size: max(calc(100vw * 24 / 600), 18px);
  }
}

.post-name-recruit .recruit-title-number {
  position: absolute;
  top: calc(50 / 675 * 100%);
  left: 0;
  right: 0;
}

.post-name-recruit .recruit-base {
  position: relative;
  z-index: -1;
  width: calc(1146 / var(--width) * 100%);
  margin-left: 0 !important;
  @media (width <=600px) {
    width: calc(538 / var(--width) * 100%);
  }
}

.post-name-recruit .recruit-table {
  @media (width <=600px) {
    padding-inline: var(--wp--preset--spacing--50) !important;
  }
}

.post-name-recruit .btn-entry {
  max-width: 392px;

  @media (width <=600px) {
    width: 70%;
  }
}

/* -------------------------------------------------------------------------------- */
/* フォーム */
.smf-item__label__text {
  position: relative;
}

.smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
  content: "＊";
  /* display: inline; */
  margin-left: .5em;
  color: #d1032a;
  /* font-size: 2em; */
}

form[data-screen="confirm"] .form-agreement,
form[data-screen="confirm"] .hide-confirm {
  display: none;
}

.force-border-top {
  border-top: 1px solid #ddd !important;
}

/* -------------------------------------------------------------------------------- */
/* Flexible Spacer Block */
.fsb-flexible-spacer {
  margin: 0;
}