@charset "utf-8";

/*!-----------------------------------------
// 鍛鉄オリジナルのスタイル
------------------------------------------------------------------------------*/

/*-----------------------------------------
// ALL
------------------------------------------------------------------------------*/

/*-------------- Arkheテーマで用意されているユーティリティCSS、設定値 --------------**/
/* 詳細は、dist/css/main.css を参照する
/* [上マージンの設定] .u-mt-10 .u-mt-15 など 0〜80まで
/* [要素のセンター揃え] .u-ta-c
/* [要素の表示・非表示] .u-display-block　.u-display-none
/* [フォントサイズ].u-fz-xs(.75em)／.u-fz-s(.9em)／.u-fz-n(1rem)／.u-fz-m(1.1em)／.u-fz-l(1.25em)／.u-fz-xl(1.5em)／.u-fz-xxl(2em)／.has-huge-font-size(2.75em)
/* [フォント太さ]　.u-fw-bold　.u-fw-normal
/* [行間]　.u-lh-10　.u-lh-12　.u-lh-14　.u-lh-15　.u-lh-16　.u-lh-18　.u-lh-20
/* [スマホでは非表示] .u-hide-sp、u-only-pc (※画面幅によっては適応されない）
/* [PCでは非表示] .u-hide-pc、u-only-sp (※画面幅によっては適応されない）
/* グレーのbackground-color: #f8f6f8;

/* メディアクエリ付きスタイル
/* 詳細は、/classes/Utility/Output.php
pc', 'min-width: 960px
sp', 'max-width: 959px
tab', 'min-width: 600px
mobile', 'max-width: 599px

/* 色と幅の基本
/* 詳細は、/classes/Date/Default_Data.php
'color_main'                => '#111',
'color_text'                => '#333',
'color_link'                => '#3fa3ff',
'color_bg'                  => '#fff',

// Content width
'container_width'           => 1200,
'slim_width'                => 960,

/*そのほか CSS変数の設定箇所
/* /src/scss/foundation/base/root.scss



/*-----------------------------------------
// 全ページ共通
// スムーズスクロール
------------------------------------------------------------------------------*/
html {
  scroll-behavior: smooth;
}



/*-----------------------------------------
// 全ページ共通
// 画像の下の余白のリセット
------------------------------------------------------------------------------*/
img {
  vertical-align: bottom;
}



/*-----------------------------------------
// 全ページ共通
// 全幅コンテンツを配置
------------------------------------------------------------------------------*/
.full-width {
  margin: 0 calc(50% - 50vw);
}



/*-----------------------------------------
// 全ページ共通
// 下からふわっと出現するアニメーションを定義 */
/*---------------------------------- */

