@charset "utf-8";

/* -----------------------------------------------------------
共通パーツ
------------------------------------------------------------- */
html {
  scroll-padding-top: 80px;
  /* 追従メニューの高さに応じて適切な値を設定 */
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  text-align: justify;
  line-height: 200%;
}

main {
  margin-top: 80px;
  overflow: clip;
}

a {
  text-decoration: none;
  color: inherit;
}

section {
  padding: 60px 0;
}

section:nth-of-type(1) {
  padding: 80px 0 60px 0;
}

section:last-child {
  padding-bottom: 120px;
}

img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}

ul li {
  list-style: none;
}

ol li {
  list-style-type: decimal;
  list-style-position: inside;
}

.container {
  width: 1000px;
  max-width: 92%;
  display: block;
  margin: auto;
}

@media (max-width: 768px) {
  html {
    scroll-padding-top: 62px;
    /* 追従メニューの高さに応じて適切な値を設定 */
  }

  main {
    margin-top: 62px;
  }

  body {
    font-size: 14px;
    line-height: 170%;
  }

  section {
    padding: 32px 0;
  }

  section:nth-of-type(1) {
    padding: 40px 0 60px 0;
  }

  section:last-child {
    padding-bottom: 64px;
  }

  .sp_none {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .pc_none {
    display: none !important;
  }
}

.txtC {
  text-align: center !important;
}

.txtR {
  text-align: right !important;
}

.txtL {
  text-align: left !important;
}

.txtJ {
  text-align: justify !important;
}

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

  .sp_txtR {
    text-align: right;
  }

  .sp_txtL {
    text-align: left;
  }

  .sp_txtJ {
    text-align: justify;
  }
}

.bold {
  font-weight: bold;
}

.txtM {
  vertical-align: middle;
}

.cf:before,
.cf:after {
  content: " ";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}

.w100 {
  width: 100%;
}

.w20 {
  width: 18%;
}

.w25 {
  width: 23%;
}

.w30 {
  width: 28%;
}

.w35 {
  width: 33%;
}

.w40 {
  width: 38%;
}

.w45 {
  width: 43%;
}

.w50 {
  width: 48%;
}

.w55 {
  width: 53%;
}

.w60 {
  width: 58%;
}

.w65 {
  width: 63%;
}

.w70 {
  width: 68%;
}

.w80 {
  width: 78%;
}

@media (max-width: 768px) {

  .w20,
  .w25,
  .w30,
  .w35,
  .w40,
  .w45,
  .w50,
  .w55,
  .w60,
  .w65,
  .w70,
  .w80 {
    width: 100%;
  }
}

/*_____フレックス_____*/
.flex {
  display: -ms-flexbox;
  display: flex;
}

.flexR {
  flex-direction: row-reverse;
}

.justC {
  justify-content: center;
}

.justS {
  justify-content: flex-start;
}

.justE {
  justify-content: flex-end;
}

.justB {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.justA {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.flexW {
  flex-wrap: wrap;
}

.alignS {
  align-items: start;
}

.alignC {
  align-items: center;
}

.alignB {
  align-items: flex-end;
}

@media (max-width: 768px) {
  .sp_flclear {
    display: block;
  }

  .sp_flex {
    display: flex;
  }
}

/*_____余白_____*/
.m0auto {
  margin: 0 auto;
}

.mb0 {
  margin-bottom: 0;
}

.mb8 {
  margin-bottom: 8px;
}

.mb16 {
  margin-bottom: 16px;
}

.mb24 {
  margin-bottom: 24px;
}

.mb32 {
  margin-bottom: 32px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb48 {
  margin-bottom: 48px;
}

.mb56 {
  margin-bottom: 56px;
}

.mb64 {
  margin-bottom: 64px;
}

.mb72 {
  margin-bottom: 72px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb88 {
  margin-bottom: 88px;
}

.mb96 {
  margin-bottom: 96px;
}

.mb104 {
  margin-bottom: 104px;
}

.mb112 {
  margin-bottom: 112px;
}

.mb120 {
  margin-bottom: 120px;
}

.mt0 {
  margin-top: 0;
}

.mt8 {
  margin-top: 8px;
}

.mt16 {
  margin-top: 16px;
}

.mt24 {
  margin-top: 24px;
}

.mt32 {
  margin-top: 32px;
}

.mt40 {
  margin-top: 40px;
}

.mt48 {
  margin-top: 48px;
}

.mt56 {
  margin-top: 56px;
}

.mt64 {
  margin-top: 64px;
}

.mt72 {
  margin-top: 72px;
}

.mt80 {
  margin-top: 80px;
}

.mt88 {
  margin-top: 88px;
}

.mt96 {
  margin-top: 96px;
}

.mt104 {
  margin-top: 104px;
}

.mt112 {
  margin-top: 112px;
}

.mt120 {
  margin-top: 120px;
}

.mt-8 {
  margin-top: -8px;
}

.mt-16 {
  margin-top: -16px;
}

.mt-24 {
  margin-top: -24px;
}

.mt-32 {
  margin-top: -32px;
}

.mt-40 {
  margin-top: -40px;
}

.mt-48 {
  margin-top: -48px;
}

.mt-56 {
  margin-top: -56px;
}

.mt-64 {
  margin-top: -64px;
}

.mt-72 {
  margin-top: -72px;
}

.mt-80 {
  margin-top: -80px;
}

.mt-88 {
  margin-top: -88px;
}

.mt-96 {
  margin-top: -96px;
}

.mt-104 {
  margin-top: -104px;
}

.mt-112 {
  margin-top: -112px;
}

.mt-120 {
  margin-top: -120px;
}

.mr0 {
  margin-right: 0;
}

.mr8 {
  margin-right: 8px;
}

.mr16 {
  margin-right: 16px;
}

.mr24 {
  margin-right: 24px;
}

.mr32 {
  margin-right: 32px;
}

.mr40 {
  margin-right: 40px;
}

.mr48 {
  margin-right: 48px;
}

.mr56 {
  margin-right: 56px;
}

.mr64 {
  margin-right: 64px;
}

.mr72 {
  margin-right: 72px;
}

.mr80 {
  margin-right: 80px;
}

.mr88 {
  margin-right: 88px;
}

.mr96 {
  margin-right: 96px;
}

.mr104 {
  margin-right: 104px;
}

.mr112 {
  margin-right: 112px;
}

.mr120 {
  margin-right: 120px;
}

.ml0 {
  margin-left: 0;
}

.ml8 {
  margin-left: 8px;
}

.ml16 {
  margin-left: 16px;
}

.ml24 {
  margin-left: 24px;
}

.ml32 {
  margin-left: 32px;
}

.ml40 {
  margin-left: 40px;
}

.ml48 {
  margin-left: 48px;
}

.ml56 {
  margin-left: 56px;
}

.ml64 {
  margin-left: 64px;
}

.ml72 {
  margin-left: 72px;
}

.ml80 {
  margin-left: 80px;
}

.ml88 {
  margin-left: 88px;
}

.ml96 {
  margin-left: 96px;
}

.ml104 {
  margin-left: 104px;
}

.ml112 {
  margin-left: 112px;
}

.ml120 {
  margin-left: 120px;
}

.pd0 {
  padding: 0px;
}

.pd8 {
  padding: 8px;
}

.pd16 {
  padding: 16px;
}

.pd24 {
  padding: 24px;
}

.pd32 {
  padding: 32px;
}

.pd40 {
  padding: 40px;
}

.pt0 {
  padding-top: 0;
}

.pt8 {
  padding-top: 8px;
}

.pt16 {
  padding-top: 16px;
}

.pt24 {
  padding-top: 24px;
}

.pt32 {
  padding-top: 32px;
}

.pt40 {
  padding-top: 40px;
}

.pt48 {
  padding-top: 48px;
}

.pt56 {
  padding-top: 56px;
}

.pt64 {
  padding-top: 64px;
}

.pt72 {
  padding-top: 72px;
}

.pt80 {
  padding-top: 80px;
}

.pt88 {
  padding-top: 88px;
}

.pt96 {
  padding-top: 96px;
}

.pt104 {
  padding-top: 104px;
}

.pt112 {
  padding-top: 112px;
}

.pt120 {
  padding-top: 120px;
}

.pb0 {
  padding-bottom: 0;
}

.pb8 {
  padding-bottom: 8px;
}

.pb16 {
  padding-bottom: 16px;
}

.pb24 {
  padding-bottom: 24px;
}

.pb32 {
  padding-bottom: 32px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb48 {
  padding-bottom: 48px;
}

.pb56 {
  padding-bottom: 56px;
}

.pb64 {
  padding-bottom: 64px;
}

.pb72 {
  padding-bottom: 72px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb88 {
  padding-bottom: 88px;
}

.pb96 {
  padding-bottom: 96px;
}

.pb104 {
  padding-bottom: 104px;
}

.pb112 {
  padding-bottom: 112px;
}

.pb120 {
  padding-bottom: 120px;
}

.pl40 {
  padding-left: 40px;
}

.pr40 {
  padding-right: 40px;
}

@media (max-width: 768px) {
  .sp_mb0 {
    margin-bottom: 0;
  }

  .sp_mt0 {
    margin-top: 0;
  }

  .sp_mr0 {
    margin-right: 0;
  }

  .sp_ml0 {
    margin-left: 0;
  }

  .sp_mb8 {
    margin-bottom: 8px;
  }

  .sp_mb16 {
    margin-bottom: 16px;
  }

  .sp_mb24 {
    margin-bottom: 24px;
  }

  .sp_mb32 {
    margin-bottom: 32px;
  }

  .sp_mb40 {
    margin-bottom: 40px;
  }

  .sp_mb48 {
    margin-bottom: 48px;
  }

  .sp_mb56 {
    margin-bottom: 56px;
  }

  .sp_mb64 {
    margin-bottom: 64px;
  }

  .sp_mb72 {
    margin-bottom: 72px;
  }

  .sp_mt8 {
    margin-top: 8px;
  }

  .sp_mt16 {
    margin-top: 16px;
  }

  .sp_mt24 {
    margin-top: 24px;
  }

  .sp_mt32 {
    margin-top: 32px;
  }

  .sp_mt40 {
    margin-top: 40px;
  }

  .sp_mt48 {
    margin-top: 48px;
  }

  .sp_mt56 {
    margin-top: 56px;
  }

  .sp_mt64 {
    margin-top: 64px;
  }

  .sp_mt72 {
    margin-top: 72px;
  }

  .sp_mr8 {
    margin-right: 8px;
  }

  .sp_mr16 {
    margin-right: 16px;
  }

  .sp_mr24 {
    margin-right: 24px;
  }

  .sp_mr32 {
    margin-right: 32px;
  }

  .sp_mr40 {
    margin-right: 40px;
  }

  .sp_mr48 {
    margin-right: 48px;
  }

  .sp_mr56 {
    margin-right: 56px;
  }

  .sp_mr64 {
    margin-right: 64px;
  }

  .sp_mr72 {
    margin-right: 72px;
  }

  .sp_ml8 {
    margin-left: 8px;
  }

  .sp_ml16 {
    margin-left: 16px;
  }

  .sp_ml24 {
    margin-left: 24px;
  }

  .sp_ml32 {
    margin-left: 32px;
  }

  .sp_ml40 {
    margin-left: 40px;
  }

  .sp_ml48 {
    margin-left: 48px;
  }

  .sp_ml56 {
    margin-left: 56px;
  }

  .sp_ml64 {
    margin-left: 64px;
  }

  .sp_ml72 {
    margin-left: 72px;
  }

  .sp_pb8 {
    padding-bottom: 8px;
  }

  .sp_pb16 {
    padding-bottom: 16px;
  }

  .sp_pb16 {
    padding-bottom: 16px;
  }

  .sp_pb24 {
    padding-bottom: 24px;
  }

  .sp_pb32 {
    padding-bottom: 32px;
  }

  .sp_pb40 {
    padding-bottom: 40px;
  }

  .sp_pb48 {
    padding-bottom: 48px;
  }

  .sp_pb56 {
    padding-bottom: 56px;
  }

  .sp_pb64 {
    padding-bottom: 64px;
  }
}

/* =========================================
	コーポレートサイト
* ======================================== */

/* ヘッダー
* ---------------------------------- */
header {
  background-color: #fff;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  height: 80px;
  font-size: min(1.3vw, 16px);
  border-bottom: 1px solid #ccc;
  z-index: 100000;
}

.header-contents {
  display: flex;
  align-items: center;
  width: 96%;
  margin-left: auto;
  height: 100%;
  font-weight: 700;
}

.top-logo {
  width: 15%;
  max-width: 175px;
}

.header-contents nav {
  display: flex;
  align-items: center;
  margin-left: auto;
  height: 100%;
}

.header-contents nav ul {
  display: flex;
  height: 100%;
  align-items: center;
}

.header-contents nav ul li {
  height: 100%;
}

.header-contents nav ul li a {
  padding: 0 16px;
  height: 100%;
  display: inline-block;
  display: flex;
  align-items: center;
}

.header-contents nav ul li:hover {
  background-color: #f2f2f2;
}

.top-contact-btn,
.top-recruit-btn {
  color: #fff;
  padding: 0px 16px;
  height: 100%;
  display: flex;
  align-items: center;
  transition: 0.3s;
}

.top-contact-btn {
  background: #1f65b6;
}

.top-contact-btn:hover {
  background-color: #eef6ff;
  color: #1f65b6;
}

.top-recruit-btn {
  background: #e84d4d;
}

.top-recruit-btn:hover {
  background-color: #ffeded;
  color: #e84d4d;
}

/* 共通パーツ
* ---------------------------------- */

/* --- 見出し --- */
#corporate .midashi-wrap hgroup {
  padding: 40px 0;
  text-align: center;
}

#corporate .midashi-wrap hgroup h1 {
  color: #1f65b6;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 64px;
  font-style: italic;
  font-weight: 700;
  line-height: normal;
}

#corporate hgroup:has(h1) {
  margin-bottom: 32px;
}

#corporate hgroup:has(h1) p {
  font-size: 24px;
  font-weight: 700;
  margin-top: 8px;
}

#corporate .midashi-wrap hgroup:has(h1),
#corporate .midashi-wrap hgroup:has(h1) p {
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
}

#corporate h1 {
  color: #1f65b6;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 64px;
  font-style: italic;
  font-weight: 700;
  line-height: normal;
}

h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: normal;
}

#corporate hgroup:has(h2) {
  position: relative;
  margin-bottom: 80px;
  text-align: center;
}

hgroup:has(h2)::after {
  content: "";
  position: absolute;
  bottom: -24px;
  display: inline-block;
  width: 80px;
  height: 4px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #1f65b6;
  border-radius: 2px;
}

#corporate hgroup:has(h2) p {
  font-size: 16px;
  font-weight: 700;
  margin-top: 16px;
  line-height: 0.8em;
}

h3 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
  line-height: normal;
}

h4 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 32px;
}

h5 {
  color: #1f65b6;
  font-size: 16px;
  font-weight: 700;
}

/* --- テキスト系 --- */
.top-section p {
  font-size: 18px;
  text-align: center;
  font-weight: 500;
}

