@charset "UTF-8";
/* common */
html {
  scroll-behavior: smooth; }

body {
  height: 100%;
  position: relative;
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
  font-optical-sizing: auto;
  color: #323232; }
  @media (max-width: 768px) {
    body {
      font-size: 16px;
      line-height: 1.75; } }

body, input, textarea, button, .button, .faux-button, .wp-block-button__link, .wp-block-file__button, .has-drop-cap:not(:focus)::first-letter, .entry-content .wp-block-archives, .entry-content .wp-block-categories, .entry-content .wp-block-cover-image, .entry-content .wp-block-latest-comments, .entry-content .wp-block-latest-posts, .entry-content .wp-block-pullquote, .entry-content .wp-block-quote.is-large, .entry-content .wp-block-quote.is-style-large, .entry-content .wp-block-archives *, .entry-content .wp-block-categories *, .entry-content .wp-block-latest-posts *, .entry-content .wp-block-latest-comments *, .entry-content p, .entry-content ol, .entry-content ul, .entry-content dl, .entry-content dt, .entry-content cite, .entry-content figcaption, .entry-content .wp-caption-text, .comment-content p, .comment-content ol, .comment-content ul, .comment-content dl, .comment-content dt, .comment-content cite, .comment-content figcaption, .comment-content .wp-caption-text, .widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary, .widget-content cite, .widget-content figcaption, .widget-content .wp-caption-text {
  font-family: "Noto Sans JP", sans-serif; }

a {
  color: #323232;
  text-decoration: none;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }

@media (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit; } }
hr {
  border: none;
  border-top: 1px solid #e8e8e8;
  margin: 50px 0; }
  @media (max-width: 768px) {
    hr {
      margin: 30px 0; } }

.PT10 {
  padding-top: 10px; }

.PT20 {
  padding-top: 20px; }

.PT30 {
  padding-top: 30px; }

.PT40 {
  padding-top: 40px; }

.PT50 {
  padding-top: 50px; }

.PT60 {
  padding-top: 60px; }

.PT70 {
  padding-top: 70px; }

.PT80 {
  padding-top: 80px; }

.PT90 {
  padding-top: 90px; }

.PT100 {
  padding-top: 100px; }

.PT110 {
  padding-top: 110px; }

.PT120 {
  padding-top: 120px; }

.MT10 {
  margin-top: 10px; }

.MT20 {
  margin-top: 20px; }

.MT30 {
  margin-top: 30px; }

.MT40 {
  margin-top: 40px; }

.MT50 {
  margin-top: 50px; }

.MT60 {
  margin-top: 60px; }

.MT70 {
  margin-top: 70px; }

.MT80 {
  margin-top: 80px; }

.MT90 {
  margin-top: 90px; }

.MT100 {
  margin-top: 100px; }

.MT110 {
  margin-top: 110px; }

.MT120 {
  margin-top: 120px; }

.PB10 {
  padding-bottom: 10px; }

.PB20 {
  padding-bottom: 20px; }

.PB30 {
  padding-bottom: 30px; }

.PB40 {
  padding-bottom: 40px; }

.PB50 {
  padding-bottom: 50px; }

.PB60 {
  padding-bottom: 60px; }

.PB70 {
  padding-bottom: 70px; }

.PB80 {
  padding-bottom: 80px; }

.PB90 {
  padding-bottom: 90px; }

.PB100 {
  padding-bottom: 100px; }

.PB110 {
  padding-bottom: 110px; }

.PB120 {
  padding-bottom: 120px; }

.MB10 {
  margin-bottom: 10px; }

.MB20 {
  margin-bottom: 20px; }

.MB30 {
  margin-bottom: 30px; }

.MB40 {
  margin-bottom: 40px; }

.MB50 {
  margin-bottom: 50px; }

.MB60 {
  margin-bottom: 60px; }

.MB70 {
  margin-bottom: 70px; }

.MB80 {
  margin-bottom: 80px; }

.MB90 {
  margin-bottom: 90px; }

.MB100 {
  margin-bottom: 100px; }

.MB110 {
  margin-bottom: 110px; }

.MB120 {
  margin-bottom: 120px; }

.indent1 {
  padding-left: 1em;
  text-indent: -1em; }

.indent2 {
  padding-left: 2em;
  text-indent: -2em; }

.indent3 {
  padding-left: 3em;
  text-indent: -3em; }

.indent4 {
  padding-left: 4em;
  text-indent: -4em; }

.indent5 {
  padding-left: 5em;
  text-indent: -5em; }

.indent6 {
  padding-left: 6em;
  text-indent: -6em; }

.indent7 {
  padding-left: 7em;
  text-indent: -7em; }

.indent8 {
  padding-left: 8em;
  text-indent: -8em; }

.indent9 {
  padding-left: 9em;
  text-indent: -9em; }

.indent10 {
  padding-left: 10em;
  text-indent: -10em; }

.indent1h {
  padding-left: 1.5em;
  text-indent: -1.5em; }

.indent {
  text-indent: 1em; }

.PLem5 {
  padding-left: 0.5em; }

.PLem10 {
  padding-left: 1em; }

.PLem15 {
  padding-left: 1.5em; }

.PLem20 {
  padding-left: 2em; }

.PLem25 {
  padding-left: 2.5em; }