@media (min-width: 600px) {

  .fadeup-contents {
    animation-name: fadeup-contents_anime;
    animation-duration: 1.2s;
    animation-delay: 0.4s;
    animation-fill-mode: forwards;
    opacity: 0;
  }

  @keyframes fadeup-contents_anime {
    from {
      opacity: 0;
      transform: translateY(250px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .fadeup-trigger {
    opacity: 0;
  }

}



/*-----------------------------------------
// 共通
// グローバルメニュー
// 2025.08.16 テーマを更新したらメニューが崩れたためCSS調整
------------------------------------------------------------------------------*/

.o-gnav{
  margin-right: 6em;
}


.o-gnav a{
  font-size: 1em;
  text-decoration: none;
  color: #ccc;
  mix-blend-mode: exclusion;
  padding: 0 1em;
  letter-spacing: -0.01em;
}

.o-gnav a:hover {
  color: #999;
}




/*-----------------------------------------
// 共通
// ドロワーメニュー
// 2025.08.16 テーマを更新したらメニューが崩れたためCSS追加
------------------------------------------------------------------------------*/
.c-drawerNav .menu-item{
  padding: 1.2em 0.5em;
  border-bottom: 1px solid #333;
}

.c-drawerNav .menu-item:nth-child(1){
  padding: 1.2em 0.5em;
  border-top: 1px solid #333;
}

.c-drawerNav li a{
  font-size: 1em;
  text-decoration: none;
  color: rgba(255, 255, 255, 1);
}



/*-----------------------------------------
// 共通
// 言語切り替え
------------------------------------------------------------------------------*/
.o-languageContainer {
  position: absolute;
  top: 15px;
  right: 2%;
  z-index: 1;
}

.o-languageContainer .o-language {
  background-color: rgba(178, 178, 178, .3);
  font-size: 0.9em;
  color: rgba(140, 140, 140, 1);
  padding: 0 0.5em;
}


.o-languageContainer .o-language a {
  display: inline-block;
  padding: 0.3em 0.7em;
  color: rgba(140, 140, 140, 1);
  mix-blend-mode: hard-light;
  font-size: inherit;
  text-decoration: none;
}

.o-languageContainer .o-language a:hover {
  text-decoration: underline;
}



/*-----------------------------------------
// 共通
// Instagramアイコン
------------------------------------------------------------------------------*/
.o-instagramIcon {
  text-align: center;
}

.o-instagramIcon i {
  font-size: 2rem;
}

.o-instagramIcon i:hover {
  filter: opacity(70%)
}



/*-----------------------------------------
// 共通
// 第２階層ページのタイトル
// トップページの各章ごとのタイトル
------------------------------------------------------------------------------*/
:is(h1, h2).o-pageTitle {
  margin-top: 0;
  padding-top: 5px;
  text-align: center;
  line-height: 1.1;
}

:is(h1, h2).o-pageTitle .wabun {
  font-size: clamp(24px, 9vw, 48px);
  font-weight: 400;
  font-family: "Noto Serif Light JP", serif;
  line-height: inherit;
  color: #111;
}

:is(h1, h2).o-pageTitle .oubun {
  font-size: clamp(13px, 3.5vw, 18px);
  font-family: "Noto Sans Light EG", sans-serif;
  line-height: inherit;
}

/* 元々のページタイトルを非表示に */
h1.c-pageTitle__main {
  display: none;
}

:is(h1, h2).o-41forge {
  display: block;
  text-align: center;
  font-size: clamp(40px, 12vw, 48px);
  font-weight: 400;
  font-family: "Noto Serif Light JP", serif;
  line-height: inherit;
  color: #111;
  line-height: 1.15;
}

:is(h1, h2).o-41forge .wabun {
  font-size: 50%;
}



/*-----------------------------------------
// 全ページ共通
// ボタン
------------------------------------------------------------------------------*/
.o-buttonContainer {
  margin: 0 auto;
  text-align: center;
}


/* ボタンの見た目の設定 */
.o-buttonContainer a.o-button {
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding: 1em 0;
  width: clamp(255px, 50vw, 280px);
  /*    min-width: 280px;*/
  text-align: center;
  color: #111;
  text-decoration: none;
  outline: 1px solid #6e6e6e;
  background: rgba(255, 255, 255, .7);
  cursor: pointer;
  user-select: none;
}

/* ボタンのアニメーションの設定 */
.o-buttonContainer a.o-button {
  transition: all 0.3s;
}

.o-buttonContainer a.o-button span {
  position: relative;
}

.o-buttonContainer a.o-button::before {
  position: absolute;
  top: 0;
  left: 100px;
  width: 150%;
  height: 500%;
  content: '';
  transition: all .3s ease-in-out;
  transform: translateX(-90%) translateY(-90%) rotate(135deg);
  background-image: linear-gradient(#6e6e6e, #3c3c64, #111);
}

/* 背景がダーク系の場合 .o-dark */
.o-buttonContainer a.o-button.o-dark {
  color: #fff;
  background: rgba(255, 255, 255, .2);
  outline: 1px solid #fff;
}

.o-buttonContainer a.o-button.o-dark::before {
  background: #fff;
}

@media (min-width: 800px) {
  .o-buttonContainer a.o-button:hover {
    color: #fff;
  }

  .o-buttonContainer a.o-button:hover::before {
    transform: translateX(-32%) translateY(-32%) rotate(135deg);
  }

  .o-buttonContainer a.o-button.o-dark:hover {
    color: #111;
    text-shadow: none;
  }

}



/*-----------------------------------------
// 全ページ共通
// 「鍛鉄とは」「41 FORGEのものづくり」ページで使用中
// 鉤括弧付きの文章 box19
------------------------------------------------------------------------------*/
.box19 {
  position: relative;
  /*  padding: 0 2em;*/
  text-align: left;
}

.box19:before,
.box19:after {
  content: '';
  width: clamp(32px, 15vw, 50px);
  height: clamp(20px, 10vw, 30px);
  /*  width: 30px;
  height: 50px;*/
  position: absolute;
  display: inline-block;
}


.box19:before {
  border-left: solid 1px #6e6e6e;
  border-top: solid 1px #6e6e6e;
  top: 0;
  left: 0;
}

.box19:after {
  border-right: solid 1px #6e6e6e;
  border-bottom: solid 1px #6e6e6e;
  bottom: 0;
  right: 0;
}

.box19 p {
  font-size: clamp(15px, 3.5vw, 16px);
  line-height: 2.0em;
}

/* 最初の1文字を大きくする*/
.box19 .first-txt:first-letter {
  font-family: "Noto Serif Light JP", serif;
  font-size: 3.5em;
  padding: 13px 10px 13px 5px;
  color: #6e6e6e;
  float: left;
}



/*-----------------------------------------
/*-----------------------------------------
/*-----------------------------------------
// TOPページ
// トップカバーの演出
------------------------------------------------------------------------------*/
/* 背景をフルスクリーンにする */
.full {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background: url('');
  background-size: cover;
  z-index: 1;
}

/* 背景にオーバーレイで斜線のパターンを重ねる*/
.full::after {
  content: '';
  background-color: rgba(0, 0, 0, .5);
  background-image:
    repeating-linear-gradient(-45deg,
      rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 2px,
      transparent 0, transparent 4px);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}

/* 背景で動画を再生する */
#video-area {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
}

#video1 {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*縦横幅指定*/
  width: 177.77777778vh;
  /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw;
  /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: 100%;
  min-width: 100%;
}



/*-----------------------------------------
// TOPページ
// トップカバー上の「ロゴ」と「矢印」を囲むコンテナー
// .position-center
------------------------------------------------------------------------------*/

/* 配置する要素を天地左右中央にする */
.position-center {
  position: absolute;
  margin: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  bottom: 0;
  left: 0;
  width: 90%;
  /*widthの指定は必須*/
  height: 45%;
  /*heightの指定は必須*/
  max-width: 840px;
  /* 幅は最大840pxまでしか広げない */
  z-index: 3
}

/*スマホ対応 */
@media screen and (max-width: 768px) {
  .position-center {
    width: 60%;
    /*widthの指定は必須*/
    max-width: 500px;
    /* 幅は最大840pxまでしか広げない */
  }
}


/*-----------------------------------------
// TOPページ
// トップカバーの「ロゴ」
// .o-logoContainer
------------------------------------------------------------------------------*/

/* ロゴのサイズ */
.o-logoContainer .title-blur .o-logoItem img {
  width: clamp(320px, 50vh, 400px);
}


/* ロゴのアニメーション */
.o-logoContainer .title-blur {
  animation-name: title-blur_anime;
  animation-duration: 2s;
  animation-timing-function: linear;
  opacity: 0.5;
}

@keyframes title-blur_anime {
  0% {
    opacity: 0;
    filter: blur(4px);
  }

  100% {
    opacity: 0.5;
    filter: blur(0);
  }
}

.o-logoContainer .title-blur.isActive {
  animation-name: title-blur_fadeout_anime;
  animation-duration: 5s;
  animation-timing-function: linear;
  opacity: 0;
}

@keyframes title-blur_fadeout_anime {
  0% {
    opacity: 0.45;
  }

  100% {
    opacity: 0;
  }
}




/*-----------------------------------------
// TOPページ
// トップカバー上の「矢印」
// 揺れる下向き矢印
------------------------------------------------------------------------------*/

.o-arrowContainer {
  text-align: center;
  margin-top: 10px;
}

.o-arrowContainer a {
  display: inline-block;
  text-decoration: none;
  color: #fff;
}

/* 下向き矢印 */
.bottom_arrows {
  position: relative;
  display: inline-block;
  width: 1.5vh;
  height: 1.5vh;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotateZ(45deg);
}

/* 下向き矢印 */
.text_arrows {
  padding-top: 0.5vh;
  font-size: 13px;
}



/* 矢印が上下に揺れるアニメーション */
/*---------------------------------- */
.animation-arrows {
  animation-name: updown;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.2s;
}

@keyframes updown {
  100% {
    transform: translate(0, 20px)
  }
}



/* 矢印のフェードアップのアニメーションを定義 */
/*---------------------------------- */
.fadeup-arrows {
  animation-name: fadeup-arrows_anime;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

/*アニメーションの開始から終了までを指定する*/
@keyframes fadeup-arrows_anime {
  from {
    opacity: 1.0;
    transform: translateY(1000px);
  }

  to {
    opacity: 1.0;
    transform: translateY(0px);
  }
}

/* アニメーションの開始を遅らせるCSS*/
.delay-time {
  animation-delay: 2s;
}



/*-----------------------------------------
/*-----------------------------------------
/*-----------------------------------------
// TOPページ
// 導入部「41 FORGE（シンイチ・フォージ） は、熱した鉄を叩い...」
------------------------------------------------------------------------------*/
/*下からスクロールして画像にオーバーレイ */
.container2 {
  margin-top: 0;
  padding-top: 0;
  text-align: center;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  background-color: #fff;
  z-index: 1;
}

.container2 .o-topIntroduction {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  justify-content: center;
  align-items: center;

}

.container2 .o-topIntroduction p {
  padding: 20px 2% 0;
  font-family: "Noto Serif Light JP", serif;
  font-size: clamp(14px, 4vw, 18px);
  line-height: 2.4em;
}



@media (max-width: 768px) {
  .container2 {
    background-color: #fff;
    text-align: center;
  }
}



/*-----------------------------------------
// TOPページ
// トップページの「鍛鉄とは」エリア
------------------------------------------------------------------------------*/
/* スマホ対応したパララックス表現 */
/* 背景画像に重なっている部分 */
.container1 {
  height: 100vh;
  min-height: 700px;
  z-index: 1;
}

.container1 .o-topIronworkContainer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100vh;
  min-height: 700px;
  padding: 0 1%;
  text-align: center;
  z-index: 3;
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 1);
}

.container1 .o-topIronworkContainer .o-topCategoryDescription {
  font-size: clamp(14px, 3.5vw, 16px);
  padding: 20px 2% 0;
}

@media (max-width: 420px) {
  .container1 .o-topIronworkContainer .o-topCategoryDescription {
    text-align: left;
	padding: 20px 5% 0;
  }
}


/*-----------------------------------------
// TOPページ
// トップページの「41FORGEのものづくり」
------------------------------------------------------------------------------*/
.container3 {
  background-color: #fff;
  padding: 100px 2%;
  margin: 0 auto;
  text-align: center;
  z-index: 1;
}

.o-topFeatureContainer {
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.o-topFeatureContainer.o-reverse {
  flex-direction: row-reverse;
}

.o-topFeatureContainer .o-item {
  flex: 1 1 50%;
  word-break: normal;
}

.o-topFeatureContainer .o-item h3 {
  padding: 20px 5% 0;
  font-size: clamp(16px, 5.5vw, 28px);
  line-height: 1.5;
  font-family: "Noto Serif Light JP", serif;
  text-align: center;
}

.o-topFeatureContainer .o-item p {
  font-size: clamp(14px, 3.5vw, 16px);
  padding: 20px 5% 0;
}

.o-topFeatureContainer .o-item p.viewmore {
  font-size: clamp(14px, 3.5vw, 14px);
  padding: 20px 5%;
}

@media (max-width: 1000px) {

  .o-topFeatureContainer,
  .o-topFeatureContainer.o-reverse {
    flex-direction: column;
    padding-top: 50px;
  }
 
  .o-topFeatureContainer .o-item {
    flex: 1 1 100%;
    word-break: break-word;
    width: 100%;
  }
	
  .o-topFeatureContainer .o-item h3 {
    padding: 20px 2% 0;
  }

  .o-topFeatureContainer .o-item p {
    text-align: left;
    padding: 10px 2% 0;
  }

  .o-topFeatureContainer .o-item p.viewmore {
    text-align: center;
  }

}



/*-----------------------------------------
// TOPページ
// トップページの「作品紹介」
------------------------------------------------------------------------------*/
.container4 {
  background-color: #fff;
  padding: 100px 0;
  width: 100%;
  text-align: center;
  z-index: 1;
}

.o-topWorkList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  max-width: 2000px;
  margin: 0 auto;
}

.o-topWorkList .o-item {
  width: 16.6%;
}

@media (max-width: 1000px) {
  .o-topWorkList .o-item {
    width: 25%;
  }

}

@media (max-width: 600px) {
  .o-topWorkList .o-item {
    width: 33.3%;
  }

}



/*-----------------------------------------
// TOPページ
// トップページの「プロフィール」
------------------------------------------------------------------------------*/
.container9 {
  padding: 100px 0;
  margin-top: 0;
  padding-top: 0;
  background-color: #f8f6f8;
  width: 100%;
  text-align: center;
  z-index: 1;
}

/* !!!! original-add_s.cssに追記あり !!!! */


/*-----------------------------------------
// TOPページ
// トップページの「Instagram」
------------------------------------------------------------------------------*/
.container10 {
  margin-top: 0;
  padding: 20px 0;
  text-align: center;
  background-color: #fff;
  z-index: 1;
}

.container10 .o-instagramContainer {
  margin: 0 auto;
  padding: 0 1%;
  max-width: 1200px;
}

.container10 .o-instagramContainer .o-topCategoryTitle {
  font-family: "Noto Sans Light EG", sans-serif !important;
}

.container10 .o-instagramContainer .o-instagram {
  padding-top: 15px;
}

/* 一番左のカラムだけ上の余白がずれるため追加 */
.container10 .o-instagramContainer .o-instagram div {
  margin-top: 0 !important;
}



/*-----------------------------------------
// TOPページ
// トップページの「Contact」
------------------------------------------------------------------------------*/
.container11 {
  margin-top: 0;
  padding: 100px 0;
  text-align: center;
  background-color: #fff;
  z-index: 1;
}

.container11 .o-topCategoryTitle {
  font-family: "Noto Sans Light EG", sans-serif !important;
}



/*-----------------------------------------
// TOPページ
// トップページ内のカテゴリータイトル
------------------------------------------------------------------------------*/

:is(.container1, .container3, .container4, .container10, .container11) .o-topCategoryTitle {
  font-size: clamp(32px, 7vw, 36px);
  line-height: 1.2;
  letter-spacing: 1px;
  font-family: "Noto Serif Light JP", serif;
  text-align: center;
}

:is(.container1, .container3, .container4, .container10, .container11) .o-topCategoryTitle_hiragana {
  font-size: 0.85em;
}

:is(.container1, .container3, .container4, .container10, .container11) .o-topCategoryTitle_english {
  font-size: clamp(15px, 3.5vw, 15px);
  padding-top: 10px;
  color: #c86482;
  letter-spacing: 1px;
}

.o-topCategoryDescription {
  padding: 0 2%;
  font-size: clamp(14px, 3.5vw, 16px);
  line-height: 2.4;
}


@media screen and (max-width: 600px) {
  .o-topCategoryDescription {
    line-height: 2.0;
    text-align: left;
  }
}

/* 背景画像の見えている高さ */
.parallax1 {
  height: 100vh;
  min-height: 700px;
}

/* 背景画像 */
.parallax1::before {
  background-image: url("../../../uploads/2022/09/P1000850-scaled-min-2-1200x800.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "0";
  height: 100vh;
  min-height: 700px;
  /* 背景画像が出ないように調整 */
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: -2;
}

/* 背景画像にオーバーレイで斜線のパターンを重ねる*/
.parallax1::after {
  content: '';
  background-color: rgba(0, 0, 0, .5);
  background-image: repeating-linear-gradient(-45deg,
      rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 2px,
      transparent 0, transparent 4px);
  height: 100vh;
  min-height: 700px;
  /* 背景画像が出ないように調整 */
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: -1;
}

/*スマホ対応 */
/*@media screen and (max-width: 768px) {
  .container2 {
    background-color: #fff;
    text-align: center;
  }
}*/
/*
@media screen and (max-width: 768px) {
  .container4 {
    background-color: #fff;
    padding: 50px 20px;
    text-align: center;
  }
}*/



/*-----------------------------------------
/*-----------------------------------------
/*-----------------------------------------
// 「鍛鉄とは」ページ
// 縦組み文字
------------------------------------------------------------------------------*/
.vertical-txt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding: 30px;
  margin: 0 auto;
}

.vertical-txt h1 {
  font-family: "Noto Serif Bold JP", serif;
}

.vertical-txt p {
  line-height: 1.7;
}

.upright {
  -webkit-text-orientation: upright;
  text-orientation: upright;
}

.sideways {
  -webkit-text-orientation: sideways;
  text-orientation: sideways;
}



/*-----------------------------------------
// 「鍛鉄とは」ページ
// 大きな見出し
------------------------------------------------------------------------------*/

/*「大きな見出し」の見た目 */
.o-flowingContainer .flowing {
  margin-top: 50px;
  font-size: clamp(32px, 8.5vw, 44px);
  line-height: 1.5;
  letter-spacing: 1px;
  font-family: "Noto Serif Light JP", serif;
  color: #111;
  text-align: center;
  padding-top: 0.6rem;
}

.o-flowingContainer .flowing .o-flowing_hiragana {
  font-size: 0.8em;
}

.o-flowingContainer .o-flowing_english {
  font-size: clamp(15px, 3vw, 15px);
  line-height: 1;
  color: #c86482;
  text-align: center;
  padding-top: 1rem;
  letter-spacing: 0.5px;
}

@media (min-width: 600px) {
  .o-flowingContainer {
    opacity: 0;
  }

  /* 「大きな見出し」のアニメーション */
  .o-flowingContainer.isActive {
    animation-name: title;
    animation-duration: 1s;
    animation-delay: 0.5s;
    animation-fill-mode: both;
  }

  @keyframes title {
    0% {
      transform: translateY(50px);
      opacity: 0;
    }

    100% {
      transform: translateY(0px);
      opacity: 1;
    }
  }
}

/*-----------------------------------------
// 「鍛鉄とは」ページ
// 【「鍛鉄らしさ」を引き出す】のコンテンツ部分　.o-ironworkContainer1
------------------------------------------------------------------------------*/
.o-ironworkContainer1 {
  padding-top: 20px;
  /*  padding-bottom: 100px;*/
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 30px;
  text-align: center;
}

.o-ironworkContainer1 .twocolsItem:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}

