@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; }

.PLem55 {
  padding-left: 5.5em; }

.PLem60 {
  padding-left: 6em; }

.PLem65 {
  padding-left: 6.5em; }

.PLem70 {
  padding-left: 7em; }

.PLem75 {
  padding-left: 7.5em; }

.PLem80 {
  padding-left: 8em; }

.PLem85 {
  padding-left: 8.5em; }

.PLem90 {
  padding-left: 9em; }

.PLem95 {
  padding-left: 9.5em; }

.PLem100 {
  padding-left: 10em; }

.PLem105 {
  padding-left: 10.5em; }

.PLem110 {
  padding-left: 11em; }

.PLem115 {
  padding-left: 11.5em; }

.PLem120 {
  padding-left: 12em; }

.PLem125 {
  padding-left: 12.5em; }

.PLem130 {
  padding-left: 13em; }

.PLem135 {
  padding-left: 13.5em; }

.PLem140 {
  padding-left: 14em; }

.PLem145 {
  padding-left: 14.5em; }

.PLem150 {
  padding-left: 15em; }

/*
------------------------------------------------------------
------------------------------------------------------------
トップページ
------------------------------------------------------------
------------------------------------------------------------*/
/*　共通のスタイル
------------------------------------------------------------*/
.content {
  width: 96%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto; }
  @media (max-width: 1200px) {
    .content {
      width: 96%; } }
  @media (max-width: 768px) {
    .content {
      width: 94%; } }
  @media (max-width: 500px) {
    .content {
      width: 90%; } }

.content-s {
  width: 80%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto; }
  @media (max-width: 768px) {
    .content-s {
      width: 94%; } }
  @media (max-width: 500px) {
    .content-s {
      width: 90%; } }

/* フォント関連 */
.color-primary {
  color: #c7434c; }

.color-secondary {
  color: #3067a6; }

/*.warning-color{
	color: $warning-color;
}*/
.bold {
  font-weight: 700; }

.normal {
  font-weight: 500; }

.light {
  font-weight: 400; }

.font-ll {
  font-size: 30px; }
  @media (max-width: 768px) {
    .font-ll {
      font-size: 20px; } }

.font-l {
  font-size: 24px; }
  @media (max-width: 768px) {
    .font-l {
      font-size: 18px; } }

.font-m {
  font-size: 18px; }
  @media (max-width: 768px) {
    .font-m {
      font-size: 16px; } }

.font-s {
  font-size: 16px;
  line-height: 1.4; }
  @media (max-width: 768px) {
    .font-s {
      font-size: 14px; } }

.w-100 {
  width: 100%;
  height: auto; }

.center {
  text-align: center; }

.center-pc {
  text-align: center; }
  @media (max-width: 768px) {
    .center-pc {
      text-align: left; } }

.center-tb {
  text-align: center; }
  @media (max-width: 500px) {
    .center-tb {
      text-align: left; } }

.right {
  text-align: right; }

.link-text {
  text-decoration: underline; }
  .link-text:hover {
    opacity: 0.7; }

.img-border {
  border: solid 1px #e8e8e8; }

.img-l {
  width: 100%;
  margin: 10px auto; }
  .img-l img {
    width: 100%;
    height: auto; }

.img-m {
  max-width: 800px;
  width: 80%;
  margin: 10px auto; }
  @media (max-width: 768px) {
    .img-m {
      width: 90%; } }
  @media (max-width: 500px) {
    .img-m {
      width: 100%; } }
  .img-m img {
    width: 100%;
    height: auto; }

.icon-inline {
  max-width: 100%;
  max-height: 100%;
  display: inline-block;
  width: 1.1em !important;
  height: 1.1em !important;
  margin: 0 0.2em;
  vertical-align: -0.15em;
  object-fit: contain;
  object-position: center; }

/* タイトル */
.section-title {
  margin-bottom: 60px; }
  @media (max-width: 768px) {
    .section-title {
      margin-bottom: 50px; } }
  .section-title h3, .section-title h4 {
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    width: 96%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    margin-top: -50px;
    font-size: 50px;
    font-weight: 700;
    line-height: 1.4; }
    @media (max-width: 1200px) {
      .section-title h3, .section-title h4 {
        width: 96%; } }
    @media (max-width: 768px) {
      .section-title h3, .section-title h4 {
        width: 94%; } }
    @media (max-width: 500px) {
      .section-title h3, .section-title h4 {
        width: 90%; } }
    @media (max-width: 1400px) {
      .section-title h3, .section-title h4 {
        margin-top: 0; } }
    @media (max-width: 768px) {
      .section-title h3, .section-title h4 {
        font-size: 28px; } }
  .section-title div {
    display: flex;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 136px;
    line-height: 0.8;
    color: #f5f5f5;
    overflow: hidden;
    mix-blend-mode: multiply; }
    @media screen and (max-width: 1600px) {
      .section-title div {
        font-size: 108px; } }
    @media (max-width: 768px) {
      .section-title div {
        font-size: 56px; } }
    .section-title div span {
      width: calc((100% - 1200px - 40px) / 2);
      max-width: 160px;
      height: 110px;
      padding-right: 10px;
      margin-right: 5px;
      display: flex;
      justify-content: flex-end;
      color: #b31b21;
      background-color: #c7434c;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
      @media screen and (max-width: 1600px) {
        .section-title div span {
          height: 88px;
          padding-right: 5px; } }
      @media (max-width: 1400px) {
        .section-title div span {
          width: 80px; } }
      @media (max-width: 768px) {
        .section-title div span {
          width: 68px;
          height: 46px; } }
  @media (max-width: 768px) {
    .section-title.long-text div {
      font-size: 40px; } }
  @media (max-width: 768px) {
    .section-title.long-text span {
      width: 50px;
      height: 36px; } }

.section-heading {
  margin-top: 60px;
  margin-bottom: 40px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
  color: #c7434c; }
  @media (max-width: 768px) {
    .section-heading {
      margin-top: 50px;
      margin-bottom: 30px;
      font-size: 24px; } }

.section-subtitle {
  margin-top: 50px;
  margin-bottom: 30px;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4; }
  @media (max-width: 768px) {
    .section-subtitle {
      font-size: 20px; } }

.lead {
  margin-bottom: 50px;
  text-align: center; }
  @media (max-width: 768px) {
    .lead {
      margin-bottom: 20px; } }

/* ボタン */
.btn-primary-wrap {
  margin-top: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px; }
  @media (max-width: 768px) {
    .btn-primary-wrap {
      margin-top: 50px; } }

.btn-primary {
  margin: 10px;
  position: relative;
  display: inline-block;
  padding: 20px 40px 20px 15px;
  color: #323232;
  text-decoration: none;
  text-align: center;
  line-height: 1.2;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  font-size: 24px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 300px; }
  @media (max-width: 768px) {
    .btn-primary {
      min-width: 280px;
      font-size: 20px; } }
  @media (max-width: 500px) {
    .btn-primary {
      min-width: 90%;
      font-size: 16px; } }
  .btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../images/common/button_bk.jpg") center/cover;
    transform: translate(3px, 3px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1; }
  .btn-primary::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #323232;
    transform: translate(-3px, -3px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
  .btn-primary:hover::before {
    transform: translate(0, 0);
    filter: brightness(1.2) contrast(0.9); }
  .btn-primary:hover::after {
    transform: translate(0, 0);
    opacity: 0.7; }
  .btn-primary .btn-arrow {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    z-index: 2; }
    @media (max-width: 768px) {
      .btn-primary .btn-arrow {
        width: 11px;
        height: 11px; } }
    .btn-primary .btn-arrow img {
      width: 8px;
      height: auto; }
      @media (max-width: 768px) {
        .btn-primary .btn-arrow img {
          width: 6px; } }
  .btn-primary .btn-text {
    position: relative;
    z-index: 1; }
    .btn-primary .btn-text img {
      width: 18px;
      height: auto;
      margin: 0 5px -2px 10px;
      display: inline-block; }
      @media (max-width: 768px) {
        .btn-primary .btn-text img {
          width: 15px; } }
      @media (max-width: 500px) {
        .btn-primary .btn-text img {
          width: 14px;
          margin: 0 5px -3px 10px; } }
  .btn-primary.btn-s {
    padding: 15px;
    min-width: 180px;
    font-size: 18px; }
    @media (max-width: 768px) {
      .btn-primary.btn-s {
        font-size: 16px; } }
    .btn-primary.btn-s .btn-text img {
      width: 15px; }
      @media (max-width: 768px) {
        .btn-primary.btn-s .btn-text img {
          width: 14px;
          margin: 0 0 -3px 10px; } }

.btn-primary.btn-back {
  padding: 20px 20px 20px 35px; }
  .btn-primary.btn-back .btn-arrow {
    left: 15px; }

/*　header　
------------------------------------------------------------
------------------------------------------------------------*/
#header {
  width: 100%;
  height: 130px;
  position: fixed;
  display: flex;
  justify-content: space-between;
  z-index: 50;
  background-color: #fff;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 768px) {
    #header {
      height: 50px; } }

/*スクロールでデザイン変更*/
#header.scroll-header {
  height: 100px;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1); }
  @media (max-width: 768px) {
    #header.scroll-header {
      height: 50px; } }

.header-logo {
  width: 360px;
  margin: 30px 0 0 20px;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1400px) {
    .header-logo {
      width: 300px;
      margin: 30px 0 0 20px; } }
  @media (max-width: 1200px) {
    .header-logo {
      width: 200px;
      margin: 25px 0 0 20px; } }
  @media (max-width: 768px) {
    .header-logo {
      width: 160px;
      height: 50px;
      margin: 12px 0 0 10px; } }
  @media (max-width: 320px) {
    .header-logo {
      width: 130px;
      margin: 15px 0 0 10px; } }
  .header-logo a:hover {
    opacity: 0.7; }
  .header-logo img {
    width: 100%;
    height: auto; }

/*スクロールでデザイン変更*/
.header-logo.scroll-header-logo {
  margin: 21px 0 0 20px; }
  @media (max-width: 1400px) {
    .header-logo.scroll-header-logo {
      margin: 26px 0 0 20px; } }
  @media (max-width: 1200px) {
    .header-logo.scroll-header-logo {
      margin: 34px 0 0 20px; } }
  @media (max-width: 768px) {
    .header-logo.scroll-header-logo {
      margin: 12px 0 0 10px; } }
  @media (max-width: 320px) {
    .header-logo.scroll-header-logo {
      margin: 15px 0 0 10px; } }

/* nav
------------------------------------------------------------
------------------------------------------------------------*/
/* nav(PC) */
@media (max-width: 768px) {
  .nav-pc {
    display: none; } }

.nav-list {
  display: flex; }
  @media (max-width: 1200px) {
    .nav-list {
      font-feature-settings: "palt"; } }

.nav-link {
  height: 60px;
  padding: 0 15px;
  display: flex;
  align-items: center;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  line-height: 1.2;
  font-weight: 700;
  font-size: 18px;
  text-align: center; }
  @media (max-width: 1200px) {
    .nav-link {
      font-size: 16px; } }
  @media screen and (max-width: 900px) {
    .nav-link {
      font-size: 13px;
      padding: 0 10px; } }

.nav-item--has-g {
  height: 60px;
  margin-top: 70px;
  position: relative; }

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

.nav-item--has-g:hover .g-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); }
.nav-item--has-g:hover .nav-link {
  color: #c7434c;
  background-color: #f5f5f5; }
.nav-item--has-g:hover .header-product-btn a {
  background-image: url("../images/common/icon_product_red.svg"); }

.nav-item--has-g.is-closing {
  pointer-events: none; }
  .nav-item--has-g.is-closing .g-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important; }