/* --- パンくず --- */

.bread-list {
  margin: 16px 0;
  display: flex;
  font-size: 12px;
  font-weight: 700;
  flex-wrap: wrap;
}

.bread-list li {
  position: relative;
  margin-left: 32px;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 0.5em;
}

.bread-list li a {
  border-bottom: #000 1px solid;
  padding-bottom: 0.1em;
}

.bread-list li::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  top: 0.5em;
  left: -20px;
  transform: rotate(45deg);
}

.bread-list li:first-child {
  margin-left: 0;
}

.bread-list li:first-child::before {
  display: none;
}

/* --- ボタン --- */
.corporate-btn {
  background-color: #1f65b6;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  padding: 1em;
  max-width: 240px;
  margin: 40px auto 0 auto;
  transition: 0.2s;
  position: relative;
  font-size: 16px;
}

.corporate-btn::after {
  content: "";
  width: 12px;
  height: 12px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  right: 1em;
  top: 40%;
  transform: rotate(45deg);
  transition: 0.3s;
}

.corporate-btn:hover {
  background-color: #eef6ff;
  color: #1f65b6;
}

.corporate-btn:hover::after {
  border-top: solid 2px #1f65b6;
  border-right: solid 2px #1f65b6;
}

/* --- 第三階層 --- */
.tier03 .midashi-wrap hgroup {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2%;
  background: linear-gradient(271deg, #e4f0ff 7.88%, #f7fbff 69.58%);
  position: relative;
}

.tier03 .midashi-wrap hgroup::after {
  content: "";
  background-image: url(../imgs/tier03_midashi.svg);
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 2%;
}

.tier03 .midashi-wrap h1 {
  font-size: 48px;
}

.tier03 .midashi-wrap h1,
.tier03 .midashi-wrap p {
  position: relative;
  z-index: 1;
}

/* --- 色系 --- */
.corporate-color {
  color: #1f65b6;
}

.corporate-bg {
  background: #eef6ff;
}

/* トップページ
* ---------------------------------- */

/* --- メインビジュアル --- */
.mv-area {
  width: 100%;
  height: 100%;
  aspect-ratio: 18 / 7;
  position: relative;
}

.top-mv-logo {
  position: absolute;
  left: min(-5vw, -40px);
  top: min(-8.5vw, -71px);
  z-index: 3;
  display: block;
  width: 89vw;
}

.mv-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: clip;
}

.mvfixed-img {
  position: relative;
  left: 0;
  max-height: 100%;
  z-index: 2;
}

.mv-img {
  position: absolute;
  right: 0;
  top: 0;
  min-width: 100px;
  /*スライドのサイズが0になる対策*/
  max-height: 100%;
  display: block;
  aspect-ratio: 79 / 56;
}

#corporate .mv-wrap hgroup {
  position: absolute;
  z-index: 5;
  width: 100%;
  color: #fff;
  font-weight: 700;
  font-family: "Roboto Condensed", sans-serif;
  font-style: italic;
  bottom: 24px;
  margin-bottom: 0;
  width: 1000px;
  max-width: 92%;
  left: 50%;
  transform: translateX(-50%);
}

#corporate .mv-wrap hgroup p {
  font-size: min(3.8vw, 36px);
}

#corporate .mv-wrap hgroup h1 {
  font-size: min(9vw, 86px);
  color: #fff;
}

/* --- YAMADAについて --- */
.our-scale-area {
  background-image: url(../imgs/top/scale_bg.webp);
  background-repeat: no-repeat;
  background-position: top -116px right -64px;
  font-size: 18px;
}

#corporate .our-scale-area h1,
#corporate .top-products h1 {
  color: #000;
  font-size: 64px;
}

.our-scale-area h3,
.top-products h3 {
  text-align: left;
  margin-bottom: 8px;
}

.our-scale-area .container {
  position: relative;
  z-index: 5;
}

#top .corporate-btn {
  margin: 40px 0;
}

/* --- 製品情報 --- */
.top-products-wrap {
  display: grid;
  gap: 0 2%;
  grid-template-columns: repeat(4, 1fr);
}

.top-products-col p {
  font-size: 18px;
  font-weight: 700;
  position: relative;
  margin-top: 4px;
}

.top-products-col p::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  display: inline-block;
  position: absolute;
  right: 3px;
  top: 30%;
}

/* --- 会社情報 --- */

#corporate .top-company {
  background-color: #1f65b6;
  position: relative;
}

#corporate .top-company h1,
#corporate .top-company p {
  color: #fff;
}

#corporate .top-company .corporate-btn {
  background-color: #fff;
  color: #1f65b6;
}

#corporate .top-company .corporate-btn::after {
  border-top: solid 2px #1f65b6;
  border-right: solid 2px #1f65b6;
}

#corporate .top-company .corporate-btn:hover {
  background-color: #184f8f;
  color: #fff;
}

#corporate .top-company .corporate-btn:hover:after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}

#corporate .top-company-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  object-fit: cover;
}

#top .corporate-bg h1 {
  font-size: 40px;
  color: #000;
}

#top .corporate-bg hgroup p {
  font-size: 20px;
}

/* --- サステナビリティ --- */
.top-sustainability-wrap {
  display: flex;
  gap: 5%;
  background-color: #fff;
  padding: 4%;
}

#top .top-sustainability-wrap .corporate-btn {
  margin: 32px 0 0 0;
}

/* --- お知らせ --- */
.top-news {
  background-image: url(../imgs/top/logo_topnews_bg.svg);
  background-repeat: no-repeat;
  background-position: right bottom;
}

.top-news-btn {
  background-color: #fff;
  color: #1f65b6;
  font-weight: 700;
  padding: 0.2em 3em;
  display: inline-block;
  margin-top: 40px;
  transition: 0.3s;
}

.top-news-btn:hover {
  background-color: #1f65b6;
  color: #fff;
}

.top-news-list {
  width: 73%;
}

#top .category-txt {
  border: none !important;
  background-color: #fff !important;
}

/* YAMADAについて
* ---------------------------------- */

/* --- さぁ、世界を驚かせよう！ --- */
#aboutus .top-section hgroup p {
  font-size: 22px;
}

#aboutus .top-section hgroup h1 {
  color: #000;
}

#aboutus hgroup {
  text-align: center;
  color: #000;
}

#aboutus .top-section {
  background-image: url(../imgs/aboutus/world_bg_img.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* --- 取り扱い分野 --- */

.field-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.field-col {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-shadow: 0px 0px 4px #000;
  font-size: 24px;
  font-weight: 700;
  aspect-ratio: 487 / 200;
  position: relative;
  overflow: hidden;
}

.field-col p {
  position: relative;
  z-index: 2;
  text-align: center;
}

.field-col::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: all 0.3s ease-out;
}

.field-col:hover:after {
  transform: scale(1.1);
}

.field-col:nth-of-type(1)::after {
  background-image: url(../imgs/aboutus/field_img01.webp);
}

.field-col:nth-of-type(2)::after {
  background-image: url(../imgs/aboutus/field_img02.webp);
}

.field-col:nth-of-type(3)::after {
  background-image: url(../imgs/aboutus/field_img03.webp);
}

.field-col:nth-of-type(4)::after {
  background-image: url(../imgs/aboutus/field_img04.webp);
}

.world-area .corporate-bg {
  padding: 40px 0;
  margin-top: 40px;
}

/* 一貫生産・品質管理
* ---------------------------------- */
/* --- 3つのオブジェクト --- */
.quality-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3%;
  margin-top: 80px;
}

.quality-col {
  text-align: center;
}

.quality-col h4 {
  margin: 16px 0;
}

.quality-col p {
  font-size: 16px;
  font-weight: 400;
  text-align: justify;
}

/* --- WORK FLOW --- */
.workflow-col {
  background-color: #f6f6f6;
  padding: 24px;
  position: relative;
  margin-bottom: 56px;
}

.workflow-col:first-child {
  margin-top: 64px;
}

.workflow-container {
  display: flex;
  align-items: center;
  gap: 3%;
}

.workflow-col::after {
  content: "";
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 24px solid transparent;
  border-right: 24px solid transparent;
  border-top: 22px solid #f6f6f6;
}

.workflow-col:last-child::after {
  content: none;
}

.workflow-col hgroup {
  text-align: center;
  min-width: 132px;
}

.workflow-col hgroup p {
  color: #1f65b6;
  font-size: 20px;
  font-weight: 700;
}

.workflow-col hgroup h3 {
  margin-bottom: 0;
  font-family: "Roboto Condensed", sans-serif;
}

.workflow-img {
  width: 41%;
  max-width: 396px;
}

.production-wrap {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2%;
  margin-top: 24px;
}

.production-col {
  background-color: #fff;
  font-size: 14px;
  text-align: justify;
  padding: 24px 16px;
  font-weight: 400;
  line-height: 23px;
}

.production-col .production-midahsi {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
}

.production-col .production-midahsi span {
  color: #b3b3b3;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 40px;
  font-style: italic;
  font-weight: 700;
  vertical-align: middle;
  padding-right: 0.2em;
}

/* --- A part of our products --- */
.part-of-products-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

/* 製品情報
* ---------------------------------- */
#products section {
  text-align: center;
}

/* --- アンカーリンク --- */
.anchor-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1%;
  margin-top: 40px;
}

.anchor-btn a {
  display: block;
  background: #1f65b6;
  color: #fff;
  font-weight: 700;
  padding: 0.7em;
  transition: 0.2s;
}

.anchor-btn a span {
  position: relative;
  vertical-align: middle;
  display: inline-block;
  width: 1em;
  transition: 0.2s;
}

.anchor-btn a span::after {
  position: absolute;
  content: "";
  width: 0.6em;
  height: 0.6em;
  border-bottom: 2px #fff solid;
  border-right: 2px #fff solid;
  transform: rotate(45deg);
  top: -0.7em;
  right: -0.3em;
}

.anchor-btn a:hover {
  background-color: #eef6ff;
  color: #1f65b6;
}

.anchor-btn a:hover span::after {
  border-bottom: 2px #1f65b6 solid;
  border-right: 2px #1f65b6 solid;
}

/* --- 各製品 --- */

.products-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));

  gap: 64px 5%;
}

.products-txt {
  font-weight: 700;
}

p.noarticles.corporate-color {
  font-size: 18px;
  font-weight: 700;
}

/* 会社情報
* ---------------------------------- */

/* --- それぞれのオブジェクト --- */
.company-col {
  background-color: #fff;
  display: flex;
  align-items: center;
  margin-bottom: 80px;
  justify-content: space-between;
}

.company-col h2 {
  font-size: min(3vw, 32px);
}

.company-col:nth-child(odd) {
  flex-direction: row-reverse;
}

.company-col .company-txt {
  padding: 0 40px;
  width: 60%;
}

.company-col:last-child {
  margin-bottom: 0;
}

#company .company-col .company-txt hgroup:has(h2) {
  margin-bottom: 56px;
}

.company-img {
  max-width: 416px;
  width: 40%;
  min-width: 350px;
}

/* --- グループ会社 --- */

.group-company {
  text-align: center;
}

.group-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
  gap: 2%;
  margin-top: 80px;
}

.group-col h3 {
  margin-bottom: 0px;
  margin-top: 16px;
}

.group-col p {
  margin: 16px 0;
}

.group-col .corporate-btn {
  margin-top: 0;
}

.group-col img {
  aspect-ratio: 64 / 39;
  object-fit: cover;
}

/* --- 会社案内パンフレットダウンロード --- */

.pamphlet-btn {
  max-width: 305px;
}

.pamphlet-btn.corporate-btn::after {
  width: 24px;
  height: 24px;
  border-top: none;
  border-right: none;
  position: absolute;
  right: 1em;
  top: 32%;
  background-image: url(/assets/imgs/icon_pdf.webp);
  transform: rotate(0deg);
  transition: 0.3s;
  background-size: contain;
}

.pamphlet-btn.corporate-btn:hover:after {
  background-image: url(/assets/imgs/icon_pdf_hov.webp);
}

/* 代表挨拶・企業理念
* ---------------------------------- */

/* --- 代表挨拶 --- */
#philosophy .president-txt h3 {
  margin-bottom: 16px;
  text-align: left;
}

.president-txt .president-name {
  margin-top: 8px;
}

.president-img {
  max-width: 348px;
  display: block;
}

/* --- 企業理念 --- */
.philosophy-wrap {
  background-image: url(../imgs/company/philosophy_bg.svg);
  background-repeat: no-repeat;
  background-position: top 80px right -50px;
}

.keyword-wrap {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
}

.keyword-wrap h5 {
  color: #000;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 28px;
  font-weight: 700;
  display: flex;
  align-items: center;
}

.keyword-wrap h5 span {
  vertical-align: middle;
  background-image: url(../imgs/company/icon_keyword_arrow.svg);
  display: inline-block;
  background-size: contain;
  width: 20px;
  height: 16px;
  background-repeat: no-repeat;
  margin-left: 0.2em;
}

.keyword-wrap p {
  color: #1f65b6;
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  border: #1f65b6 1px solid;
  padding: 0.3em 0.8em;
}

/* 会社概要・沿革
* ---------------------------------- */
.default-table {
  width: 100%;
  margin-bottom: 16px;
  background-color: #fff;
}

.default-table th {
  color: #1f65b6;
  font-weight: 700;
  width: 20%;
  min-width: 190px;
  padding: 1em 0 1em 2.5em;
  vertical-align: middle;
  text-align: left;
}

.default-table td {
  padding: 1em 2em 1em 0;
  text-align: left;
}

.default-table tr:first-child {
  border-top: 1px solid #808080;
}

.default-table tr {
  border-bottom: 1px solid #808080;
}

#overview h3 {
  text-align: left;
  margin-bottom: 16px;
  margin-top: 56px;
}

/* 拠点・グループ・アクセス
* ---------------------------------- */
.location-wrap {
  margin-bottom: 64px;
}

.location-wrap:last-child {
  margin-bottom: 0;
}


#location h3 {
  font-size: 28px;
}

.location-wrap h4 {
  text-align: left;
  margin-bottom: 16px;
  font-size: 24px;
}

.location-col {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.location-img {
  aspect-ratio: 14 / 9;
  object-fit: cover;
  min-width: 350px;
  width: 350px;
  margin-left: 16px;
}

.access-trigger {
  color: #1f65b6;
  font-size: 18px;
  font-weight: 700;
  background-color: #eef6ff;
  display: inline-block;
  padding: 0.1em 2.2em 0.1em 1em;
  margin-top: 24px;
  position: relative;
  cursor: pointer;
}

.access-trigger::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #1f65b6;
  border-right: solid 2px #1f65b6;
  top: 0.6em;
  right: 1em;
  transform: rotate(135deg);
  transition: transform 0.3s ease;
}

/* --- アクセス --- */
.access-col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 16px;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  margin-top: 0;
  transition: max-height 0.3s ease-out, opacity 0.2s ease-out,
    margin-top 0.3s ease-out, visibility 0s 0.3s;
}