.o-ironworkContainer1 .twocolsItem:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}

.o-ironworkContainer1 .twocolsItem:nth-child(2) .box19 p {
  padding: 100px 45px;
}


.o-ironworkContainer1 .twocolsItem:nth-child(3) {
  grid-column: 1/3;
  grid-row: 2/3;
  padding-top: 60px;
}

.o-ironworkContainer1 .twocolsItem:nth-child(3) img {
  width: 65%;
}

@media (min-width: 421px) and (max-width: 1200px) {
  .o-ironworkContainer1 {
    grid-template-columns: 1fr;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(2) .box19 p {
    padding: 50px 9%;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 0;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(3) img {
    width: 100%;
  }
}

@media screen and (max-width: 420px) {
  .o-ironworkContainer1 {
    grid-template-columns: 1fr;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(2) .box19 p {
    padding: 50px 2%;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 0;
  }

  .o-ironworkContainer1 .twocolsItem:nth-child(3) img {
    width: 100%;
  }
}



/*-----------------------------------------
// 「鍛鉄とは」ページ
// 【鍛鉄の技法】のコンテンツ部分　.o-ironworkContainer2
------------------------------------------------------------------------------*/
.o-ironworkContainer2 {
  padding-top: 40px;
  padding-bottom: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  text-align: center;
}

.o-ironworkContainer2 .twocolsItem:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}

.o-ironworkContainer2 .twocolsItem:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
  padding-top: 50px;
}

.o-ironworkContainer2 .twocolsItem:nth-child(2) .box19 p {
  padding: 30px 50px;
}

@media (min-width: 421px) and (max-width: 1200px) {
  .o-ironworkContainer2 {
	  grid-template-columns: 1fr 1fr;
	  gap: 10px;
    text-align: center;
  }

  .o-ironworkContainer2 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-ironworkContainer2 .twocolsItem:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1/2;
    padding-top: 20px;
  }

  .o-ironworkContainer2 .twocolsItem:nth-child(2) .box19 p {
    padding: 50px 9%;
  }
}