.nav-item--single a:hover {
  color: #c7434c; }

/* グローバルメニュー */
.g-menu {
  width: 280px;
  position: absolute;
  top: 100%;
  left: 0;
  background: #f5f5f5;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease; }

.nav-list .nav-item--has-g:first-child .g-menu {
  width: 620px; }
  @media screen and (max-width: 900px) {
    .nav-list .nav-item--has-g:first-child .g-menu {
      width: 500px; } }

.g-menu-inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 20px 30px; }
  @media (max-width: 1200px) {
    .g-menu-inner {
      padding: 20px; } }

.g-menu-list li:not(:last-child) {
  border-bottom: solid 1px #e8e8e8; }
.g-menu-list li.nav-icon a, .g-menu-list li.nav-icon p {
  display: flex;
  align-items: center; }
.g-menu-list li.nav-icon img {
  width: 40px;
  height: auto;
  margin-right: 10px; }
.g-menu-list a {
  width: 100%;
  display: block;
  font-size: 16px;
  padding: 8px 0;
  font-size: 16px;
  font-weight: 700;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative; }
  @media (max-width: 1200px) {
    .g-menu-list a {
      font-size: 15px; } }
  .g-menu-list a::before {
    width: 8px;
    height: 14px;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background-image: url("../images/common/arrow_right.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain; }
  .g-menu-list a:hover {
    color: #c7434c;
    padding-left: 16px; }
    .g-menu-list a:hover::before {
      background-image: url("../images/common/arrow_right_red.svg"); }
.g-menu-list p {
  width: 100%;
  padding: 12px 0;
  font-size: 18px;
  font-weight: 700; }
  @media (max-width: 1400px) {
    .g-menu-list p {
      font-size: 16px; } }
  @media (max-width: 1200px) {
    .g-menu-list p {
      font-size: 15px; } }

.g-menu-list-s {
  padding: 10px;
  background-color: #fff;
  border-radius: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5px; }
  .g-menu-list-s li {
    width: calc((100% - 10px) / 3); }
    .g-menu-list-s li:not(:last-child) {
      border-bottom: none; }
  .g-menu-list-s a {
    padding: 0 0 0 0.7em;
    position: relative;
    font-size: 15px;
    font-feature-settings: "palt";
    line-height: 1.4; }
    @media screen and (max-width: 900px) {
      .g-menu-list-s a {
        font-size: 12px; } }
    .g-menu-list-s a::before {
      display: none; }
    .g-menu-list-s a::after {
      content: "-";
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%); }
    .g-menu-list-s a:hover {
      padding: 0 0 0 0.7em; }

.nav-item {
  position: relative;
  margin: 70px 5px 0 15px; }
  @media (max-width: 1200px) {
    .nav-item {
      margin: 70px 5px 0 5px; } }
  .nav-item::before {
    width: 1px;
    height: 40px;
    content: "";
    position: absolute;
    left: 0;
    bottom: 10px;
    background-color: #dbdbdb; }
  .nav-item a {
    color: #717171; }
  .nav-item a:hover {
    color: #c7434c;
    background-color: #fff; }
  .nav-item .nav-link {
    font-size: 13px; }

.header-product-btn a {
  width: 140px;
  height: 130px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  background: url("../images/common/icon_product.svg") no-repeat top 30px center;
  background-size: 33px auto;
  background-color: #c7434c;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1200px) {
    .header-product-btn a {
      width: 100px;
      font-size: 15px; } }
  @media screen and (max-width: 900px) {
    .header-product-btn a {
      width: 80px;
      font-size: 12px; } }
.header-product-btn span {
  padding-top: 30px; }

.header-contact-btn a {
  width: 140px;
  height: 130px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 20px;
  background: url("../images/common/icon_contact.svg") no-repeat top 32px center;
  background-size: 33px auto;
  background-color: #323232;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1200px) {
    .header-contact-btn a {
      width: 100px;
      font-size: 14px; } }
  @media screen and (max-width: 900px) {
    .header-contact-btn a {
      width: 80px;
      font-size: 12px; } }
  .header-contact-btn a:hover {
    opacity: 0.7; }
.header-contact-btn span {
  padding-top: 30px; }

.header-skip-btn-wrap {
  margin: 10px 20px;
  position: absolute;
  top: 0;
  right: 280px;
  display: flex;
  justify-content: flex-end;
  gap: 10px; }
  @media (max-width: 1200px) {
    .header-skip-btn-wrap {
      right: 200px; } }
  @media screen and (max-width: 900px) {
    .header-skip-btn-wrap {
      margin: 10px;
      right: 160px; } }

.header-skip-btn {
  display: flex;
  justify-content: center;
  align-items: center; }
  .header-skip-btn a {
    min-width: 240px;
    height: 50px;
    padding: 0 48px 0 30px;
    position: relative;
    line-height: 1.2;
    font-size: 19px;
    font-weight: 700;
    text-shadow: 0 0 1px #fff, 0 0 2px #fff, 0 0 3px #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: solid 2px #dbdbdb; }
    @media (max-width: 1400px) {
      .header-skip-btn a {
        min-width: auto;
        width: 240px;
        font-size: 16px;
        padding: 0; } }
    @media (max-width: 1200px) {
      .header-skip-btn a {
        width: 210px;
        font-size: 14px; } }
    @media screen and (max-width: 900px) {
      .header-skip-btn a {
        width: 170px;
        font-size: 12px; } }
    .header-skip-btn a::after {
      content: "";
      position: absolute;
      inset: 0;
      background: url("../images/common/button_bk.jpg") no-repeat center/cover;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
      z-index: -1; }
    .header-skip-btn a::before {
      width: 8px;
      height: 14px;
      content: "";
      position: absolute;
      top: 50%;
      right: 10px;
      transform: translateY(-50%);
      background-image: url("../images/common/arrow_right.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain; }
    .header-skip-btn a:hover::after {
      opacity: 0.7; }
    .header-skip-btn a br {
      display: none; }
      @media (max-width: 1400px) {
        .header-skip-btn a br {
          display: block; } }
    @media (max-width: 1400px) {
      .header-skip-btn a span {
        display: none; } }

/*スクロールでデザイン変更*/
.nav-pc.scroll-nav-pc .nav-link {
  height: 100px;
  margin-top: 0; }
.nav-pc.scroll-nav-pc .nav-item--has-g {
  height: 100px;
  margin-top: 0; }
.nav-pc.scroll-nav-pc .nav-item--has-g.header-btn {
  height: 100px; }
.nav-pc.scroll-nav-pc .nav-item--has-g:hover .nav-link {
  color: #c7434c;
  background-color: #f5f5f5; }
.nav-pc.scroll-nav-pc .nav-item--has-g:hover .header-product-btn a {
  background-image: url("../images/common/icon_product_red.svg"); }
.nav-pc.scroll-nav-pc .nav-item {
  margin-top: 0; }
  .nav-pc.scroll-nav-pc .nav-item::before {
    width: 1px;
    height: 60px;
    content: "";
    position: absolute;
    left: 0;
    bottom: 20px;
    background-color: #dbdbdb; }
.nav-pc.scroll-nav-pc .header-skip-btn-wrap {
  display: none; }
.nav-pc.scroll-nav-pc .header-product-btn a {
  height: 100px;
  background: url("../images/common/icon_product.svg") no-repeat top 15px center;
  background-size: 33px auto;
  background-color: #c7434c;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
.nav-pc.scroll-nav-pc .header-contact-btn a {
  height: 100px;
  background: url("../images/common/icon_contact.svg") no-repeat top 16px center;
  background-size: 33px auto;
  background-color: #323232;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }

/* nav（スマホ） */
.nav-sp {
  display: none; }
  @media (max-width: 768px) {
    .nav-sp {
      width: 100%;
      min-height: 100vh;
      height: 100%;
      display: block;
      padding: 90px 5%;
      position: fixed;
      top: 0;
      left: 100%;
      background-color: #f5f5f5;
      z-index: 100;
      flex-direction: column;
      justify-content: flex-start;
      flex-wrap: nowrap;
      overflow: hidden auto;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
      background-image: url("../images/common/iwata_outline.svg");
      background-repeat: no-repeat;
      background-position: left -25px bottom 20px;
      background-size: 280px auto; } }
  .nav-sp.active {
    left: 0; }

.nav-sp-title,
.nav-sp-single {
  display: flex;
  margin-top: 15px;
  padding: 15px 10px 0 10px;
  background: none;
  align-items: center; }
  .nav-sp-title:not(:first-child),
  .nav-sp-single:not(:first-child) {
    border-top: solid 1px #323232; }
  .nav-sp-title p,
  .nav-sp-single p {
    width: 100%;
    font-weight: 700;
    line-height: 1.2;
    font-size: 16px; }

.nav-sp-list {
  max-height: 0;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  line-height: 1.2;
  font-weight: 700;
  overflow: hidden; }
  .nav-sp-list > li:not(:last-child) {
    border-bottom: solid 1px #e8e8e8; }
  .nav-sp-list a {
    padding: 15px 10px;
    display: block; }
    .nav-sp-list a:hover {
      color: #c7434c; }
  .nav-sp-list p {
    padding: 15px 10px; }

.nav-sp-list-s a {
  margin-left: 1.5em;
  padding: 10px 0 10px 1em;
  position: relative; }
  .nav-sp-list-s a::before {
    content: "-";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); }

.accordion-btn {
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  display: block;
  background-image: url("../images/common/icon_expand.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }

.nav-sp-title.active {
  padding: 15px 10px 15px 10px; }

.nav-sp-title.active .accordion-btn {
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  display: block;
  background-image: url("../images/common/icon_collapse.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }

.nav-sp-list.active {
  max-height: 200%;
  padding: 15px 20px;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative;
  background-color: #fff;
  border-radius: 6px; }

.nav-sp-btn {
  border-top: solid 1px #323232;
  margin-top: 15px;
  padding-top: 30px;
  display: flex;
  justify-content: space-between; }
  .nav-sp-btn li {
    width: 48%;
    height: 48px; }
    .nav-sp-btn li a {
      width: 100%;
      height: 100%;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 700;
      line-height: 1.2;
      text-align: center;
      font-feature-settings: "palt";
      border: solid 1px #c7434c; }
      .nav-sp-btn li a:hover {
        opacity: 0.7; }
    .nav-sp-btn li:nth-child(1) a {
      color: #c7434c; }
    .nav-sp-btn li:nth-child(2) a {
      color: #fff;
      background-color: #c7434c; }
  .nav-sp-btn img {
    width: 22px;
    height: auto;
    margin-right: 5px; }

.no-scroll {
  overflow: hidden !important; }

.burger-btn {
  display: none; }
  @media (max-width: 768px) {
    .burger-btn {
      width: 50px;
      height: 50px;
      padding: 14px 12px;
      display: block;
      position: fixed;
      top: 0;
      right: 0;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background-color: #e8e8e8;
      border: none;
      cursor: pointer;
      z-index: 101;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); } }
  .burger-btn span {
    width: 26px;
    height: 3px;
    background-color: #323232;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  .burger-btn.active .burger-line:nth-child(1) {
    transform: translateY(9.5px) rotate(45deg); }
  .burger-btn.active .burger-line:nth-child(2) {
    opacity: 0; }
  .burger-btn.active .burger-line:nth-child(3) {
    transform: translateY(-9.5px) rotate(-45deg); }

.header-btn-sp {
  display: none; }
  @media (max-width: 768px) {
    .header-btn-sp {
      margin-right: 50px;
      display: flex; } }
  .header-btn-sp li:nth-child(1) a {
    background-color: #c7434c; }
  .header-btn-sp li:nth-child(2) a {
    background-color: #323232; }
  .header-btn-sp a {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    font-weight: 500;
    font-feature-settings: "palt";
    white-space: nowrap;
    color: #fff; }
    .header-btn-sp a:hover {
      opacity: 0.7; }
    .header-btn-sp a.nav-link {
      margin-top: 0; }
  .header-btn-sp img {
    width: 22px;
    height: auto; }

.skip-btn-sp-wrap {
  display: none; }
  @media (max-width: 768px) {
    .skip-btn-sp-wrap {
      padding: 60px 5% 10px 5%;
      display: flex;
      justify-content: space-between; } }

.skip-btn-sp {
  width: 48%;
  height: 48px; }
  .skip-btn-sp a {
    width: 100%;
    height: 100%;
    padding-right: 20px;
    position: relative;
    line-height: 1.2;
    font-size: 12px;
    font-weight: 700;
    text-shadow: 0 0 1px #fff, 0 0 2px #fff, 0 0 3px #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: solid 2px #dbdbdb; }
    .skip-btn-sp a::after {
      content: "";
      position: absolute;
      inset: 0;
      background: url("../images/common/button_bk.jpg") no-repeat center/cover;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
      z-index: -1; }
    .skip-btn-sp a::before {
      width: 6px;
      height: 11px;
      content: "";
      position: absolute;
      top: 50%;
      right: 10px;
      transform: translateY(-50%);
      background-image: url("../images/common/arrow_right.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain; }
    .skip-btn-sp a:hover::after {
      opacity: 0.7; }

/* main-visual 
------------------------------------------------------------
------------------------------------------------------------*/
.main-visual-wrap {
  width: 100%;
  padding-top: 130px;
  position: relative; }
  @media (max-width: 768px) {
    .main-visual-wrap {
      padding-top: 0; } }

/* 「オーダーメイド精密加工」 */
.callout {
  width: 350px;
  height: 40px;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-shadow: 0 0 1px #323232, 0 0 2px #323232, 0 0 3px #323232;
  border-radius: 6px;
  border: 1px solid rgba(207, 201, 194, 0.7);
  top: 170px;
  left: 83px;
  background: url("../images/top/callout_bk.jpg") no-repeat center/cover;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media screen and (max-width: 1600px) {
    .callout {
      top: 150px; } }
  @media screen and (max-width: 1450px) {
    .callout {
      top: 130px;
      left: 43px; } }
  @media (max-width: 1200px) {
    .callout {
      width: 280px;
      height: 36px;
      font-size: 16px;
      left: 24px; } }
  @media screen and (max-width: 900px) {
    .callout {
      left: 20px; } }
  @media (max-width: 768px) {
    .callout {
      display: none; } }
  .callout span {
    position: relative;
    top: -2px; }
    @media (max-width: 1200px) {
      .callout span {
        top: -1px; } }
  .callout::before, .callout::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid rgba(207, 201, 194, 0.7);
    top: 50%;
    transform: translateY(-50%); }
  .callout::before {
    left: 10px; }
  .callout::after {
    right: 10px; }

.callout-sp {
  display: none; }
  @media (max-width: 768px) {
    .callout-sp {
      width: 240px;
      height: 30px;
      margin: 0 auto;
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-weight: 700;
      font-size: 15px;
      letter-spacing: 0.05em;
      text-shadow: 0 0 1px #717171, 0 0 2px #717171, 0 0 3px #717171;
      border-radius: 6px;
      border: 1px solid rgba(207, 201, 194, 0.4);
      top: 0;
      left: 0;
      right: 0;
      background: url("../images/top/callout_bk.jpg") no-repeat center/cover; } }
  .callout-sp::before, .callout-sp::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #c7434c;
    border: 1px solid rgba(207, 201, 194, 0.4);
    top: 50%;
    transform: translateY(-50%); }
  .callout-sp::before {
    left: 8px; }
  .callout-sp::after {
    right: 8px; }

/* slide */
.slider {
  width: 100%;
  height: 700px;
  position: relative;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media screen and (max-width: 1800px) {
    .slider {
      height: 620px; } }
  @media screen and (max-width: 1600px) {
    .slider {
      height: 560px; } }
  @media screen and (max-width: 1450px) {
    .slider {
      height: 490px; } }
  @media (max-width: 1200px) {
    .slider {
      height: 440px; } }
  @media screen and (max-width: 900px) {
    .slider {
      height: 400px; } }
  @media (max-width: 768px) {
    .slider {
      height: calc(300px + (80vw * 2 / 3));
      background-color: #c7434c; } }
  @media (max-width: 500px) {
    .slider {
      height: calc(300px + (100vw * 2 / 3)); } }
  .slider::before {
    width: 100%;
    height: calc(100% - 100px);
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #c7434c;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    @media screen and (max-width: 1600px) {
      .slider::before {
        height: calc(100% - 80px); } }
    @media screen and (max-width: 1450px) {
      .slider::before {
        height: calc(100% - 50px); } }
    @media (max-width: 1200px) {
      .slider::before {
        height: 390px; } }
    @media screen and (max-width: 900px) {
      .slider::before {
        height: 350px; } }
    @media (max-width: 768px) {
      .slider::before {
        display: none; } }

.slide {
  position: absolute;
  width: 1050px;
  top: 0;
  right: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
  overflow: hidden; }
  @media screen and (max-width: 1800px) {
    .slide {
      width: 930px; } }
  @media screen and (max-width: 1600px) {
    .slide {
      width: 840px; } }
  @media screen and (max-width: 1450px) {
    .slide {
      width: 735px; } }
  @media (max-width: 1400px) {
    .slide {
      min-width: 645px;
      width: 50%; } }
  @media (max-width: 1200px) {
    .slide {
      margin-top: 50px;
      max-width: 540px;
      min-width: initial;
      top: 50%;
      transform: translateY(-50%); } }
  @media (max-width: 768px) {
    .slide {
      width: 80%;
      max-width: initial;
      margin-top: 0;
      right: 10%;
      top: 100px;
      transform: none; } }
  @media (max-width: 500px) {
    .slide {
      width: 100%;
      right: 0%; } }
  .slide.active {
    opacity: 1; }
  .slide img {
    width: 100%;
    height: auto; }

.slider .text-content-wrap {
  width: 100%;
  height: calc(100% - 100px);
  padding: 90px 50px;
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media screen and (max-width: 1800px) {
    .slider .text-content-wrap {
      padding: 40px 50px; } }
  @media screen and (max-width: 1600px) {
    .slider .text-content-wrap {
      height: calc(100% - 80px);
      padding: 40px 50px; } }
  @media screen and (max-width: 1450px) {
    .slider .text-content-wrap {
      height: calc(100% - 50px);
      padding: 30px 50px; } }
  @media (max-width: 1200px) {
    .slider .text-content-wrap {
      height: 350px;
      padding: 30px; } }
  @media screen and (max-width: 900px) {
    .slider .text-content-wrap {
      padding: 30px 20px; } }
  @media (max-width: 768px) {
    .slider .text-content-wrap {
      height: 100%;
      padding: 0; } }

.slider .text-content {
  height: 100%;
  position: relative; }

.slider-lead {
  display: none;
  position: absolute;
  top: 0;
  left: 0; }
  .slider-lead.active {
    display: block; }
  .slider-lead:nth-child(1) {
    margin-bottom: 30px;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    @media (max-width: 768px) {
      .slider-lead:nth-child(1) {
        height: 100px;
        margin: 14px auto 0 auto;
        left: 0;
        right: 0; } }
    @media (max-width: 768px) {
      .slider-lead:nth-child(1) .slider-logo {
        text-align: center; } }
    .slider-lead:nth-child(1) .slider-logo img {
      width: 110px;
      height: auto;
      margin-top: 20px;
      margin-bottom: 30px;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
      @media (max-width: 1200px) {
        .slider-lead:nth-child(1) .slider-logo img {
          width: 90px;
          margin-top: 0; } }
      @media (max-width: 768px) {
        .slider-lead:nth-child(1) .slider-logo img {
          width: 36px;
          margin: 45px 0 0 0;
          display: inline-block; } }
    .slider-lead:nth-child(1) .slider-logo p {
      font-family: "Jost", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      line-height: 1;
      font-size: 98px; }
      @media screen and (max-width: 1800px) {
        .slider-lead:nth-child(1) .slider-logo p {
          font-size: 84px; } }
      @media screen and (max-width: 1600px) {
        .slider-lead:nth-child(1) .slider-logo p {
          font-size: 78px; } }
      @media screen and (max-width: 1450px) {
        .slider-lead:nth-child(1) .slider-logo p {
          font-size: 80px; } }
      @media (max-width: 1400px) {
        .slider-lead:nth-child(1) .slider-logo p {
          font-size: 70px; } }
      @media (max-width: 1200px) {
        .slider-lead:nth-child(1) .slider-logo p {
          font-size: 58px; } }
      @media screen and (max-width: 900px) {
        .slider-lead:nth-child(1) .slider-logo p {
          font-size: 50px; } }
      @media (max-width: 768px) {
        .slider-lead:nth-child(1) .slider-logo p {
          display: inline-block;
          font-size: 36px; } }
      @media (max-width: 320px) {
        .slider-lead:nth-child(1) .slider-logo p {
          font-size: 32px; } }
  .slider-lead:nth-child(2), .slider-lead:nth-child(3) {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4;
    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-lead:nth-child(2), .slider-lead:nth-child(3) {
        font-size: 26px; } }
    @media screen and (max-width: 1450px) {
      .slider-lead:nth-child(2), .slider-lead:nth-child(3) {
        font-size: 23px; } }
    @media (max-width: 1200px) {
      .slider-lead:nth-child(2), .slider-lead:nth-child(3) {
        font-size: 17px; } }
    @media screen and (max-width: 900px) {
      .slider-lead:nth-child(2), .slider-lead:nth-child(3) {
        font-size: 16px; } }
    @media (max-width: 768px) {
      .slider-lead:nth-child(2), .slider-lead:nth-child(3) {
        height: 100px;
        margin: 24px 10% 0 10%;
        line-height: 1.6; } }
    @media (max-width: 320px) {
      .slider-lead:nth-child(2), .slider-lead:nth-child(3) {
        margin: 24px 5% 0 5%; } }

.slider-text {
  opacity: 0;
  transition: opacity 0.5s ease;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0; }
  .slider-text.active {
    opacity: 1; }
  @media (max-width: 768px) {
    .slider-text:nth-child(4) {
      height: 200px;
      padding: 30px 10% 0 10%; } }
  .slider-text:nth-child(4) h2 {
    font-size: 43px;
    font-weight: 700;
    line-height: 1.3;
    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:nth-child(4) h2 {
        margin-bottom: 20px;
        font-size: 40px; } }
    @media (max-width: 1400px) {
      .slider-text:nth-child(4) h2 {
        font-size: 36px; } }
    @media (max-width: 1200px) {
      .slider-text:nth-child(4) h2 {
        font-size: 28px; } }
    @media screen and (max-width: 900px) {
      .slider-text:nth-child(4) h2 {
        font-size: 26px; } }
    @media (max-width: 768px) {
      .slider-text:nth-child(4) h2 {
        display: block;
        line-height: 1.4; } }
  .slider-text:nth-child(4).active {
    opacity: 1; }
    .slider-text:nth-child(4).active h2 {
      animation: slideInLeft 0.8s ease-out forwards; }
  .slider-text:nth-child(n+5):nth-child(-n+12) {
    padding-top: 120px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    @media screen and (max-width: 1600px) {
      .slider-text:nth-child(n+5):nth-child(-n+12) {
        padding-top: 110px; } }
    @media screen and (max-width: 1450px) {
      .slider-text:nth-child(n+5):nth-child(-n+12) {
        padding-top: 100px; } }
    @media (max-width: 1200px) {
      .slider-text:nth-child(n+5):nth-child(-n+12) {
        padding-top: 75px; } }
    @media screen and (max-width: 900px) {
      .slider-text:nth-child(n+5):nth-child(-n+12) {
        padding-top: 70px; } }
    @media (max-width: 768px) {
      .slider-text:nth-child(n+5):nth-child(-n+12) {
        height: 180px;
        width: 100%;
        padding: 30px 10% 0 10%;
        margin-bottom: 20px;
        justify-content: flex-start; } }
    @media (max-width: 500px) {
      .slider-text:nth-child(n+5):nth-child(-n+12) {
        width: 100%;
        padding: 25px 5% 0 0; } }
    .slider-text:nth-child(n+5):nth-child(-n+12) h2 {
      padding-left: 60px;
      position: relative;
      font-size: 56px;
      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:nth-child(n+5):nth-child(-n+12) h2 {
          font-size: 54px; } }
      @media screen and (max-width: 1450px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) h2 {
          font-size: 50px; } }
      @media (max-width: 1400px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) h2 {
          font-size: 47px; } }
      @media (max-width: 1200px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) h2 {
          padding-left: 40px;
          font-size: 40px; } }
      @media screen and (max-width: 900px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) h2 {
          font-size: 34px; } }
      @media (max-width: 768px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) h2 {
          font-size: 24px; } }
      @media (max-width: 500px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) h2 {
          padding-left: 35px; } }
      @media (max-width: 320px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) h2 {
          padding-left: 25px; } }
      .slider-text:nth-child(n+5):nth-child(-n+12) h2::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.65em;
        width: 50px;
        height: 1px;
        background-color: #fff; }
        @media (max-width: 1200px) {
          .slider-text:nth-child(n+5):nth-child(-n+12) h2::before {
            width: 30px; } }
        @media (max-width: 320px) {
          .slider-text:nth-child(n+5):nth-child(-n+12) h2::before {
            width: 20px; } }
    .slider-text:nth-child(n+5):nth-child(-n+12) div {
      position: absolute;
      bottom: 0;
      left: 0; }
      @media (max-width: 768px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) div {
          margin-top: 20px;
          position: static; } }
      @media (max-width: 500px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) div {
          margin-top: 15px;
          position: static; } }
    .slider-text:nth-child(n+5):nth-child(-n+12) p {
      display: inline;
      background: #323232;
      padding: 0.15em 0.75em;
      font-size: 20px;
      line-height: 2;
      font-feature-settings: "palt";
      box-decoration-break: clone;
      -webkit-box-decoration-break: clone;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
      @media (max-width: 1400px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) p {
          font-size: 18px; } }
      @media (max-width: 1200px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) p {
          font-size: 15px; } }
      @media screen and (max-width: 900px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) p {
          font-size: 13px; } }
      @media (max-width: 320px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) p {
          font-size: 12px; } }
      @media (max-width: 320px) {
        .slider-text:nth-child(n+5):nth-child(-n+12) p span {
          font-size: 11px; } }
    .slider-text:nth-child(n+5):nth-child(-n+12).active {
      opacity: 1; }
      .slider-text:nth-child(n+5):nth-child(-n+12).active h2 {
        animation: slideInLeft 0.8s ease-out forwards; }
      .slider-text:nth-child(n+5):nth-child(-n+12).active h2::before {
        animation: lineExpand 0.6s ease-out 0.3s forwards;
        transform-origin: left;
        transform: scaleX(0); }
      .slider-text:nth-child(n+5):nth-child(-n+12).active p {
        animation: fadeInUp 0.8s ease-out 0.4s forwards;
        opacity: 0;
        transform: translateY(20px); }
  @media (max-width: 500px) {
    .slider-text:nth-child(5) p br:nth-child(1) {
      display: none !important; } }
  @media (max-width: 320px) {
    .slider-text:nth-child(6) p br {
      display: none !important; } }
  @media (max-width: 500px) {
    .slider-text:nth-child(6) span br {
      display: none !important; } }
  @media (max-width: 768px) {
    .slider-text:nth-child(9) p br:nth-child(1) {
      display: none !important; } }
  @media (max-width: 768px) {
    .slider-text:nth-child(9) span br {
      display: none !important; } }
  @media (max-width: 768px) {
    .slider-text:nth-child(11) p br:nth-child(2) {
      display: none !important; } }
  @media (max-width: 500px) {
    .slider-text:nth-child(11) p br:nth-child(2) {
      display: block !important; } }

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px); }
  to {
    opacity: 1;
    transform: translateX(0); } }
@keyframes lineExpand {
  from {
    transform: scaleX(0); }
  to {
    transform: scaleX(1); } }
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
.dots {
  width: 90%;
  height: 60px;
  background-color: #c7434c;
  padding-left: 50px; }
  @media screen and (max-width: 1450px) {
    .dots {
      width: 100%; } }
  @media (max-width: 1400px) {
    .dots {
      height: 50px; } }
  @media (max-width: 1200px) {
    .dots {
      padding-left: 30px; } }
  @media screen and (max-width: 900px) {
    .dots {
      padding-left: 20px; } }
  @media (max-width: 768px) {
    .dots {
      width: 100%;
      padding-left: 10%;
      height: 40px; } }

.dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: solid 1px #323232;
  margin: 0 3px;
  cursor: pointer;
  transition: background 0.3s; }
  .dot.active {
    background: #323232; }
  @media (max-width: 768px) {
    .dot {
      width: 18px;
      height: 18px;
      margin: 0 4px; } }

/* 前後送りボタン ※未使用　
.controls {
	position: absolute;
	bottom: 50%;
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding: 0 20px;
	transform: translateY(50%);
	button {
		background: rgba(255,255,255,0.8);
		border: none;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		cursor: pointer;
		font-size: 20px;
		transition: background 0.3s;
		&:hover {
			background: white;
		}
	}
	button:hover {
		background: white;
	}
}*/
/* contents 
------------------------------------------------------------
------------------------------------------------------------*/
main {
  font-size: 20px; }
  @media (max-width: 768px) {
    main {
      font-size: 16px; } }

/* 自家製品 */
.top-product-wrap {
  margin: 90px auto 140px auto; }
  @media (max-width: 768px) {
    .top-product-wrap {
      margin: 60px auto 100px auto; } }

.top-product-list {
  margin-top: 70px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .top-product-list {
      margin-top: 30px;
      justify-content: center; } }
  .top-product-list li {
    width: 19%;
    padding: 15px 20px;
    border: solid 1px #dbdbdb; }
    @media (max-width: 768px) {
      .top-product-list li {
        width: 32.5%;
        margin-top: 10px;
        padding: 10px; }
        .top-product-list li:nth-child(1), .top-product-list li:nth-child(2), .top-product-list li:nth-child(4) {
          margin-right: 1.25%; } }
    @media (max-width: 500px) {
      .top-product-list li {
        width: 48.5%;
        padding: 10px; }
        .top-product-list li:nth-child(1), .top-product-list li:nth-child(3) {
          margin-right: 3%; }
        .top-product-list li:nth-child(2), .top-product-list li:nth-child(4) {
          margin-right: 0; } }
    @media (max-width: 320px) {
      .top-product-list li {
        padding: 10px 5px; } }
  .top-product-list img {
    width: 100%;
    height: auto;
    display: block;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  .top-product-list p {
    margin-top: 10px;
    text-align: center;
    line-height: 1.2;
    font-weight: 700;
    font-size: 18px;
    font-feature-settings: "palt"; }
    @media (max-width: 768px) {
      .top-product-list p {
        font-size: 15px; } }
    @media (max-width: 320px) {
      .top-product-list p {
        font-size: 13px; } }
    .top-product-list p::after {
      content: "";
      display: inline-block;
      width: 8px;
      height: 14px;
      margin: -0.2em 0 0 0.4em;
      background: url("../images/common/arrow_right.svg") no-repeat center/contain;
      vertical-align: middle; }
      @media (max-width: 768px) {
        .top-product-list p::after {
          width: 6px;
          height: 11px; } }
  .top-product-list a {
    display: block;
    text-decoration: none;
    overflow: hidden; }
  .top-product-list a:hover {
    color: #c7434c; }
    .top-product-list a:hover img {
      transform: scale(1.05);
      opacity: 0.7; }
    .top-product-list a:hover p::after {
      background: url("../images/common/arrow_right_red.svg") no-repeat center/contain; }

/* I.W.Tでできること */
.top-capabilities-wrap {
  padding: 140px 0;
  background-color: #f5f5f5; }
  @media (max-width: 768px) {
    .top-capabilities-wrap {
      padding: 60px 0 100px 0; } }
  .top-capabilities-wrap .section-title div {
    color: #fff;
    mix-blend-mode: normal; }

.top-capabilities-list {
  margin: 50px auto;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 500px) {
    .top-capabilities-list {
      width: 90%;
      margin: 30px auto;
      flex-direction: column; } }
  .top-capabilities-list li {
    width: 32.5%; }
    @media (max-width: 500px) {
      .top-capabilities-list li {
        width: 100%; }
        .top-capabilities-list li:not(:first-child) {
          margin-top: 10px; } }
    .top-capabilities-list li:nth-child(1) a::before {
      background-image: url("../images/top/capabilities_system.jpg"); }
    .top-capabilities-list li:nth-child(2) a::before {
      background-image: url("../images/top/capabilities_custom.jpg"); }
    .top-capabilities-list li:nth-child(3) a::before {
      background-image: url("../images/top/capabilities_market.jpg"); }
  .top-capabilities-list a {
    width: 100%;
    height: 100%;
    min-height: 400px;
    padding: 60px 30px;
    position: relative;
    display: block;
    overflow: hidden;
    text-align: center;
    color: #fff; }
    @media (max-width: 1400px) {
      .top-capabilities-list a {
        min-height: auto; } }
    @media (max-width: 768px) {
      .top-capabilities-list a {
        padding: 30px 10px; } }
    .top-capabilities-list a::before {
      width: 100%;
      height: 100%;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      background-image: url("../images/top/capabilities_system.jpg");
      background-size: cover;
      background-position: center;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
      z-index: 0; }
    .top-capabilities-list a:hover::before {
      transform: scale(1.05);
      opacity: 0.7; }
    .top-capabilities-list a::after {
      width: 120px;
      height: 120px;
      content: "";
      position: absolute;
      bottom: 0;
      right: 0;
      background-image: url("../images/common/arrow_right_white.svg"), linear-gradient(-45deg, transparent 49.5%, #f5f5f5 50%, #f5f5f5 50.8%, transparent 51.3%);
      background-repeat: no-repeat, no-repeat;
      background-position: right 30px bottom 20px, right -2px bottom -2px;
      background-size: 12px auto, cover; }
      @media (max-width: 1200px) {
        .top-capabilities-list a::after {
          width: 90px;
          height: 90px;
          background-image: url("../images/common/arrow_right_white.svg"), linear-gradient(-45deg, transparent 49.5%, #f5f5f5 50%, #f5f5f5 50.8%, transparent 51.3%);
          background-repeat: no-repeat, no-repeat;
          background-position: right 18px bottom 13px, right -2px bottom -2px;
          background-size: 10px auto, cover; } }
      @media (max-width: 768px) {
        .top-capabilities-list a::after {
          width: 64px;
          height: 64px;
          background-image: url("../images/common/arrow_right_white.svg"), linear-gradient(-45deg, transparent 49.5%, #f5f5f5 50%, #f5f5f5 50.8%, transparent 51.3%);
          background-repeat: no-repeat, no-repeat;
          background-position: right 15px bottom 10px, right -2px bottom -2px;
          background-size: 8px auto, cover; } }
  .top-capabilities-list img {
    width: 90px;
    height: auto;
    margin: 0 auto;
    position: relative;
    z-index: 1; }
    @media (max-width: 1200px) {
      .top-capabilities-list img {
        width: 80px; } }
    @media (max-width: 768px) {
      .top-capabilities-list img {
        width: 50px; } }
  .top-capabilities-list h4 {
    margin: 30px 0;
    font-size: 40px;
    font-weight: 700;
    text-shadow: 0 0 6px #323232;
    position: relative;
    z-index: 1; }
    @media (max-width: 1200px) {
      .top-capabilities-list h4 {
        margin: 25px 0;
        font-size: 30px; } }
    @media (max-width: 768px) {
      .top-capabilities-list h4 {
        margin: 20px 0;
        font-size: 20px; } }
  .top-capabilities-list p {
    position: relative;
    z-index: 1;
    font-weight: 700;
    line-height: 1.4;
    font-size: 18px;
    text-shadow: 0 0 6px #323232; }
    @media (max-width: 1200px) {
      .top-capabilities-list p {
        font-size: 16px; } }
    @media (max-width: 768px) {
      .top-capabilities-list p {
        font-size: 15px; } }

/* sliderカスタム製造 */
.slider-custom-wrap {
  margin-top: 180px;
  padding: 60px 40px;
  position: relative;
  border: solid 2px #3067a6;
  border-radius: 12px;
  background-color: #fff; }
  @media (max-width: 1400px) {
    .slider-custom-wrap {
      margin-top: 160px; } }
  @media (max-width: 768px) {
    .slider-custom-wrap {
      margin-top: 120px;
      padding: 30px 5% 40px 5%; } }
  .slider-custom-wrap h4 {
    padding-bottom: 50px;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    font-feature-settings: "palt";
    text-align: center;
    border-bottom: solid 1px #3067a6; }
    @media (max-width: 768px) {
      .slider-custom-wrap h4 {
        padding-bottom: 20px;
        font-size: 24px; } }
    .slider-custom-wrap h4 span {
      font-size: 30px;
      font-weight: 700; }
      @media (max-width: 768px) {
        .slider-custom-wrap h4 span {
          font-size: 20px; } }

.slider-custom-char {
  width: 400px;
  position: absolute;
  top: -151px;
  right: 50px; }
  @media (max-width: 1400px) {
    .slider-custom-char {
      width: 340px;
      top: -129px; } }
  @media (max-width: 768px) {
    .slider-custom-char {
      width: 260px;
      top: -99px;
      right: 20px; } }
  .slider-custom-char img {
    width: 100%;
    height: auto; }

div.slider-custom-lead {
  margin: 40px 0 30px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "palt";
  color: #3067a6;
  text-align: center; }
  @media (max-width: 768px) {
    div.slider-custom-lead {
      margin: 30px 0 20px 0;
      font-size: 20px; } }
  @media (max-width: 500px) {
    div.slider-custom-lead {
      font-size: 15px; } }
  div.slider-custom-lead span {
    display: inline;
    padding: 0 0.1em 0.2em 0.1em;
    background: linear-gradient(transparent 60%, #cae2f9 60%); }
    @media (max-width: 768px) {
      div.slider-custom-lead span {
        padding: 0 0.1em 0.1em 0.1em; } }
  div.slider-custom-lead img {
    width: 20px;
    height: auto;
    margin: 0 5px; }
    @media (max-width: 768px) {
      div.slider-custom-lead img {
        width: 10px; } }

p.slider-custom-lead {
  margin-bottom: 30px;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "palt";
  text-align: center; }
  @media (max-width: 768px) {
    p.slider-custom-lead {
      font-size: 20px; } }
  @media (max-width: 500px) {
    p.slider-custom-lead {
      font-size: 16px; } }

/*.slider-custom {*/
/*width: 100%;
max-width: 1000px;
margin: 0 auto;*/
/*background: white;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
border-radius: 8px;*/
/*overflow: hidden;*/
/*}*/
.slider-custom {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  aspect-ratio: 10 / 3;
  overflow: hidden; }

.custom-slide {
  width: 100%;
  position: absolute;
  opacity: 0;
  transition: opacity 0.6s ease; }
  .custom-slide.custom-active {
    opacity: 1; }
  .custom-slide img {
    width: 100%;
    height: auto; }

.slider-custom-multiply, .slider-custom-add {
  position: absolute;
  width: 6%;
  height: auto;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  z-index: 1; }
  @media (max-width: 768px) {
    .slider-custom-multiply, .slider-custom-add {
      width: 7%; } }
  @media (max-width: 500px) {
    .slider-custom-multiply, .slider-custom-add {
      width: 8%; } }

.slider-custom-multiply {
  top: 50%;
  left: 32.5%; }

.slider-custom-add {
  top: 50%;
  left: 67.5%; }

.custom-text-wrap {
  width: 100%;
  max-width: 1000px;
  margin: 10px auto 50px auto; }
  @media (max-width: 768px) {
    .custom-text-wrap {
      margin: 10px auto 30px auto; } }

.custom-text-box {
  display: flex;
  justify-content: space-between; }
  .custom-text-box p {
    width: 30%;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    text-align: center; }
    @media (max-width: 500px) {
      .custom-text-box p {
        font-size: 12px; } }

.custom-dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%); }
  @media (max-width: 768px) {
    .custom-dots {
      white-space: nowrap; } }

.custom-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: solid 1px #323232;
  margin: 0 3px;
  cursor: pointer;
  transition: background 0.3s; }
  .custom-dot.custom-active {
    background: #323232; }
  @media (max-width: 768px) {
    .custom-dot {
      width: 18px;
      height: 18px; } }

/* 前後送りボタン ※未使用　
.custom-nav {
	position: absolute;
	top: 50%;
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding: 0 15px;
	transform: translateY(-50%);
	pointer-events: none;
}
.custom-btn {
	pointer-events: all;
	background: rgba(0,0,0,0.5);
	color: white;
	border: none;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 18px;
	transition: background 0.3s;
	&:hover {
		background: rgba(0,0,0,0.8);
	}
}*/
/* I.W.Tの技術リンク */
.top-technology-list {
  margin-top: 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .top-technology-list {
      margin-top: 30px; } }
  .top-technology-list li {
    width: 32%;
    border-bottom: solid 1px #323232; }
    @media (max-width: 500px) {
      .top-technology-list li {
        width: 90%;
        margin: 0 auto; } }
    .top-technology-list li:nth-child(1), .top-technology-list li:nth-child(2), .top-technology-list li:nth-child(3) {
      border-top: solid 1px #323232; }
      @media (max-width: 500px) {
        .top-technology-list li:nth-child(1):nth-child(2), .top-technology-list li:nth-child(1):nth-child(3), .top-technology-list li:nth-child(2):nth-child(2), .top-technology-list li:nth-child(2):nth-child(3), .top-technology-list li:nth-child(3):nth-child(2), .top-technology-list li:nth-child(3):nth-child(3) {
          border-top: none; } }
    .top-technology-list li a {
      width: 100%;
      height: 100%;
      padding: 17px 25px 17px 15px;
      position: relative;
      line-height: 1.2;
      font-weight: 700;
      font-size: 18px;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center; }
      @media (max-width: 768px) {
        .top-technology-list li a {
          font-size: 16px; } }
      .top-technology-list li a::before {
        width: 8px;
        height: 14px;
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        background-image: url("../images/common/arrow_right.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain; }
        @media (max-width: 768px) {
          .top-technology-list li a::before {
            width: 6px;
            height: 11px; } }
      .top-technology-list li a:hover {
        color: #c7434c; }
        .top-technology-list li a:hover::before {
          background-image: url("../images/common/arrow_right_red.svg"); }

/* お問い合わせ */
.section-contact-wrap {
  padding: 100px;
  background-image: url("../images/common/contact_bk.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }
  @media (max-width: 1200px) {
    .section-contact-wrap {
      padding: 100px 30px; } }
  @media (max-width: 500px) {
    .section-contact-wrap {
      padding: 60px 5%;
      background-image: url("../images/common/contact_bk_sp.jpg"); } }

.section-contact {
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media (max-width: 1200px) {
    .section-contact {
      padding: 60px 30px; } }
  @media (max-width: 768px) {
    .section-contact {
      width: 100%;
      padding: 50px 5% 30px 5%; } }
  .section-contact h3 {
    margin-bottom: 40px;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 60px;
    line-height: 1; }
    @media (max-width: 768px) {
      .section-contact h3 {
        margin-bottom: 20px;
        font-size: 32px; } }

.contact-btn-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (max-width: 768px) {
    .contact-btn-wrap {
      justify-content: space-between; } }

.contact-btn {
  width: 300px;
  margin: 0 15px; }
  @media (max-width: 1200px) {
    .contact-btn {
      margin: 0 10px; } }
  @media (max-width: 768px) {
    .contact-btn {
      width: 48%;
      margin: 0; } }
  .contact-btn a {
    width: 100%;
    height: 100%;
    padding: 20px 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-align: center;
    font-size: 18px;
    line-height: 1.4;
    font-feature-settings: "palt";
    background-color: #c7434c; }
    @media (max-width: 768px) {
      .contact-btn a {
        padding: 15px 5px;
        font-size: 14px; } }
    @media (max-width: 320px) {
      .contact-btn a {
        font-size: 12px; } }
    .contact-btn a:hover {
      opacity: 0.7; }
  .contact-btn img {
    width: 28px;
    margin-bottom: 10px; }
    @media (max-width: 768px) {
      .contact-btn img {
        width: 24px;
        margin-bottom: 5px; } }

/*　footer　
------------------------------------------------------------
------------------------------------------------------------*/
footer {
  padding-top: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff; }
  @media (max-width: 768px) {
    footer {
      padding-top: 60px; } }
  footer ul {
    margin: 100px 5% 50px 5%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    @media (max-width: 768px) {
      footer ul {
        margin: 60px 5% 50px 5%;
        justify-content: flex-start; } }
    @media (max-width: 500px) {
      footer ul {
        justify-content: space-between; } }
    footer ul li {
      display: flex;
      align-items: center;
      font-size: 16px; }
      footer ul li:not(:last-child)::after {
        content: "｜";
        margin: 0 0.5em; }
        @media (max-width: 768px) {
          footer ul li:not(:last-child)::after {
            display: none; } }
      @media (max-width: 768px) {
        footer ul li {
          width: 32%;
          padding: 15px 10px;
          align-items: center;
          font-size: 13px;
          line-height: 1.4;
          font-feature-settings: "palt";
          border-bottom: solid 1px #dbdbdb; }
          footer ul li:nth-child(1), footer ul li:nth-child(2), footer ul li:nth-child(4), footer ul li:nth-child(5), footer ul li:nth-child(7), footer ul li:nth-child(8) {
            margin-right: 2%; } }
      @media (max-width: 500px) {
        footer ul li {
          width: 48%;
          padding: 15px 5px; }
          footer ul li:nth-child(1), footer ul li:nth-child(2), footer ul li:nth-child(4), footer ul li:nth-child(5), footer ul li:nth-child(8) {
            margin-right: 0; } }
      @media (max-width: 320px) {
        footer ul li {
          padding: 15px 0;
          font-size: 12px; } }
      footer ul li a {
        width: 100%;
        height: 100%;
        display: block; }
      footer ul li a:hover {
        color: #c7434c; }

.footer-logo {
  width: 230px; }
  @media (max-width: 768px) {
    .footer-logo {
      width: 140px; } }
  .footer-logo img {
    width: 100%;
    height: auto; }

.copyright {
  width: 100%;
  padding: 15px 5%;
  font-size: 12px;
  color: #fff;
  text-align: center;
  background-color: #c7434c; }
  @media (max-width: 768px) {
    .copyright {
      font-size: 10px; } }

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

.page-title {
  margin: 50px 50px 100px 50px;
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }
  @media (max-width: 1400px) {
    .page-title {
      margin: 20px 20px 100px 20px; } }
  @media (max-width: 768px) {
    .page-title {
      margin: 0 10px 20px 10px; } }
  .page-title h2 {
    height: 240px;
    font-size: 60px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.1em;
    color: #fff;
    text-shadow: 0 0 1px #c7434c, 0 0 2px #c7434c, 0 0 3px #c7434c;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
    @media (max-width: 1400px) {
      .page-title h2 {
        height: 200px;
        font-size: 50px; } }
    @media (max-width: 768px) {
      .page-title h2 {
        height: 120px;
        font-size: 28px; } }
  .page-title.long-text h2 {
    letter-spacing: 0; }
    @media (max-width: 1400px) {
      .page-title.long-text h2 {
        font-size: 44px; } }
    @media (max-width: 768px) {
      .page-title.long-text h2 {
        font-size: 24px; } }

.page-title.product {
  background-image: url("../images/product/header_product.jpg"); }
  @media (max-width: 500px) {
    .page-title.product {
      background-image: url("../images/product/header_product_sp.jpg"); } }
.page-title.capabilities {
  background-image: url("../images/capabilities/header_capabilities.jpg"); }
  @media (max-width: 500px) {
    .page-title.capabilities {
      background-image: url("../images/capabilities/header_capabilities_sp.jpg"); } }
.page-title.equipment {
  background-image: url("../images/equipment/header_equipment.jpg"); }
  @media (max-width: 500px) {
    .page-title.equipment {
      background-image: url("../images/equipment/header_equipment_sp.jpg"); } }
.page-title.company {
  background-image: url("../images/company/header_company.jpg"); }
  @media (max-width: 500px) {
    .page-title.company {
      background-image: url("../images/company/header_company_sp.jpg"); } }
.page-title.news {
  background-image: url("../images/company/header_news.jpg"); }
  @media (max-width: 500px) {
    .page-title.news {
      background-image: url("../images/company/header_news_sp.jpg"); } }
.page-title.info {
  background-image: url("../images/info/header_info.jpg"); }
  @media (max-width: 500px) {
    .page-title.info {
      background-image: url("../images/info/header_info_sp.jpg"); } }
.page-title.recruit {
  background-image: url("../images/info/header_recruit.jpg"); }
  @media (max-width: 500px) {
    .page-title.recruit {
      background-image: url("../images/info/header_recruit_sp.jpg"); } }
.page-title.contact {
  background-image: url("../images/contact/header_contact.jpg"); }
  @media (max-width: 500px) {
    .page-title.contact {
      background-image: url("../images/contact/header_contact_sp.jpg"); } }

/* パンクズ */
.pankuzu {
  position: absolute;
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 16px;
  top: 10px;
  right: 20px; }
  @media (max-width: 768px) {
    .pankuzu {
      display: none; } }
  .pankuzu li {
    display: flex;
    align-items: center; }
    .pankuzu li:not(:last-child)::after {
      content: "/";
      margin: 0 0.5em;
      color: #fff; }
  .pankuzu a {
    color: #fff;
    text-decoration: underline; }
    .pankuzu a:hover {
      opacity: 0.7; }

/* リストスタイル */
.list-check {
  display: flex;
  flex-wrap: wrap; }
  .list-check li {
    width: 50%;
    padding-left: 23px;
    position: relative; }
    .list-check li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.5em;
      width: 18px;
      height: 18px;
      background: url("../images/common/icon_check.svg") no-repeat center/contain; }
    .list-check li.w-100 {
      width: 100%; }

.list-underline {
  padding-left: 1em; }
  .list-underline li {
    list-style: disc; }
  .list-underline span {
    display: inline;
    padding: 0 0.1em 0.2em 0.1em;
    font-weight: 700;
    background: linear-gradient(transparent 60%, #f9e1e3 60%); }
    @media (max-width: 768px) {
      .list-underline span {
        padding: 0 0.1em 0.1em 0.1em; } }

ol.list-underline {
  padding-left: 1.5em; }
  ol.list-underline li {
    list-style: decimal; }
  ol.list-underline.lower-latin {
    padding-left: 1.5em; }
    ol.list-underline.lower-latin li {
      list-style-type: lower-latin; }

.list-disc {
  padding-left: 1.5em;
  line-height: 1.4; }
  .list-disc li {
    list-style: disc; }
    .list-disc li:not(:first-child) {
      margin-top: 5px; }

.list-decimal {
  padding-left: 1.5em;
  line-height: 1.4; }
  .list-decimal li {
    list-style: decimal; }
    .list-decimal li:not(:first-child) {
      margin-top: 5px; }

.list-hyphen li {
  padding-left: 1em;
  position: relative;
  list-style: none; }
  .list-hyphen li:not(:first-child) {
    margin-top: 5px; }
  .list-hyphen li::before {
    content: "-";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); }

.list-disc li > .list-hyphen {
  margin-top: 5px; }

.list-link-text li {
  line-height: 1.6; }
.list-link-text a {
  text-decoration: underline; }
  .list-link-text a:hover {
    opacity: 0.7; }

/* ボックス */
.box-bk {
  margin-top: 50px;
  padding: 20px 30px;
  background-color: #f5f5f5;
  border-radius: 12px; }
  @media (max-width: 768px) {
    .box-bk {
      margin-top: 20px;
      padding: 20px 5%; } }
  .box-bk h5 {
    margin-bottom: 20px;
    font-weight: 700; }

/* テーブル */
.table {
  width: 100%;
  line-height: 1.6;
  font-size: 19px; }
  @media (max-width: 1200px) {
    .table {
      font-size: 18px; } }
  @media (max-width: 768px) {
    .table {
      font-size: 15px;
      font-feature-settings: "palt"; } }
  @media (max-width: 320px) {
    .table {
      font-size: 14px; } }
  .table th {
    padding: 10px 12px;
    font-weight: 700;
    background-color: #f5f5f5;
    border-bottom: solid 1px #e8e8e8; }
  .table td {
    padding: 10px 12px;
    border-bottom: solid 1px #e8e8e8; }
  .table.table-font-ll {
    font-size: 24px; }
    @media (max-width: 768px) {
      .table.table-font-ll {
        font-size: 18px; } }
    @media (max-width: 500px) {
      .table.table-font-ll {
        font-size: 16px; } }
    @media (max-width: 320px) {
      .table.table-font-ll {
        font-size: 14px; } }
  .table.table-font-l {
    font-size: 20px; }
    @media (max-width: 768px) {
      .table.table-font-l {
        font-size: 16px; } }
    @media (max-width: 500px) {
      .table.table-font-l {
        font-size: 15px; } }
    @media (max-width: 320px) {
      .table.table-font-l {
        font-size: 14px; } }
  .table.table-s {
    width: 70%; }
    @media (max-width: 768px) {
      .table.table-s {
        width: 100%; } }
  .table.table-head-left tr:first-child {
    border-top: solid 1px #e8e8e8; }
  .table.table-head-left th {
    vertical-align: top;
    text-align: left; }
  .table.table-head-top th {
    text-align: left; }
  .table.table-head-cross td {
    text-align: center; }

.table-btn {
  width: 120px;
  height: 48px;
  margin: 0 auto;
  padding-right: 23px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #323232;
  font-weight: 700;
  background-image: url("../images/common/icon_doc.svg");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 13px auto; }
  .table-btn:hover {
    opacity: 0.7; }

.img-exploded {
  max-width: 500px;
  width: 100%;
  height: auto;
  margin: 0 auto; }

.scroll-text {
  display: none; }
  @media (max-width: 500px) {
    .scroll-text {
      display: block; } }
  .scroll-text .text {
    padding: 0 5px;
    margin-bottom: 10px;
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #3067a6;
    font-size: 13px;
    line-height: 1.6em;
    font-feature-settings: "palt"; }
    .scroll-text .text img {
      width: 16px;
      height: auto; }
      @media (max-width: 320px) {
        .scroll-text .text img {
          width: 13px; } }
  @media screen and (max-width: 767px) {
    .scroll-text.diagram {
      display: block;
      background-color: #e8e8e8; } }

@media (max-width: 500px) {
  .table-scroll {
    overflow-x: scroll; }
    .table-scroll .table {
      width: 690px; }
    .table-scroll .system-diagram-wrap {
      width: 600px; } }

@media (max-width: 768px) {
  .diagram-scroll {
    overflow-x: scroll; }
    .diagram-scroll > div {
      width: 721px; } }

/* レイアウト */
.l-section-first {
  margin-bottom: 140px; }
  @media (max-width: 768px) {
    .l-section-first {
      margin-top: 60px;
      margin-bottom: 100px; } }

.l-section {
  margin-bottom: 140px; }
  @media (max-width: 768px) {
    .l-section {
      margin-bottom: 100px; } }

.l-section-last {
  margin-bottom: 200px; }
  @media (max-width: 768px) {
    .l-section-last {
      margin-bottom: 100px; } }

.l-col2 {
  display: flex;
  gap: 60px; }
  .l-col2 > * {
    flex: 1; }
  @media (max-width: 768px) {
    .l-col2 {
      flex-direction: column;
      gap: 30px; } }
  .l-col2 img {
    width: 100%;
    height: auto; }

.l-col2-m {
  display: flex;
  gap: 30px; }
  .l-col2-m > * {
    flex: 1; }
  @media (max-width: 768px) {
    .l-col2-m {
      flex-direction: column; } }
  .l-col2-m img {
    width: 100%;
    height: auto; }
    @media (max-width: 768px) {
      .l-col2-m img {
        width: 80%;
        margin: 0 auto; } }
    @media (max-width: 500px) {
      .l-col2-m img {
        width: 100%; } }

.l-col2-s {
  display: flex;
  gap: 20px; }
  .l-col2-s > * {
    flex: 1; }
  @media (max-width: 768px) {
    .l-col2-s {
      flex-direction: column;
      gap: 10px; } }
  .l-col2-s img {
    width: 100%;
    height: auto; }
    @media (max-width: 768px) {
      .l-col2-s img {
        width: 80%;
        margin: 0 auto; } }
    @media (max-width: 500px) {
      .l-col2-s img {
        width: 100%; } }

.l-col2-table {
  display: flex;
  align-items: flex-start;
  gap: 60px; }
  .l-col2-table > * {
    flex: 1; }
  @media (max-width: 768px) {
    .l-col2-table {
      flex-direction: column;
      gap: 0; }
      .l-col2-table table:nth-of-type(2) tr:first-child {
        border-top: none; } }
  .l-col2-table img {
    width: 100%;
    height: auto; }

/* ページ内リンク */
.link-sec {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; }
  .link-sec li {
    background-color: #e8e8e8; }
    @media (max-width: 500px) {
      .link-sec li {
        width: calc((100% - 10px) / 2); } }
  .link-sec.u-col2 li {
    width: calc((100% - 20px) / 2); }
    @media (max-width: 768px) {
      .link-sec.u-col2 li {
        width: calc((100% - 10px) / 2); } }
  .link-sec.u-col3 li {
    width: calc((100% - 20px) / 3); }
    @media (max-width: 768px) {
      .link-sec.u-col3 li {
        width: calc((100% - 10px) / 2); } }
  .link-sec.u-col4 li {
    width: calc((100% - 30px) / 4); }
    @media (max-width: 1200px) {
      .link-sec.u-col4 li {
        width: calc((100% - 20px) / 3); } }
    @media (max-width: 768px) {
      .link-sec.u-col4 li {
        width: calc((100% - 10px) / 2); } }
  .link-sec.u-center {
    justify-content: center; }
  .link-sec a {
    min-width: 100px;
    height: 48px;
    padding: 0 50px 0 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    line-height: 1.2;
    background-image: url("../images/common/arrow_down.svg");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 14px 8px; }
    @media (max-width: 768px) {
      .link-sec a {
        padding: 0 23px 0 12px;
        background-size: 11px 6px;
        font-size: 15px;
        transition: none; } }
    @media (max-width: 320px) {
      .link-sec a {
        font-size: 14px; } }
    .link-sec a:hover {
      color: #c7434c;
      background-image: url("../images/common/arrow_down_red.svg");
      background-repeat: no-repeat;
      background-position: right 10px center;
      background-size: 14px 8px; }
      @media (max-width: 768px) {
        .link-sec a:hover {
          background-size: 11px 6px; } }

section, .anchor {
  scroll-margin-top: 120px; }
  @media (max-width: 768px) {
    section, .anchor {
      scroll-margin-top: 60px; } }

/*　自家製品
------------------------------------------------------------*/
.product-intro-wrap {
  min-height: 792px;
  margin-bottom: 100px;
  display: flex;
  position: relative; }
  @media (max-width: 1400px) {
    .product-intro-wrap {
      min-height: 624px; } }
  @media (max-width: 768px) {
    .product-intro-wrap {
      width: 90%;
      margin: 0 auto 100px auto;
      flex-direction: column; } }

/* サイドナビ */
.side-nav {
  width: 280px;
  margin: 0 50px;
  flex-shrink: 0;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 18px; }
  @media (max-width: 1400px) {
    .side-nav {
      width: 230px;
      margin: 0 50px 0 20px;
      font-size: 16px; } }
  @media (max-width: 768px) {
    .side-nav {
      width: 100%;
      margin: 0;
      font-size: 14px;
      position: static; } }
  @media (max-width: 320px) {
    .side-nav {
      font-size: 13px; } }
  @media (max-width: 768px) {
    .side-nav ul {
      display: flex;
      flex-wrap: wrap;
      gap: 0 2%; } }
  @media (max-width: 500px) {
    .side-nav ul {
      gap: 0 4%; } }
  .side-nav li {
    padding: 6px 0;
    border-bottom: solid 1px #323232; }
    .side-nav li:first-child {
      border-top: solid 1px #323232; }
    @media (max-width: 768px) {
      .side-nav li {
        width: 32%; }
        .side-nav li:nth-child(2), .side-nav li:nth-child(3) {
          border-top: solid 1px #323232; } }
    @media (max-width: 500px) {
      .side-nav li {
        width: 48%; }
        .side-nav li:nth-child(3) {
          border-top: none; } }
    .side-nav li.current a {
      color: #c7434c;
      background-color: #f5f5f5;
      background-image: url("../images/common/arrow_right_red.svg"); }
  .side-nav a {
    padding: 0 10px;
    display: flex;
    align-items: center;
    background-image: url("../images/common/arrow_right.svg");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 8px 14px;
    font-feature-settings: "palt";
    letter-spacing: 0.04em;
    line-height: 1.4; }
    @media (max-width: 768px) {
      .side-nav a {
        background-position: right 5px center;
        background-size: 6px 11px;
        transition: none; } }
    @media (max-width: 320px) {
      .side-nav a {
        padding: 0 10px 0 0; } }
    .side-nav a:hover {
      color: #c7434c;
      background-image: url("../images/common/arrow_right_red.svg");
      background-repeat: no-repeat;
      background-position: right 10px center;
      background-size: 8px 14px;
      line-height: 1.4; }
      @media (max-width: 768px) {
        .side-nav a:hover {
          background-position: right 5px center;
          background-size: 6px 11px; } }
  .side-nav img {
    width: 100px;
    height: auto;
    margin-right: 20px; }
    @media (max-width: 1400px) {
      .side-nav img {
        width: 76px;
        margin-right: 15px; } }
    @media (max-width: 768px) {
      .side-nav img {
        width: 50px;
        margin-right: 10px; } }

.product-intro {
  margin-right: 10%;
  margin-left: 380px;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media screen and (max-width: 1600px) {
    .product-intro {
      margin-right: 50px; } }
  @media (max-width: 1400px) {
    .product-intro {
      margin-left: 300px; } }
  @media (max-width: 1200px) {
    .product-intro {
      margin-right: 20px; } }
  @media (max-width: 768px) {
    .product-intro {
      margin-left: 0; } }

.product-title {
  max-width: 1200px;
  padding: 40px 0 100px 0;
  text-align: center; }
  @media (max-width: 768px) {
    .product-title {
      padding: 60px 0 50px 0; } }
  .product-title h3 {
    position: relative;
    display: inline-block;
    padding-bottom: 10px;
    text-align: left;
    font-size: 50px;
    font-weight: 700;
    line-height: 1.4; }
    @media (max-width: 1400px) {
      .product-title h3 {
        font-size: 40px; } }
    @media (max-width: 768px) {
      .product-title h3 {
        font-size: 28px; } }
    .product-title h3::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 3px;
      background: #c7434c; }

.product-intro-main {
  max-width: 1200px;
  width: 100%;
  display: flex;
  align-items: flex-start; }
  @media (max-width: 1200px) {
    .product-intro-main {
      flex-direction: column; } }
  .product-intro-main .product-intro-img {
    flex: 1;
    display: flex;
    justify-content: flex-end; }
    @media (max-width: 1200px) {
      .product-intro-main .product-intro-img {
        margin: 0 auto 30px auto;
        justify-content: center; } }
    .product-intro-main .product-intro-img img {
      max-width: 400px;
      width: 100%;
      height: auto;
      margin-right: 30px; }
      @media (max-width: 1400px) {
        .product-intro-main .product-intro-img img {
          margin-right: 0; } }
      @media (max-width: 768px) {
        .product-intro-main .product-intro-img img {
          width: 80%; } }
  .product-intro-main .product-intro-text {
    flex: 1;
    padding-left: 20px; }
    @media (max-width: 1200px) {
      .product-intro-main .product-intro-text {
        padding: 0; } }
    .product-intro-main .product-intro-text .section-subtitle {
      margin-top: 0; }
  .product-intro-main .link-sec {
    margin-top: 50px; }

.product-intro-secondary {
  max-width: 800px; }
  @media (max-width: 1200px) {
    .product-intro-secondary {
      width: 100%;
      max-width: none; } }
  .product-intro-secondary .section-subtitle {
    margin-top: 0; }
  .product-intro-secondary .section-title {
    width: 800px;
    margin-top: 90px;
    overflow: visible; }
    @media (max-width: 1400px) {
      .product-intro-secondary .section-title {
        width: 100%; } }
    @media (max-width: 768px) {
      .product-intro-secondary .section-title {
        width: 111.11%;
        transform: translateX(-5.56%);
        margin-top: 60px; } }
    .product-intro-secondary .section-title h4 {
      padding-left: 120px; }
      @media (max-width: 1400px) {
        .product-intro-secondary .section-title h4 {
          padding-left: 0; } }
    .product-intro-secondary .section-title div {
      font-size: 108px; }
      @media (max-width: 1200px) {
        .product-intro-secondary .section-title div {
          font-size: 76px; } }
      @media (max-width: 768px) {
        .product-intro-secondary .section-title div {
          font-size: 56px; } }
      .product-intro-secondary .section-title div span {
        width: 120px;
        height: 88px; }
        @media (max-width: 1200px) {
          .product-intro-secondary .section-title div span {
            width: 80px;
            height: 64px; } }
        @media (max-width: 768px) {
          .product-intro-secondary .section-title div span {
            width: 68px;
            height: 46px; } }
  @media (max-width: 1200px) {
    .product-intro-secondary .product-intro-text {
      margin-top: 50px; } }

/* 特色 */
.product-box {
  margin: 25px 0 35px 0;
  padding: 50px;
  position: relative;
  border: solid 1px #c7434c;
  border-radius: 12px; }
  @media (max-width: 768px) {
    .product-box {
      margin: 25px 0 25px 0;
      padding: 30px 5%; } }
  .product-box .box-number {
    padding: 0 10px;
    display: flex;
    align-items: center;
    position: absolute;
    top: -25px;
    left: -1px;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    color: #c7434c;
    background-color: #fff; }
    @media (max-width: 768px) {
      .product-box .box-number {
        font-size: 16px; } }
    .product-box .box-number span {
      padding-left: 10px;
      font-family: "Jost", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      font-size: 60px; }
      @media (max-width: 768px) {
        .product-box .box-number span {
          font-size: 40px; } }
  .product-box h5 {
    margin-bottom: 20px;
    padding-bottom: 20px;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    border-bottom: dotted 2px #c7434c; }
    @media (max-width: 768px) {
      .product-box h5 {
        font-size: 20px; } }

.content > .product-box + .product-box {
  margin: 60px 0 35px 0; }
  @media (max-width: 768px) {
    .content > .product-box + .product-box {
      margin: 50px 0 25px 0; } }

/* 皿ばねセット品の特徴 */
.disc-spring-set-flex {
  display: flex;
  align-items: flex-start;
  gap: 10px; }
  @media (max-width: 500px) {
    .disc-spring-set-flex {
      flex-direction: column; } }
  .disc-spring-set-flex div:nth-child(1), .disc-spring-set-flex div:nth-child(3) {
    width: calc((100% - 20px - 8%) / 2); }
    @media (max-width: 500px) {
      .disc-spring-set-flex div:nth-child(1), .disc-spring-set-flex div:nth-child(3) {
        width: 100%; } }
  .disc-spring-set-flex div:nth-child(2) {
    width: 8%;
    aspect-ratio: 88 / 330;
    display: flex;
    align-items: center; }
    @media (max-width: 500px) {
      .disc-spring-set-flex div:nth-child(2) {
        width: 20%;
        margin: 0 auto;
        aspect-ratio: auto;
        transform: rotate(90deg); } }
  .disc-spring-set-flex img {
    width: 100%;
    height: auto; }
  .disc-spring-set-flex p {
    margin-top: 10px;
    line-height: 1.75;
    font-size: 18px; }
    @media (max-width: 768px) {
      .disc-spring-set-flex p {
        font-size: 16px; } }

/* 皿ばね各種 鉄骨橋梁、防振、免震機構例 */
.disc-spring-other-list {
  width: 91.5%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 50px 20px;
  text-align: center;
  font-size: 18px; }
  @media (max-width: 768px) {
    .disc-spring-other-list {
      width: 100%;
      font-size: 16px;
      justify-content: center;
      gap: 30px 20px; } }
  .disc-spring-other-list li {
    max-width: 465px;
    width: calc((100% - 20px) / 2); }
    @media (max-width: 768px) {
      .disc-spring-other-list li {
        max-width: 296px; } }
    @media (max-width: 500px) {
      .disc-spring-other-list li {
        width: 76%; } }
  .disc-spring-other-list p {
    padding-top: 5px;
    line-height: 1.4;
    font-feature-settings: "palt"; }
  .disc-spring-other-list img {
    width: 100%;
    height: auto; }
  .disc-spring-other-list.list-center {
    margin: 50px auto;
    justify-content: center; }
    @media (max-width: 768px) {
      .disc-spring-other-list.list-center {
        margin: 30px auto; } }

/*　I.W.Tでできること　一貫生産体制
------------------------------------------------------------*/
/* 背景デザイン */
.bk-image {
  width: 360px;
  height: 360px;
  position: fixed;
  top: 500px;
  right: 50px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right top;
  z-index: -100;
  transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
  mix-blend-mode: soft-light;
  opacity: 0; }
  @media (max-width: 1400px) {
    .bk-image {
      width: 280px;
      height: 280px;
      top: 600px;
      right: 30px; } }
  @media (max-width: 1200px) {
    .bk-image {
      width: 200px;
      height: 200px;
      right: 10px; } }
  @media (max-width: 768px) {
    .bk-image {
      top: 400px;
      transition: none; } }
  @media (max-width: 500px) {
    .bk-image {
      width: 140px;
      height: 140px;
      right: 3%; } }
  .bk-image.system, .bk-image.custom, .bk-image.market, .bk-image.technology {
    opacity: 1; }
  .bk-image.system {
    background-image: url("../images/capabilities/bk_system.svg"); }
  .bk-image.custom {
    background-image: url("../images/capabilities/bk_custom.svg"); }
  .bk-image.market {
    background-image: url("../images/capabilities/bk_market.svg"); }
  .bk-image.technology {
    top: 700px;
    background-image: url("../images/capabilities/bk_capabilities.svg"); }
    @media (max-width: 1400px) {
      .bk-image.technology {
        top: 600px; } }
    @media (max-width: 768px) {
      .bk-image.technology {
        top: 460px; } }

/* スクロールでデザイン変更 */
.bk-image.scroll-bk-image {
  top: 140px; }
  @media (max-width: 768px) {
    .bk-image.scroll-bk-image {
      top: 70px; } }

.bk-gray {
  padding: 140px 0;
  position: relative; }
  .bk-gray::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #f5f5f5;
    z-index: -101; }
  @media (max-width: 768px) {
    .bk-gray {
      padding: 60px 0 100px 0; } }
  .bk-gray .section-title div {
    color: #fff;
    mix-blend-mode: normal; }

.media-list {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 20px;
  text-align: center; }
  @media (max-width: 768px) {
    .media-list {
      gap: 30px 20px; } }
  @media (max-width: 500px) {
    .media-list {
      justify-content: center; } }
  .media-list li {
    width: calc((100% - 40px) / 3); }
    @media (max-width: 768px) {
      .media-list li {
        width: calc((100% - 20px) / 2); } }
    @media (max-width: 500px) {
      .media-list li {
        width: 90%; } }
  .media-list p {
    padding-top: 5px;
    line-height: 1.4;
    font-feature-settings: "palt"; }
  .media-list img {
    width: 100%;
    height: auto; }
  .media-list.list-l li {
    width: calc((100% - 122px) / 2); }
    @media (max-width: 768px) {
      .media-list.list-l li {
        width: calc((100% - 20px) / 2); } }
    @media (max-width: 500px) {
      .media-list.list-l li {
        width: 90%; } }
  .media-list.list-s li {
    width: calc((100% - 60px) / 4);
    font-size: 18px; }
    @media (max-width: 768px) {
      .media-list.list-s li {
        width: calc((100% - 40px) / 3);
        font-size: 16px; } }
    @media (max-width: 500px) {
      .media-list.list-s li {
        width: 76%; } }
  .media-list.list-center {
    justify-content: center; }

/* 一貫生産 */
.system-diagram-wrap {
  max-width: 1100px;
  margin: 0 auto; }
  .system-diagram-wrap h4 {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    background-color: #3067a6;
    border-radius: 16px 16px 0 0; }
    @media (max-width: 768px) {
      .system-diagram-wrap h4 {
        font-size: 20px; } }

.system-diagram {
  width: 100%;
  height: 96%;
  padding-top: 4%;
  aspect-ratio: 1100 / 698;
  background-image: url("../images/capabilities/system_process_diagram.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 13% 8.3%; }
  .system-diagram .system-diagram-item {
    width: 25%;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; }
  .system-diagram h5 {
    width: 80%;
    margin: 0 auto;
    padding-bottom: 15px;
    margin-bottom: 5px;
    font-size: 40px;
    font-weight: 700;
    font-feature-settings: "palt";
    color: #3067a6;
    line-height: 1;
    position: relative;
    text-align: center; }
    @media (max-width: 1200px) {
      .system-diagram h5 {
        font-size: 30px; } }
    @media (max-width: 768px) {
      .system-diagram h5 {
        font-size: 24px; } }
    @media screen and (max-width: 600px) {
      .system-diagram h5 {
        padding-bottom: 10px;
        margin-bottom: 0;
        font-size: 22px; } }
    .system-diagram h5:after {
      content: "";
      left: 0;
      right: 0;
      bottom: 0;
      position: absolute;
      border-bottom: dotted 2px #3067a6; }
    .system-diagram h5 a {
      color: #3067a6;
      position: relative; }
      .system-diagram h5 a::before {
        width: 12px;
        height: 21px;
        content: "";
        position: absolute;
        top: 50%;
        right: -25px;
        transform: translateY(-50%);
        background-image: url("../images/common/arrow_right_blue.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain; }
        @media (max-width: 1200px) {
          .system-diagram h5 a::before {
            width: 8px;
            height: 14px;
            right: -15px; } }
        @media (max-width: 768px) {
          .system-diagram h5 a::before {
            width: 7px;
            right: -12px; } }
      .system-diagram h5 a:hover {
        opacity: 0.7; }
  .system-diagram p {
    margin-top: 10px;
    font-size: 24px;
    font-weight: 700;
    font-feature-settings: "palt";
    line-height: 1.2; }
    @media (max-width: 1200px) {
      .system-diagram p {
        margin-top: 5px;
        font-size: 20px; } }
    @media screen and (max-width: 1000px) {
      .system-diagram p {
        font-size: 18px; } }
    @media (max-width: 768px) {
      .system-diagram p {
        font-size: 16px; } }
    @media screen and (max-width: 600px) {
      .system-diagram p {
        font-size: 14px; } }
    .system-diagram p a {
      display: block;
      position: relative; }
      .system-diagram p a::before {
        width: 8px;
        height: 14px;
        content: "";
        position: absolute;
        top: 50%;
        right: -15px;
        transform: translateY(-50%);
        background-image: url("../images/common/arrow_right.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain; }
        @media (max-width: 768px) {
          .system-diagram p a::before {
            width: 7px;
            right: -12px; } }
      .system-diagram p a:hover {
        opacity: 0.7; }
  .system-diagram .system-diagram-item:nth-child(4) h5:after {
    border-bottom: dotted 2px #c7434c; }
  .system-diagram .system-diagram-item:nth-child(4) h5 a {
    color: #c7434c; }
    .system-diagram .system-diagram-item:nth-child(4) h5 a::before {
      background-image: url("../images/common/arrow_right_red.svg"); }

/*　I.W.Tでできること　カスタム対応
------------------------------------------------------------*/
/* I.W.Tでできること　〜プレス品ならI.W.T〜 */
.custom-diagram-wrap {
  max-width: 1100px;
  margin: 0 auto; }
  .custom-diagram-wrap h4 {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    background-color: #c7434c;
    border-radius: 16px 16px 0 0; }
    .custom-diagram-wrap h4 span {
      font-size: 24px; }
    @media (max-width: 768px) {
      .custom-diagram-wrap h4 {
        font-size: 20px; }
        .custom-diagram-wrap h4 span {
          font-size: 18px; } }

.custom-diagram {
  width: 100%;
  height: 90%;
  padding: 4.5% 0 5.5% 0;
  aspect-ratio: 1100 / 755;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 0; }
  @media screen and (max-width: 900px) {
    .custom-diagram {
      height: 90.5%;
      padding: 4.5% 0 6% 0; } }
  .custom-diagram::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../images/capabilities/custom_diagram.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    z-index: -1; }
  .custom-diagram .custom-diagram-item .btn-primary {
    margin: 0; }
  .custom-diagram .custom-diagram-item:nth-child(1) {
    width: 52.7%;
    height: 8%; }
    .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary {
      width: 100%;
      padding: 12px 30px 12px 10px; }
      @media screen and (max-width: 900px) {
        .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary {
          padding: 7px 30px 7px 10px; } }
      .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 12px; }
        .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(1), .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(3) {
          font-size: 14px;
          font-feature-settings: "palt"; }
          @media (max-width: 1200px) {
            .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(1), .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(3) {
              font-size: 13px; } }
          @media screen and (max-width: 1000px) {
            .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(1), .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(3) {
              font-size: 12px; } }
          @media screen and (max-width: 900px) {
            .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(1), .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(3) {
              font-size: 11px; } }
          .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(1) br, .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(3) br {
            display: none; }
            @media screen and (max-width: 900px) {
              .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(1) br, .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(3) br {
                display: block; } }
        .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(2) {
          font-size: 30px;
          color: #c7434c;
          white-space: nowrap; }
          @media (max-width: 1200px) {
            .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(2) {
              font-size: 24px; } }
          @media screen and (max-width: 1000px) {
            .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(2) {
              font-size: 22px; } }
          @media screen and (max-width: 900px) {
            .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(2) {
              font-size: 20px; } }
          @media (max-width: 768px) {
            .custom-diagram .custom-diagram-item:nth-child(1) .btn-primary .btn-text span:nth-child(2) {
              font-size: 18px; } }
  .custom-diagram .custom-diagram-item:nth-child(2) {
    width: 63.6%;
    height: 8%; }
    .custom-diagram .custom-diagram-item:nth-child(2) .btn-primary {
      width: 100%;
      padding: 12px 40px 12px 10px;
      font-size: 30px;
      color: #c7434c; }
      @media (max-width: 1200px) {
        .custom-diagram .custom-diagram-item:nth-child(2) .btn-primary {
          font-size: 24px; } }
      @media screen and (max-width: 1000px) {
        .custom-diagram .custom-diagram-item:nth-child(2) .btn-primary {
          font-size: 22px; } }
      @media screen and (max-width: 900px) {
        .custom-diagram .custom-diagram-item:nth-child(2) .btn-primary {
          padding: 10px 30px 10px 10px;
          font-size: 20px; } }
      @media (max-width: 768px) {
        .custom-diagram .custom-diagram-item:nth-child(2) .btn-primary {
          font-size: 18px; } }
  .custom-diagram .custom-diagram-item:nth-child(3) {
    width: 34.5%;
    height: 8%; }
    .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary {
      width: 100%;
      min-width: auto;
      padding: 12px 40px 12px 10px; }
      @media screen and (max-width: 900px) {
        .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary {
          padding: 10px 30px 10px 10px; } }
      .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text {
        display: flex;
        justify-content: center;
        align-items: center; }
        .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text span:nth-child(1) {
          font-size: 20px; }
          @media (max-width: 1200px) {
            .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text span:nth-child(1) {
              font-size: 18px; } }
          @media screen and (max-width: 900px) {
            .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text span:nth-child(1) {
              font-size: 16px; } }
          @media (max-width: 768px) {
            .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text span:nth-child(1) {
              font-size: 14px; } }
        .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text span:nth-child(2) {
          font-size: 30px;
          color: #c7434c; }
          @media (max-width: 1200px) {
            .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text span:nth-child(2) {
              font-size: 24px; } }
          @media screen and (max-width: 1000px) {
            .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text span:nth-child(2) {
              font-size: 22px; } }
          @media screen and (max-width: 900px) {
            .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text span:nth-child(2) {
              font-size: 20px; } }
          @media (max-width: 768px) {
            .custom-diagram .custom-diagram-item:nth-child(3) .btn-primary .btn-text span:nth-child(2) {
              font-size: 18px; } }
  .custom-diagram .custom-diagram-item:nth-child(4) {
    width: 67.3%;
    height: 8%;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .custom-diagram .custom-diagram-item:nth-child(4) > div {
      display: flex;
      gap: 10px; }
    .custom-diagram .custom-diagram-item:nth-child(4) .btn-primary {
      width: 180px;
      padding: 12px 40px 12px 10px;
      min-width: auto;
      font-size: 30px; }
      @media (max-width: 1200px) {
        .custom-diagram .custom-diagram-item:nth-child(4) .btn-primary {
          width: 160px;
          font-size: 24px; } }
      @media screen and (max-width: 1000px) {
        .custom-diagram .custom-diagram-item:nth-child(4) .btn-primary {
          width: 120px;
          font-size: 22px; } }
      @media screen and (max-width: 900px) {
        .custom-diagram .custom-diagram-item:nth-child(4) .btn-primary {
          width: 110px;
          padding: 10px 30px 10px 10px;
          font-size: 20px; } }
      @media (max-width: 768px) {
        .custom-diagram .custom-diagram-item:nth-child(4) .btn-primary {
          width: 100px;
          font-size: 18px; } }
    .custom-diagram .custom-diagram-item:nth-child(4) p {
      font-size: 14px;
      line-height: 1.4;
      font-feature-settings: "palt"; }
      @media (max-width: 1200px) {
        .custom-diagram .custom-diagram-item:nth-child(4) p {
          font-size: 13px; } }
      @media screen and (max-width: 1000px) {
        .custom-diagram .custom-diagram-item:nth-child(4) p {
          font-size: 12px; } }
      @media screen and (max-width: 900px) {
        .custom-diagram .custom-diagram-item:nth-child(4) p {
          font-size: 11px; } }
      .custom-diagram .custom-diagram-item:nth-child(4) p:nth-of-type(2) {
        text-align: right; }
  .custom-diagram .custom-diagram-item:nth-child(5) {
    width: 77.3%;
    height: 8%; }
    .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary {
      width: 100%;
      padding: 12px 40px 12px 10px; }
      @media screen and (max-width: 900px) {
        .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary {
          padding: 7px 30px 7px 10px; } }
      .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 12px; }
        .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(1), .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(4) {
          font-size: 14px;
          font-feature-settings: "palt"; }
          @media (max-width: 1200px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(1), .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(4) {
              font-size: 13px; } }
          @media screen and (max-width: 1000px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(1), .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(4) {
              font-size: 12px; } }
          @media screen and (max-width: 900px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(1), .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(4) {
              font-size: 11px; } }
        .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(2) {
          font-size: 30px;
          color: #c7434c;
          white-space: nowrap; }
          @media (max-width: 1200px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(2) {
              font-size: 24px; } }
          @media screen and (max-width: 1000px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(2) {
              font-size: 22px; } }
          @media screen and (max-width: 900px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(2) {
              font-size: 20px; } }
          @media (max-width: 768px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(2) {
              font-size: 18px; } }
        .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(3) {
          font-size: 20px;
          color: #c7434c; }
          @media (max-width: 1200px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(3) {
              font-size: 18px; } }
          @media screen and (max-width: 1000px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(3) {
              font-size: 14px; } }
          @media screen and (max-width: 900px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(3) {
              font-size: 12px; } }
          @media (max-width: 768px) {
            .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(3) {
              font-size: 11px; } }
          .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(3) br {
            display: none; }
            @media screen and (max-width: 900px) {
              .custom-diagram .custom-diagram-item:nth-child(5) .btn-primary .btn-text span:nth-child(3) br {
                display: block; } }
  .custom-diagram .custom-diagram-item:nth-child(6) {
    width: 81.8%;
    height: 9.3%; }
    .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary {
      width: 100%;
      padding: 12px 40px 12px 10px; }
      @media screen and (max-width: 900px) {
        .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary {
          padding: 10px 30px 10px 10px; } }
      .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 12px; }
        .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text span:nth-child(1) {
          font-size: 40px;
          color: #c7434c; }
          @media (max-width: 1200px) {
            .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text span:nth-child(1) {
              font-size: 30px; } }
          @media screen and (max-width: 1000px) {
            .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text span:nth-child(1) {
              font-size: 24px; } }
          @media screen and (max-width: 900px) {
            .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text span:nth-child(1) {
              font-size: 20px; } }
          @media (max-width: 768px) {
            .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text span:nth-child(1) {
              font-size: 24px; } }
        .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text span:nth-child(2) {
          font-size: 20px;
          color: #c7434c; }
          @media (max-width: 1200px) {
            .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text span:nth-child(2) {
              font-size: 18px; } }
          @media screen and (max-width: 1000px) {
            .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text span:nth-child(2) {
              font-size: 14px; } }
          @media screen and (max-width: 900px) {
            .custom-diagram .custom-diagram-item:nth-child(6) .btn-primary .btn-text span:nth-child(2) {
              font-size: 12px; } }

/*　I.W.Tでできること　適用市場
------------------------------------------------------------*/
.market-flex {
  display: flex;
  justify-content: space-between;
  gap: 60px; }
  @media (max-width: 768px) {
    .market-flex {
      gap: 30px; } }
  @media (max-width: 500px) {
    .market-flex {
      flex-direction: column-reverse; } }
  .market-flex div:nth-child(1) {
    max-width: 400px;
    width: 34%; }
    @media (max-width: 500px) {
      .market-flex div:nth-child(1) {
        width: 90%;
        margin: 0 auto; } }
  .market-flex div:nth-child(2) {
    width: calc(66% - 60px); }
    @media (max-width: 768px) {
      .market-flex div:nth-child(2) {
        width: calc(66% - 30px); } }
    @media (max-width: 500px) {
      .market-flex div:nth-child(2) {
        width: 100%; } }
  .market-flex h4 {
    margin-bottom: 10px;
    padding-left: 5px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    font-feature-settings: "palt";
    letter-spacing: 0.04em;
    border-left: solid 5px #c7434c; }
    .market-flex h4:not(:first-child) {
      margin-top: 20px; }
    @media (max-width: 768px) {
      .market-flex h4 {
        font-size: 18px; } }
  .market-flex p {
    margin-left: 10px; }
  .market-flex img {
    width: 100%;
    height: auto; }

/*　I.W.Tでできること　I.W.Tの技術
------------------------------------------------------------*/
/* 共通カードデザイン */
.capabilities-card-wrap {
  padding: 0 50px;
  display: flex;
  flex-wrap: wrap;
  gap: 50px; }
  @media (max-width: 1200px) {
    .capabilities-card-wrap {
      padding: 0 30px;
      gap: 30px; } }
  @media (max-width: 768px) {
    .capabilities-card-wrap {
      padding: 0; } }

.capabilities-card {
  padding: 30px;
  width: calc((100% - 50px) / 2);
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }
  @media (max-width: 768px) {
    .capabilities-card {
      padding: 20px; } }
  @media (max-width: 500px) {
    .capabilities-card {
      width: 100%;
      padding: 5%; } }
  .capabilities-card h4 {
    margin: 10px 0 20px 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    font-feature-settings: "palt";
    letter-spacing: 0.04em; }
    @media (max-width: 768px) {
      .capabilities-card h4 {
        font-size: 18px; } }
  .capabilities-card > img {
    width: 100%;
    height: auto; }
  .capabilities-card.card-l {
    width: 100%; }
    .capabilities-card.card-l h4 {
      margin: 0 0 20px 0; }
    .capabilities-card.card-l .card-l-inner {
      margin: 20px; }
      @media (max-width: 500px) {
        .capabilities-card.card-l .card-l-inner {
          margin: 0; } }

.surface-flex {
  padding: 50px 20px 0 20px;
  display: flex;
  justify-content: space-between;
  gap: 20px; }
  @media (max-width: 500px) {
    .surface-flex {
      padding: 50px 0 0 0;
      flex-direction: column; } }
  .surface-flex > *:nth-child(1) {
    width: calc(60% - 20px); }
    @media (max-width: 500px) {
      .surface-flex > *:nth-child(1) {
        width: 100%; } }
  .surface-flex > *:nth-child(2) {
    width: 40%; }
    @media (max-width: 500px) {
      .surface-flex > *:nth-child(2) {
        width: 100%; } }
  .surface-flex img {
    width: 100%;
    height: auto; }

.decoration-flex {
  padding: 50px 20px 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px; }
  @media (max-width: 500px) {
    .decoration-flex {
      padding: 30px 0 0 0;
      flex-direction: column; } }
  .decoration-flex > *:nth-child(1) {
    width: 40%; }
    @media (max-width: 500px) {
      .decoration-flex > *:nth-child(1) {
        width: 100%; } }
  .decoration-flex > *:nth-child(2) {
    width: calc(60% - 20px); }
    @media (max-width: 500px) {
      .decoration-flex > *:nth-child(2) {
        width: 100%; } }
  .decoration-flex img {
    width: 100%;
    height: auto; }

.decoration-float {
  overflow: hidden; }
  @media (max-width: 768px) {
    .decoration-float {
      display: flex;
      flex-direction: column;
      overflow: visible;
      gap: 30px; } }
  .decoration-float::after {
    content: "";
    display: block;
    clear: both; }
    @media (max-width: 768px) {
      .decoration-float::after {
        display: none; } }
  .decoration-float .decoration-float-img {
    max-width: 485px;
    width: 50%;
    height: auto;
    margin: 0 0 20px 30px;
    float: right;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media (max-width: 768px) {
      .decoration-float .decoration-float-img {
        float: none;
        max-width: none;
        width: 80%;
        margin: 0 auto; } }
    @media (max-width: 500px) {
      .decoration-float .decoration-float-img {
        width: 100%; } }
    .decoration-float .decoration-float-img img {
      width: 100%;
      height: auto; }
  .decoration-float .card-l-inner {
    margin-bottom: 0 !important; }
    @media (max-width: 768px) {
      .decoration-float .card-l-inner {
        margin-bottom: 20px !important; } }
    @media (max-width: 500px) {
      .decoration-float .card-l-inner {
        margin-bottom: 0 !important; } }
  .decoration-float.u-left .decoration-float-img {
    margin: 0 30px 20px 0;
    float: left; }
    @media (max-width: 768px) {
      .decoration-float.u-left .decoration-float-img {
        float: none;
        margin: 0 auto; } }

/* バリエーションリスト */
.variation-list {
  display: flex;
  justify-content: center;
  gap: 10px; }
  @media (max-width: 500px) {
    .variation-list {
      flex-wrap: wrap; } }
  .variation-list li {
    max-width: 180px; }
    @media (max-width: 500px) {
      .variation-list li {
        width: calc((100% - 20px) / 3 ); } }
    .variation-list li img {
      width: 100%;
      height: auto;
      border-radius: 50%;
      object-fit: cover; }
    .variation-list li p {
      position: relative;
      margin-top: 10px;
      padding-left: 20px;
      font-size: 18px;
      line-height: 1.4;
      font-feature-settings: "palt"; }
      @media (max-width: 768px) {
        .variation-list li p {
          font-size: 15px; } }
      @media (max-width: 500px) {
        .variation-list li p {
          padding-left: 15px;
          font-size: 14px; } }
      @media (max-width: 320px) {
        .variation-list li p {
          font-size: 13px; } }
      .variation-list li p::before {
        content: '';
        position: absolute;
        left: 10px;
        bottom: calc(100% - 10px);
        width: 1px;
        height: 90px;
        background: #c7434c; }
        @media (max-width: 768px) {
          .variation-list li p::before {
            height: 70px; } }
        @media (max-width: 500px) {
          .variation-list li p::before {
            left: 6px; } }
      .variation-list li p::after {
        content: '';
        position: absolute;
        left: 6px;
        top: 10px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #c7434c; }
        @media (max-width: 500px) {
          .variation-list li p::after {
            left: 2.5px;
            top: 8px; } }
    .variation-list li span {
      font-size: 16px; }
      @media (max-width: 768px) {
        .variation-list li span {
          font-size: 13px; } }
      @media (max-width: 500px) {
        .variation-list li span {
          font-size: 12px; } }
      @media (max-width: 320px) {
        .variation-list li span {
          font-size: 11px; } }

/*　保有設備・加工技能一覧
------------------------------------------------------------*/
.equipment-table {
  width: 100%;
  line-height: 1.6;
  font-size: 20px; }
  @media (max-width: 768px) {
    .equipment-table {
      font-size: 16px;
      font-feature-settings: "palt"; } }
  @media (max-width: 500px) {
    .equipment-table {
      font-size: 15px; } }
  @media (max-width: 320px) {
    .equipment-table {
      font-size: 14px; } }
  .equipment-table tr.tr-top {
    border-top: solid 10px #fff; }
  .equipment-table th {
    width: 20%;
    padding: 15px 20px;
    font-weight: 700;
    background-color: #f5f5f5;
    vertical-align: top;
    text-align: left; }
    @media (max-width: 768px) {
      .equipment-table th {
        padding: 5px 10px; } }
    .equipment-table th.th-top {
      font-size: 24px;
      border-right: solid 10px #fff; }
      @media (max-width: 768px) {
        .equipment-table th.th-top {
          font-size: 18px; } }
      @media (max-width: 500px) {
        .equipment-table th.th-top {
          font-size: 15px; } }
      @media (max-width: 320px) {
        .equipment-table th.th-top {
          font-size: 14px; } }
  .equipment-table td {
    width: 100%;
    padding: 2px 15px 2px 0;
    background-color: #f5f5f5; }
    @media (max-width: 768px) {
      .equipment-table td {
        padding: 2px 10px 2px 0; } }
    .equipment-table td.td-top {
      padding-top: 13px; }
      @media (max-width: 768px) {
        .equipment-table td.td-top {
          padding-top: 10px; } }
    .equipment-table td.td-bottom {
      padding-bottom: 13px; }
      @media (max-width: 768px) {
        .equipment-table td.td-bottom {
          padding-bottom: 10px; } }
    .equipment-table td div {
      padding: 2px 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      background-color: #fff; }
      @media (max-width: 768px) {
        .equipment-table td div {
          padding: 2px 10px; } }
    .equipment-table td p:nth-child(2) {
      font-size: 24px; }
      @media (max-width: 768px) {
        .equipment-table td p:nth-child(2) {
          font-size: 18px; } }
      @media (max-width: 500px) {
        .equipment-table td p:nth-child(2) {
          font-size: 15px; } }
      @media (max-width: 320px) {
        .equipment-table td p:nth-child(2) {
          font-size: 14px; } }

/*　会社案内　会社概要
------------------------------------------------------------*/
.profile-flex {
  display: flex; }
  @media (max-width: 500px) {
    .profile-flex {
      flex-direction: column;
      gap: 0; } }
  .profile-flex span:nth-child(2) {
    padding-left: 1em; }
    @media (max-width: 500px) {
      .profile-flex span:nth-child(2) {
        padding-left: 2.7em; } }

/*　会社案内　営業所・工場
------------------------------------------------------------*/
.office-table tbody tr:first-child th:nth-child(1) {
  width: 15%; }
.office-table tbody tr:first-child th:nth-child(2) {
  width: 30%; }
.office-table tbody tr:first-child th:nth-child(3) {
  width: 55%; }
@media (max-width: 768px) {
  .office-table tbody tr:first-child th:nth-child(1) {
    width: 10%; }
  .office-table tbody tr:first-child th:nth-child(2) {
    width: 30%; }
  .office-table tbody tr:first-child th:nth-child(3) {
    width: 60%; } }
@media (max-width: 500px) {
  .office-table tbody tr:first-child {
    display: none; } }
@media (max-width: 500px) {
  .office-table tbody {
    border-top: solid 1px #e8e8e8; }
    .office-table tbody tr {
      width: 100%;
      display: flex;
      flex-direction: column; }
      .office-table tbody tr th {
        width: 100%; }
      .office-table tbody tr td {
        width: 100%; }
        .office-table tbody tr td:nth-of-type(1) {
          border-bottom: none; } }

.map-wrap {
  width: 100%;
  max-width: 550px;
  aspect-ratio: 550 / 400;
  margin: 0 auto; }
  @media (max-width: 768px) {
    .map-wrap {
      aspect-ratio: 1 / 1; } }
  @media (max-width: 500px) {
    .map-wrap {
      margin-bottom: 30px; } }

.map {
  width: 100%;
  height: 100%; }

/*　会社案内　事業紹介
------------------------------------------------------------*/
.business-list {
  font-weight: 700; }
  .business-list li {
    padding-bottom: 15px;
    border-bottom: dotted 2px #dbdbdb; }
    .business-list li:not(:last-child) {
      margin-bottom: 15px; }

/*　会社案内　取引先
------------------------------------------------------------*/
.partners-list-wrap {
  padding: 50px;
  display: flex;
  gap: 60px;
  background-color: #f5f5f5;
  border-radius: 12px; }
  @media (max-width: 768px) {
    .partners-list-wrap {
      padding: 20px 5%; } }
  @media (max-width: 500px) {
    .partners-list-wrap {
      flex-direction: column;
      gap: 0; } }

.partners-list {
  flex: 1; }
  @media (max-width: 1200px) {
    .partners-list {
      font-size: 18px; } }
  @media (max-width: 768px) {
    .partners-list {
      font-size: 16px; } }
  .partners-list li {
    line-height: 1.4; }
    .partners-list li:not(:first-child) {
      margin-top: 8px; }

/*　会社案内　倫理方針
------------------------------------------------------------*/
.ethics-list {
  margin-top: 50px; }
  @media (max-width: 768px) {
    .ethics-list {
      margin-top: 30px; } }
  .ethics-list h3, .ethics-list h4, .ethics-list h5 {
    margin-top: 30px;
    font-size: 24px;
    font-weight: 700; }
    @media (max-width: 768px) {
      .ethics-list h3, .ethics-list h4, .ethics-list h5 {
        font-size: 18px; } }

/*　会社案内　ニュース&トピックス
------------------------------------------------------------*/
.news-list {
  display: flex;
  flex-direction: column;
  gap: 10px; }
  .news-list li {
    padding: 15px 50px 15px 20px;
    background-color: #f5f5f5;
    position: relative; }
    @media (max-width: 768px) {
      .news-list li {
        padding: 15px 40px 15px 20px; } }
    .news-list li::before {
      content: "";
      position: absolute;
      top: 4px;
      bottom: 4px;
      right: 40px;
      width: 2px;
      background: #fff; }
      @media (max-width: 768px) {
        .news-list li::before {
          right: 30px; } }
    .news-list li::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 0;
      width: 40px;
      height: 40px;
      transform: translateY(-50%);
      background-repeat: no-repeat;
      background-position: center; }
      @media (max-width: 768px) {
        .news-list li::after {
          width: 30px; } }
    .news-list li.link-detail::after {
      background-image: url("../images/common/arrow_right.svg");
      background-size: 8px 14px; }
      @media (max-width: 768px) {
        .news-list li.link-detail::after {
          background-size: 6px 11px; } }
    .news-list li.link-file::after {
      background-image: url("../images/common/news_doc.svg");
      background-size: 13px 18px; }
      @media (max-width: 768px) {
        .news-list li.link-file::after {
          background-size: 12px 16px; } }
    .news-list li.link-none {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px 20px; }
    .news-list li:hover a {
      color: #c7434c; }
    .news-list li:hover.link-detail::after {
      background-image: url("../images/common/arrow_right_red.svg"); }
    .news-list li:hover.link-file::after {
      background-image: url("../images/common/news_doc_red.svg"); }
  .news-list a {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 20px; }

.news-date {
  width: 156px;
  font-weight: 700;
  line-height: 1.4; }
  @media (max-width: 768px) {
    .news-date {
      width: 130px; } }

.news-category {
  width: 88px;
  height: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #323232;
  font-size: 16px;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; }
  @media (max-width: 768px) {
    .news-category {
      width: 80px;
      font-size: 14px; } }

.news-text {
  width: calc(100% - 156px - 88px - 40px);
  line-height: 1.4; }
  @media (max-width: 768px) {
    .news-text {
      width: calc(100% - 130px - 80px - 40px); } }
  @media (max-width: 500px) {
    .news-text {
      width: 100%; } }

.news-more-btn {
  height: 48px;
  padding-right: 30px;
  margin: 30px auto 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  line-height: 1.2;
  background-image: url("../images/common/icon_expand.svg");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 16px 16px;
  cursor: pointer;
  border: none;
  background-color: #fff;
  color: #717171; }
  @media (max-width: 768px) {
    .news-more-btn {
      margin: 20px auto 0 auto;
      padding-right: 20px;
      background-size: 12px 12px;
      transition: none; } }
  .news-more-btn:hover {
    color: #c7434c;
    background-image: url("../images/common/icon_expand_red.svg");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 16px 16px; }
    @media (max-width: 768px) {
      .news-more-btn:hover {
        background-size: 12px 12px; } }
  .news-more-btn.is-open {
    background-image: url("../images/common/icon_collapse.svg"); }
    .news-more-btn.is-open:hover {
      background-image: url("../images/common/icon_collapse_red.svg"); }

/*　会社案内　ニュース&トピックス　詳細
------------------------------------------------------------*/
.news-intro {
  padding-bottom: 10px;
  margin-bottom: 50px;
  display: flex;
  justify-content: space-between;
  border-bottom: solid 1px #dbdbdb; }
  @media (max-width: 768px) {
    .news-intro {
      margin-bottom: 30px;
      flex-direction: column; } }

.news-body p {
  margin-top: 20px; }

/*　サイトマップ
------------------------------------------------------------*/
.sitemap-box {
  margin: 25px 0 35px 0;
  padding: 40px 30px 30px 30px;
  position: relative;
  border: solid 1px #dbdbdb;
  border-radius: 12px; }
  @media (max-width: 768px) {
    .sitemap-box {
      margin: 20px 0;
      padding: 30px 5% 20px 5%; } }
  .sitemap-box .box-number {
    padding: 0 10px;
    display: flex;
    align-items: center;
    position: absolute;
    top: -12px;
    left: -1px;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    color: #c6c6c6;
    background-color: #fff; }
    @media (max-width: 768px) {
      .sitemap-box .box-number {
        top: -9px;
        font-size: 16px; } }
  .sitemap-box h3 {
    margin-bottom: 10px;
    padding: 8px 20px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    background-color: #f5f5f5; }
    @media (max-width: 768px) {
      .sitemap-box h3 {
        padding: 10px 5%;
        font-size: 18px; } }
  .sitemap-box a::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 14px;
    margin: -0.2em 0 0 0.4em;
    background: url("../images/common/arrow_right.svg") no-repeat center/contain;
    vertical-align: middle; }
    @media (max-width: 768px) {
      .sitemap-box a::after {
        width: 6px;
        height: 11px; } }
  .sitemap-box a:hover::after {
    background: url("../images/common/arrow_right_red.svg") no-repeat center/contain; }
  .sitemap-box a:hover {
    color: #c7434c; }

.sitemap-list {
  margin-left: 20px; }
  @media (max-width: 768px) {
    .sitemap-list {
      margin-left: 5%; } }
  .sitemap-list a {
    font-feature-settings: "palt";
    display: block; }
    @media (max-width: 768px) {
      .sitemap-list a {
        line-height: 2.6; } }
    .sitemap-list a::after {
      content: "";
      display: inline-block;
      width: 8px;
      height: 14px;
      margin: -0.2em 0 0 0.4em;
      background: url("../images/common/arrow_right.svg") no-repeat center/contain;
      vertical-align: middle; }
      @media (max-width: 768px) {
        .sitemap-list a::after {
          width: 6px;
          height: 11px; } }
    .sitemap-list a:hover::after {
      background: url("../images/common/arrow_right_red.svg") no-repeat center/contain; }

.sitemap-list-s {
  margin-left: 40px; }
  @media (max-width: 768px) {
    .sitemap-list-s {
      margin-left: calc(5% + 1em); } }
  .sitemap-list-s a {
    font-feature-settings: "palt";
    font-size: 16px;
    display: block; }
    @media (max-width: 768px) {
      .sitemap-list-s a {
        line-height: 2.6; } }
    .sitemap-list-s a::after {
      content: "";
      display: inline-block;
      width: 6px;
      height: 11px;
      margin: -0.2em 0 0 0.4em;
      background: url("../images/common/arrow_right.svg") no-repeat center/contain;
      vertical-align: middle; }
    .sitemap-list-s a:hover::after {
      background: url("../images/common/arrow_right_red.svg") no-repeat center/contain; }

/*　採用情報
------------------------------------------------------------*/
/*　お問い合わせ
------------------------------------------------------------*/
.invalid-characters {
  width: 180px;
  height: auto;
  margin: 0 0.2em;
  display: inline-block;
  vertical-align: -0.15em; }

.contact-box {
  margin-top: 50px;
  padding: 20px 30px;
  border: solid 1px #dbdbdb;
  border-radius: 12px; }
  @media (max-width: 768px) {
    .contact-box {
      margin-top: 20px;
      padding: 20px 5%; } }
  .contact-box p {
    line-height: 1.4; }

/* iOS / ブラウザ デフォルトリセット */
/* iOSのinput/textarea独自スタイルをリセット */
input,
textarea,
button,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none; }

/* iOSのtextareaリサイズ制御 */
textarea {
  resize: vertical; }

/* ラジオ・チェックのiOSデフォルトリセット */
input[type="radio"],
input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border: 1.5px solid #aaa;
  background: #fff;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  transition: border-color 0.15s, background 0.15s; }

input[type="radio"] {
  border-radius: 50%; }

input[type="checkbox"] {
  border-radius: 3px; }

input[type="radio"]:checked {
  border-color: #3067a6;
  background: #3067a6; }

input[type="radio"]:checked::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

input[type="checkbox"]:checked {
  border-color: #3067a6;
  background: #3067a6; }

input[type="checkbox"]:checked::after {
  content: "";
  display: block;
  width: 9px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 44%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg); }

/* iOSのボタンタップハイライト除去 */
button,
label {
  -webkit-tap-highlight-color: transparent; }

.field-block {
  width: 100%;
  margin-bottom: 1.75rem; }

.field-label {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 7px; }

/* テキスト系インプット：アンダーラインスタイル */
input[type="text"],
input[type="email"],
input[type="tel"] {
  width: 100%;
  display: block;
  border-bottom: 1.5px solid #e8e8e8;
  padding: 5px 10px;
  color: #323232;
  background: #f5f5f5;
  transition: border-color 0.2s;
  /* iOS入力フィールドの角丸・影を除去 */
  -webkit-appearance: none;
  border-radius: 0; }
  input[type="text"].input-s,
  input[type="email"].input-s,
  input[type="tel"].input-s {
    width: calc(50% - 15px); }
    @media (max-width: 768px) {
      input[type="text"].input-s,
      input[type="email"].input-s,
      input[type="tel"].input-s {
        width: 100%; } }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus {
  border-bottom-color: #c7434c; }

input::placeholder {
  color: #c6c6c6;
  opacity: 1; }

textarea {
  width: 100%;
  display: block;
  border-bottom: 1.5px solid #e8e8e8;
  padding: 5px 10px;
  color: #323232;
  background: #f5f5f5;
  min-height: 160px;
  transition: border-color 0.2s;
  -webkit-appearance: none;
  border-radius: 0; }
  textarea:focus {
    border-bottom-color: #c7434c; }
  textarea::placeholder {
    color: #c6c6c6;
    opacity: 1; }

.form {
  margin-bottom: 100px; }
  @media (max-width: 768px) {
    .form {
      margin-bottom: 50px; } }

.field-row {
  display: flex;
  gap: 0 30px; }
  @media (max-width: 768px) {
    .field-row {
      flex-direction: column; } }

.addr-zip {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 1.1rem; }
  .addr-zip input {
    width: 120px; }

.addr-street {
  margin-bottom: 1.1rem; }

/* ラジオ・チェックボックス */
.radio-group,
.check-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  padding: 4px 0; }

.radio-item,
.check-item {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer; }
  .radio-item span,
  .check-item span {
    cursor: pointer; }

/* 送信ボタン */
.btn-confirm {
  min-width: 300px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #c7434c;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 30px;
  cursor: pointer;
  letter-spacing: 0.1em;
  /* iOSのボタン独自スタイル除去 */
  -webkit-appearance: none;
  touch-action: manipulation;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 768px) {
    .btn-confirm {
      min-width: 280px;
      height: 54px;
      border-radius: 27px; } }
  @media (max-width: 500px) {
    .btn-confirm {
      min-width: 90%; } }
  .btn-confirm:hover {
    opacity: 0.7; }
  .btn-confirm:active {
    opacity: 0.7; }

/* 戻るボタン、リセットボタン */
.btn-secondary {
  min-width: 300px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #717171;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 30px;
  cursor: pointer;
  letter-spacing: 0.1em;
  /* iOSのボタン独自スタイル除去 */
  -webkit-appearance: none;
  touch-action: manipulation;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 768px) {
    .btn-secondary {
      min-width: 280px;
      height: 54px;
      border-radius: 27px; } }
  @media (max-width: 500px) {
    .btn-secondary {
      min-width: 90%; } }
  .btn-secondary:hover {
    opacity: 0.7; }
  .btn-secondary:active {
    opacity: 0.7; }

.thanks {
  margin-bottom: 100px;
  text-align: center; }
  @media (max-width: 500px) {
    .thanks {
      margin-bottom: 50px;
      text-align: left; } }

.conform-table {
  width: 100%;
  margin-top: 30px;
  border-collapse: separate;
  border-spacing: 0 20px; }
  .conform-table tr {
    width: 100%;
    margin: 5px 0; }
  .conform-table th {
    width: 25%;
    padding: 10px;
    text-align: left;
    line-height: 1.4;
    font-weight: 500;
    border-left: solid 4px #e8e8e8; }
  .conform-table td {
    width: 75%;
    padding: 10px;
    line-height: 1.4;
    background-color: #f5f5f5; }

/* 調整用
------------------------------------------------------------
------------------------------------------------------------*/
/* PCとSPの非表示指示
------------------------------------------------------------
------------------------------------------------------------*/
.MB100-MB50 {
  margin-bottom: 100px; }
  @media (max-width: 768px) {
    .MB100-MB50 {
      margin-bottom: 50px; } }

.MB50-MB30 {
  margin-bottom: 50px; }
  @media (max-width: 768px) {
    .MB50-MB30 {
      margin-bottom: 30px; } }

@media (max-width: 768px) {
  .MB20-sp {
    margin-bottom: 20px; } }

.none-gap {
  gap: 0 !important; }

@media (max-width: 768px) {
  .none-gap-sp {
    gap: 0 !important; } }

.none-top {
  margin-top: 0 !important;
  padding-top: 0 !important; }

.none-bottom {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important; }

/* PCとSPの非表示指示 */
@media screen and (min-width: 769px) {
  .pc-none {
    display: none !important; } }
@media (max-width: 768px) {
  .sp-none {
    display: none !important; } }

.sp-block {
  display: none; }
  @media (max-width: 500px) {
    .sp-block {
      display: block !important; } }

@media (max-width: 500px) {
  .only-sp-none {
    display: none !important; } }