.location-wrap.active .access-col {
  max-height: 350px;
  /* ★重要: コンテンツが収まる十分な高さを指定 */
  margin-top: 16px;
  opacity: 1;
  visibility: visible;
  /* ↓ 表示時の transition (visibility の遅延をなくす) */
  transition: max-height 0.3s ease-out, opacity 0.2s ease-out 0.1s,
    /* 少し遅れてフェードイン */
    margin-top 0.3s ease-out, visibility 0s 0s;
}

.location-wrap.active .access-trigger::after {
  transform: rotate(-45deg);
  top: 0.8em;
}

.access-col .access-map iframe {
  width: 100%;
  height: 100%;
}

.access-col .access-map {
  aspect-ratio: 3 / 1;
}

/* サステナビリティ
* ---------------------------------- */
/* --- トップメッセージ --- */
.president-name {
  font-size: 18px;
}

.president-name span {
  font-size: 24px;
}

/* --- サステナビリティ基本方針 --- */

#sustainability ol {
  padding-left: 1.2em;
}

#sustainability ol li {
  list-style-position: outside;
  font-weight: 700;
}

/* --- 4つの重点課題と主な取り組み --- */
#sustainability .sustainability-col h4 {
  margin-bottom: 16px;
}

.sustain-txt {
  width: 62%;
  font-size: 18px;
}

.sustain-img {
  width: 36%;
}

.sustainability-col {
  margin-bottom: 80px;
}

.sustainability-col:last-child {
  margin-bottom: 0px;
}

.sustainability-col ul {
  padding-left: 1em;
  text-indent: -1em;
}

.sustainability-col li::before {
  content: "■";
  color: #1f65b6;
}

.sdgs-icon-col {
  display: flex;
  margin-top: 16px;
}

.sdgs-icon {
  width: min(5vw, 55px);
  margin-right: 1.8%;
}

#sustainability .category-txt {
  border: none;
  background-color: #fff;
}

.sdgs-bnr {
  display: block;
  max-width: 300px;
  width: 100%;
  height: 100%;
  margin: 24px auto;
  transition: all .3s;
}

.sdgs-bnr:hover {
  opacity: .8;
  transition: all .3s;
}

.sdgs-bnr img {
  max-width: 300px;
}

/* お知らせ
* ---------------------------------- */
#news h5 {
  color: #000;
  margin-bottom: 16px;
}

/* --- お知らせタブ --- */
.category-item {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: 1px solid #1f65b6;
  margin-bottom: 80px;
}

.category-btn {
  color: #1f65b6;
  font-weight: 700;
  text-align: center;
  border-right: #1f65b6 solid 1px;
  padding: 0.7em 0;
  font-size: min(1.8vw, 16px);
  transition: 0.3s;
}

.category-btn:hover {
  background: #ebf4fc;
}

.category-btn:last-child {
  border-right: none;
}

.category-btn.active {
  background: #1f65b6;
  color: #fff;
}

/* --- お知らせ一覧 --- */
.date-category {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.news-date {
  color: #aaa2a0;
  font-size: 12px;
  font-weight: 500;
  margin-right: 24px;
}

.category-txt {
  font-size: 12px;
  color: #1f65b6;
  border: #1f65b6 1px solid;
  display: inline-block;
  font-weight: 500;
  padding: 0.3em 1em 0.4em 1em;
  line-height: 1em;
  margin-right: 8px;
  vertical-align: middle;
}

.category-txt:last-child {
  margin-right: 0px;
}

.news-col a {
  display: block;
  padding: 0.9em 0px;
  border-bottom: 1px solid #7e7e7e;
  text-align: left !important;
}

.news-col:first-child a {
  border-top: solid 1px #7e7e7e;
}

.news-title {
  padding: 0 1em 0 3em;
  position: relative;
}

.news-title::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  position: absolute;
  left: 1.5%;
  top: 40%;
  transform: rotate(45deg);
}

/* --- ページネーション --- */
.pagination {
  display: flex;
  justify-content: center;
  margin-top: 80px;
}

.page-numbers {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.page-numbers a,
.page-numbers span {
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  border: 1px solid #1f65b6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1f65b6;
  font-weight: 500;
  margin: 4px;
}

span.current {
  background-color: #1f65b6;
  color: #fff;
}

.page-numbers .prev,
.page-numbers .next {
  position: relative;
}

.page-numbers .prev::after,
.page-numbers .next::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 1px #1f65b6;
  border-right: solid 1px #1f65b6;
  position: absolute;
  top: 30%;
  transform: rotate(45deg);
}

.page-numbers .next::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 1px #1f65b6;
  border-right: solid 1px #1f65b6;
  position: absolute;
  top: 33%;
  left: 24%;
  transform: rotate(45deg);
}

.page-numbers .prev::after {
  right: 15%;
  transform: rotate(-135deg);
}

/* 記事
* ---------------------------------- */
#article .date-category {
  margin-bottom: 16px;
}

#article .news-date {
  font-size: 16px;
}

#article h3.news-title {
  text-align: left;
  padding-left: 0;
}

#article h3.news-title::before {
  display: none;
}

#article .article-container p {
  font-weight: 400;
  margin-bottom: 40px;
  text-align: justify;
}

#article ul.wp-block-list {
  text-align: left;
  padding-left: 1.5em;
  text-indent: -1.5em;
  margin-bottom: 16px;
}

#article ul.wp-block-list li {
  list-style-type: disc;
  list-style-position: inside;
}

#article .article-container a {
  color: #1F65B6;
  border-bottom: #1F65B6 1px solid;
}

#article .article-container {
  margin-bottom: 96px;
}

#article .corporate-btn {
  justify-content: center;
}

#article .corporate-btn::after {
  display: none;
}

#article h4.article-midashi {
  font-size: 20px;
  font-weight: 700;
  text-align: left;
  margin-bottom: 8px;
  border-bottom: 2px #1f65b6 solid;
}

#article h5.article-midashi {
  font-size: 18px;
  font-weight: 700;
  text-align: left;
  margin-bottom: 8px;
  color: #000;
}

#article .article-list {
  padding-left: 1em;
  text-align: justify;
}

#article .article-list li {
  list-style-type: disc;
}

#article .is-layout-flex {
  display: flex;
  gap: 16px;
}

/*  プライバシーポリシー
* ---------------------------------- */
.privacy-col {
  margin-bottom: 40px;
}

.privacy-col dt {
  font-weight: 700;
  width: 6em;
  text-align: center;
}

.privacy-col ul {
  padding-left: 1.5em;
}

.privacy-col ul li {
  list-style-type: disc;
}

/* お問い合わせ
* ---------------------------------- */

.caution-txt {
  color: #f00;
  font-size: 14px;
  font-weight: 500;
}

.form-area {
  margin: 40px auto;
}

.form-col {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
  width: 100%;
}

.form-col dt sup {
  color: #f00;
  font-size: 10px;
}

.form-col dt {
  margin-right: 16px;
  width: 20%;
  min-width: 216px;
  text-align: left;
}

.form-col dd {
  width: 80%;
  text-align: left;
  display: flex;
}

.form-confirm .form-col dd {
  border-radius: 8px;
  background-color: #f0f9fc;
  padding: 0.8em 1em;
}

.form-area input,
.form-area textarea {
  border-radius: 8px;
  border: 1px solid #b3b3b3;
  background: #fff;
  width: 100%;
  padding: 0.8em 1em;
}

.label-item input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  appearance: none;
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid #b3b3b3;
  border-radius: 50%;
  vertical-align: -3px;
  padding: 0px;
  cursor: pointer;
}

.label-item input[type="radio"]:checked {
  border-color: #808080;
  border-width: 2px;
}

.label-item input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #808080;
  content: "";
}

.label-item {
  display: flex;
  align-items: center;
}

.label-item label {
  cursor: pointer;
}

.label-col {
  margin-right: 1em;
}

.tel-group input {
  width: 15%;
  min-width: 100px;
}

span.tel-hyphen {
  width: 13px;
  height: 1px;
  background-color: #000;
  margin: 5px;
  display: inline-block;
}

#contact button.corporate-btn {
  border: none;
  width: 240px;
  text-align: center;
}

#contact button.corporate-btn p {
  margin: auto;
}

#contact button.corporate-btn::after {
  display: none;
}

.privacy-note {
  font-size: 14px;
}

.privacy-note a {
  border-bottom: #000 1px solid;
}

/* フッター
* ---------------------------------- */
footer {
  color: #fff;
  font-size: min(1.5vw, 14px);
  font-weight: 700;
}

footer .child-li {
  font-weight: 400;
}

footer .white-logo {
  max-width: 545px;
  margin-bottom: 32px;
}

footer nav ul {
  margin-right: 3vw;
}

.footer-adress p {
  line-height: normal;
}

.footer-blue-contents {
  background-color: #1f65b6;
  padding: 40px 0;
}

.footer-gray-contents {
  background-color: #5a5a5a;
  padding: 24px 0;
  text-align: center;
  font-size: 12px;
}

.footer-btn {
  background-color: #fff;
  color: #1f65b6;
  font-size: 16px;
  padding: 14px 0;
  width: min(20vw, 240px);
  display: block;
  text-align: center;
  margin-bottom: 16px;
  border: solid 1px #fff;
  transition: 0.3s;
}

.footer-btn:hover {
  background-color: #1f65b6;
  color: #fff;
}

/* =========================================
	採用サイト 
* ======================================== */

/* ヘッダー
* ---------------------------------- */

#recruit header .header-contents {
  width: 98%;
  font-size: min(1.2vw, 16px);
}

#recruit header .top-logo {
  width: 15%;
  max-width: 170px;
}

#recruit header .header-contents nav {
  width: 85%;
  justify-content: end;
}

#recruit header .header-contents nav ul {
  justify-content: end;
  width: 85%;
}

#recruit header .header-contents nav ul li:hover {
  background-color: #f8f3ca;
}

#recruit header .top-entry-btn {
  color: #fff;
  justify-content: center;
  display: flex;
  align-items: center;
  height: 100%;
  width: 15%;
  white-space: nowrap;
  transition: 0.3s;
  cursor: pointer;
  background-color: #e84d4d;
}

.top-entry-btn span {
  position: relative;
}

.top-entry-btn span::after {
  content: "";
  width: 0.5vw;
  height: 0.5vw;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  left: 0.5em;
  top: -0.3em;
  transform: rotate(135deg);
  transition: 0.3s;
}

.top-entry-btn.active span::after {
  top: 0;
  transform: rotate(-45deg);
}

#recruit header .top-entry-btn {
  position: relative;
}

#recruit header .top-entry-btn:hover {
  color: #e84d4d;
  background-color: #f8f3ca;
}

#recruit header .top-entry-btn:hover span::after {
  border-top: solid 2px #e84d4d;
  border-right: solid 2px #e84d4d;
}

#recruit header ul.entry-child {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 80px;
  right: 0;
  text-align: center;
  transition: max-height 0.5s ease, opacity 0.5s ease;
  display: block;
  pointer-events: none;
  width: 12.5%;
  max-width: 12.5%;
  height: auto;
}

/* アクティブ状態（表示） */
#recruit header .entry-child.active {
  max-height: 200px;
  height: auto;
  /* 十分大きめにしておく */
  opacity: 1;
  pointer-events: auto;
  width: 12.5%;
  max-width: 12.5%;
  display: block;
}

#recruit header .entry-child li a {
  background-color: #ffe7e7;
  color: #e84d4d;
  max-width: 100%;
  display: block;
  padding: 16px 0;
  border-bottom: 1px solid #e84d4d;
  font-weight: 700;
}

#recruit header .entry-child li a:hover {
  background-color: #f8f3ca;
}

#recruit header .entry-child li:last-child a {
  border-bottom: none;
}

#recruit header span.external-icon {
  background-image: url(/assets/imgs/icon_external.svg);
  display: inline-block;
  background-size: contain;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  vertical-align: -0.1em;
  background-repeat: no-repeat;
}

#recruit footer {
  color: #000;
  background: #f8f3ca;
  padding: 80px 0;
}

/* 共通パーツ
* ---------------------------------- */

/* --- 見出し --- */
.recruit-midashi {
  background-color: #e8d21e;
  display: flex;
  align-items: center;
  color: #fff;
}

.recruit-midashi hgroup {
  position: relative;
  z-index: 5;
}

.recruit-midashi hgroup p {
  color: rgba(255, 255, 255, 0.4);
  font-family: "Vujahday Script";
  font-size: 100px;
  font-weight: 400;
  white-space: nowrap;
}

.recruit-midashi hgroup h1 {
  color: #fff;
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  margin: 16px 0 0 24px;
  filter: drop-shadow(0 0 1rem #e8d21e);
}

.recruit-midashi hgroup:has(h1) {
  margin-bottom: 0;
}

.recruit-midashi .container {
  position: relative;
}

.tier02 .recruit-midashi .container {
  padding: 104px 0;
}

.midashi-illust {
  position: absolute;
  right: -40px;
  bottom: -64px;
}

#company .midashi-illust {
  width: min(50vw, 511px);
  right: -40px;
  bottom: -64px;
}

#job .midashi-illust {
  width: min(50vw, 493px);
  right: 0px;
  top: 16px;
}

#environment .midashi-illust {
  width: min(50vw, 547px);
  right: 0px;
  bottom: -64px;
  filter: drop-shadow(0px 15px 6px rgba(121, 121, 120, 0.85));
}

#requirements .midashi-illust {
  width: min(20vw, 220px);
  right: 40px;
  bottom: -40px;
}

#column .midashi-illust {
  width: min(30vw, 375px);
  right: -40px;
  bottom: -40px;
}

#news .midashi-illust {
  width: min(18vw, 213px);
  right: 40px;
  bottom: -56px;
}

#recruit hgroup:has(h2) {
  margin-bottom: 40px;
}

#recruit hgroup:has(h2) p {
  color: #e84d4d;
  text-align: center;
  font-family: "Vujahday Script";
  font-size: 40px;
  font-weight: 400;
}

#recruit hgroup h2 {
  font-size: 36px;
}

#recruit hgroup:has(h2)::after {
  display: none;
}

#recruit h3 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 40px;
}

#recruit h4 {
  font-size: 24px;
  font-weight: 700;
}

/* --- 第三階層 --- */

.tier03 .recruit-midashi hgroup {
  display: flex;
  align-items: center;
  gap: 24px;
}

.tier03 .recruit-midashi .container {
  padding: 56px 0;
}

.tier03 .recruit-midashi hgroup h1 {
  margin: 0;
}

/* --- ボタン --- */
.recruit-btn {
  background-color: #e84d4d;
  border: 2px solid #e84d4d;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  padding: 1em;
  max-width: 240px;
  margin: 40px auto 0 auto;
  transition: 0.2s;
  position: relative;
  border-radius: 5px;
  font-size: 16px;
}

.recruit-btn::after {
  content: "";
  width: 12px;
  height: 12px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  right: 1em;
  top: 40%;
  transform: rotate(45deg);
  transition: 0.3s;
}

.recruit-btn:hover {
  background-color: #fff;
  color: #e84d4d;
}

.recruit-btn:hover::after {
  border-top: solid 2px #e84d4d;
  border-right: solid 2px #e84d4d;
}

/* --- セクション系 --- */
#recruit section .container {
  text-align: center;
}