@media screen and (max-width: 420px) {
  .o-ironworkContainer2 {
    grid-template-columns: 1fr;
    gap: 0px;
    text-align: left;
    gap: 0;
  }

  .o-ironworkContainer2 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-ironworkContainer2 .twocolsItem:nth-child(1) img {
    width: 260px;
    height: auto;
  }

  .o-ironworkContainer2 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
    padding-left: 30px;
    padding-top: 8px;
  }

  .o-ironworkContainer2 .twocolsItem:nth-child(2) .box19 p {
    padding: 20px 5%;
  }

  .o-ironworkContainer2 .twocolsItem:nth-child(3) {
    grid-column: 2/3;
    grid-row: 1/2;
    padding-top: 20px;
  }
}



/*-----------------------------------------
// 「鍛鉄とは」ページ
// 【唯一無二であること】のコンテンツ部分　.o-ironworkContainer3
------------------------------------------------------------------------------*/
.o-ironworkContainer3 {
  padding-top: 50px;
  padding-bottom: 50px;
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 30px;
  text-align: center;
}

.o-ironworkContainer3 .twocolsItem:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}

.o-ironworkContainer3 .twocolsItem:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}

.o-ironworkContainer3 .twocolsItem:nth-child(2) .box19 p:nth-child(1) {
  padding: 50px 5% 0;
}