.PLem30 {
  padding-left: 3em; }

.PLem35 {
  padding-left: 3.5em; }

.PLem40 {
  padding-left: 4em; }

.PLem45 {
  padding-left: 4.5em; }

.PLem50 {
  padding-left: 5em; }

/*
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
英語用調整
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------*/
/*
------------------------------------------------------------
------------------------------------------------------------
トップページ
------------------------------------------------------------
------------------------------------------------------------*/
/*　共通のスタイル
------------------------------------------------------------*/
/*　header　
------------------------------------------------------------
------------------------------------------------------------*/
/* nav
------------------------------------------------------------
------------------------------------------------------------*/
/* nav(PC) */
.nav-link {
  height: 130px;
  margin-top: 0; }

.nav-item--has-g {
  height: 130px;
  margin-top: 0; }

.nav-item--has-g > .nav-link,
.nav-item--single > .nav-link {
  white-space: nowrap; }
  @media screen and (max-width: 1300px) {
    .nav-item--has-g > .nav-link,
    .nav-item--single > .nav-link {
      width: 130px;
      white-space: normal; } }
  @media (max-width: 1200px) {
    .nav-item--has-g > .nav-link,
    .nav-item--single > .nav-link {
      width: 110px; } }
  @media screen and (max-width: 900px) {
    .nav-item--has-g > .nav-link,
    .nav-item--single > .nav-link {
      width: 88px; } }

/* グローバルメニュー */
.nav-list .nav-item--has-g:first-child .g-menu {
  width: 280px; }
  @media screen and (max-width: 900px) {
    .nav-list .nav-item--has-g:first-child .g-menu {
      width: 280px; } }

.nav-item {
  margin-top: 0; }
  .nav-item::before {
    height: 110px; }

/* main-visual 
------------------------------------------------------------
------------------------------------------------------------*/
@media (max-width: 768px) {
  .main-visual-wrap {
    padding-top: 50px; } }

/* slide */
@media (max-width: 768px) {
  .slider {
    height: calc(230px + (80vw * 2 / 3));
    background-color: #c7434c; } }
@media (max-width: 500px) {
  .slider {
    height: calc(200px + (100vw * 2 / 3)); } }

.slider-text-sp {
  opacity: 0;
  transition: opacity 0.5s ease;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 1; }
  .slider-text-sp h2 {
    padding-left: 60px;
    position: relative;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    font-feature-settings: "palt";
    letter-spacing: 0.04em;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    @media screen and (max-width: 1600px) {
      .slider-text-sp h2 {
        font-size: 27px; } }
    @media (max-width: 1400px) {
      .slider-text-sp h2 {
        font-size: 24px; } }
    @media (max-width: 1200px) {
      .slider-text-sp h2 {
        padding-left: 40px;
        font-size: 20px; } }
    @media screen and (max-width: 900px) {
      .slider-text-sp h2 {
        font-size: 17px; } }
    @media (max-width: 768px) {
      .slider-text-sp h2 {
        font-size: 24px; } }
    @media (max-width: 500px) {
      .slider-text-sp h2 {
        padding-right: 5%;
        padding-left: 35px;
        font-size: 20px; } }
    @media (max-width: 320px) {
      .slider-text-sp h2 {
        padding-left: 25px; } }
    .slider-text-sp h2::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.65em;
      width: 50px;
      height: 1px;
      background-color: #fff; }
      @media (max-width: 1200px) {
        .slider-text-sp h2::before {
          width: 30px; } }
      @media (max-width: 320px) {
        .slider-text-sp h2::before {
          width: 20px; } }

/* contents 
------------------------------------------------------------
------------------------------------------------------------*/
.top-capabilities-wrap .list-underline span {
  background: linear-gradient(transparent 60%, #f7d9db 60%); }

.top-capabilities-wrap .box-bk {
  background-color: #fff; }

/* お問い合わせ */
@media (max-width: 768px) {
  .contact-btn-wrap {
    justify-content: center; } }

/*　footer　
------------------------------------------------------------
------------------------------------------------------------*/
footer {
  padding-top: 60px; }
  @media (max-width: 768px) {
    footer {
      padding-top: 30px; } }

.footer-logo {
  margin-bottom: 60px; }
  @media (max-width: 768px) {
    .footer-logo {
      margin-bottom: 30px; } }

/*
------------------------------------------------------------
------------------------------------------------------------
下層ページ
------------------------------------------------------------
------------------------------------------------------------*/
/*　共通のスタイル
------------------------------------------------------------*/
/* ページタイトル */
@media (max-width: 768px) {
  .page-title-wrap {
    padding-top: 60px; } }

.page-title.finishing {
  background-image: url("../images/finishing/header_finishing.jpg"); }
  @media (max-width: 500px) {
    .page-title.finishing {
      background-image: url("../images/finishing/header_finishing_sp.jpg"); } }

/*　自家製品
------------------------------------------------------------*/
.product-intro-wrap {
  min-height: 227px; }
  @media (max-width: 1400px) {
    .product-intro-wrap {
      min-height: 179px; } }

/* サイドナビ */
@media (max-width: 768px) {
  .side-nav li {
    width: 48%; } }

/*　会社案内　会社概要
------------------------------------------------------------*/
@media (max-width: 500px) {
  .directors-name span {
    padding-left: 1em; } }