/* --- テキスト系 --- */
.lead-copy {
  font-size: 18px;
  line-height: 200%;
}

.recruit-color {
  color: #e84d4d;
}

/* トップページ
* ---------------------------------- */
#recruit .top-job,
#recruit .top-requirements,
#recruit .top-news {
  border-radius: 50px;
  background: #f8f3ca;
}

#recruit #top section {
  padding: 120px 0px;
}

.recruit-top-mv {
  background-color: #e8d21e;
  padding-top: 64px;
  position: relative;
}

.recruit-top-mv .container {
  position: relative;
  z-index: 1;
}

.recruit-top-mv h1 {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: min(4vw, 46px);
  font-style: normal;
  font-weight: 700;
  line-height: min(10vw, 120px);
}

.recruit-top-mv h1 span {
  margin: 0 8px;
}

.recruit-top-mv h1 span img {
  vertical-align: middle;
}

.recruit-top-mv h1 span:first-child img {
  width: min(18vw, 197px);
}

.recruit-top-mv h1 span:last-child img {
  width: min(54vw, 607px);
}

.recruit-top-mv .recruit-top-copy {
  font-size: min(2vw, 24px);
  font-weight: 700;
  line-height: 1.7em;
  margin-top: min(2vw, 40px);
}

.recruit-top-mv .mv-txt {
  color: #e84d4d;
  font-family: "Vujahday Script";
  font-size: min(11vw, 134px);
  font-style: normal;
  font-weight: 400;
  line-height: 0.7em;
  transform: rotate(-10deg);
  display: inline-block;
  margin-top: -24px;
  position: relative;
  bottom: -16px;
  left: -24px;
}

.recruit-top-mv .mv-txt span {
  font-size: 0.6em;
}

.recruit-top-img {
  position: absolute;
  right: -80px;
  bottom: -40px;
  width: min(62vw, 788px);
}

/* --- メッセージ --- */
#recruit #top .top-area {
  position: relative;
  padding: 150px 0;
}

#recruit #top .top-area .lead-copy {
  text-shadow: 0px 0px 22px rgba(255, 255, 255, 1),
    0px 0px 22px rgba(255, 255, 255, 1), 0px 0px 22px rgba(255, 255, 255, 1),
    0px 0px 22px rgba(255, 255, 255, 1);
}

#recruit #top .top-area .container {
  position: relative;
  z-index: 1;
}

.top-bg-l,
.top-bg-r {
  position: absolute;
  width: min(80vw, 760px);
}

.top-bg-l {
  left: -22%;
  top: -80px;
}

.top-bg-r {
  right: -22%;
  bottom: -170px;
}

/* --- 求める人材 --- */
#recruit #top section.human-resources {
  display: flex;
  padding: 0;
}

.human-resources-wrap {
  background-color: #f8f3ca;
  padding: 80px 40px 80px 15vw;
  border-radius: 0px 30px 30px 0px;
  width: 65%;
}

.human-resources-wrap h2 {
  font-size: 48px;
  font-weight: 700;
  padding-left: 0.3em;
  border-left: 11px solid #fff;
  margin-bottom: 40px;
}

.human-resources-wrap ul li {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  font-size: min(2.5vw, 24px);
  font-weight: 700;
}

.human-resources-wrap ul li p span {
  border-bottom: 3px solid #e8d21e;
}

.human-resources-wrap ul li .list-number {
  color: #e84d4d;
  text-align: center;
  font-family: "Vujahday Script";
  font-size: 40px;
  line-height: 60px;
  font-weight: 400;
  background-color: #fff;
  width: 60px;
  height: 60px;
}

.human-img {
  position: absolute;
  right: 5vw;
  width: 30%;
}

.human-img .human-img01,
.human-img .human-img02 {
  border-radius: 20px;
  position: relative;
  margin-bottom: 40px;
}

.human-img .human-img01 {
  right: -4vw;
}

.human-img .human-img02 {
  left: -56px;
}

/* --- 会社を知る --- */
.top-company-txt {
  font-size: min(4.8vw, 48px);
  font-weight: 700;
  line-height: 150%;
  margin-bottom: 8px;
}

.top-company .recruit-btn {
  margin: 40px auto 0 0;
}

/* --- 仕事を知る --- */
.top-job-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.top-job-col {
  display: flex;
  justify-content: space-between;
  padding: 16px 24px;
  background-color: #fff;
  align-items: center;
  border-radius: 10px;
}

.top-job-col img {
  width: 50%;
}

.top-job-col hgroup {
  text-align: left;
}

#top .top-job-col .job-number {
  color: #e84d4d;
  font-family: "Vujahday Script";
  font-size: 40px;
  font-weight: 400;
}

#top .top-job-col h3 {
  font-size: min(2.8vw, 24px);
  color: #e84d4d;
  font-weight: 700;
}

/* --- 先輩社員の声 --- */

#top .voice-list-col {
  padding: 0 8px;
  background-color: transparent;
}

#top .voice-img {
  aspect-ratio: 47 / 64;
}

#top .voice-list-col::after {
  display: none;
}

.slick-prev,
.slick-next {
  width: 60px;
  height: 60px;
  background-size: contain !important;
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  text-indent: -9999px;
  /* テキスト非表示 */
  overflow: hidden;
}

#top .slick-prev {
  background: url("/assets/imgs/recruit/arrow_prev.svg");
  left: -80px;
}

#top .slick-next {
  background: url("/assets/imgs/recruit/arrow_next.svg");
  right: -80px;
}

#top .voice-list-col .voice-list-txt .job-name {
  color: #000;
  margin: 8px 0;
}

/* --- 働く環境を知る --- */
.top-environment-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 16px;
}

.top-environment-col {
  border-radius: 20px;
  border: 8px solid #f8f3ca;
  padding: 32px;
  transition: 0.2s;
}

.top-environment-txt {
  text-align: left;
  position: relative;
  padding-right: 1em;
}

.top-environment-txt::after {
  content: "";
  position: absolute;
  width: 0.8em;
  height: 0.8em;
  border-top: 3px #000 solid;
  border-right: 3px #000 solid;
  transform: rotate(45deg) translateY(-50%);
  top: 50%;
  right: 8px;
}

.top-environment-txt h4 {
  margin: 16px 0;
}

.top-environment-col:hover {
  opacity: 0.8;
}

/* --- 募集要項 --- */
#top .top-requirements hgroup:has(h2),
#top .top-requirements hgroup:has(h2) p,
#top .top-requirements .container {
  text-align: left;
}

#top .top-requirements .container {
  position: relative;
  z-index: 1;
}

.top-btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.top-requirements-btn {
  font-size: 24px;
  font-weight: 700;
  border-radius: 20px;
  background-color: #e8d21e;
  padding: 32px;
  display: block;
  max-width: 490px;
  width: 45vw;
  position: relative;
  transition: 0.2s;
}

.top-requirements-btn:hover {
  background-color: #fff;
}

.top-requirements-btn::after {
  content: "";
  position: absolute;
  width: 0.8em;
  height: 0.8em;
  border-top: 3px #000 solid;
  border-right: 3px #000 solid;
  transform: rotate(45deg) translateY(-50%);
  top: 50%;
  right: 32px;
}

.top-requirements {
  position: relative;
}

.top-requirements-img {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 400px;
  width: 45%;
  border-radius: 20px 0px 0px 20px;
  object-fit: cover;
}

/* --- もっと知りたい！山田工業 --- */
#top .column-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

#top .column-col {
  transition: 0.3s;
  margin-bottom: 40px;
}

#top .column-col a:hover {
  opacity: 0.8;
  transition: 0.3s;
}

#top .column-list .column-col {
  display: block;
}

#top .column-list .column-img {
  aspect-ratio: 4 / 3;
}

#top h3.column-title {
  font-size: 18px;
  margin-bottom: 16px;
  margin-top: 8px;
  padding-right: 2em;
  text-align: left;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  position: relative;
  /* 任意の行数を指定 */
}

#top h3.column-title::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  right: 4px;
  bottom: 25%;
}

/* --- よくある質問 --- */
.top-faq-wrap {
  text-align: justify;
}

.top-faq-col:first-child {
  border-top: solid 1px #b3b3b3;
}

.top-faq-col {
  border-bottom: 1px solid #b3b3b3;
  padding: 16px;
}

.top-faq-q,
.top-faq-a {
  display: flex;
  gap: 16px;
}

.top-faq-q {
  margin-bottom: 8px;
}

.top-faq-q p {
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
}

.top-faq-q span,
.top-faq-a span {
  color: #e84d4d;
  font-family: "Vujahday Script";
  font-size: 24px;
}

/* 会社を知る
* ---------------------------------- */

/* --- 数字で見る山田工業（共通パーツ） --- */
.numbers-wrap {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  width: 100%;
}

.numbers-col {
  border-radius: 20px;
  background-color: #f8f3ca;
  padding: 16px;
  text-align: center;
}

.numbers-col img {
  display: block;
  margin: auto;
}

.data01 {
  width: 38%;
}

.numbers-inner {
  gap: 24px;
  display: grid;
}

.numbers-inner:has(.data02) {
  width: calc(100% - 38% - 24px);
}

.numbers-inner:has(.work03) {
  width: calc(100% - 48%);
}

.data04 {
  width: 57%;
}

.data05 {
  width: calc(100% - 24px - 57%);
}

.data06 {
  width: 34%;
}

.data07 {
  width: 27%;
}

.data08 {
  width: calc(100% - 34% - 27% - 24px);
}

.work01 {
  width: 66%;
}

.work02 {
  width: calc(100% - 66% - 24px);
}

.work05 {
  width: 48%;
}

#recruit .numbers-col h4.numbers-midashi {
  color: #e84d4d;
  font-size: min(2.2vw, 20px);
  font-weight: 700;
  background-color: #fff;
  display: inline-block;
  padding: 0.02em 2.5em;
  border-radius: 50px;
  line-height: normal;
  white-space: nowrap;
  margin-bottom: 16px;
}

/* --- 会社概要 --- */
#recruit .default-table th {
  color: #e84d4d;
}

/* 仕事を知る
* ---------------------------------- */

/* --- 山田工業を支える6職種 --- */
.job-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 40px;
}

.job-col {
  border-radius: 20px;
  border: 8px solid #f8f3ca;
  padding: 0px 40px 40px 40px;
}

.job-illust {
  position: relative;
  top: -6%;
  margin-bottom: -4%;
}

.job-col hgroup .job-number {
  color: #e84d4d;
  font-family: "Vujahday Script", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
}

#job .job-col hgroup h3 {
  color: #e84d4d;
  margin-bottom: 24px;
}

.job-col hgroup+p {
  text-align: justify;
}

/* --- 先輩社員の声 --- */
.voice-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.voice-list-col {
  background: #f8f3ca;
  padding: 24px;
  border-radius: 10px;
  position: relative;
  transition: 0.3s;
}

.voice-list-col:hover {
  filter: brightness(102%);
  opacity: 0.8;
}

.voice-list-col::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #e84d4d;
  border-right: 2px solid #e84d4d;
  transform: rotate(45deg);
  right: 16px;
  bottom: 4.5em;
}

.voice-img {
  aspect-ratio: 1/1;
  border-radius: 10px;
  width: 100%;
  object-fit: cover;
}

.voice-list-col .voice-list-txt {
  text-align: left;
  line-height: normal;
}

.voice-list-col .voice-list-txt .job-name {
  color: #e84d4d;
  font-size: 20px;
  font-weight: 700;
  margin: 16px 0 8px 0;
}

.voice-list-col .voice-list-txt .voice-initial {
  font-weight: 700;
  margin: 8px 0 8px 0;
}

.voice-list-col .voice-list-txt dl {
  border-radius: 5px;
  border: 1px solid #e8d21e;
  background: #fff;
  padding: 4px 8px;
  display: inline-block;
}

.voice-list-col .voice-list-txt dl dt {
  padding-right: 8px;
  border-right: solid 1px #e8d21e;
}

.voice-list-col .voice-list-txt dl dd {
  padding-left: 8px;
}

/* 先輩社員の声
* ---------------------------------- */
/* --- プロフィール --- */
.voice-area img,
.schedule-area img {
  border-radius: 20px;
  object-fit: cover;
}

.profile-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 40px;
  margin-bottom: 24px;
}

.profile-txt {
  text-align: left;
  position: relative;
  padding-top: 8px;
}

.profile-txt .voice-illust {
  position: absolute;
  top: 0;
  right: 0;
}

.profile-txt .job-category {
  color: #e84d4d;
  font-size: 24px;
  font-weight: 700;
}

.profile-txt .initial-txt {
  font-size: 26px;
  font-weight: 700;
  margin: 8px 0;
}

.profile-txt .self-introduction {
  margin-top: 32px;
}

.profile-txt .job-category span {
  border-radius: 8px;
  background: #ffe7e6;
  padding: 2px 8px;
  margin-right: 8px;
}

/* --- FAQ --- */
.faq-img,
.schedule-img {
  max-width: 400px;
  height: 100%;
  aspect-ratio: 4/3;
  width: 40%;
}

.flex .faq-col {
  margin-right: 40px;
  margin-bottom: 0px;
}

.flex:has(.faq-col) {
  margin-bottom: 32px;
}

.faq-col {
  text-align: left;
  margin-bottom: 32px;
}

.faq-col .q-txt {
  display: flex;
  align-items: center;
  color: #e84d4d;
  font-size: 20px;
  font-weight: 700;
  gap: 8px;
  margin-bottom: 24px;
}

.faq-col .q-txt .q-icon {
  font-size: 40px;
  font-weight: 700;
}

/* --- スケジュール --- */
.schedule-area hgroup {
  text-align: left;
  margin-bottom: 16px;
  display: flex;
  color: #e84d4d;
  font-family: "Noto Sans JP", sans-serif;
  gap: 8px;
  align-items: baseline;
}

.schedule-area hgroup h2 {
  font-size: 40px;
}

#recruit .schedule-area hgroup:has(h2) p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 700;
}

.schedule-area .flex:has(.schedule-table) {
  gap: 48px;
}

.schedule-table {
  width: 100%;
  text-align: left;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

.schedule-table th {
  color: #e84d4d;
  font-size: 18px;
  font-weight: 700;
  padding: 0.5em 1em;
  width: 20%;
  vertical-align: middle;
}

.schedule-table td {
  font-weight: 500;
  padding: 0.5em 0;
}

.schedule-table tr {
  border-top: 1px solid #808080;
}

.schedule-table tr:first-child {
  border-top: none;
}

/* --- 先輩の声一覧（下部） --- */
#voice .voice-list {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

#voice .voice-list-col {
  padding: 0;
  background-color: #fff;
}

#voice .voice-list-col::after {
  display: none;
}

#voice .voice-img {
  aspect-ratio: 25 / 28;
}

#voice .voice-list-col .voice-list-txt .job-name {
  margin: 4px 0 0 0;
}

#voice .voice-list-col .voice-list-txt .voice-initial {
  margin: 4px 0 4px 0;
}

#voice .voice-list-col .voice-list-txt dl {
  font-size: min(1.2vw, 16px);
}

/* 働く環境を知る
* ---------------------------------- */

/* --- 福利厚生 --- */
#environment .lead-copy {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 40px;
}