.o-ironworkContainer3 .twocolsItem:nth-child(2) .box19 p:nth-child(2) {
  padding: 40px 5% 50px;
}

.o-ironworkContainer3 .twocolsItem:nth-child(3) {
  grid-column: 1/3;
  grid-row: 2/3;
  padding-top: 60px;
}

@media (min-width: 421px) and (max-width: 1200px) {
  .o-ironworkContainer3 {
    grid-template-columns: 1fr;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(2) .box19 p {
    padding: 50px 9%;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 0;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(3) img {
    width: 100%;
  }
}

@media screen and (max-width: 420px) {
  .o-ironworkContainer3 {
    padding-bottom: 0px;
    grid-template-columns: 1fr;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(2) .box19 p {
    padding: 50px 2%;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 0;
  }

  .o-ironworkContainer3 .twocolsItem:nth-child(3) img {
    width: 100%;
  }
}



/*-----------------------------------------
// 「鍛鉄とは」ページ
// 【火を操る仕事】のコンテンツ部分　.o-ironworkContainer4
------------------------------------------------------------------------------*/
.o-ironworkContainer4 {
  padding-top: 0px;
  padding-bottom: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  text-align: center;
}

.o-ironworkContainer4 .twocolsItem:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
  padding-top: 30px;
}

.o-ironworkContainer4 .twocolsItem:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}

.o-ironworkContainer4 .twocolsItem:nth-child(2) .box19 p {
  padding: 50px 5.5%;
}


@media (min-width: 421px) and (max-width: 1200px) {
  .o-ironworkContainer4 {
	  grid-template-columns: 1fr 1fr;
    gap: 10px;
    text-align: center;
  }

  .o-ironworkContainer4 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-ironworkContainer4 .twocolsItem:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1/2;
    padding-top: 20px;
  }

  .o-ironworkContainer4 .twocolsItem:nth-child(2) .box19 p {
    padding: 50px 9%;
  }
}

@media screen and (max-width: 420px) {
  .o-ironworkContainer4 {
    padding-top: 0px;
    padding-bottom: 0px;
    grid-template-columns: 1fr;
    gap: 0px;
    text-align: left;
  }

  .o-ironworkContainer4 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-ironworkContainer4 .twocolsItem:nth-child(1) img {
    width: 260px;
    height: auto;
  }

  .o-ironworkContainer4 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
    padding-left: 30px;
    padding-top: 8px;
  }

  .o-ironworkContainer4 .twocolsItem:nth-child(2) .box19 p {
    padding: 40px 5%;
    /*    margin-bottom: 50px;*/
  }

  .o-ironworkContainer4 .twocolsItem:nth-child(3) {
    grid-column: 2/3;
    grid-row: 1/2;
    padding-top: 20px;
  }
}



/*-----------------------------------------
// 「鍛鉄とは」ページ
// 【鍛冶屋の仕事場、鍛冶屋】のコンテンツ部分　.o-ironworkContainer5
------------------------------------------------------------------------------*/
.o-ironworkContainer5 {
  padding-top: 20px;
  /*  padding-bottom: 100px;*/
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  text-align: center;
}

.o-ironworkContainer5 .twocolsItem:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}

.o-ironworkContainer5 .twocolsItem:nth-child(1) .box19 p:nth-child(1) {
  padding: 50px 11% 0;
}

.o-ironworkContainer5 .twocolsItem:nth-child(1) .box19 p:nth-child(2) {
  padding: 20px 11% 50px;
}

/* @media (min-width: 421px) and (max-width: 1200px) は不要 */
@media screen and (max-width: 420px) {
  .o-ironworkContainer5 .twocolsItem:nth-child(1) .box19 p:nth-child(1) {
    padding: 50px 2% 0;
  }

  .o-ironworkContainer5 .twocolsItem:nth-child(1) .box19 p:nth-child(2) {
    padding: 20px 2% 50px;
  }
}



/*-----------------------------------------
// 「鍛鉄とは」ページ
// 背景にフル画像
// 背景に画像を配置したタイトルの定義
------------------------------------------------------------------------------*/
/*画像の指定 */
.container5 {
  position: relative;
  height: 500px;
  width: 100%;
  background-image: url(../../../uploads/2022/09/IMG_4112_16-9_re60-min-1.jpg);
  background-size: cover;
  text-align: center;
  z-index: -2;
}

/* 背景にオーバーレイで斜線のパターンを重ねる*/
.container5::after {
  content: '';
  background-color: rgba(0, 0, 0, .4);
  background-image: repeating-linear-gradient(-45deg,
      rgba(0, 0, 0, .3), rgba(0, 0, 0, .3) 2px,
      transparent 0, transparent 4px);
  position: absolute;
  top: 0;
  left: 0;
  height: 500px;
  width: 100%;
  z-index: -1;
}