.benefits-wrap {
  margin: 64px 0 88px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.benefits-wrap .benefits-col {
  border-radius: 20px;
  border: 8px solid #f8f3ca;
  padding: 24px;
}

#environment h4.benefits-midashi {
  margin: 24px auto;
  white-space: nowrap;
}

.balancing-both-wrap {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}

.balancing-both-col {
  background-color: #f8f3ca;
  padding: 40px 24px;
  border-radius: 20px;
  font-weight: 500;
}

.balancing-both-wrap h4 {
  margin-bottom: 16px;
}

.balancing-both-col ul.circle-li,
.balancing-both-col ul.caution-li {
  padding-left: 1em;
}

.balancing-both-col ul.caution-li {
  text-indent: -1em;
}

.balancing-both-col ul.circle-li li {
  position: relative;
}

.balancing-both-col ul.circle-li li::before {
  position: absolute;
  content: "●";
  color: #b3b3b3;
  left: -1em;
}

/* --- 教育システム --- */
.education-area h3 {
  margin-top: 80px;
}

.education-img {
  border-radius: 20px;
  margin: 40px auto;
}

.education-col {
  border-radius: 20px;
  border: 8px solid #f8f3ca;
  padding: 24px 56px;
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 24px;
}

.education-txt {
  text-align: left;
  font-weight: 500;
}

.education-txt h4 {
  margin-bottom: 16px;
  color: #e84d4d;
}

.education-txt ul {
  padding-left: 1em;
}

.education-txt ul li {
  list-style-type: disc;
}

/* もっと知りたい！山田工業
* ---------------------------------- */

/* --- コラムタブ --- */
#column h5 {
  color: #000;
  text-align: left;
  margin-bottom: 8px;
}

#recruit .category-item {
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #e84d4d;
}

#recruit .category-btn {
  color: #e84d4d;
  border-right: #e84d4d solid 1px;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#recruit .category-btn:last-child {
  border-right: none;
}

#recruit .category-btn.active {
  background: #e84d4d;
  color: #fff;
}

/* --- コラム一覧 --- */
.column-col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 40px;
  margin-bottom: 80px;
}

.column-img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 3 / 2;
}

#column .news-date {
  font-size: 16px;
}

#column h3.column-title {
  font-size: 20px;
  line-height: 150%;
  margin-bottom: 16px;
  text-align: left;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  /* 任意の行数を指定 */
}

.column-txt {
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.column-main-txt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  /* 任意の行数を指定 */
}

.column-link {
  padding-top: 1em;
  text-align: right;
}

.column-link p {
  font-weight: 700;
  display: inline-block;
  padding: 0 3em 0.5em 0.5em;
  position: relative;
}

.column-link p::after,
.column-link p::before {
  content: "";
  height: 2px;
  bottom: 0;
  background-color: #000;
  position: absolute;
  transition: all 0.3s;
}

.column-link p::after {
  width: 100%;
  left: 0;
}

.column-link p::before {
  width: 20%;
  right: 0;
  transform-origin: 100% 50%;
  transform: rotate(35deg);
}

/*hoverした際の移動*/
.column-link:hover p::after {
  left: 1em;
}

.column-link:hover p::before {
  right: -1em;
}

/* お知らせ
* ---------------------------------- */

#recruit .category-txt {
  color: #e84d4d;
  border: #e84d4d 1px solid;
}

/* --- ページネーション --- */

#recruit .page-numbers a,
#recruit .page-numbers span {
  border: 1px solid #e84d4d;
  color: #e84d4d;
}

#recruit .current {
  background-color: #e84d4d;
  color: #fff !important;
}

#recruit .page-numbers .prev::after,
#recruit .page-numbers .next::after {
  border-top: solid 1px #e84d4d;
  border-right: solid 1px #e84d4d;
}

#recruit .page-numbers .next::after {
  border-top: solid 1px #e84d4d;
  border-right: solid 1px #e84d4d;
}

/* --- 記事 --- */

#article .recruit-btn {
  justify-content: center;
}

#article .recruit-btn::after {
  display: none;
}


#recruit #article h3 {
  border-bottom: 2px #e84d4d solid;
  text-align: left;
  padding-bottom: .3em;
}

#recruit #article h4 {
  color: #e84d4d;
  text-align: left;
  margin-bottom: .8em;
}

/* 募集要項
* ---------------------------------- */
#recruit .note {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
}

/* フッター
* ---------------------------------- */

footer .black-logo {
  max-width: 545px;
}

#recruit footer .nav-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 55%;
}

#recruit footer .nav-wrap nav {
  width: 100%;
}

#recruit footer .nav-wrap nav li {
  margin-right: 8px;
  font-size: min(1.3vw, 14px);
}

#recruit footer .nav-wrap nav li a {
  transition: all .3s;
}

#recruit footer .nav-wrap nav li a:hover {
  color: #e84d4d;
  transition: all .3s;
}

#recruit .footer-right {
  width: 38%;
}

#recruit footer .btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

p.footer-entry-txt {
  color: #e84d4d;
  font-size: 24px;
  font-weight: 700;
  line-height: 150%;
  margin-bottom: 8px;
}

#recruit footer .footer-btn {
  background-color: #fff;
  color: #e84d4d;
  border: 2px solid #e84d4d;
  border-radius: 5px;
  font-size: 16px;
  padding: 14px 10%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  text-align: left;
  transition: 0.3s;
  margin-bottom: 0px;
}

#recruit .sub-links {
  display: flex;
  justify-content: end;
  margin-top: 32px;
  font-size: min(1.3vw, 14px);
  font-weight: 400;
  gap: 8%;
}

#recruit footer .footer-btn span {
  width: 20px;
  height: 20px;
  background-size: contain;
  position: relative;
  background-repeat: no-repeat;
}

#recruit footer .footer-btn span.external-icon {
  background-image: url(../imgs/icon_external.svg);
  right: -0.3em;
  top: 0.3em;
}

#recruit footer .footer-btn span.arrow-icon::after {
  content: "";
  width: 0.6vw;
  height: 0.6vw;
  border-top: solid 2px #e84d4d;
  border-right: solid 2px #e84d4d;
  position: absolute;
  right: 0px;
  top: 0.6em;
  transform: rotate(45deg);
}

#recruit footer .footer-btn:hover {
  background-color: #e84d4d;
  color: #fff;
}

#recruit footer .footer-btn:hover span.arrow-icon::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}

#recruit footer .footer-btn:hover span.external-icon {
  background-image: url(../imgs/icon_external_hov.svg);
}

#recruit footer nav ul {
  margin-right: 0;
}

/* =========================================
	トーア・ダイセン
* ======================================== */

/*   ヘッダー
* ---------------------------------- */
#toa header {
  background-color: #f7f7f7;
}

#daisen header {
  background-color: #f4fbfe;
}

#toa .header-contents nav ul li:hover,
#daisen .header-contents nav ul li:hover {
  background-color: #fff;
}

#toa header .top-contact-btn,
#tdaisen header .top-contact-btn {
  color: #fff;
  padding: 0px 32px;
}

#toa header .top-contact-btn {
  background-color: #51c5b8;
}

#daisen header .top-contact-btn {
  background-color: #3392df;
}

#toa header .top-contact-btn:hover,
#daisen header .top-contact-btn:hover {
  background-color: #fff;
}

#toa header .top-contact-btn:hover {
  color: #51c5b8;
}

#daisen header .top-contact-btn:hover {
  color: #3392df;
}

/* 共通パーツ
* ---------------------------------- */

/* --- 見出し --- */
#toa hgroup,
#daisen hgroup {
  margin-bottom: 80px;
  position: inherit;
}

#toa hgroup:has(h2) p,
#daisen hgroup:has(h2) p {
  font-size: 24px;
  line-height: 150%;
  font-weight: 700;
  font-family: "Akshar", sans-serif;
}

#toa hgroup:has(h2) p {
  color: #51c5b8;
}

#daisen hgroup:has(h2) p {
  color: #3392df;
}

#toa hgroup h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 150%;
  /* 54px */
}

#toa hgroup:has(h2)::after,
#daisen hgroup:has(h2)::after {
  display: none;
}

#toa h3,
#daisen h3 {
  font-size: 28px;
  font-weight: 700;
  line-height: 150%;
  /* 42px */
  padding-bottom: 0.5em;
  display: inline-block;
  margin-bottom: 80px;
}

#toa h3 {
  border-bottom: #51c5b8 4px solid;
}

#daisen h3 {
  border-bottom: #3392df 4px solid;
}

/* --- セクションごと --- */
#toa section,
#daisen section {
  padding: 120px 0;
}

#toa .container,
#daisen .container {
  text-align: center;
}

.shadow-area {
  padding: 0 !important;
}

.shadow-area .shadow-contents {
  width: 1200px;
  max-width: 92%;
  margin: auto;
  padding: 96px 4%;
  background: #fff;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  margin-top: max(-5vw, -80px);
  position: relative;
  z-index: 1;
}

#toa .shadow-area+section,
#daisen .shadow-area+section {
  padding-top: 160px;
  margin-top: -80px;
}

/* --- パンくず --- */
#toa .bread-list,
#daisen .bread-list {
  color: #fff;
}

#toa .bread-list li a,
#daisen .bread-list li a {
  border-bottom: #fff 1px solid;
}

#toa .bread-list li::before,
#daisen .bread-list li::before {
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}

/* --- 色系 --- */
#toa .main-color-txt {
  color: #18685f;
}

#daisen .main-color-txt {
  color: #1f4f76;
}

.main-color-bg {
  font-size: 18px;
  line-height: 200%;
}

#toa .main-color-bg {
  background-color: #eef9f8;
}

#daisen .main-color-bg {
  background-color: #ebf4fc;
}

#toa .subgray-bg {
  background-color: #f7f7f7;
}

#daisen .subgray-bg {
  background-color: #f4fbfe;
}

/* --- ボタン --- */
.main-btn {
  display: flex;
  width: 80%;
  max-width: 240px;
  padding: 8px 0px;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 18px;
  background-color: #fff;
  color: #51c5b8;
  border: 2px solid #51c5b8;
  margin: 80px auto 0 auto;
  /*アニメーションの指定*/
  transition: all 0.3s ease-in-out;
}

#toa .main-btn {
  color: #51c5b8;
  border: 2px solid #51c5b8;
}

#daisen .main-btn {
  color: #3392df;
  border: 2px solid #3392df;
}

.main-btn span.link-arrow {
  width: 17px;
  height: 2px;
  position: relative;
  margin-left: 0.5em;
  left: 0;
  /*アニメーションの指定*/
  transition: all 0.3s ease-in-out;
}

#toa .main-btn span.link-arrow {
  background-color: #51c5b8;
}

#daisen .main-btn span.link-arrow {
  background-color: #3392df;
}

.main-btn span.link-arrow::after {
  content: "";
  width: 12px;
  height: 12px;
  border-top: 2px #51c5b8 solid;
  border-right: 2px #51c5b8 solid;
  transform: rotate(45deg);
  position: absolute;
  top: -0.35em;
  right: 0;
  display: inline-block;
  /*アニメーションの指定*/
  transition: all 0.3s ease-in-out;
}

#toa .main-btn span.link-arrow::after {
  border-top: 2px #51c5b8 solid;
  border-right: 2px #51c5b8 solid;
}

#daisen .main-btn span.link-arrow::after {
  border-top: 2px #3392df solid;
  border-right: 2px #3392df solid;
}

#toa .main-btn:hover {
  color: #fff;
  background-color: #51c5b8;
}

#daisen .main-btn:hover {
  color: #fff;
  background-color: #3392df;
}

#toa .main-btn:hover span.link-arrow,
#daisen .main-btn:hover span.link-arrow {
  left: 8px;
  transition: 0.2s;
  background-color: #fff;
}

#toa .main-btn:hover span.link-arrow::after,
#daisen .main-btn:hover span.link-arrow::after {
  border-top: 2px #fff solid;
  border-right: 2px #fff solid;
}

/* トップページ
* ---------------------------------- */

/* --- メインビジュアル --- */
.toadaisen-main-visual {
  display: flex;
  align-items: center;
  aspect-ratio: 2 / 1;
  height: 100%;
  width: 100%;
  color: #fff;
  position: relative;
}

.toadaisen-top-slide {
  height: 100%;
  width: 55%;
  position: absolute;
  top: 0;
  right: 0;
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
}

#toa-top .toadaisen-main-visual {
  background-color: #18685f;
}

#daisen-top .toadaisen-main-visual {
  background-color: #1f4f76;
}

.toadaisen-main-visual .top-txt {
  text-align: left;
  padding-left: 32px;
}

.toadaisen-main-visual .top-txt h1 {
  color: #fff;
  font-size: min(4vw, 48px);
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  margin-bottom: 32px;
  display: inline-block;
  position: relative;
}

.top-hishigata01,
.top-hishigata02 {
  position: absolute;
}

.top-hishigata01 {
  top: max(-6vw, -64px);
  left: max(-5vw, -64px);
  width: min(10vw, 110px);
}

.top-hishigata02 {
  bottom: 8px;
  right: max(-4vw, -40px);
  width: min(4vw, 40px);
}

.toadaisen-main-visual .top-txt p {
  font-size: min(2vw, 24px);
  font-weight: 700;
  line-height: 150%;
}

/* --- トップページ全体のテキストサイズ --- */

#toa-top section p,
#daisen-top section p {
  font-size: 18px;
  line-height: 200%;
}

/* --- SP時にスライドになる画像たち --- */

.toadaisen-topimg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

/* --- 採用バナー --- */

#toa-top .recruit-bnr,
#daisen-top .recruit-bnr {
  transition: 0.3s;
  margin-top: 80px;
  display: block;
}

#toa-top .recruit-bnr:hover,
#daisen-top .recruit-bnr:hover {
  filter: brightness(120%);
}

/* 会社情報
* ---------------------------------- */
/* --- メインビジュアル --- */
#toa .toa-mv,
#daisen .daisen-mv {
  width: 100%;
  height: 100%;
  aspect-ratio: 180 / 59;
  position: relative;
  display: flex;
  align-items: center;
}

#toa .toa-mv {
  background-color: #18685f;
}

#daisen .daisen-mv {
  background-color: #1f4f76;
}

#toa .toa-mv hgroup,
#daisen .daisen-mv hgroup {
  text-align: left;
}

#toa .toa-mv hgroup .en-midashi,
#daisen .daisen-mv hgroup .en-midashi {
  font-family: "Akshar", sans-serif;
  font-size: min(10vw, 102px);
  font-weight: 600;
}

#toa .toa-mv hgroup .en-midashi {
  color: #1f7d73;
}

#daisen .daisen-mv hgroup .en-midashi {
  color: #235c8b;
}

#toa .toa-mv hgroup h1,
#daisen .daisen-mv hgroup h1 {
  color: #fff;
  font-size: min(5vw, 48px);
  font-style: normal;
  font-weight: 700;
  margin: -16px 0 0 24px;
}

.mv-bg-img {
  position: absolute;
  right: 0;
  top: 0;
  max-height: 100%;
  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
}

/* --- 代表挨拶 --- */
.shadow-area .president-txt {
  text-align: left;
}

.shadow-area .president-txt h4 {
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 700;
}

/* --- 事業内容 --- */
.business-img-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 80px;
}

/* --- 会社概要 --- */
#toa .default-table th {
  color: #18685f;
}

#daisen .default-table th {
  color: #1f4f76;
}

/* --- アクセス --- */
#toa .location-col,
#daisen .location-col {
  text-align: left;
}

#toa .location-col .location-img,
#daisen .location-col .location-img {
  width: 49%;
}

#toa .access-col .access-map,
#daisen .access-col .access-map {
  aspect-ratio: 3/2;

}

#toa .access-col,
#daisen .access-col {
  opacity: 1;
  visibility: visible;
  text-align: left;
  margin-top: 16px;
  max-height: none;
}

/* 採用情報
* ---------------------------------- */
/* --- トップのセクション --- */
#toa-recruit .shadow-area p.txtJ,
#daisen-recruit .shadow-area p.txtJ {
  font-size: 18px;
  line-height: 200%;
}

/* --- トーア＆ダイセンのモノづくり・働く環境 --- */
.toadaisen-recruit-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2%;
  margin-bottom: 96px;
}

.toadaisen-recruit-col {
  padding: 32px 24px;
  background: #fff;
}

#toa .toadaisen-recruit-col {
  border: 2px solid #51c5b8;
}

#daisen .toadaisen-recruit-col {
  border: 2px solid #3392df;
}

.toadaisen-recruit-col p {
  text-align: justify;
}

.toadaisen-recruit-col hgroup p.toadaisen-recruit-no {
  color: #fff;
  font-family: "Akshar", sans-serif;
  font-size: 36px;
  font-weight: 700;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px auto;
}

#toa .toadaisen-recruit-col hgroup,
#daisen .toadaisen-recruit-col hgroup {
  margin-bottom: 16px;
}

.toadaisen-recruit-col hgroup h4 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 0;
  line-height: 150%;
}

#toa .toadaisen-recruit-col hgroup p.toadaisen-recruit-no {
  background-color: #51c5b8;
}

#daisen .toadaisen-recruit-col hgroup p.toadaisen-recruit-no {
  background-color: #3392df;
}

#toa .toadaisen-recruit-col hgroup h4 {
  color: #18685f;
}

#daisen .toadaisen-recruit-col hgroup h4 {
  color: #1f4f76;
}

/* --- 先輩社員の声 --- */
.toa-profile,
.daisen-profile {
  text-align: left;
}

.toa-profile h4,
.daisen-profile h4 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 8px;
}

.toa-profile h4+p,
.daisen-profile h4+p {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 16px;
}

#toa .toa-profile hgroup,
#daisen .daisen-profile hgroup {
  margin-bottom: 40px;
}

.toa-profile h4 {
  color: #18685f;
}

.daisen-profile h4 {
  color: #1f4f76;
}

.toa-faq-col,
.daisen-faq-col {
  margin-top: 40px;
  text-align: left;
}

.toa-q-col,
.daisen-q-col {
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: 700;
  padding-bottom: 0.5em;
  margin-bottom: 24px;
}

.toa-q-col span,
.daisen-q-col span {
  font-family: "Akshar", sans-serif;
  font-size: 36px;
  font-weight: 700;
  margin: 0 0.2em;
}

.toa-q-col {
  border-bottom: 2px solid #51c5b8;
  color: #18685f;
}

.daisen-q-col {
  border-bottom: 2px solid #3392df;
  color: #1f4f76;
}

.toadaisen-time-schedule {
  width: 49%;
}

.toadaisen-time-schedule tr {
  border-bottom: 1px solid #808080;
}

.toadaisen-time-schedule tr:first-child {
  border-top: 1px solid #808080;
}

.toadaisen-time-schedule th {
  font-weight: 700;
  vertical-align: middle;
  padding: 1em;
  width: 20%;
}

.toadaisen-time-schedule td {
  padding: 1em 1em 1em 0;
}

.toa-a-col img,
.daisen-a-col img {
  width: 49%;
}

.toa-voice-wrap,
.daisen-voice-wrap {
  margin-bottom: 96px;
}

.toa-voice-wrap:last-child,
.daisen-voice-wrap:last-child {
  margin-bottom: 0;
}

/* --- 募集要項 --- */
h4.requirements-midashi {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 40px;
}

h4.requirements-midashi span {
  font-size: 14px;
  font-weight: 400;
  vertical-align: bottom;
  margin-left: 0.5em;
}

.toa-recruit-table,
.daisen-recruit-table,
.recruit-table {
  width: 100%;
  background-color: #fff;
}

.toa-recruit-table th,
.daisen-recruit-table th,
.recruit-table th {
  font-weight: 700;
  font-size: 18px;
  text-align: left;
  padding: 0.5em 1.5em;
  width: 25%;
  vertical-align: middle;
}

.toa-recruit-table th {
  background-color: #eef9f8;
}

.daisen-recruit-table th {
  background-color: #ebf4fc;
}

.recruit-table th {
  background-color: #f8f3ca;
}

.toa-recruit-table td,
.daisen-recruit-table td,
.recruit-table td {
  font-size: 16px;
  text-align: left;
  padding: 0.5em 1em;
}

.toa-recruit-table tr,
.daisen-recruit-table tr,
.recruit-table tr {
  border-bottom: 1px solid #808080;
}

.toa-recruit-table tr:first-child,
.daisen-recruit-table tr:first-child,
.recruit-table tr:first-child {
  border-top: 1px solid #808080;
}

.toa-recruit-table ul,
.daisen-recruit-table ul,
.recruit-table ul {
  padding-left: 1.5em;
}

.toa-recruit-table ul li,
.daisen-recruit-table ul li,
.recruit-table ul li {
  list-style-type: disc;
}

.toa-entry-btn,
.daisen-entry-btn {
  color: #fff;
  text-align: center;
  font-family: "Akshar", sans-serif;
  font-size: 36px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1em;
  max-width: 240px;
  margin: 56px auto 96px auto;
  transition: 0.3s;
}

.toa-entry-btn {
  background-color: #18685f;
  border: #18685f 2px solid;
}

.toa-entry-btn:hover {
  background-color: #fff;
  color: #18685f;
}

.daisen-entry-btn {
  background-color: #1f4f76;
  border: #1f4f76 2px solid;
}

.daisen-entry-btn:hover {
  background-color: #fff;
  color: #1f4f76;
}

/* フッター
* ---------------------------------- */
#toa footer,
#daisen footer {
  display: flex;
  justify-content: center;
  padding: 40px 0;
  color: #64625e;
  border-top: 2px solid #ccc;
}

#toa footer {
  background-color: #f7f7f7;
}

#daisen footer {
  background-color: #f4fbfe;
}

#toa footer .footer-container,
#daisen footer .footer-container {
  width: 92%;
}

#toa footer .footer-container nav,
#daisen footer .footer-container nav {
  text-align: center;
}

#toa footer nav ul,
#daisen footer nav ul {
  margin-right: 0px;
  display: flex;
}

#toa footer nav ul.main-links,
#daisen footer nav ul.main-links {
  gap: 40px;
  margin-top: 24px;
  justify-content: center;
}

#toa footer nav ul.sub-links,
#daisen footer nav ul.sub-links {
  gap: 16px;
  justify-content: flex-end;
  font-size: 14px;
}

#toa footer nav ul.sub-links li,
#daisen footer nav ul.sub-links li {
  font-size: 14px;
  border-bottom: 1px solid #64625e;
  line-height: normal;
}