@media screen and (max-width: 420px) {
  .container5 {
    height: 300px;
    background-size: 200%;
  }


  .container5::after {
    height: 300px;
  }
}


/*-----------------------------------------
// 「鍛鉄とは」ページ
// スライドショー
------------------------------------------------------------------------------*/
/* スライドの動き等速 */
.o-swiper {
  padding-top: 80px;
}

.swiper-wrapper {
  transition-timing-function: linear;
}

.o-swiper .swiper-wrapper img {
  width: 100%;
  height: auto;
}


/*-----------------------------------------
// 「鍛鉄とは」ページ
// .o-ironworkContainerX共通 | アニメーション
------------------------------------------------------------------------------*/

@media (min-width: 600px) {
  :is(.o-ironworkContainer1, .o-ironworkContainer2, .o-ironworkContainer3, .o-ironworkContainer4, .o-ironworkContainer5).isActive {
    animation-name: ironwork;
    animation-duration: 1s;
    animation-delay: 0.6s;
    animation-fill-mode: both;
  }

  @keyframes ironwork {
    0% {
      opacity: 0;
    }

    100% {
      opacity: 1;
    }
  }
}



/*-----------------------------------------
/*-----------------------------------------
/*-----------------------------------------
// 「41 FORGEのものづくり」ページ
// 導入
------------------------------------------------------------------------------*/
.b-introductionContainer {
  /*padding-top: 30px;*/
  text-align: center;
  font-size: clamp(15px, 3.5vw, 16px);
  line-height: 2.0;
}


@media screen and (max-width: 1100px) {
  .b-introductionContainer {
    text-align: left;
    line-height: 2;
  }
}


/*-----------------------------------------
// 「41 FORGEのものづくり」ページ
// 大きな見出し
------------------------------------------------------------------------------*/



@media (max-width: 768px) {
  .o-aboutCatchContainer {
    margin-top: 100px;
    /* ページ内リンク用に3em上で止まるよう指定*/
    scroll-margin-top: 3em;
    font-size: clamp(30px, 8vw, 44px);
  }
}

.o-aboutCatchContainer p.o-smallTitle {
  font-size: clamp(13px, 3vw, 15px);
  line-height: 1;
  color: #ccc;
  text-align: center;
}

.o-aboutCatchContainer p.o-aboutCatch {
  font-size: clamp(30px, 8vw, 44px);
  line-height: 1.5;
  font-family: "Noto Serif Light JP", serif;
  color: #111;
  text-align: center;
  padding-top: 10px;
  letter-spacing: 0.5;
}

.o-aboutCatchContainer p.o-aboutCatch span.o-hiragana {
  font-size: 0.8em;
}

.o-aboutCatchContainer p.o-aboutEnglish {
  font-size: clamp(14px, 3vw, 15px);
  letter-spacing: 0.5px;
  color: #c86482;
  text-align: center;
  padding-top: 15px;
}




/*-----------------------------------------
// 「41 FORGEのものづくり」ページ
// 【オリジナル製品】のコンテンツ部分　.o-aboutContainer1
------------------------------------------------------------------------------*/

/* 「大きな見出し」のアニメーション (スマホを除く)*/
@media (min-width: 600px) {
  .o-aboutCatchContainer {
    padding-top: 100px;
    opacity: 0;
  }

  .o-aboutCatchContainer.isActive {
    animation-name: aboutCatch;
    animation-duration: 1s;
    animation-delay: 0.5s;
    animation-fill-mode: both;
  }

  @keyframes aboutCatch {
    0% {
      transform: translateY(50px);
      opacity: 0;
    }

    100% {
      transform: translateY(0px);
      opacity: 1;
    }
  }
}


.o-aboutContainer1 {
  padding-top: 20px;
  padding-bottom: 100px;
  display: grid;
  grid-template-columns: 4fr 3fr;
  gap: 30px;
  text-align: center;
}

.o-aboutContainer1 .twocolsItem:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}

.o-aboutContainer1 .twocolsItem:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}

.o-aboutContainer1 .twocolsItem:nth-child(2) .box19 p {
  padding: 80px 40px;
}


.o-aboutContainer1 .twocolsItem:nth-child(3) {
  grid-column: 1/3;
  grid-row: 2/3;
  padding-top: 40px;
}

.o-aboutContainer1 .twocolsItem:nth-child(3) img {
  width: 65%;
}