@media (max-width: 768px) {
  /* =========================================
	コーポレートサイト
* ======================================== */

  /* ヘッダー
* ---------------------------------- */
  header {
    height: 62px;
  }

  .top-logo {
    width: 150px;
  }

  #header nav {
    display: block;
    position: fixed;
    background-color: #fff;
    width: 100%;
    top: 62px;
    height: auto;
    font-size: 16px;
    transition: right 0.3s ease-in-out;
    right: -100%;
  }

  #header nav.active {
    right: 0;
  }

  #header nav ul {
    display: block;
  }

  #header nav ul li {
    padding: 1.4em 1em;
    border-bottom: 1px solid #d4d4d4;
  }

  .top-contact-btn,
  .top-recruit-btn {
    align-items: center;
    padding: 1.4em;
    justify-content: center;
    margin: 16px auto;
    max-width: 300px;
  }

  .burger {
    position: absolute;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 62px;
    height: 62px;
    right: 0;
    top: 0;
    font-size: 10px;
    color: #64625e;
    font-weight: 500;
    z-index: 100001;
  }

  .burger-container {
    height: 40px;
  }

  .burger-wrap {
    width: 25px;
    height: 25px;
    position: relative;
    margin: auto;
  }

  .burger span {
    display: inline-block;
    transition: all 0.4s;
    height: 2px;
    width: 25px;
    background-color: #1f65b6;
    position: absolute;
  }

  .burger span:nth-of-type(1) {
    top: 3px;
  }

  .burger span:nth-of-type(2) {
    top: 11px;
  }

  .burger span:nth-of-type(3) {
    bottom: 3px;
  }

  .burger.active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) rotate(315deg);
    transform: translateY(20px) rotate(315deg);
    top: -9px;
  }

  .burger.active span:nth-of-type(2) {
    opacity: 0;
  }

  .burger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-20px) rotate(-315deg);
    transform: translateY(-20px) rotate(-315deg);
    bottom: -8px;
  }

  /* 共通パーツ
* ---------------------------------- */

  /* --- 見出し --- */
  #corporate .midashi-wrap hgroup {
    padding: 16px 0;
  }

  #corporate .midashi-wrap hgroup h1 {
    font-size: 40px;
  }

  #corporate .midashi-wrap hgroup:has(h1) p {
    font-size: 18px;
  }

  #corporate hgroup:has(h1) {
    margin-bottom: 24px;
  }

  h1 {
    font-size: 40px;
  }

  #corporate hgroup:has(h1) p {
    font-size: 16px;
    margin-top: 0;
  }

  #corporate h2 {
    font-size: 22px;
    line-height: 150%;
  }

  #corporate hgroup:has(h2) {
    margin-bottom: 40px;
  }

  hgroup:has(h2)::after {
    bottom: -16px;
  }

  #corporate hgroup:has(h2) p {
    font-size: 14px;
    margin-top: 8px;
  }

  h3 {
    font-size: 18px;
    margin-bottom: 24px;
  }

  h4 {
    font-size: 18px;
    margin-bottom: 24px;
  }

  /* --- ボタン --- */
  .corporate-btn {
    margin: 24px auto 0 auto;
  }

  /* --- テキスト系 --- */
  .top-section p {
    font-size: 16px;
  }

  /* --- 第二階層 --- */
  .tier02 .midashi-wrap img {
    object-fit: cover;
    height: 178px;
  }

  /* --- 第三階層 --- */
  .tier03 .midashi-wrap hgroup {
    display: block;
  }

  .tier03 .midashi-wrap hgroup::after {
    left: -4%;
  }

  #corporate .tier03 .midashi-wrap hgroup:has(h1) p {
    font-size: 16px;
  }

  #corporate .tier03 .midashi-wrap h1 {
    font-size: 32px;
  }

  /* トップページ
* ---------------------------------- */

  /* --- メインビジュアル --- */
  .mv-area {
    height: 600px;
    aspect-ratio: unset;
  }

  .mv-movie {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }

  #corporate .mv-wrap hgroup {
    bottom: 16px;
  }

  #corporate .mv-wrap hgroup p {
    font-size: 25px;
  }

  #corporate .mv-wrap hgroup h1 {
    font-size: 60px;
    color: #fff;
    line-height: 80%;
  }

  /* --- YAMADAについて --- */
  .our-scale-area {
    background-position: top 33% right 50%;
    font-size: 14px;
    background-size: 150%;
  }

  .our-scale-area .flex {
    margin-top: max(53vw, 200px);
  }

  #corporate .our-scale-area h1,
  #corporate .top-products h1 {
    color: #000;
    font-size: 40px;
  }

  .our-scale-area h3,
  .top-products h3 {
    margin-top: 8px;
  }

  #top .corporate-btn {
    margin: 24px auto;
  }

  /* --- 製品情報 --- */
  .top-products-wrap {
    gap: 16px;
    grid-template-columns: repeat(2, 1fr);
  }

  .top-products-col img {
    aspect-ratio: 41 / 40;
    object-fit: cover;
    width: 100%;
  }

  /* --- 会社情報 --- */

  #corporate .top-company-img {
    position: static;
    width: 100%;
    aspect-ratio: 26 / 11;
  }

  section.top-company {
    padding: 32px 0 0 0;
  }

  #corporate #top .top-company h1 {
    font-size: 40px;
  }

  #corporate #top .top-compan hgroup p {
    font-size: 16px;
  }

  /* --- サステナビリティ --- */
  .top-sustainability-wrap {
    display: block;
    padding: 40px 24px;
  }

  .top-sustainability-wrap .corporate-btn {
    margin: 24px auto 0 auto;
  }

  /* --- お知らせ --- */
  .top-news {
    background-image: none;
  }

  .top-news-btn {
    font-weight: 700;
    display: flex;
    align-items: center;
    padding: 1em;
    max-width: 240px;
    margin: 40px auto 0 auto;
    transition: 0.2s;
    position: relative;
    font-size: 16px;
  }

  .top-news-btn::after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: solid 2px #1f65b6;
    border-right: solid 2px #1f65b6;
    position: absolute;
    right: 1em;
    top: 40%;
    transform: rotate(45deg);
    transition: 0.3s;
  }

  .top-news-btn:hover {
    background-color: #1f65b6;
    color: #fff;
  }

  .top-news-btn:hover::after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
  }

  .top-news-list {
    width: 100%;
  }

  /* YAMADAについて
* ---------------------------------- */

  /* --- さぁ、世界を驚かせよう！ --- */
  #aboutus .top-section hgroup p {
    font-size: 16px;
    text-align: left;
  }

  #aboutus hgroup {
    text-align: left;
    color: #000;
  }

  #aboutus .top-section {
    background-size: cover;
  }

  #aboutus .top-section p {
    text-align: justify;
  }

  /* --- 取り扱い分野 --- */

  .field-col {
    font-size: 18px;
    aspect-ratio: 41 / 30;
  }

  .world-area .corporate-bg {
    padding: 24px 0;
    margin-top: 24px;
  }

  /* 一貫生産・品質管理
* ---------------------------------- */
  /* --- 3つのオブジェクト --- */
  .quality-wrap {
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 32px;
    margin-top: 40px;
  }

  .quality-col h4 {
    margin: 8px 0;
  }

  .quality-col p {
    font-size: 14px;
  }

  /* --- WORK FLOW --- */

  .workflow-col:first-child {
    margin-top: 40px;
  }

  .workflow-container {
    display: block;
  }

  .workflow-col hgroup {
    margin-bottom: 16px;
  }

  .workflow-col hgroup p {
    margin-bottom: 4px;
  }

  .workflow-img {
    width: 100%;
    max-width: none;
    margin: 16px auto 0 auto;
  }

  .production-wrap {
    display: block;
  }

  .production-col {
    margin-bottom: 16px;
  }

  .production-col:last-child {
    margin-bottom: 0;
  }

  .production-col .production-midahsi span {
    font-size: 32px;
  }

  /* --- A part of our products --- */
  .part-of-products-wrap {
    display: block;
  }

  /* 製品情報
* ---------------------------------- */
  #products section.top-section p {
    text-align: left;
  }

  /* --- アンカーリンク --- */
  .anchor-wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 24px;
  }

  /* --- 各製品 --- */

  .products-wrap {
    gap: 40px;
  }

  .products-txt {
    font-weight: 700;
  }

  p.noarticles.corporate-color {
    font-size: 16px;
  }

  /* 会社情報
* ---------------------------------- */

  /* --- それぞれのオブジェクト --- */
  .company-col {
    display: block;
    margin-bottom: 24px;
  }

  .company-col h2 {
    font-size: 20px;
  }

  .company-col .company-txt {
    padding: 24px;
    width: 100%;
  }

  .company-col:last-child {
    margin-bottom: 0;
  }

  #company .company-col .company-txt hgroup:has(h2) {
    margin-bottom: 40px;
  }

  .company-img {
    max-width: 100%;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
  }

  /* --- グループ会社 --- */

  .group-wrap {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .group-col h3 {
    margin-bottom: 0px;
    margin-top: 16px;
  }

  .group-col p {
    margin: 16px 0;
  }

  /* 代表挨拶・企業理念
* ---------------------------------- */

  /* --- 代表挨拶 --- */

  .president-img {
    margin: 0 auto 32px auto;
  }

  /* --- 企業理念 --- */
  .philosophy-wrap {
    background-image: none;
  }

  .keyword-wrap {
    gap: 8px;
    margin-top: 16px;
  }

  .keyword-wrap h5 {
    font-size: 16px;
  }

  .keyword-wrap p {
    font-size: 16px;
  }

  /* 会社概要・沿革
* ---------------------------------- */

  .default-table th {
    display: block;
    width: 100%;
    padding: 1em 1em 0 1em;
  }

  .default-table td {
    padding: 0 1em 1em 1em;
    width: 100%;
    display: block;
  }

  .default-table tr:first-child {
    border-top: 1px solid #808080;
  }

  .default-table tr {
    border-bottom: 1px solid #808080;
  }

  #overview h3 {
    margin-bottom: 8px;
    margin-top: 24px;
  }

  /* 拠点・グループ・アクセス
* ---------------------------------- */
  .location-wrap {
    margin-bottom: 32px;
  }

  #location h3 {
    font-size: 20px;
  }

  .location-wrap h4 {
    margin-bottom: 8px;
    font-size: 18px;
  }

  .location-col {
    line-height: 170%;
    display: block;
  }

  .location-img,
  #toa .location-col .location-img,
  #daisen .location-col .location-img {

    margin-left: 0;
    margin-bottom: 16px;
    width: 100%;
  }

  .access-trigger {
    font-size: 16px;
    margin-top: 8px;
  }

  .access-trigger::after {
    top: 0.5em;
  }

  /* --- アクセス --- */

  .location-wrap.active .access-col {
    max-height: 700px;
  }

  .location-wrap.active .access-trigger::after {
    top: 0.6em;
  }

  .access-col .access-map {
    aspect-ratio: 14/9;
  }

  /* サステナビリティ
* ---------------------------------- */
  /* --- トップメッセージ --- */
  .president-name {
    font-size: 14px;
  }

  .president-name span {
    font-size: 16px;
  }

  /* --- サステナビリティ基本方針 --- */

  #sustainability ol {
    padding-left: 1.2em;
  }

  /* --- 4つの重点課題と主な取り組み --- */
  #sustainability .sustainability-col h4 {
    margin-bottom: 8px;
  }

  .sustain-txt {
    width: 100%;
    font-size: 14px;
    margin: 16px 0;
  }

  .sustain-img {
    width: 100%;
  }

  .sustainability-col {
    margin-bottom: 40px;
  }

  .sdgs-icon-col {
    margin-top: 8px;
  }

  .sdgs-icon {
    width: min(14vw, 53px);
  }

  #sustainability .flex .txtC p {
    text-align: left;
  }

  /* お知らせ
* ---------------------------------- */
  #news h5 {
    color: #000;
    margin-bottom: 16px;
  }

  /* --- お知らせタブ --- */
  .category-item {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 40px;
    background-color: #1f65b6;
    gap: 1px;
  }

  .category-btn {
    border-right: none;
    font-size: 16px;
    background: #fff;
  }

  /* --- お知らせ一覧 --- */

  .category-txt {
    padding: 0.2em 0.5em 0.3em 0.5em;
  }

  /* 記事
* ---------------------------------- */

  #article h4.article-midashi {
    font-size: 18px;
  }

  #article h5.article-midashi {
    font-size: 16px;
  }

  #article .article-container {
    margin-bottom: 40px;
  }

  #article .is-layout-flex {
    display: block;
  }

  #article .is-layout-flex img {
    margin-bottom: 16px;
  }

  /*  プライバシーポリシー
* ---------------------------------- */
  .privacy-col {
    margin-bottom: 24px;
  }

  /* お問い合わせ
* ---------------------------------- */

  .caution-txt {
    font-size: 12px;
  }

  .form-area {
    margin: 24px auto;
  }

  .form-col {
    display: block;
    margin-bottom: 16px;
  }

  .form-col dt {
    margin-right: 0;
    width: auto;
  }

  .form-col dd {
    width: 100%;
  }

  .tel-group input {
    width: 23%;
    min-width: auto;
  }

  .privacy-note {
    text-align: justify;
    padding-left: 1em;
    text-indent: -1em;
  }

  /* フッター
	* ---------------------------------- */

  footer {
    font-size: 14px;
  }

  #corporate footer {
    margin-bottom: 88px;
  }

  /* 追従ボタン
  * ---------------------------------- */
  .float-btn {
    background: rgba(255, 255, 255, 0.70);
    backdrop-filter: blur(2.5px);
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: opacity 0.6s ease, visibility 0.6s ease, transform 0.6s ease;
  }

  .float-btn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .float-btn .corporate-btn {
    margin: 16px auto;
    width: 100%;
    max-width: 300px;
    justify-content: center;
  }

  .float-btn .corporate-btn::after {
    right: 3em;
  }


  /* =========================================
	* 採用サイト
	* ======================================== */

  /* ヘッダー
	* ---------------------------------- */
  #recruit header .top-logo {
    width: 135px;
    max-width: none;
    padding: 16px;
  }

  #recruit .burger span {
    background-color: #e84d4d;
  }

  #recruit header .header-contents nav {
    width: 100%;
  }

  #recruit header .header-contents nav ul {
    width: 100%;
  }

  #recruit header .top-entry-btn {
    position: absolute;
    top: 0;
    right: 62px;
    font-size: 14px;
    width: 20%;
    font-weight: 700;
    min-width: 120px;
    padding-right: 1em;
  }

  .top-entry-btn span::after {
    width: 6px;
    height: 6px;
    left: 0.5em;
    top: -0.3em;
    transform: rotate(135deg);
    transition: 0.3s;
  }

  #recruit header ul.entry-child {
    top: 62px;
    right: 62px;
    width: 20%;
    min-width: 120px;
    max-width: none;
  }

  #recruit header .entry-child.active {
    width: 20%;
    min-width: 120px;
    max-width: none;
  }

  #recruit header .entry-child li a {
    font-size: 14px;
    font-weight: 700;
  }

  /* 共通パーツ
* ---------------------------------- */

  /* --- 見出し --- */

  .recruit-midashi hgroup p {
    font-size: 60px;
    font-weight: 400;
    white-space: wrap;
    line-height: 80%;
  }

  .tier02 .recruit-midashi .container {
    padding: 40px 0px 104px 0;
  }

  .recruit-midashi hgroup h1 {
    font-size: 20px;
    margin: 0 0 0 24px;
  }

  #company .midashi-illust {
    width: min(50vw, 250px);
    right: 0;
    bottom: -16px;
  }

  #job .midashi-illust {
    width: min(60vw, 250px);
    right: 0px;
    bottom: -24px;
    top: auto;
  }

  #environment .midashi-illust {
    width: max(60vw, 250px);
    right: 0px;
    bottom: -24px;
  }

  #requirements .midashi-illust {
    width: max(25vw, 105px);
    right: 24px;
    bottom: -32px;
  }

  #column .midashi-illust {
    width: min(36vw, 180px);
    right: 24px;
    bottom: -30px;
  }

  #news .midashi-illust {
    width: min(26vw, 132px);
    right: 24px;
    bottom: -24px;
  }

  #recruit hgroup:has(h2) {
    margin-bottom: 24px;
  }

  #recruit hgroup:has(h2) p {
    margin-bottom: 8px;
    font-size: 32px;
  }

  #recruit hgroup h2 {
    font-size: 20px;
  }

  #recruit h3 {
    font-size: 20px;
    margin-bottom: 24px;
  }

  #recruit h4 {
    font-size: 18px;
  }

  /* --- 第三階層 --- */

  .tier03 .recruit-midashi hgroup {
    display: block;
  }

  .tier03 .recruit-midashi .container {
    padding: 16px 0;
  }

  .tier03 .recruit-midashi hgroup h1 {
    margin-left: 24px;
  }

  /* --- ボタン --- */
  .recruit-btn {
    margin: 24px auto 40px auto;
  }

  /* --- パンくず --- */
  .bread-list {
    margin: 40px 0 16px 0;
  }

  /* --- テキスト系 --- */
  .lead-copy {
    font-size: 14px;
    line-height: 170%;
    text-align: justify;
  }

  /* トップページ
* ---------------------------------- */

  #recruit #top section {
    padding: 40px 0px;
  }

  .recruit-top-mv {
    padding-top: 32px;
  }

  .recruit-top-img {
    position: relative;
    text-align: center;
    right: 32px;
    bottom: auto;
    width: 120%;
    max-width: 120%;
  }

  .recruit-top-mv h1 {
    font-size: 26px;
    line-height: 260%;
  }

  .recruit-top-mv h1 span:first-child img {
    width: 112px;
    margin: 8px;
  }

  .recruit-top-mv h1 span:last-child img {
    width: 344px;
  }

  .recruit-top-mv h1 span {
    margin: 0;
  }

  .recruit-top-mv h1 span img {
    vertical-align: middle;
  }

  .recruit-top-mv .recruit-top-copy {
    font-size: 16px;
    margin-top: 24px;
  }

  .recruit-top-mv .mv-txt {
    font-size: 75px;
    left: 0;
  }

  /* --- メッセージ --- */
  #recruit #top .top-area {
    padding: 56px 0;
  }

  .top-bg-l,
  .top-bg-r {
    display: none;
  }

  /* --- 求める人材 --- */
  #recruit #top section.human-resources {
    display: block;
    padding: 0;
  }

  .human-resources-wrap {
    background-color: #f8f3ca;
    padding: 80px 16px;
    width: 94%;
  }

  .human-resources-wrap h2 {
    font-size: 20px;
    border-left: 8px solid #fff;
    margin-bottom: 24px;
  }

  .human-resources-wrap ul li {
    gap: 8px;
    margin-bottom: 16px;
    font-size: 17px;
  }

  .human-resources-wrap ul li .list-number {
    font-size: 28px;
    line-height: 45px;
    width: 45px;
    height: 45px;
  }

  .human-img {
    position: relative;
    right: auto;
    left: 16px;
    top: max(-15vw, -56px);
    width: 80%;
  }

  .human-img .human-img01,
  .human-img .human-img02 {
    margin-bottom: 24px;
  }

  .human-img .human-img01 {
    right: 0;
  }

  .human-img .human-img02 {
    left: auto;
    right: -10vw;
  }

  /* --- 会社を知る --- */
  #recruit #top section.top-company {
    padding: 0 0 40px 0;
  }

  .top-company-txt {
    font-size: 24px;
    margin-bottom: 24px;
  }

  .top-company .recruit-btn {
    margin: 24px auto;
  }

  /* --- 仕事を知る --- */
  .top-job-wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .top-job-col {
    display: block;
    text-align: center;
  }

  .top-job-col img {
    width: 100%;
  }

  .top-job-col hgroup {
    text-align: center;
  }

  #top .top-job-col .job-number {
    font-size: 32px;
    margin-bottom: 8px;
  }

  #top .top-job-col h3 {
    font-size: 20px;
  }

  /* --- 先輩社員の声 --- */

  #top .top-voice-list {
    padding: 0 60px;
    /* 左右ボタン分の余白を確保 */
    box-sizing: border-box;
  }

  #top .voice-list-col {
    width: 100%;
    /* 1枚分の幅に固定 */
    margin: 0 auto;
  }

  #top .slick-prev,
  #top .slick-next {
    width: 40px;
    height: 40px;
  }

  #top .slick-prev {
    left: 0;
    /* スライダー領域内の左端 */
  }

  #top .slick-next {
    right: 0;
    /* スライダー領域内の右端 */
  }

  /* --- 働く環境を知る --- */

  .top-environment-col {
    border: 6px solid #f8f3ca;
    padding: 24px;
  }

  .top-environment-txt::after {
    right: 0;
  }

  .top-environment-txt h4 {
    margin: 8px 0;
  }

  /* --- 募集要項 --- */
  #top .top-requirements hgroup:has(h2),
  #top .top-requirements hgroup:has(h2) p {
    text-align: center;
  }

  #top .top-requirements .container {
    position: relative;
    z-index: 1;
  }

  .top-btn-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: auto;
  }

  .top-requirements-btn {
    font-size: 16px;
    border-radius: 16px;
    padding: 16px;
    width: 100%;
    margin: auto;
  }

  .top-requirements-img {
    position: relative;
    transform: translate(0);
    right: -20vw;
    height: auto;
    width: 80%;
    margin: 40px 0;
  }

  /* --- もっと知りたい！山田工業 --- */
  #top .column-list {
    grid-template-columns: 1fr;
  }

  #top .column-col {
    margin-bottom: 24px;
  }

  /* --- よくある質問 --- */

  .top-faq-q p {
    font-size: 16px;
  }

  .top-faq-wrap {
    text-align: justify;
  }

  .top-faq-col:first-child {
    border-top: solid 1px #b3b3b3;
  }

  .top-faq-col {
    border-bottom: 1px solid #b3b3b3;
    padding: 16px;
  }

  .top-faq-q {
    position: relative;
    padding-right: 1.2em;
  }

  .top-faq-q::after {
    content: "";
    width: 10px;
    height: 10px;
    border-bottom: #e84d4d solid 2px;
    border-right: #e84d4d solid 2px;
    cursor: pointer;
    transform: translateY(-50%) rotate(45deg);
    /* ↓ */
    transition: transform 0.3s ease;
    position: absolute;
    right: 0;
    top: 50%;
  }

  .top-faq-q.active::after {
    transform: translateY(-50%) rotate(-135deg);
    /* ↑ */
  }

  .top-faq-a {
    display: none;
    overflow: hidden;
    transition: all 0.3s ease;
  }

  .top-faq-a.active {
    display: flex;
  }

  /* 会社を知る
* ---------------------------------- */

  /* --- 数字で見る山田工業（共通パーツ） --- */
  .numbers-wrap {
    display: block;
    margin-bottom: 0;
  }

  .numbers-col {
    margin-bottom: 16px;
  }

  .numbers-col img {
    display: block;
    margin: auto;
  }

  .numbers-inner {
    display: block;
  }

  .data01,
  .data02,
  .data03,
  .data04,
  .data05,
  .data06,
  .data07,
  .data08 {
    width: 100%;
  }

  .numbers-inner:has(.data02) {
    width: 100%;
  }

  .numbers-inner:has(.work03) {
    width: 100%;
  }

  .work01,
  .work02,
  .work03,
  .work04,
  .work05 {
    width: 100%;
  }

  #recruit .numbers-col h4.numbers-midashi {
    font-size: 18px;
  }

  /* 仕事を知る
* ---------------------------------- */

  /* --- 山田工業を支える6職種 --- */
  .job-wrap {
    margin-top: 40px;
    gap: 32px;
  }

  .job-col {
    padding: 0px 32px 32px 32px;
  }

  .job-col hgroup .job-number {
    font-size: 32px;
  }

  #job .job-col hgroup h3 {
    margin-bottom: 20px;
  }

  /* --- 先輩社員の声 --- */
  #job .voice-list {
    display: block;
  }

  #job .voice-list-col {
    padding: 8px 16px 8px 8px;
    margin-bottom: 16px;
    border-radius: 21.5px;
  }

  #job .voice-list-col a {
    display: flex;
    gap: 8px;
    align-items: center;
  }

  .voice-list-col::after {
    right: 8px;
    bottom: 45%;
    border-top: 3px solid #e84d4d;
    border-right: 3px solid #e84d4d;
  }

  #job .voice-img {
    aspect-ratio: 110 / 133;
    max-width: 110px;
    border-radius: 14px;
    width: 100%;
  }

  #job .voice-list-col .voice-list-txt .job-name {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 4px 0;
  }

  #job .voice-list-col .voice-list-txt .voice-initial {
    margin: 8px 8px 8px 0;
  }

  /* 先輩社員の声
* ---------------------------------- */
  /* --- プロフィール --- */
  .voice-area img,
  .schedule-area img {
    border-radius: 15px;
  }

  .profile-wrap {
    margin-bottom: 40px;
  }

  .profile-txt {
    padding-top: 0;
  }

  .profile-txt .voice-illust {
    position: absolute;
    top: -24px;
  }

  .profile-txt .job-category {
    font-size: 20px;
  }

  .profile-txt .initial-txt {
    font-size: 20px;
    margin: 16px 0;
  }

  .profile-txt .self-introduction {
    margin-top: 16px;
  }

  .profile-txt .job-category span {
    padding: 2px 4px;
  }

  /* --- FAQ --- */
  .faq-img,
  .schedule-img {
    width: 100%;
    margin: 40px 0;
  }

  .flex .faq-col {
    margin-right: 0;
  }

  .faq-col .q-txt {
    font-size: 16px;
    margin-bottom: 16px;
    align-items: flex-start;
  }

  /* --- スケジュール --- */
  #recruit .schedule-area hgroup {
    margin-bottom: 0;
  }

  #recruit .schedule-area hgroup h2 {
    font-size: 28px;
  }

  #recruit .schedule-area hgroup:has(h2) p {
    font-size: 18px;
  }

  /* --- 先輩の声一覧（下部） --- */

  #voice .voice-img {
    aspect-ratio: 25 / 28;
    width: 100%;
  }

  #voice .voice-list-col .voice-list-txt .job-name {
    margin: 4px 0 0 0;
  }

  #voice .voice-list-col .voice-list-txt .voice-initial {
    margin: 4px 0 4px 0;
  }

  #voice .voice-list-col .voice-list-txt dl {
    font-size: 14px;
  }

  /* 働く環境を知る
* ---------------------------------- */

  /* --- 福利厚生 --- */
  #environment .lead-copy {
    font-size: 16px;
    margin-bottom: 32px;
    text-align: justify;
  }

  .benefits-wrap {
    margin: 64px 0;
    display: block;
  }

  .benefits-wrap .benefits-col {
    margin-bottom: 24px;
    border: 6px solid #f8f3ca;
  }

  #environment h4.benefits-midashi {
    margin: 8px auto;
  }

  .balancing-both-wrap {
    gap: 24px;
  }

  .balancing-both-col {
    padding: 24px;
  }

  /* --- 教育システム --- */
  .education-area h3 {
    margin-top: 80px;
  }

  .education-img {
    margin: 32px 0 0 0;
  }

  .education-col {
    display: block;
    border: 6px solid #f8f3ca;
    padding: 24px;
  }

  .education-txt h4 {
    margin: 16px 0;
    text-align: center;
  }

  .education-txt ul {
    text-align: justify;
  }

  /* もっと知りたい！山田工業
* ---------------------------------- */

  /* --- コラムタブ --- */

  #recruit .category-item {
    background-color: transparent;
  }

  #recruit .category-btn {
    font-size: 16px;
    padding: 0.2em 0;
  }

  /* --- コラム一覧 --- */
  .column-col {
    gap: 24px;
    margin-bottom: 56px;
  }

  #column .news-date {
    font-size: 12px;
  }

  #column h3.column-title {
    font-size: 18px;
  }

  /* 募集要項
	* ---------------------------------- */
  #recruit .note {
    font-size: 12px;
  }

  /* フッター
	* ---------------------------------- */
  #recruit footer {
    padding: 24px 0;
  }

  #recruit footer .nav-wrap,
  #recruit footer .footer-right {
    width: 100%;
  }

  #recruit .footer-right {
    margin-top: 24px;
  }

  #recruit p.footer-entry-txt {
    font-size: 18px;
  }

  #recruit .sub-links {
    justify-content: flex-start;
    font-size: 14px;
  }

  #recruit footer .footer-btn span.arrow-icon::after {
    width: 0.7em;
    height: 0.7em;
    top: 8px;
  }

  #recruit footer .footer-btn {
    padding: 16px;
    max-width: 240px;
  }

  /* =========================================
	* トーア・ダイセン
	* ======================================== */

  /* ヘッダー
	* ---------------------------------- */

  #toa .burger span {
    background-color: #18685f;
  }

  #daisen .burger span {
    background-color: #1f4f76;
  }

  #toa .header-contents nav ul li:hover,
  #daisen .header-contents nav ul li:hover {
    background-color: #f2f2f2;
  }

  #toa header .top-contact-btn,
  #daisen header .top-contact-btn {
    padding: 1.2em;
  }

  #toa header .top-contact-btn:hover {
    background-color: #dbfffb;
  }

  #daisen header .top-contact-btn:hover {
    background-color: #e4f4ff;
  }

  /* 共通パーツ
* ---------------------------------- */

  /* --- 見出し --- */
  #toa hgroup,
  #daisen hgroup {
    margin-bottom: 40px;
  }

  #toa hgroup:has(h2) p,
  #daisen hgroup:has(h2) p {
    font-size: 18px;
    text-align: center;
  }

  #toa hgroup h2,
  #daisen hgroup h2 {
    font-size: 24px;
  }

  #toa h3,
  #daisen h3 {
    font-size: 20px;
    margin-bottom: 40px;
  }

  /* --- セクションごと --- */
  #toa section,
  #daisen section {
    padding: 40px 0;
  }

  .shadow-area {
    padding: 0 !important;
  }

  .shadow-area .shadow-contents {
    max-width: 100%;
    padding: 40px 0;
    box-shadow: none;
    margin-top: 0;
  }

  #toa .shadow-area+section,
  #daisen .shadow-area+section {
    padding-top: 40px;
    margin-top: 0;
  }

  /* --- パンくず --- */
  #toa .bread-list,
  #daisen .bread-list {
    margin: 0;
  }

  .main-color-bg {
    font-size: 14px;
    line-height: 170%;
  }

  /* --- ボタン --- */
  .main-btn {
    font-size: 16px;
    margin: 24px auto 0 auto;
  }

  #toa .main-btn {
    color: #51c5b8;
    border: 2px solid #51c5b8;
  }

  #daisen .main-btn {
    color: #3392df;
    border: 2px solid #3392df;
  }

  .main-btn span.link-arrow::after {
    top: -5.6px;
  }

  /* トップページ
	* ---------------------------------- */

  /* --- メインビジュアル --- */
  .toadaisen-main-visual {
    display: block;
    aspect-ratio: initial;
    width: 100%;
    height: 100dvh;
  }

  .toadaisen-top-slide {
    width: 100%;
    height: 70dvh;
    position: static;
    clip-path: none;
  }

  .toadaisen-top-slide * {
    height: 100%;
    width: 100%;
  }

  .toadaisen-top-slide img {
    object-fit: cover !important;
  }

  #toa-top .toadaisen-main-visual {
    background-color: #f7f7f7;
  }

  #daisen-top .toadaisen-main-visual {
    background-color: #f4fbfe;
  }

  .toadaisen-main-visual .container {
    position: absolute;
    clip-path: polygon(15% 0%, 100% 0, 85% 100%, 0% 100%);
    z-index: 5;
    bottom: -20dvh;
    left: -40px;
    padding: 32px 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .top-sp-hishigata {
    position: relative;
  }

  .top-shadow {
    filter: drop-shadow(5px 5px 8px rgba(0, 0, 0, 0.25));
    position: relative;
    z-index: 6;
  }

  #toa-top .toadaisen-main-visual .container {
    background-color: #18685f;
  }

  #daisen-top .toadaisen-main-visual .container {
    background-color: #1f4f76;
  }

  .toadaisen-main-visual .top-txt {
    padding-left: 0px;
  }

  .toadaisen-main-visual .top-txt h1 {
    font-size: 30px;
    margin-bottom: 16px;
  }

  .toadaisen-main-visual .top-txt p {
    font-size: 14px;
  }

  .top-hishigata03,
  .top-hishigata04 {
    position: absolute;
  }

  .top-hishigata04 {
    top: min(9vw, 65px);
    right: min(8vw, 80px);
    width: min(55vw, 211px);
  }

  .top-hishigata03 {
    top: max(-50vw, -180px);
    right: 20px;
    width: min(10vw, 50px);
  }

  /* --- トップページ全体のテキストサイズ --- */

  #toa-top section p,
  #daisen-top section p {
    font-size: 14px;
    line-height: 170%;
    text-align: justify;
  }

  /* --- SP時にスライドになる画像たち --- */

  .toadaisen-topimg {
    display: block;
  }

  /* --- 採用バナー --- */

  #toa-top .recruit-bnr,
  #daisen-top .recruit-bnr {
    margin-top: 40px;
  }

  /* 会社情報
* ---------------------------------- */
  /* --- メインビジュアル --- */

  .mv-bg-img {
    position: static;
    max-height: none;
    clip-path: none;
    width: 100%;
    aspect-ratio: 13 / 6;
    object-fit: cover;
  }

  #toa .toa-mv,
  #daisen .daisen-mv {
    aspect-ratio: unset;
    display: block;
  }

  #toa .toa-mv .container,
  #daisen .daisen-mv .container {
    padding: 32px 0;
  }

  #toa .toa-mv hgroup,
  #daisen .daisen-mv hgroup {
    text-align: left;
    margin-bottom: 16px;
  }

  #toa .toa-mv hgroup .en-midashi,
  #daisen .daisen-mv hgroup .en-midashi {
    font-size: 40px;
  }

  #toa .toa-mv hgroup h1,
  #daisen .daisen-mv hgroup h1 {
    font-size: 28px;
    margin: 0px;
  }

  /* --- 代表挨拶 --- */

  .shadow-area .president-txt h4 {
    margin-bottom: 8px;
    font-size: 18px;
  }

  /* --- 事業内容 --- */
  .business-img-wrap {
    display: block;
    margin-top: 40px;
  }

  /* 採用情報
* ---------------------------------- */
  /* --- トップのセクション --- */
  #toa-recruit .shadow-area p.txtJ,
  #daisen-recruit .shadow-area p.txtJ {
    font-size: 14px;
    line-height: 170%;
  }

  /* --- トーア＆ダイセンのモノづくり・働く環境 --- */
  .toadaisen-recruit-wrap {
    display: block;
    margin-bottom: 40px;
  }

  .toadaisen-recruit-col {
    padding: 16px;
    margin-bottom: 24px;
  }

  .toadaisen-recruit-col hgroup p.toadaisen-recruit-no {
    font-size: 18px;
    width: 35px;
    height: 35px;
    margin: 0 auto 8px auto;
  }

  #toa .toadaisen-recruit-col hgroup,
  #daisen .toadaisen-recruit-col hgroup {
    margin-bottom: 8px;
  }

  .toadaisen-recruit-col hgroup h4 {
    font-size: 18px;
  }

  /* --- 先輩社員の声 --- */

  .toa-profile h4,
  .daisen-profile h4 {
    font-size: 20px;
  }

  .toa-profile h4+p,
  .daisen-profile h4+p {
    font-size: 20px;
    margin-bottom: 8px;
  }

  #toa .toa-profile hgroup,
  #daisen .daisen-profile hgroup {
    margin-bottom: 8px;
  }

  .toa-faq-col,
  .daisen-faq-col {
    margin-top: 24px;
  }

  .toa-q-col,
  .daisen-q-col {
    font-size: 18px;
    margin-bottom: 16px;
  }

  .toadaisen-time-schedule {
    width: 100%;
  }

  .toa-a-col img,
  .daisen-a-col img {
    margin-top: 16px;
    width: 100%;
  }

  .toa-voice-wrap,
  .daisen-voice-wrap {
    margin-bottom: 64px;
  }

  .toa-voice-wrap:last-child,
  .daisen-voice-wrap:last-child {
    margin-bottom: 0;
  }

  /* --- 募集要項 --- */
  h4.requirements-midashi {
    font-size: 20px;
    margin-bottom: 24px;
  }

  h4.requirements-midashi span {
    font-size: 12px;
  }

  .toa-recruit-table th,
  .daisen-recruit-table th,
  .recruit-table th {
    display: block;
    font-size: 16px;
    width: 100%;
    padding: 0.5em 1em;
    border-bottom: 1px solid #808080;
  }

  .toa-recruit-table td,
  .daisen-recruit-table td,
  .recruit-table td {
    display: block;
    width: 100%;
    font-size: 14px;
    padding: 1em;
  }

  .toa-entry-btn,
  .daisen-entry-btn {
    font-size: 24px;
    padding: 0.5em 1em;
    margin: 24px auto 40px auto;
  }

  /* フッター
	* ---------------------------------- */

  #toa footer .footer-container nav,
  #daisen footer .footer-container nav {
    text-align: left;
  }

  #toa footer nav .footer-logo,
  #daisen footer nav .footer-logo {
    width: 150px;
  }

  #toa footer nav ul.sub-links,
  #daisen footer nav ul.sub-links {
    gap: 32px;
    justify-content: flex-start;
    font-size: 14px;
    margin-top: 40px;
  }

  #toa footer nav ul.sub-links li,
  #daisen footer nav ul.sub-links li {
    font-size: 12px;
  }

}