@media (min-width: 421px) and (max-width: 1200px) {
  .o-aboutContainer1 {
    grid-template-columns: 1fr 1fr;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(2) {
    grid-column: 1/3;
    grid-row: 1/2;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(2) .box19 p {
    padding: 20px 5%;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(3) {
    grid-column: 2/3;
    grid-row: 2/3;
    padding-top: 0;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(3) img {
    width: 100%;
  }
}


@media screen and (max-width: 420px) {
  .o-aboutContainer1 {
    grid-template-columns: 1fr;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(2) .box19 p {
    padding: 20px 3%;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 0px;
  }

  .o-aboutContainer1 .twocolsItem:nth-child(3) img {
    width: 100%;
  }
}

/*-----------------------------------------
// 「41 FORGEのものづくり」ページ
// 【「鍛鉄らしさ」を引き出す】のコンテンツ部分　.o-aboutContainer2
------------------------------------------------------------------------------*/
.o-aboutContainer2 {
  padding-top: 20px;
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 30px;
  text-align: center;
}

.o-aboutContainer2 .twocolsItem:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}

.o-aboutContainer2 .twocolsItem:nth-child(1) img {
  margin-bottom: 30px;
}

.o-aboutContainer2 .twocolsItem:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}

.o-aboutContainer2 .twocolsItem:nth-child(2) .box19 p {
  padding: 30px 30px;
}


.o-aboutContainer2 .twocolsItem:nth-child(3) {
  grid-column: 1/2;
  grid-row: 2/3;
  padding-top: 100px;
}

.o-aboutContainer2 .twocolsItem:nth-child(3) .box19 {
  width: 80%;
  margin: 0 auto 30px;
  padding: 30px 30px;
}

.o-aboutContainer2 .twocolsItem:nth-child(4) {
  grid-column: 2/3;
  grid-row: 2/3;
}

.o-aboutContainer2 .twocolsItem:nth-child(4) img {
  width: 90%;
  margin-bottom: 100px;
}


@media (min-width: 421px) and (max-width: 1200px) {
  .o-aboutContainer2 {
    grid-template-columns: 1fr;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(2) .box19 p {
    padding: 30px 20px;
  }


  .o-aboutContainer2 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 20px;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(3) .box19 {
    width: 100%;
    padding: 30px 20px;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(4) {
    display: none;
  }
}


@media screen and (max-width: 420px) {
  .o-aboutContainer2 {
    grid-template-columns: 1fr;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(1) img {
    /*    margin-bottom: 0px;*/
  }


  .o-aboutContainer2 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(2) .box19 p {
    padding: 20px 3%;
  }


  .o-aboutContainer2 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 0px;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(3) .box19 {
    width: 100%;
    padding: 20px 3%;
  }

  .o-aboutContainer2 .twocolsItem:nth-child(4) {
    display: none;
  }
}


/*-----------------------------------------
// 「41 FORGEのものづくり」ページ
// 【「使う人」と「作り手」が共に】のコンテンツ部分　.o-aboutContainer3
------------------------------------------------------------------------------*/
.o-aboutContainer3 {
  padding-top: 20px;
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 30px;
  text-align: center;
}

.o-aboutContainer3 .twocolsItem:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}

.o-aboutContainer3 .twocolsItem:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}

.o-aboutContainer3 .twocolsItem:nth-child(2) .box19 p {
  padding: 60px 40px 0;
}

.o-aboutContainer3 .twocolsItem:nth-child(3) {
  grid-column: 1/3;
  grid-row: 2/3;
  padding-top: 40px;
}

@media (min-width: 421px) and (max-width: 1200px) {
  .o-aboutContainer3 {
    grid-template-columns: 1fr 1fr;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(2) {
    grid-column: 1/3;
    grid-row: 1/2;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(2) .box19 p {
    padding: 20px 5% 0;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(3) {
    grid-column: 2/3;
    grid-row: 2/3;
    padding-top: 0;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(3) img {
    width: 100%;
  }
}


@media screen and (max-width: 420px) {
  .o-aboutContainer3 {
    grid-template-columns: 1fr;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(2) .box19 p {
    padding: 20px 3%;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 0px;
  }

  .o-aboutContainer3 .twocolsItem:nth-child(3) img {
    width: 100%;
  }
}

/*-----------------------------------------
// 「41 FORGEのものづくり」ページ
// 【よりよい製品のために「道具づくり」も】のコンテンツ部分　.o-aboutContainer4
------------------------------------------------------------------------------*/
.o-aboutContainer4 {
  padding-top: 20px;
  padding-bottom: 100px;
  /*  margin-bottom: 80px;*/
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 30px;
  text-align: center;
}

.o-aboutContainer4 .twocolsItem:nth-child(1) {
  grid-column: 1/3;
  grid-row: 1/2;
}

.o-aboutContainer4 .twocolsItem:nth-child(1) .box19 p:nth-child(1) {
  padding: 60px 120px 0;
}

.o-aboutContainer4 .twocolsItem:nth-child(1) .box19 p:nth-child(2) {
  padding: 20px 120px 60px;
}

.o-aboutContainer4 .twocolsItem:nth-child(2) {
  grid-column: 1/2;
  grid-row: 2/3;
  padding-top: 20px;
}

.o-aboutContainer4 .twocolsItem:nth-child(3) {
  grid-column: 2/3;
  grid-row: 2/3;
  padding-top: 20px;
}

.o-aboutContainer4 .twocolsItem:nth-child(3) .box19 p:nth-child(1) {
  padding: 50px 20px 0;
}

.o-aboutContainer4 .twocolsItem:nth-child(3) .box19 p:nth-child(2) {
  padding: 20px 20px 20px;
}


@media (min-width: 421px) and (max-width: 1200px) {
  .o-aboutContainer4 {
    grid-template-columns: 1fr;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(1) .box19 p:nth-child(1) {
    padding: 50px 2% 0;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(1) .box19 p:nth-child(2) {
    padding: 30px 2% 0;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(1) .box19 p:nth-child(3) {
    padding: 30px 2% 50px;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 0;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(3) .box19 p:nth-child(1) {
    padding: 50px 2% 50px;
  }
}


@media screen and (max-width: 420px) {
  .o-aboutContainer4 {
    grid-template-columns: 1fr;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(1) .box19 p:nth-child(1) {
    padding: 20px 3% 0;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(1) .box19 p:nth-child(2) {
    padding: 20px 3% 0;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(1) .box19 p:nth-child(3) {
    padding: 20px 3% 20px;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 0;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(3) .box19 p:nth-child(1) {
    padding: 20px 3% 20px;
  }

  .o-aboutContainer4 .twocolsItem:nth-child(3) .box19 p:nth-child(2) {
    padding: 20px 3% 20px;
  }
}




/*-----------------------------------------
// 「41 FORGEのものづくり」ページ
// 【ずっと愛されるものを】のコンテンツ部分　.o-aboutContainer5
------------------------------------------------------------------------------*/
.o-aboutContainer5 {
  padding-top: 20px;
  /*  padding-bottom: 100px;*/
  display: grid;
  grid-template-columns: 51% 1fr;
  gap: 30px;
  text-align: center;
}

.o-aboutContainer5 .twocolsItem:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}

.o-aboutContainer5 .twocolsItem:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}

.o-aboutContainer5 .twocolsItem:nth-child(2) .box19 p:nth-child(1) {
  padding: 100px 4% 0;
}

.o-aboutContainer5 .twocolsItem:nth-child(2) .box19 p:nth-child(2) {
  padding: 20px 4% 0;
}

.o-aboutContainer5 .twocolsItem:nth-child(2) .box19 p:nth-child(3) {
  padding: 20px 4% 100px;
}

@media (min-width: 421px) and (max-width: 1200px) {
  .o-aboutContainer5 {
    grid-template-columns: 1fr;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(1) img {
    width: 50%;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(2) .box19 p:nth-child(1) {
    padding: 50px 2% 0;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(2) .box19 p:nth-child(2) {
    padding: 20px 2% 0;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(2) .box19 p:nth-child(3) {
    padding: 20px 2% 50px;
  }
}


@media screen and (max-width: 420px) {
  .o-aboutContainer5 {
    grid-template-columns: 1fr;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(1) {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(1) img {
    width: 75%;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(2) {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(2) .box19 p:nth-child(1) {
    padding: 20px 3% 0;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(2) .box19 p:nth-child(2) {
    padding: 20px 3% 0;
  }

  .o-aboutContainer5 .twocolsItem:nth-child(2) .box19 p:nth-child(3) {
    padding: 20px 3% 20px;
  }
}


/*-----------------------------------------
// 「41 FORGEのものづくり」ページ
// .o-aboutContainerX共通 | アニメーション
------------------------------------------------------------------------------*/

@media (min-width: 600px) {
  :is(.o-aboutContainer1, .o-aboutContainer2, .o-aboutContainer3, .o-aboutContainer4, .o-aboutContainer5).isActive {
    animation-name: about;
    animation-duration: 1s;
    animation-delay: 0.6s;
    animation-fill-mode: both;
  }

  @keyframes about {
    0% {
      opacity: 0;
    }

    100% {
      opacity: 1;
    }
  }
}

/*----------------------------------
// 「41forgeのものづくり」ページ
// 背景に画像を配置したタイトルの定義*/
/*---------------------------------- */
/*画像の指定 */
.container6 {
  position: relative;
  height: 650px;
  width: 100%;
  background-image: url(../../../uploads/2022/09/P1011389.MP4_20220626_211508.540_16-9_60-min-1.jpg);
  background-size: cover;
  text-align: center;
  z-index: -2;
}

/* 背景にオーバーレイで斜線のパターンを重ねる*/
.container6::after {
  content: '';
  background-color: rgba(0, 0, 0, .4);
  background-image: repeating-linear-gradient(-45deg,
      rgba(0, 0, 0, .3), rgba(0, 0, 0, .3) 2px,
      transparent 0, transparent 4px);
  position: absolute;
  top: 0;
  left: 0;
  height: 650px;
  width: 100%;
  z-index: -1;
}

@media screen and (max-width: 420px) {
  .container6 {
    background-size: 170%;
    height: 50vh;
  }

  .container6::after {
    height: 50vh;
  }
}

/*----------------------------------
// 「41forgeのものづくり」ページ
// 背景に画像を配置したタイトルの定義*/
/*---------------------------------- */
/*画像の指定 */
.container7 {
  /*  margin-bottom: 100px;*/
  position: relative;
  height: 400px;
  width: 100%;
  background-image: url(../../../uploads/2022/09/forge41_hashi.mp4_20220626_221030.415_16-9_re60-min-1.jpg);
  background-size: contain;
  text-align: center;
  z-index: -2;
}

/* 背景にオーバーレイで斜線のパターンを重ねる*/
.container7::after {
  content: '';
  background-color: rgba(0, 0, 0, .4);
  background-image: repeating-linear-gradient(-45deg,
      rgba(0, 0, 0, .3), rgba(0, 0, 0, .3) 2px,
      transparent 0, transparent 4px);
  position: absolute;
  top: 0;
  left: 0;
  height: 400px;
  width: 100%;
  z-index: -1;
}

@media screen and (max-width: 420px) {
  .container7 {
    background-size: contain;
    height: 200px;
  }

  .container7::after {
    height: 200px;
  }
}

/*-----------------------------------------
/*-----------------------------------------
/*-----------------------------------------
// オリジナルのユーティリティCSS
------------------------------------------------------------------------------*/
.o-fz-nl {
  font-size: 1.1em !important
}

.u-lh-22 {
  line-height: 2.2 !important
}

.o-pt-0 {
  padding-top: 0 !important
}

.o-pt-5 {
  padding-top: 5px !important
}

.o-pt-10 {
  padding-top: 10px !important
}

.o-pt-15 {
  padding-top: 15px !important
}

.o-pt-20 {
  padding-top: 20px !important
}

.o-pt-25 {
  padding-top: 25px !important
}

.o-pt-30 {
  padding-top: 30px !important
}

.o-pt-40 {
  padding-top: 40px !important
}

.o-pt-50 {
  padding-top: 50px !important
}

.o-pt-60 {
  padding-top: 60px !important
}

.o-pt-80 {
  padding-top: 80px !important
}

.o-pt-100 {
  padding-top: 100px !important
}

.o-pt-200 {
  padding-top: 200px !important
}

.o-pb-0 {
  padding-bottom: 0 !important
}

.o-pb-5 {
  padding-bottom: 5px !important
}

.o-pb-10 {
  padding-bottom: 10px !important
}

.o-pb-15 {
  padding-bottom: 15px !important
}

.o-pb-20 {
  padding-bottom: 20px !important
}

.o-pb-25 {
  padding-bottom: 25px !important
}

.o-pb-30 {
  padding-bottom: 30px !important
}

.o-pb-40 {
  padding-bottom: 40px !important
}

.o-pb-50 {
  padding-bottom: 50px !important
}

.o-pb-60 {
  padding-bottom: 60px !important
}

.o-pb-80 {
  padding-bottom: 80px !important
}

.o-pb-100 {
  padding-bottom: 100px !important
}

.o-pb-120 {
  padding-bottom: 120px !important
}

.o-pb-150 {
  padding-bottom: 150px !important
}

.o-pb-200 {
  padding-bottom: 200px !important
}

.o-strong {
  background: linear-gradient(transparent 70%, #ffdb80 0%);
}

.o-strong.dark {
  background: linear-gradient(transparent 70%, #977a2b 0%);
}

/* ブロック指定 */
.o-block {
  display: block;
}

.o-inline {
  display: inline;
}

/* 文字色 */
.o-white {
  color: white;
}

.o-grey {
  color: #333;
}

/* リンクの装飾 */
a.lineHoverNone:hover {
  text-decoration: none;
}

/* ふりがなの設定 */
ruby{
  ruby-position: over;
}

.o-furigana {
  font-size: .5em;
  padding-left: 0;
  text-decoration: none;
}

/* 明朝体の設定 */
.o-serif_normal {
  font-family: "Noto Serif Light JP", serif;
}

/* ゴシック体の設定(欧文のみ使用可) */
.o-sans-serif_normal {
  font-family: "Noto Sans Light EG", sans-serif;
}