@charset "UTF-8";

@font-face {
  font-family: "Noto Sans JP";
  src: url("fonts/NotoSansJP-Regular.otf") format("opentype");
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans Thin JP";
  src: url("fonts/NotoSansJP-Thin.otf") format("truetype");
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans Medium JP";
  src: url("fonts/NotoSansJP-Medium.otf") format("truetype");
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans Bold JP";
  src: url("fonts/NotoSansJP-Bold.otf") format("opentype");
  font-style: normal;
  font-display: swap;
  font-weight: bold;
}

@font-face {
  font-family: "Noto Serif JP";
  src: url("fonts/NotoSerifJP-Regular.otf") format("opentype");
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Noto Serif Medium JP";
  src: url("fonts/NotoSerifJP-Medium.otf") format("opentype");
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Noto Serif Bold JP";
  src: url("fonts/NotoSerifJP-Bold.otf") format("opentype");
  font-style: normal;
  font-display: swap;
  font-weight: bold;
}

@font-face {
  font-family: "Robot";
  src: url("fonts/Roboto-Regular.ttf") format("truetype");
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Robot Bold";
  src: url("fonts/Roboto-Bold.ttf") format("truetype");
  font-style: normal;
  font-display: swap;
  font-weight: bold;
}

@font-face {
  font-family: "Robot Black";
  src: url("fonts/Roboto-Black.ttf") format("truetype");
  font-style: normal;
  font-display: swap;
  font-weight: bold;
}

@font-face {
  font-family: "Robot Medium";
  src: url("fonts/Roboto-Medium.ttf") format("truetype");
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Outfit Bold";
  src: url("fonts/Outfit-Bold.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Outfit500";
  src: url("fonts/outfit-v15-latin-500.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Outfit600";
  src: url("fonts/outfit-v15-latin-600.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
}

.pt0 {
  padding-top: 0 !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pt105 {
  padding-top: 105px !important;
}

.pt110 {
  padding-top: 110px !important;
}

.pt115 {
  padding-top: 115px !important;
}

.pt120 {
  padding-top: 120px !important;
}

.pt125 {
  padding-top: 125px !important;
}

.pt130 {
  padding-top: 130px !important;
}

.pt135 {
  padding-top: 135px !important;
}

.pt140 {
  padding-top: 140px !important;
}

.pt145 {
  padding-top: 145px !important;
}

.pt150 {
  padding-top: 150px !important;
}

.pr0 {
  padding-right: 0 !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pr85 {
  padding-right: 85px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pr95 {
  padding-right: 95px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pr105 {
  padding-right: 105px !important;
}

.pr110 {
  padding-right: 110px !important;
}

.pr115 {
  padding-right: 115px !important;
}

.pr120 {
  padding-right: 120px !important;
}

.pr125 {
  padding-right: 125px !important;
}

.pr130 {
  padding-right: 130px !important;
}

.pr135 {
  padding-right: 135px !important;
}

.pr140 {
  padding-right: 140px !important;
}

.pr145 {
  padding-right: 145px !important;
}

.pr150 {
  padding-right: 150px !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pb105 {
  padding-bottom: 105px !important;
}

.pb110 {
  padding-bottom: 110px !important;
}

.pb115 {
  padding-bottom: 115px !important;
}

.pb120 {
  padding-bottom: 120px !important;
}

.pb125 {
  padding-bottom: 125px !important;
}

.pb130 {
  padding-bottom: 130px !important;
}

.pb135 {
  padding-bottom: 135px !important;
}

.pb140 {
  padding-bottom: 140px !important;
}

.pb145 {
  padding-bottom: 145px !important;
}

.pb150 {
  padding-bottom: 150px !important;
}

.pl0 {
  padding-left: 0 !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pl85 {
  padding-left: 85px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pl95 {
  padding-left: 95px !important;
}

.pl100 {
  padding-left: 100px !important;
}

.pl105 {
  padding-left: 105px !important;
}

.pl110 {
  padding-left: 110px !important;
}

.pl115 {
  padding-left: 115px !important;
}

.pl120 {
  padding-left: 120px !important;
}

.pl125 {
  padding-left: 125px !important;
}

.pl130 {
  padding-left: 130px !important;
}

.pl135 {
  padding-left: 135px !important;
}

.pl140 {
  padding-left: 140px !important;
}

.pl145 {
  padding-left: 145px !important;
}

.pl150 {
  padding-left: 150px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mt105 {
  margin-top: 105px !important;
}

.mt110 {
  margin-top: 110px !important;
}

.mt115 {
  margin-top: 115px !important;
}

.mt120 {
  margin-top: 120px !important;
}

.mt125 {
  margin-top: 125px !important;
}

.mt130 {
  margin-top: 130px !important;
}

.mt135 {
  margin-top: 135px !important;
}

.mt140 {
  margin-top: 140px !important;
}

.mt145 {
  margin-top: 145px !important;
}

.mt150 {
  margin-top: 150px !important;
}

.mr0 {
  margin-right: 0 !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mr105 {
  margin-right: 105px !important;
}

.mr110 {
  margin-right: 110px !important;
}

.mr115 {
  margin-right: 115px !important;
}

.mr120 {
  margin-right: 120px !important;
}

.mr125 {
  margin-right: 125px !important;
}

.mr130 {
  margin-right: 130px !important;
}

.mr135 {
  margin-right: 135px !important;
}

.mr140 {
  margin-right: 140px !important;
}

.mr145 {
  margin-right: 145px !important;
}

.mr150 {
  margin-right: 150px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb105 {
  margin-bottom: 105px !important;
}

.mb110 {
  margin-bottom: 110px !important;
}

.mb115 {
  margin-bottom: 115px !important;
}

.mb120 {
  margin-bottom: 120px !important;
}

.mb125 {
  margin-bottom: 125px !important;
}

.mb130 {
  margin-bottom: 130px !important;
}

.mb135 {
  margin-bottom: 135px !important;
}

.mb140 {
  margin-bottom: 140px !important;
}

.mb145 {
  margin-bottom: 145px !important;
}

.mb150 {
  margin-bottom: 150px !important;
}

.ml0 {
  margin-left: 0 !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.ml105 {
  margin-left: 105px !important;
}

.ml110 {
  margin-left: 110px !important;
}

.ml115 {
  margin-left: 115px !important;
}

.ml120 {
  margin-left: 120px !important;
}

.ml125 {
  margin-left: 125px !important;
}

.ml130 {
  margin-left: 130px !important;
}

.ml135 {
  margin-left: 135px !important;
}

.ml140 {
  margin-left: 140px !important;
}

.ml145 {
  margin-left: 145px !important;
}

.ml150 {
  margin-left: 150px !important;
}

:root {
  --icon-plus-bl: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><line stroke='%23004482' stroke-width='2' stroke-miterlimit='10' fill='none' x1='0' y1='7' x2='14' y2='7'/><line stroke='%23004482' stroke-width='2' stroke-miterlimit='10' fill='none' x1='7' y1='14' x2='7' y2='0'/></svg>");
  --icon-mb-arrow: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.12 13.41'><polyline fill='none' stroke='%23004482' stroke-miterlimit='10' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' points='0.71 0.71 6.71 6.71 0.71 12.71'/></svg>");
  --icon-mb-arrow-circle: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle fill='%23fff' cx='12' cy='12' r='12'/><line fill='none' stroke='%23004482' stroke-miterlimit='10' x1='16' y1='12' x2='8' y2='12'/><polyline fill='none' stroke='%23004482' stroke-miterlimit='10' points='11.57 16.43 16 12 11.57 7.57'/></svg>");
  --icon-mb-minus: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 2'><line stroke='%23004482' stroke-width='2' stroke-miterlimit='10' fill='none' x1='0' y1='1' x2='14' y2='1'/></svg>");
  --icon-arrow: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11.8 12.9'><path fill='%23004482' d='M5.3,0l-.8,.8,5.2,5.1H0v1.1H9.7l-5.2,5.2,.8,.7,6.5-6.4L5.3,0Z'/></svg>");
  --icon-plus-w: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><polygon fill='%23ffffff' points='14 6 8 6 8 0 6 0 6 6 0 6 0 8 6 8 6 14 8 14 8 8 14 8 14 6'/></svg>");
}

section {
  margin: 0;
  padding: 0;
}

ul,
ol,
li {
  margin: 0;
  padding: 0;
}

ul {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
}

ul li {
  list-style: none;
}

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

ol ol,
ol ol ol,
ol ol ol ol {
  margin-left: 0;
}

ol li,
ol ol li,
ol ol ol li {
  text-indent: -1.75rem;
  padding-left: 1.75rem;
}

html {
  max-width: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  scroll-behavior: smooth;
  font-size: 0.625em;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--bg-color);
  color: var(--text-color);
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--base-font-size);
  line-height: 1.75;
}

img {
  width: 100%;
  height: auto;
}

h1,
h2,
h3 {
  font-weight: normal;
}

li {
  font-size: var(--base-font-size);
}

address {
  font-style: normal;
}

button {
  font-family: "Noto Sans JP", sans-serif;
}

input[type=submit],
input[type=button],
input[type=reset] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration,
input[type=reset]::-webkit-search-decoration {
  display: none;
}

input[type=submit]:focus,
input[type=button]:focus,
input[type=reset]:focus {
  outline-offset: -2px;
}

a,
a img {
  text-decoration: none;
  transition: opacity 0.4s ease;
  opacity: 1;
}

a {
  color: var(--text-color);
}

.wide {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}

.nowrap {
  white-space: nowrap;
}

.accent-text {
  color: var(--accent-color);
}

.entry-content {
  letter-spacing: 0.03rem;
  font-family: "Noto Sans JP", sans-serif;
}

/* フォント太文字
------------------------------------------------------------*/
.bold {
  font-weight: bold !important;
}

/* フォント赤文字
------------------------------------------------------------*/
.red {
  color: #e71f19;
}

/* フォントファミリー明朝
------------------------------------------------------------*/
.serif {
  font-family: "Noto Serif JP", serif !important;
}

/* フォントファミリー明朝　太文字
------------------------------------------------------------*/
.serifB {
  font-family: "Noto Serif Bold JP", serif !important;
}

/* フォントファミリーゴシック
------------------------------------------------------------*/
.sans-serif {
  font-family: "Noto Sans JP", sans-serif !important;
}

/* フォントファミリーゴシック　ミィディアム文字
------------------------------------------------------------*/
.sans-serifM {
  font-family: "Noto Sans Medium JP", sans-serif !important;
}

/* フォントファミリーゴシック　太文字
------------------------------------------------------------*/
.sans-serifB {
  font-family: "Noto Sans Bold JP", sans-serif !important;
}

/* フォントファミリー欧文
------------------------------------------------------------*/
.robot {
  font-family: "Robot", sans-serif !important;
}

/* フォントファミリー欧文　太文字
------------------------------------------------------------*/
.robotB {
  font-family: "Robot Bold", sans-serif !important;
}

/* フォントファミリー数字
------------------------------------------------------------*/
.num {
  font-family: "Inter var", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif !important;
}

/* テキスト寄せ
------------------------------------------------------------*/
.tr {
  text-align: right !important;
}

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

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

.main-color {
  color: var(--main-color);
}

/*---------------------------------------------------
共有
----------------------------------------------------*/
#wrapper {
  overflow: hidden;
}

.inner140 {
  max-width: 146rem;
  margin: 0 auto;
  padding: 0 3rem;
}

.spNpcI500 {
  display: none;
}

.spIpcN500 {
  display: inline;
}

.spNpcI {
  display: none;
}

.spIpcN {
  display: inline;
}

.spNpcI1000 {
  display: none;
}

.spIpcN1000 {
  display: inline;
}

.spNpcI1400 {
  display: none;
}

.spIpcN1400 {
  display: inline;
}

.spBpcN {
  display: block;
}

.spNpcB {
  display: none;
}

.spBpcN1000 {
  display: block;
}

.spNpcB1000 {
  display: none;
}

.sb-tn-pb {
  display: block;
}

/*----------------------------------------------------
タブレット用
----------------------------------------------------*/
@media only screen and (min-width: 500px) {
  .spNpcI500 {
    display: inline;
  }

  .spIpcN500 {
    display: none;
  }
}

:root {
  --base-font-size: 1.6rem;
}

/*----------------------------------------------------
タブレット・PC用
----------------------------------------------------*/
@media (min-width: 768px) {
  :root {
    --base-font-size: 1.6rem;
  }

  .spNpcI {
    display: inline;
  }

  .spIpcN {
    display: none;
  }

  .spBpcN {
    display: none;
  }

  .spNpcB {
    display: block;
  }

  .sb-tn-pb {
    display: none;
  }
}

/*----------------------------------------------------
PC 1000
----------------------------------------------------*/
@media only screen and (min-width: 1000px) {
  .inner140 {
    max-width: 152rem;
    padding: 0 9rem;
  }

  .spNpcI1000 {
    display: inline;
  }

  .spIpcN1000 {
    display: none;
  }

  .spBpcN1000 {
    display: none;
  }

  .spNpcB1000 {
    display: block;
  }

  .sb-tn-pb {
    display: block;
  }
}

/*----------------------------------------------------
PC 1400
----------------------------------------------------*/
@media only screen and (min-width: 1400px) {
  .inner140 {
    max-width: 158rem;
    padding: 0 9rem;
  }

  .spNpcI1400 {
    display: inline;
  }

  .spIpcN1400 {
    display: none;
  }
}

h4 {
  font-weight: normal;
}

figure img {
  display: block;
}

/* pageUpボタン設置 */
#back_to_top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  color: #fff;
  z-index: 99;
  opacity: 0.8;
  visibility: visible;
  /* 滑らかなアニメーション設定 */
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), bottom 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* 非表示状態 */
}

#back_to_top.hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px) scale(0.9);
  /* 少し縮小して消える */
}

#back_to_top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

#back_to_top {
  /* モバイル時の追加クラス */
}

#back_to_top.bottom-shifted-mobile {
  bottom: 1.5rem;
  /* モバイル時の70px位置 */
}

#back_to_top {
  /* PC時の位置（50px上部） */
}

#back_to_top.bottom-shifted-desktop {
  bottom: 55px;
}

#back_to_top .page-top-icon {
  width: 40px;
  height: 40px;
}

#back_to_top {
  /* さらに滑らかにしたい場合のオプション */
}

#back_to_top.extra-smooth {
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.6s cubic-bezier(0.16, 1, 0.3, 1), bottom 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ボタン [青⇒白] SP
-----------------------------------*/
.button-link {
  display: block;
  color: #fff;
  border-radius: 0.5rem;
  background: var(--main-color) url(../img/icon-en-arrow-white.svg) no-repeat 90% center;
  background-size: 2.4rem;
  transition: 0.3s;
}

/* テキスト ------------- */
.button-text {
  display: block;
  padding: 1.4rem 3rem;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.button-text:hover {
  color: var(--main-color);
}

/* 色変化 ------------- */
.bg-extend-left {
  border: 1px solid var(--main-color);
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.bg-extend-left::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff url(../img/icon-en-arrow-blue.svg) no-repeat 90% center;
  background-size: 2.4rem;
  position: absolute;
  left: -100%;
  top: 0;
  transition: 0.2s;
  z-index: -1;
}

.bg-extend-left:hover::before {
  left: 0;
}

/* ボタン 白⇒青 SP
-----------------------------------*/
.button-link-w {
  display: block;
  color: var(--main-color);
  border-radius: 0.5rem;
  background: #fff url(../img/icon-en-arrow-blue.svg) no-repeat 90% center;
  background-size: 2.4rem;
  transition: 0.3s;
}

.button-text-w {
  display: block;
  padding: 1.4rem 3rem;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.button-text-w:hover {
  color: #fff;
}

/* 色変化 ------------- */
.bg-extend-left-w {
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.bg-extend-left-w::before {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--main-color) url(../img/icon-en-arrow-white.svg) no-repeat 90% center;
  background-size: 2.4rem;
  position: absolute;
  left: -100%;
  top: 0;
  transition: 0.2s;
  z-index: -1;
}

.bg-extend-left-w:hover::before {
  left: 0;
}

/* ボタン 上から下へ変化 ------------- */
.bg-extend-top {
  display: block;
  font-size: 1.2rem;
  color: var(--main-color);
  font-family: "Noto Sans Medium JP", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 1.5rem 0.8rem;
  border: 0.1rem #bbb solid;
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.bg-extend-top::after {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  background: url(../img/icon-en-arrow-down.svg);
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
}

.bg-extend-top::before {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--main-color);
  position: absolute;
  left: 0;
  top: -105%;
  transition: 0.5s;
  z-index: -1;
}

.bg-extend-top:hover {
  color: #fff;
  border: 0.1rem var(--main-color) solid;
}

.bg-extend-top:hover::before {
  top: 0;
}

/*-------------------------
SP
---------------------------*/
/* 下層のFV + h2 SP
-------------------------------*/
.company .page-fv h2,
.services .page-fv h2,
.recruit .page-fv h2,
.category .page-fv h2,
.single .page-fv h2 {
  font-size: 3.2rem;
  font-family: "Outfit600", sans-serif;
}

.company .page-fv h2 span,
.services .page-fv h2 span,
.recruit .page-fv h2 span,
.category .page-fv h2 span,
.single .page-fv h2 span {
  font-size: 1.2rem;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.page-fv {
  height: 30rem;
  background: no-repeat center center;
  background-size: cover;
  position: relative;
  background-position: center top;
}

.page-fv>div {
  background: #fff;
  padding: 2rem 6.5rem 1rem 3rem;
  position: absolute;
  bottom: -1px;
  left: 0;
}

.page-fv h2 {
  font-size: 2.4rem;
  color: var(--main-color);
  font-optical-sizing: auto;
  letter-spacing: 0.025em;
  font-family: "Noto Sans Bold JP", sans-serif;
  line-height: 2;
}

.page-fv h2 span {
  display: block;
  font-family: "Outfit500", sans-serif;
  font-size: 1.4rem;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 1;
}

/* パンくず SP ------------------ */
.breadcrumb ul {
  display: flex;
  padding: 1rem 3rem;
}

.breadcrumb li {
  font-size: 1rem;
  color: var(--main-color);
}

.breadcrumb li a {
  color: var(--text-color);
}

.breadcrumb li:last-child::after {
  display: none;
}

/* h3 見出し　と　見出しの入ったbox SP
-------------------------------*/
.content-box {
  max-width: 158rem;
  margin: 0 auto;
  padding: 0 3rem 5rem;
}

.content-box section {
  padding: 3rem 0 0;
  border-top: 0.1rem #ccc solid;
  position: relative;
}

.content-box section::before {
  content: "";
  display: block;
  width: 14rem;
  height: 0.1rem;
  background: var(--main-color);
  position: absolute;
  top: -0.1rem;
  left: 0;
}

.content-box h3 {
  font-size: 2.1rem;
  letter-spacing: 0.05em;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.content-box h3 span {
  display: block;
  font-family: "Outfit500", sans-serif;
  font-size: 1.2rem;
  color: var(--main-color);
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.025em;
}

/* 1200幅のbox SP
-------------------------------*/
.content-box.box120 {
  max-width: 138rem;
}

.block120 {
  max-width: 138rem;
  margin: 0 auto;
  padding: 5rem 3rem;
}

/* h4 見出し　と　見出しの入ったbox SP
-------------------------------*/
.section-part h4 {
  display: inline-block;
  font-size: 1.4rem;
  color: var(--main-color);
  letter-spacing: 0.025em;
  line-height: 1;
  padding: 0.9rem 1.5rem 0.8rem;
  border: 0.1rem #bbb solid;
  border-radius: 2rem;
  font-family: "Noto Sans JP", sans-serif;
}

/* 会社案内＋事業内容　カテゴリ内ページ一覧 SP ------------------ */
.page-list .list-detail {
  margin-top: 3rem;
}

.page-list .list-detail ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 4%;
}

.page-list .list-detail li {
  width: 48%;
}

.page-list .list-detail li figure img {
  border-radius: 1rem;
}

.page-list .list-detail li:last-child figure img {
  border: 0.1rem #ddd solid;
}

.page-list .list-detail li a:hover {
  color: var(--main-color);
}

.page-list .list-detail li a p {
  line-height: 1.5;
  padding-top: 1rem;
  position: relative;
}

.page-list .list-detail li a p span {
  display: block;
  font-size: 1.2rem;
  color: #000;
  padding: 0.5rem 2rem 0 0;
}

.page-list .list-detail li a p::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/icon-en-arrow-white-line.svg);
  position: absolute;
  top: 1.5rem;
  right: 0;
  transition: 0.5s;
}

.page-list .list-detail li a:hover p::after {
  background: url(../img/icon-en-arrow-blue-line.svg);
}

/*----------------------------------------------------
タブレット 750- 
----------------------------------------------------*/
@media screen and (min-width: 768px) {

  /* 会社案内＋事業内容　カテゴリ内ページ一覧 tab 750 ------------------ */
  .page-list .list-detail {
    margin-top: 1rem;
  }

  .page-list .list-detail ul {
    display: block;
  }

  .page-list .list-detail li {
    width: auto;
    padding: 1.5rem 0;
    border-bottom: 0.1rem #ccc solid;
  }

  .page-list .list-detail li a {
    display: flex;
    align-items: center;
  }

  .page-list .list-detail li a figure {
    width: 30%;
  }

  .page-list .list-detail li a p {
    width: 70%;
    font-size: 1.8rem;
    padding: 0 0 0 5%;
    color: var(--text-color);
  }

  .page-list .list-detail li a p::after {
    width: 2rem;
    height: 2rem;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
  }

  /*電話リンクOFF*/
  .tel-link {
    pointer-events: none;
    cursor: default;
  }
}

/*----------------------------------------------------
PC 1000- 
----------------------------------------------------*/
@media screen and (min-width: 1000px) {

  /* 下層のFV + h2 PC 1000
  -------------------------------*/
  .company .page-fv h2,
  .services .page-fv h2,
  .recruit .page-fv h2,
  .category .page-fv h2,
  .single .page-fv h2 {
    font-size: 5.6rem;
  }

  .company .page-fv h2 span,
  .services .page-fv h2 span,
  .recruit .page-fv h2 span,
  .category .page-fv h2 span,
  .single .page-fv h2 span {
    font-size: 1.6rem;
  }

  .company .page-fv h2,
  .services .page-fv h2,
  .recruit .page-fv h2,
  .category .page-fv h2,
  .single .page-fv h2 {
    font-size: 5.6rem;
    line-height: 1.2;
  }

  .company .page-fv h2 span,
  .services .page-fv h2 span,
  .recruit .page-fv h2 span,
  .category .page-fv h2 span,
  .single .page-fv h2 span {
    font-size: 1.6rem;
  }

  .page-fv {
    height: 50rem;
    background: no-repeat 20% center;
    background-size: cover;
  }

  .page-fv>div {
    height: 14rem;
    background: #fff;
    padding: 4rem 10rem 1rem 5rem;
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .page-fv h2 {
    font-size: 3.6rem;
  }

  .page-fv h2 span {
    font-size: 1.8rem;
  }

  #back_to_top .page-top-icon {
    width: 70px;
    height: 70px;
  }

  /* h3 見出し　と　見出しの入ったbox PC 1000
  -------------------------------*/
  .content-box {
    padding: 0 9rem 8rem;
  }

  .content-box section {
    padding: 4rem 0 0;
  }

  .content-box h3 {
    font-size: 3.1rem;
  }

  .content-box h3 span {
    font-size: 1.6rem;
  }

  /* 1200幅のbox PC 1000
  -------------------------------*/
  .block120 {
    padding: 8rem 9rem;
  }

  /* ボタン [青⇒白] 1000
  -----------------------------------*/
  .button-link {
    border-radius: 1rem;
    background-size: 3rem;
  }

  /* テキスト ------------- */
  .button-text {
    padding: 2rem 3.6rem;
    font-size: 2.1rem;
    letter-spacing: 0.15em;
  }

  /* 色変化 ------------- */
  .bg-extend-left::before {
    background-size: 3rem;
  }

  /* ボタン [白⇒青] 1000
  -----------------------------------*/
  .button-link-ｗ {
    border-radius: 1rem;
    background-size: 3rem;
  }

  /* テキスト ------------- */
  .button-text-w {
    padding: 2rem 3.6rem;
    font-size: 2.1rem;
    letter-spacing: 0.15em;
  }

  /* 色変化 ------------- */
  .bg-extend-left-w::before {
    background-size: 3rem;
  }

  /* ボタン 上から下へ変化 ------------- */
  .bg-extend-top {
    font-size: 1.6rem;
    padding: 2rem;
    border-radius: 1rem;
  }

  .bg-extend-top::after {
    width: 2rem;
    height: 2rem;
    right: 1rem;
  }

  /* 会社案内＋事業内容　カテゴリ内ページ一覧 PC 1000 ------------------ */
  .page-list .list-detail li {
    padding: 2.5rem 0;
  }

  .page-list .list-detail li a p {
    font-size: 2.1rem;
  }

  .page-list .list-detail li a p span {
    font-size: 1.4rem;
  }

  .page-list .list-detail li a p::after {
    width: 2.4rem;
    height: 2.4rem;
    right: 8%;
  }

  /* パンくず PC 1000 ------------------ */
  .breadcrumb ul {
    padding: 1rem 5rem;
  }

  .breadcrumb li {
    font-size: 1.4rem;
  }

  /* 下層のFV + h2 PC 1200
  -------------------------------*/
}

/*----------------------------------------------------
PC 1200- 
----------------------------------------------------*/
@media screen and (min-width: 1200px) {
  .page-fv>div {
    padding-left: 7rem;
  }

  .breadcrumb ul {
    padding: 1rem 7rem;
  }
}

/*----------------------------------------------------
PC 1400- 
----------------------------------------------------*/
@media screen and (min-width: 1400px) {

  /* h3 見出し　と　見出しの入ったbox PC 1400
  -------------------------------*/
  .content-box {
    padding: 0 9rem 8rem;
  }

  .content-box section {
    padding: 5rem 0 0;
  }

  .content-box section::before {
    width: 24rem;
  }

  .content-box h3 {
    font-size: 3.6rem;
  }

  .content-box h3 span {
    font-size: 1.8rem;
  }

  /* 1200幅のbox PC 1400
  -------------------------------*/
  .block120 {
    padding: 10rem 9rem;
  }

  /* h4 見出し　と　見出しの入ったbox PC 1400
  -------------------------------*/
  .section-part h4 {
    font-size: 1.8rem;
  }

  /* ボタン 上から下へ変化 ------------- */
  .bg-extend-top {
    font-size: 2rem;
    padding: 3rem 4rem;
  }

  .bg-extend-top::after {
    width: 3rem;
    height: 3rem;
    right: 2rem;
  }

  /* 会社案内＋事業内容　カテゴリ内ページ一覧 PC 1400 ------------------ */
  .page-list .list-detail {
    margin-top: 3rem;
  }

  .page-list .list-detail li {
    padding: 3rem 0;
  }

  .page-list .list-detail li a p {
    font-size: 3rem;
  }

  .page-list .list-detail li a p::after {
    width: 3.8rem;
    height: 3.8rem;
  }

  .page-list .list-detail li a p span {
    font-size: 1.8rem;
  }

  /* 下層のFV + h2 PC 1400
  -------------------------------*/
  .page-fv {
    height: 45rem;
  }

  .page-fv>div {
    height: 16rem;
    padding-top: 4rem;
  }

  .page-fv h2 {
    font-size: 4rem;
    line-height: 1.8;
  }

  .page-fv h2 span {
    font-size: 2rem;
  }

  #back_to_top .page-top-icon {
    width: 10.5rem;
    height: 10.5rem;
  }
}

/*----------------------------------------------------
PC 1600- 
----------------------------------------------------*/
@media (min-width: 1600px) {

  .company .page-fv h2,
  .services .page-fv h2,
  .recruit .page-fv h2,
  .category .page-fv h2,
  .single .page-fv h2 {
    font-size: 8.4rem;
    line-height: 1.2;
  }

  .company .page-fv h2 span,
  .services .page-fv h2 span,
  .recruit .page-fv h2 span,
  .category .page-fv h2 span,
  .single .page-fv h2 span {
    font-size: 2.4rem;
  }

  .page-fv {
    height: 63rem;
  }

  .page-fv>div {
    height: 20rem;
    padding: 5rem 0 0 9rem;
  }

  .page-fv h2 {
    background: none;
    font-size: 4.8rem;
    padding-right: 11.5rem;
    margin: 0 0 0 auto;
    position: static;
    line-height: 1.8;
  }

  .page-fv h2 span {
    font-size: 2.1rem;
    line-height: 1.8;
  }

  /* パンくず PC 1600 ------------------ */
  .breadcrumb ul {
    padding: 1rem 9rem;
  }
}

body.menu-open {
  overflow: hidden;
  height: 100vh;
  position: relative;
}

/*ヘッダーナビメニュー*/
.header_nav {
  min-height: 50px;
  height: 66px;
  display: flex;
  align-items: center;
  z-index: 999;
  padding-top: 0;
  padding-bottom: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.header_nav .header-container {
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.header_nav .container {
  padding: 0 1.5em;
  z-index: 1002;
  position: relative;
  max-width: 100%;
  height: 66px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 55px;
  margin: 0 auto;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
  transition: all 0.3s ease;
  background-color: #fff;
}

.header_nav .site-title {
  z-index: 1003;
  background-color: transparent;
  margin: 0;
}

.header_nav .site-title a {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}

.header_nav .site-title a:hover {
  opacity: 1;
}

.header_nav .site-title a:hover img {
  opacity: 1;
}

.header_nav .site-title img {
  height: auto;
  transition: all 0.3s ease;
  max-width: 280px;
  width: 100%;
}

.header_nav {
  /* ロゴの基本設定 */
}

.header_nav .custom-logo {
  height: auto;
  max-width: 100%;
}

.header_nav {
  /* モバイルファーストアプローチ - デフォルト（モバイル）設定 */
}

.header_nav .logo-pc {
  display: none;
}

.header_nav .logo-mobile {
  display: block;
  max-height: 35px;
  /* 最小画面サイズでの高さ */
}

.header_nav .nav-btnWrap {
  display: flex;
  align-items: center;
  z-index: 1004;
  position: relative;
}

.header_nav .menu-toggle {
  background: none;
  cursor: pointer;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  z-index: 1003;
  transition: all 0.3s ease;
  width: 36px;
  height: 36px;
  position: relative;
  background-color: #fff;
}

.header_nav .menu-toggle .hamburger-line {
  width: 23px;
  height: 2px;
  background-color: var(--main-color);
  transition: all 0.3s ease;
  transform-origin: center;
  display: block;
  margin: 1.5px 0;
}

.header_nav .menu-toggle.active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.header_nav .menu-toggle.active .hamburger-line:nth-child(2) {
  opacity: 0;
}

.header_nav .menu-toggle.active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

.header_nav .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.header_nav .main-navigation {
  display: none;
}

.header_nav .mb-navigation {
  display: inline-block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  background-color: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(10px);
  padding: 66px 0 0 0;
  margin: 0;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  z-index: 1000;
  overflow-y: auto;
  /* 縦スクロールを有効 */
  overflow-x: hidden;
  /* 横スクロールは無効 */
  -webkit-overflow-scrolling: touch;
  /* iOS でのスムーズスクロール */
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  height: 100dvh;
  min-height: 100dvh;
  box-sizing: border-box;
}

.header_nav .mb-navigation.active {
  transform: translateY(0);
}

.header_nav .mb-navigation ul {
  flex-direction: column;
  gap: 0;
  margin: 0;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
}

.header_nav .mb-navigation ul.sub-menu li:last-child {
  padding-bottom: 0 !important;
}

.header_nav .mb-navigation ul.sub-menu li:last-child a {
  border-bottom: none !important;
}

.header_nav .mb-navigation {
  /* メニューリストのパディング調整 */
}

.header_nav .mb-navigation>ul {
  min-height: calc(100vh - 66px);
  padding-bottom: 2rem;
  box-sizing: border-box;
  overflow-y: hidden;
}

.header_nav .mb-navigation>ul li:last-child {
  border-bottom: none;
}

.header_nav .mb-navigation>ul li:last-child a {
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
}

.header_nav .mb-navigation li {
  display: block;
  width: 100%;
  text-align: center;
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
  -webkit-touch-callout: none;
  outline: none !important;
}

.header_nav .mb-navigation li:first-child {
  border-top: 1px solid rgba(51, 51, 51, 0.1);
}

.header_nav .mb-navigation li.border-none {
  border-bottom: none;
}

.header_nav .mb-navigation li.plus.submenu-closed>a span::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: var(--icon-plus-bl);
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  fill: var(--icon-plus-bl);
}

.header_nav .mb-navigation li.plus.submenu-open>a span::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 2px;
  background-image: var(--icon-mb-minus);
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  fill: var(--icon-mb-minus);
}

.header_nav .mb-navigation li.mb-nav-blue {
  background-color: var(--main-color);
  border-radius: 10px;
  width: calc(100% - 6rem);
  margin: 3rem auto 2.2rem;
}

.header_nav .mb-navigation li.mb-nav-blue a {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.header_nav .mb-navigation li.mb-nav-blue span {
  color: #fff;
}

.header_nav .mb-navigation li.mb-nav-blue span::after {
  background-image: var(--icon-mb-arrow-circle);
  width: 24px;
  height: 24px;
  fill: var(--icon-mb-arrow-circle);
}

.header_nav .mb-navigation li .sub-menu {
  background-color: var(--sub-color);
}

.header_nav .mb-navigation li .sub-menu li {
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none;
  outline: none !important;
  border-bottom: none;
}

.header_nav .mb-navigation li .sub-menu li:last-child {
  border-bottom: none;
}

.header_nav .mb-navigation li .sub-menu a {
  font-size: 1.4rem;
  width: calc(100% - 6rem);
  margin: auto;
  padding: 0.8rem 0;
  border-bottom: solid #fff 1px !important;
}

.header_nav .mb-navigation li .sub-menu a span {
  color: var(--text-color);
  padding-left: 1rem;
}

.header_nav .mb-navigation .sub-menu a span::after {
  content: none;
}

.header_nav .mb-navigation a {
  display: block;
  padding: 1.35rem 3rem;
  font-size: 1.6rem;
  border-radius: 0;
  font-family: "Noto Sans Medium JP", sans-serif;
  color: var(--main-color);
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none;
  outline: none !important;
  border: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.header_nav .mb-navigation a:hover {
  opacity: 1;
}

.header_nav .mb-navigation a span {
  display: inline-block;
  width: 100%;
  position: relative;
  text-align: left;
  color: var(--text-color);
}

.header_nav .mb-navigation a span::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 14px;
  background-image: var(--icon-mb-arrow);
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  fill: var(--icon-mb-arrow);
}

.header_nav .mb-navigation {
  /* 初期状態では全てのサブメニューを非表示 */
}

.header_nav .mb-navigation .sub-menuWrap {
  display: none;
  max-height: none;
  overflow: visible;
  transition: max-height 0.3s ease;
}

.header_nav .mb-navigation {
  /* 親がactiveになった時、その配下の全ての子・孫メニューを表示 */
}

.header_nav .mb-navigation .menu-item-has-children.submenu-open>.sub-menuWrap,
.header_nav .mb-navigation .menu-item-has-children.submenu-open .sub-menuWrap {
  display: block;
  max-height: none;
}

.header_nav .mb-navigation {
  /* 孫メニューのインデント */
}

.header_nav .mb-navigation .sub-menu .sub-menuWrap a span,
.header_nav .mb-navigation .sub-menu .sub-menu a span {
  padding-left: 2rem !important;
}

.header_nav .mb-navigation .sub-menu .mb-recruit-nav ul {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.6rem 1rem;
  margin-top: 0.3rem;
  flex-wrap: wrap;
  flex-direction: row;
  padding-bottom: 10px;
}

.header_nav .mb-navigation .sub-menu .mb-recruit-nav ul li {
  width: calc(50% - 0.5rem);
  padding-bottom: 5px !important;
}

.header_nav .mb-navigation .sub-menu .mb-recruit-nav ul li:first-child {
  border-top: none;
}

.header_nav .mb-navigation .sub-menu .mb-recruit-nav ul li:last-child {
  padding-bottom: 5px;
}

.header_nav .mb-navigation .sub-menu .mb-recruit-nav ul li:nth-child(odd) a {
  margin: 0 0 0 auto !important;
}

.header_nav .mb-navigation .sub-menu .mb-recruit-nav ul li:nth-child(even) a {
  margin: 0 auto 0 0 !important;
}

.header_nav .mb-navigation .sub-menu .mb-recruit-nav ul li a {
  display: block;
  background: #fff;
  height: 4.2rem;
  line-height: 4.2rem;
  text-align: center;
  border-radius: 0.2rem;
  position: relative;
}

.header_nav .mb-navigation .sub-menu .mb-recruit-nav ul li a span {
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  padding-left: 0 !important;
}

.header_nav .mobile-menu-secondary {
  height: auto;
}

.header_nav .mobile-menu-secondary li {
  display: inline-block;
  width: auto;
  border-top: none !important;
  border-bottom: none !important;
}

.header_nav .mobile-menu-secondary li:last-child a {
  padding-left: 15px;
}

.header_nav .mobile-menu-secondary li+li {
  border-left: 1px solid #666 !important;
}

.header_nav .mobile-menu-secondary li a {
  border: none !important;
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 15px;
  color: #666;
}

.header_nav .mobile-menu-secondary li a span {
  font-size: 1.4rem;
  font-weight: normal !important;
}

.header_nav .mobile-menu-secondary li a span::after {
  display: none;
}

/*ヘッダ－ナビメニュー end*/
footer {
  background: var(--main-color);
}

.footer-menu-pc-widgets {
  display: none;
}

.footer-content {
  background-color: #fff;
  border-radius: 2rem 2rem 0 0;
}

.footer-content .footer-contentOuter {
  padding: 5rem 3.5rem 0;
}

.footer-content .custom-logo {
  width: 100%;
  max-width: 396px;
}

/* フッターメニューのGridレイアウト - モバイルファースト */
.footer-menuWrap {
  display: grid;
  gap: 25px;
  /* モバイル：2列グリッド */
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "menu1 menu2""menu3 widgets";
}

.footer-menuWrap nav>ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-menuWrap nav>ul>li {
  margin-bottom: 8px;
}

.footer-menuWrap nav>ul>li>a {
  font-size: 14px;
  text-decoration: none;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  display: inline-block;
  padding-right: 30px;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.footer-menuWrap .sub-menu {
  border-top: 1px #ccc solid !important;
  padding-top: 15px;
}

.footer-menuWrap .sub-menu a {
  font-size: 12px !important;
  color: var(--text-color);
  letter-spacing: normal;
}

/* グリッドエリアの配置 */
.footer-menu1 {
  grid-area: menu1;
}

.footer-menu2 {
  grid-area: menu2;
}

.footer-menu3 {
  grid-area: menu3;
}

.footer-menu-widgets {
  grid-area: widgets;
}

/* 矢印アイコンを追加 */
.footer1-menu-list>li>a::after,
.footer2-menu-list>li>a::after,
.footer3-menu-list>li>a::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-color: var(--sub-color);
  background-image: var(--icon-arrow);
  background-size: 1rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  fill: var(--icon-arrow);
  border-radius: 50%;
  background-position: center;
  background-repeat: no-repeat;
}

.footer1-menu-list>li>a,
.footer2-menu-list>li>a,
.footer3-menu-list>li>a {
  position: relative;
}

/* サブメニューのスタイル */
.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sub-menu a {
  font-size: 14px;
  text-decoration: none;
  opacity: 0.9;
}

.sub-menu a:hover {
  opacity: 1;
}

/* ウィジェットエリアのスタイル */
.footer-menu-widgets {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-menu-widgets .widget a {
  text-decoration: none;
  display: flex;
  align-items: center;
  font-size: 16px;
  margin-bottom: 10px;
}

.footer-menu-widgets .widget a[href*=blog]::before {
  content: "📝";
  margin-right: 8px;
}

/* ホバーエフェクト */
.footer-menu1:hover,
.footer-menu2:hover,
.footer-menu3:hover,
.footer-menu-widgets:hover {
  border-color: #9AE234;
  background: rgba(255, 255, 255, 0.15);
  transition: all 0.3s ease;
}

.footer-menu4-widgets .widget_block:first-child {
  border-top: 0.1rem #ccc solid;
}

.f-nav-bl-conWrap li {
  border-bottom: 0.1rem #ccc solid;
}

.f-nav-bl-conWrap li a {
  display: block;
  height: 4rem;
  font-size: 1.2rem;
  line-height: 1;
  padding: 1.4rem 0 1.4rem 3.8rem;
  color: var(--text-color);
  font-family: "Noto Sans Medium JP", sans-serif;
}

.f-nav-bl-conWrap .f-nav-blog a {
  background: url(../img/icon-blog.svg) no-repeat 1.2rem center;
  background-size: 1.1rem;
}

.f-nav-bl-conWrap .f-nav-contact a {
  background: url(../img/icon-contact.svg) no-repeat 1rem center;
  background-size: 1.4rem;
}

.f-nav-pri-sitWrap ul {
  font-size: 1rem;
  font-family: "Noto Sans Medium JP", sans-serif;
  line-height: 2.1;
  margin: 1.5rem 0;
}

.f-nav-pri-sitWrap ul li {
  line-height: 2rem;
}

.f-nav-pri-sitWrap ul a {
  color: var(--text-color);
  font-size: 10px;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.f-iso-img {
  width: 10rem;
}

.widgets-in-footer-ad-pc figure:last-child img {
  max-width: 15rem;
  margin: auto;
}

.footer-menu-sp-widgets-2 {
  margin-top: 2.5rem;
}

.footer-menu-sp-widgets-2 .widgets-in-footer-ad-pc {
  background: #f3f3f3;
  padding: 1rem;
  gap: 0;
}

.footer-menu-sp-widgets-2 .widgets-in-footer-ad-pc figure {
  background: #fff;
  text-align: center;
  align-content: center;
  border-radius: 0.5rem;
  padding: 1rem;
  margin-bottom: 1rem;
  width: 100%;
}

.footer-menu-sp-widgets-2 .widgets-in-footer-ad-pc figure:nth-child(1) img {
  max-width: 22rem;
}

.footer-menu-sp-widgets-2 .widgets-in-footer-ad-pc figure:last-child {
  margin-bottom: 0;
}

.footer-menu-sp-widgets-2 .widgets-in-footer-ad-pc figure:last-child img {
  max-width: 15rem;
}

.company-info {
  padding-top: 5rem;
}

.company-info .addWrap address {
  font-size: 1.3rem;
  line-height: 1.4;
  color: var(--text-color);
  margin-top: 1rem;
  letter-spacing: normal;
}

.company-info .footer-tel {
  font-size: 1.3rem;
  letter-spacing: normal;
}

.company-info .footer-tel span+span {
  margin-left: 1rem;
}

.copyright-text {
  letter-spacing: normal;
}

.f-copyright-pattern {
  font-size: 1rem;
  text-align: center;
  margin-top: 2.5rem;
  padding-bottom: 5rem;
}

.add-zip {
  letter-spacing: normal;
  margin-right: 1rem;
}

/* ---------------------------
  フッター コンタクト SP
  ----------------------------- */
.f-contact {
  padding: 5rem 3rem 3rem;
  text-align: center;
  color: #fff;
  font-family: "Outfit600", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.05em;
}

.f-contact>ul>li {
  height: 10rem;
  border: 0.1rem #6190bc solid;
  margin-bottom: 2rem;
}

.f-contact>ul>li:last-child {
  padding: 2rem 0;
}

.f-contact>ul>li>a {
  display: block;
  font-size: 2.4rem;
  color: #fff;
  padding: 2.9rem 0;
  position: relative;
}

.f-contact>ul>li>a::before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  background: #0a68be url(../img/icon-arrow-w.svg) no-repeat center center;
  background-size: 1.4rem;
  position: absolute;
  bottom: 0.1rem;
  right: 0;
}

.f-contact li a span {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0;
  margin-bottom: 0.5rem;
}

.f-contact li li:last-child {
  font-size: 1.8rem;
  padding-top: 1.4rem;
}

.f-contact li li:last-child span {
  font-size: 1.4rem;
  margin-right: 1rem;
}

.f-contact li li a {
  font-size: 2.6rem;
  color: #fff;
  padding-bottom: 0.2rem;
  border-bottom: 0.1rem #6190bc solid;
}

.f-contact li li a span {
  display: inline;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0;
  margin-right: 1rem;
}

/* より大きなモバイル画面（500px以上） */
@media (min-width: 500px) {
  .footer-menu-sp-widgets-2 .widgets-in-footer-ad-pc {
    flex-direction: row;
    gap: 2%;
  }

  .footer-menu-sp-widgets-2 .widgets-in-footer-ad-pc figure {
    width: 49%;
    margin: 0;
    height: 82px;
  }

  .footer-menu-sp-widgets-2 .widgets-in-footer-ad-pc figure img {
    width: 100%;
    max-width: none;
  }

  .footer-menuWrap {
    -moz-column-gap: 40px;
    column-gap: 40px;
  }
}

/* タブレット以上：768px以上 */
@media (min-width: 768px) {
  .footer-menuWrap .sub-menu li {
    line-height: 18.75px;
  }
}

/*----------------------------------------------------
PC 1000- 
----------------------------------------------------*/
/* タブレット以上：1000px以上 ナビゲーション切り替え*/
@media (min-width: 1000px) {

  /*ヘッダーナビメニュー*/
  body.home .header-container,
  body.front-page .header-container {
    background-color: transparent;
  }

  /* トップページでスクロール時の背景色 */
  body.home .header-container.scrolled,
  body.front-page .header-container.scrolled {
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    /* オプション：背景のぼかし効果 */
    -webkit-backdrop-filter: blur(10px);
    /* Safari対応 */
  }

  /* 下層ページは常に白い背景（変化なし） */
  body:not(.home):not(.front-page) .header-container {
    background-color: #fff;
  }

  .home .header_nav .main-navigation .parent-link span,
  .home .header_nav .main-navigation .menu-main-text {
    color: #fff;
  }

  .home .header_nav .main-navigation .parent-link span::before {
    background-image: var(--icon-plus-w);
    fill: var(--icon-plus-w);
  }

  .home .header_nav .logo-mobile {
    display: none;
  }

  .home .header_nav .logo-pc {
    display: block;
  }

  .home .header_nav .scrolled .parent-link span,
  .home .header_nav .scrolled .menu-main-text {
    color: var(--text-color);
  }

  .header_nav {
    height: auto;
    min-height: 96px;
    box-shadow: none;
    top: 0;
    left: 0;
  }

  .header_nav .header-container {
    background: #fff;
    transition: background-color 0.5s ease;
    z-index: 100;
  }

  .header_nav .logo-pc {
    display: none;
  }

  .header_nav .logo-mobile {
    display: block;
    max-height: none;
  }

  .header_nav .nav-btnWrap {
    display: none;
  }

  .header_nav .main-navigation>ul>li>a .menu-main-text {
    font-family: "Noto Sans Bold JP", sans-serif;
  }

  .header_nav .main-navigation {
    position: relative;
    display: block;
    height: 100%;
  }

  .header_nav .main-navigation li {
    display: flex;
    align-items: center;
    position: relative;
    font-size: 1.3rem;
    border-bottom: transparent solid 2px;
    letter-spacing: 0.2rem;
    line-height: 1.75;
  }

  .header_nav .main-navigation li a:hover {
    opacity: 1;
  }

  .header_nav .main-navigation li.color-menu {
    border-bottom: none;
    margin-left: 15px;
  }

  .header_nav .main-navigation li.color-menu:hover {
    border-bottom: none;
  }

  .header_nav .main-navigation li.color-menu a::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff url(../img/icon-contact.svg) no-repeat 1.5rem center;
    background-size: 1.5rem;
    position: absolute;
    left: -100%;
    top: 0;
    transition: 0.2s;
    z-index: -1;
    /* 追加：疑似要素を背景に配置 */
  }

  .header_nav .main-navigation li.color-menu a:hover::before {
    left: 0;
    z-index: 1;
  }

  .header_nav .main-navigation li.color-menu a {
    color: #fff !important;
    background: var(--main-color) url(../img/icon-mail.svg) no-repeat 1.5rem center;
    background-size: 1.5rem;
    padding: 0 0 0 1rem;
    border-radius: 0.5rem;
    text-align: center;
    border: 1px solid var(--main-color);
    overflow: hidden;
    display: block;
    width: 20rem;
    position: relative;
    height: 45px;
  }

  .header_nav .main-navigation li.color-menu a .menuWrap {
    position: relative;
    /* 追加：テキストを前面に配置 */
    z-index: 1;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    /* 追加：テキストを前面に配置 */
  }

  .header_nav .main-navigation li.color-menu a .menuWrap:hover span {
    color: var(--main-color);
  }

  .header_nav .main-navigation li.color-menu a:hover {
    opacity: 1;
  }

  .header_nav .main-navigation a {
    color: var(--text-color) !important;
    font-family: "Noto Sans Medium JP", sans-serif;
    display: block;
    white-space: nowrap;
    transition: all 0.3s ease;
    font-size: 1.3rem;
    cursor: pointer;
  }

  .header_nav .main-navigation .parent-link span {
    padding-right: 1.2em;
  }

  .header_nav .main-navigation .parent-link span::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background-image: var(--icon-plus-bl);
    background-size: contain;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    fill: var(--icon-plus-bl);
  }

  .header_nav .main-navigation {
    /* ホバー時のサブメニュー表示 */
  }

  .header_nav .main-navigation .has-dropdown {
    position: relative;
  }

  .header_nav .main-navigation .has-dropdown:hover>.sub-menuWrap {
    visibility: visible;
    opacity: 1;
    transform: scaleY(1);
    clip-path: none;
    padding-left: 5rem;
    padding-right: 4rem;
  }

  .header_nav .main-navigation .sub-menuWrap {
    /* 基本設定 */
    position: fixed !important;
    left: 0;
    right: 0;
    top: var(--header-height);
    /* header_navの下から開始 */
    width: 100vw;
    z-index: 999;
    background-color: #fff;
    padding: 50px 0;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 15px;
    /* 初期状態（非表示） */
    visibility: hidden;
    opacity: 0;
    transform: scaleY(0);
    /* translateYではなくscaleYを使用 */
    transform-origin: top;
    /* 上から開く */
    /* アニメーション */
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .header_nav .main-navigation .sub-menuWrap a {
    color: var(--text-color);
  }

  .header_nav .main-navigation .sub-menuWrap .senior-department-item a {
    font-size: 1.6rem;
  }

  .header_nav .main-navigation .sub-menuInner {
    width: 100%;
    max-width: 90rem;
    margin: 0 auto;
    /* 背景とレイアウト */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
  }

  .header_nav .main-navigation .mega-menu-title {
    margin-bottom: 0px;
    text-align: left;
  }

  .header_nav .main-navigation .mega-menu-title .title-main {
    color: var(--main-color);
    display: block;
    font-family: "Outfit Bold", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 4rem;
    letter-spacing: 0.05em;
  }

  .header_nav .main-navigation .mega-menu-title .title-sub {
    color: rgb(255, 255, 255);
    font-size: 1.4rem;
    font-family: "Robot Bold", sans-serif;
    display: inline-block;
    margin: 0px;
  }

  .header_nav .main-navigation .parent-menu-link {
    display: inline-block;
    padding-right: 4.5rem;
    position: relative;
    font-size: 1.7rem;
    transition: all 0.3s ease;
  }

  .header_nav .main-navigation .parent-menu-link::before {
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    background: var(--sub-color);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }

  .header_nav .main-navigation .parent-menu-link::after {
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    background: var(--icon-arrow) no-repeat 50% 50%;
    background-size: 1rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }

  .header_nav .main-navigation .parent-menu-link:hover {
    font-family: "Noto Sans Bold JP", sans-serif;
    color: var(--main-color) !important;
  }

  .header_nav .main-navigation .parent-menu-link:hover::after {
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    background: var(--icon-arrow) no-repeat 50% 50%;
    background-size: 1rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    animation-name: subMenu-arrow;
    animation-duration: 0.5s;
    animation-timing-function: linear;
    animation-iteration-count: 3;
  }

  @keyframes subMenu-arrow {
    0% {
      background-position: 50% 50%;
    }

    100% {
      background-position: 100% 50%;
    }
  }

  .header_nav .main-navigation .sub-menu {
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: flex-start;
    display: flex !important;
    list-style: none;
    margin: 0px;
    gap: 0.5rem;
    margin-left: 6.5rem;
    border-left: 0.1rem #ccc solid;
    padding-left: 8rem;
  }

  .header_nav .main-navigation .sub-menu li {
    display: block;
    max-width: 386px;
    width: 100%;
    flex: 0 0 calc(33.333% - 1.334rem);
    margin: 0px;
    align-items: center;
    position: relative;
    border-bottom: none !important;
  }

  .header_nav .main-navigation .sub-menu li:hover {
    border-bottom: none !important;
  }

  .header_nav .main-navigation .sub-menu li a {
    color: var(--text-color) !important;
    font-size: 1.7rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: none;
    transition: all 0.3s ease;
    font-family: "Noto Sans Medium JP", sans-serif;
  }

  .header_nav .main-navigation .sub-menu li a .menu-main-text {
    color: var(--text-color) !important;
    transition: all 0.3s ease;
    font-family: "Noto Sans JP", sans-serif;
  }

  .header_nav .main-navigation .sub-menu li a:hover {
    border-bottom: none !important;
  }

  .header_nav .main-navigation .sub-menu li a:hover .menu-main-text {
    color: var(--main-color) !important;
    font-family: "Noto Sans Bold JP", sans-serif;
  }

  .header_nav .main-navigation .sub-menu {
    /* 親メニューアイテムの特別スタイル */
  }

  .header_nav .main-navigation .sub-menu.parent-menu-item a {
    background-color: rgba(255, 255, 255, 0.9);
    border: 2px solid var(--main-color);
    font-weight: bold;
  }

  .header_nav .main-navigation .sub-menu.parent-menu-item a:hover {
    background-color: var(--main-color);
    color: white !important;
  }

  .header_nav .nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
    gap: 1.5rem;
    transition: gap 0.3s ease;
  }

  .header_nav .nav-menu>li:hover {
    border-bottom: #00afec solid 2px;
  }

  .header_nav .nav-menu>li>.parent-link {
    font-family: "Noto Sans Bold JP", sans-serif;
  }

  .header_nav .nav-menu>li .menu-main-text {
    font-family: "Noto Sans JP", sans-serif;
  }

  .header_nav .site-title {
    height: auto;
    margin: 0;
  }

  .header_nav .site-title img {
    width: 35rem;
    height: auto;
    max-width: none;
  }

  .header_nav .container {
    background-color: transparent;
    height: 96px;
    padding: 0 1em;
  }

  .header_nav .scrolled .main-navigation .parent-link span::before {
    background-image: var(--icon-plus-bl);
  }

  .header_nav .scrolled .logo-pc {
    display: none;
  }

  .header_nav .scrolled .logo-mobile {
    display: block;
    max-height: none;
  }

  .header_nav .scrolled .nav-menu>li.color-menu .menu-main-text {
    color: #fff;
  }

  .header_nav .scrolled .nav-menu>li .parent-link {
    color: var(--text-color);
  }

  .footer-menu-pc-widgets {
    display: block;
  }

  .footer-menu-sp-widgets-2 {
    display: none;
  }

  .footer-menuWrap {
    display: flex;
    gap: 30px;
  }

  .footer-menuWrap .sub-menu {
    padding-top: 3.25rem;
  }

  .footer-menuWrap .sub-menu li {
    line-height: 34px;
  }

  .footer-menuWrap .sub-menu a {
    font-size: 1.3rem !important;
  }

  .footer-menuWrap nav>ul>li>a {
    font-size: 1.6rem;
    padding-right: 5rem;
    margin-bottom: 3rem;
  }

  .footer-menu1,
  .footer-menu2,
  .footer-menu3 {
    flex: 1;
    /* 均等に伸縮 */
    min-width: 0;
    /* フレックスアイテムの最小幅をリセット */
  }

  .footer-menu4-widgets {
    flex: 1;
    min-width: 25rem;
    /* 最小幅を設定 */
  }

  .footer-content {
    display: block;
  }

  .footer-content .footer-contentOuter {
    padding: 10rem 9rem 0;
    max-width: 158rem;
    margin: auto;
  }

  .footer1-menu-list>li>a::after,
  .footer2-menu-list>li>a::after,
  .footer3-menu-list>li>a::after {
    width: 3rem;
    height: 3rem;
  }

  .f-nav-bl-conWrap li a {
    font-size: 1.6rem;
    padding: 3rem 0 3rem 6.5rem;
    line-height: 1;
    height: auto;
  }

  .f-nav-bl-conWrap .f-nav-blog a {
    background-size: 2.2rem;
  }

  .f-nav-bl-conWrap .f-nav-contact a {
    background-size: 2.5rem;
  }

  .widgets-in-footer-ad-pc {
    background: #f3f3f3;
    padding: 1rem;
    border-radius: 1rem;
    margin-top: 3rem;
  }

  .widgets-in-footer-ad-pc figure {
    background: #fff;
    text-align: center;
    align-content: center;
    border-radius: 1rem;
    padding: 1rem;
  }

  .widgets-in-footer-ad-pc figure:first-child {
    margin-bottom: 1rem;
  }

  .f-copyright-pattern {
    text-align: right;
    font-size: 12px;
  }

  .company-info {
    padding-top: 0;
  }

  .company-info .addWrap address {
    font-size: 1.4rem;
  }

  .footer-add-pc-Wrap {
    display: flex;
    justify-content: flex-start;
  }

  .footer-add-pc-Wrap .f-nav-pri-sitWrap ul {
    margin-top: 0;
    display: flex;
    gap: 2rem;
    margin-right: 2rem;
  }

  .footer-add-pc-Wrap .f-nav-pri-sitWrap ul li a {
    font-size: 1.4rem;
  }

  .footer-menu-pc-widget {
    margin-left: 120px;
  }

  .company-info .addWrap address {
    margin-top: 0;
  }

  .footer-menu-pc-widget .wp-block-group__inner-container {
    display: flex;
    align-items: center;
  }

  /* ---------------------------
  フッター 1000
  ----------------------------- */
  /* コンタクト 1000 -------------- */
  .f-contact {
    max-width: 158rem;
    margin: 0 auto;
    padding: 5rem 9rem;
  }

  .f-contact>ul {
    display: flex;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
  }

  .f-contact>ul>li {
    width: 33%;
  }

  .header_nav .main-navigation {
    /* 事業内容メガメニュー専用スタイル */
  }

  .header_nav .main-navigation .business-mega-menu .mega-menu-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
  }

  .header_nav .main-navigation .business-mega-menu .mega-menu-header .title-main {
    margin: 0;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 1rem 4rem !important;
    margin-left: 6.5rem !important;
    border-left: 0.1rem #ccc solid !important;
    padding-left: 8rem !important;
    flex-direction: row !important;
    /* flexの上書き */
    flex-wrap: nowrap !important;
    max-width: 500px;
    /* グリッドの配置を指定 */
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li:nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li:nth-child(2) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li:nth-child(4) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li:nth-child(5) {
    grid-column: 1/-1 !important;
    grid-row: 3 !important;
    max-width: 386px !important;
    width: 50% !important;
    justify-self: end !important;
    padding-left: 2rem;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li {
    display: block !important;
    max-width: 386px !important;
    width: 100% !important;
    margin: 0 !important;
    position: relative !important;
    border-bottom: none !important;
    flex: none !important;
    /* flexの上書き */
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li:hover {
    border-bottom: none !important;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li a {
    color: var(--text-color) !important;
    font-size: 1.7rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: none !important;
    transition: 0.3s !important;
    font-family: "Noto Sans Medium JP", sans-serif !important;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li a:hover {
    border-bottom: none !important;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li a:hover .menuWrap .menu-main-text {
    color: var(--main-color) !important;
  }

  .header_nav .main-navigation .business-mega-menu .business-menu li a .menuWrap .menu-main-text {
    color: var(--text-color) !important;
  }

  .header_nav .main-navigation .recruit-content-wrapper {
    display: flex;
    gap: 5rem;
  }

  .header_nav .main-navigation .recruit-content-wrapper .senior-section-title {
    font-family: "Noto Sans Bold JP", sans-serif;
    font-size: 17px;
    margin-bottom: 10px;
  }

  .header_nav .main-navigation .recruit-content-wrapper .senior-departments {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 180px;
  }

  .header_nav .main-navigation .recruit-content-wrapper .senior-departments a .menu-main-text {
    color: var(--text-color);
  }

  .header_nav .main-navigation .recruit-content-wrapper .senior-departments a:hover .menu-main-text {
    color: var(--main-color);
    font-family: "Noto Sans Bold JP", sans-serif;
  }

  .header_nav .main-navigation .recruit-content-wrapper .senior-departments li {
    width: 50%;
    font-size: 17px;
    font-family: "Noto Sans JP", sans-serif;
  }
}

/*----------------------------------------------------
PC 1200- 
----------------------------------------------------*/
/* タブレット以上：1200px以上 ナビゲーション切り替え*/
@media (min-width: 1200px) {
  .header_nav .main-navigation li {
    font-size: 1.7rem;
  }

  .header_nav .main-navigation a {
    font-size: 1.7rem;
  }

  .header_nav .site-title img {
    max-width: 400px;
    width: 100%;
  }

  .header_nav .nav-menu {
    gap: 2rem;
  }

  .header_nav .main-navigation li.color-menu {
    margin-left: 3rem;
  }

  /* ---------------------------
  フッター PC 1200
  ----------------------------- */
  /* コンタクト 1200 -------------- */
  .f-contact {
    padding: 5rem 9rem 6.5rem;
  }

  .f-contact>ul>li {
    width: 30%;
    margin-bottom: 0;
  }

  .f-contact>ul>li:last-child {
    width: 40%;
    padding: 2rem 0;
    text-align: left;
    padding: 2.5rem 0;
  }

  .f-contact ul ul {
    display: flex;
    justify-content: center;
  }

  .f-contact li li:first-child {
    padding-right: 1rem;
    border-right: 0.1rem #6190bc solid;
    margin-right: 1rem;
  }

  .f-contact li li a {
    padding-bottom: 0;
    border-bottom: none;
  }

  .f-contact li li a span {
    display: block;
    font-size: 1.4rem;
  }

  .f-contact li li:last-child {
    padding-top: 0.9rem;
  }

  .f-contact li li:last-child span {
    display: block;
    margin-bottom: 0.3rem;
  }
}

/*----------------------------------------------------
PC 1400- 
----------------------------------------------------*/
/* パソコン以上：1400px以上 ナビゲーション切り替え*/
@media (min-width: 1400px) {
  .header_nav .container {
    padding-left: 5rem;
    padding-right: 3rem;
  }

  .header_nav .main-navigation .sub-menuWrap {
    max-width: 87rem;
    width: 100%;
    right: 0;
    left: auto;
  }

  .header_nav .main-navigation li.color-menu {
    margin-left: 1rem;
  }

  .header_nav .nav-menu {
    gap: 5rem;
  }

  .f-contact>ul>li {
    height: 14rem;
    display: grid;
  }

  .f-contact>ul>li:last-child {
    padding: 3.8rem 0 4.5rem;
  }

  .f-contact>ul>li a {
    font-size: 3rem;
    padding: 4rem 0 4.5rem;
  }

  .f-contact>ul>li a::before {
    bottom: 0.1rem;
  }

  .f-contact li a span {
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
  }

  .f-contact li li:first-child {
    padding-right: 2rem;
    margin-right: 2rem;
  }

  .f-contact li li:last-child {
    font-size: 1.8rem;
    padding-top: 1.5rem;
  }

  .f-contact li li:last-child span {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
  }

  .f-contact li li a {
    font-size: 3.6rem;
  }

  .f-contact li li a span {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
  }

  .footer-content {
    padding-left: 9rem;
    padding-right: 9rem;
  }
}

body {
  position: relative;
}

.sp-hide {
  display: none !important;
}

a {
  transition: 0.5s;
}

.scrollbox {
  display: none;
}

.header_nav {
  position: fixed;
  top: 0;
}

.hero_imgIn {
  height: 60rem;
  position: relative;
}

.hero_imgIn img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  /* 画像の最適化も追加 */
  transform: translateZ(0);
}

.hero_headingWrapOut {
  position: absolute;
  top: 32%;
  padding: 0 3rem 0;
  z-index: 1;
}

.l_heading {
  color: #fff;
  font-size: 3.6rem;
  letter-spacing: 0.075em;
  font-family: "Noto Sans Bold JP", sans-serif;
}

.s_heading {
  color: #fff;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
  font-family: "Noto Sans Bold JP", sans-serif;
  margin-top: 5px;
}

/* ---------------------------
TOP共通 SP
----------------------------- */
/* h2 見出し [青ver] SP
-------------------------------*/
.note-h2 {
  line-height: 1;
  letter-spacing: 0.05em;
  /* 文字間50 */
  font-family: "Outfit Bold", sans-serif;
  font-size: 4.8rem;
  color: var(--main-color);
  font-weight: bold;
}

.note-h2 span {
  display: block;
  padding: 0 0 2rem;
  font-family: "Robot Bold", sans-serif;
  font-size: 1.4rem;
}

/* h2 見出し [白ver] SP
----------------------------*/
.note-h2-w {
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em;
  /* 文字間50 */
  font-family: "Outfit Bold", sans-serif;
  font-size: 4.8rem;
  color: #fff;
}

.note-h2-w span {
  display: block;
  padding: 0 0 2rem;
  font-family: "Robot Bold", sans-serif;
  font-size: 1.4rem;
}

/* -----------------------
会社案内 SP
---------------------------*/
.top-company {
  padding: 6rem 0;
  background: url(/wp-content/uploads/2026/03/top-company-bg.jpg) no-repeat center top;
  background-size: cover;
  position: relative;
}

.top-company section {
  width: auto;
  padding: 0 0 5rem;
}

.top-company section h2+p {
  padding: 3rem 0 0;
  font-size: 2.4rem;
  font-weight: bold;
  font-family: "Noto Sans Bold JP", sans-serif;
}

.top-company section h2+p span {
  display: block;
  padding: 1.5rem 0 0;
  font-size: 1.8rem;
  font-family: "Noto Sans Medium JP", sans-serif;
}

/* テキスト SP ------------------ */
.top-company-ttl {
  padding: 4rem 0;
}

.top-company-ttl p {
  padding: 0 0 0.5em;
  font-size: 1.6rem;
}

.top-company-ttl p:last-child {
  padding: 0;
}

/* 写真 SP ------------------ */
.top-company-ph {
  width: 100%;
  position: static;
}

.top-company-ph>p {
  margin: 0 0 0 20%;
}

.top-company-ph img {
  width: 100%;
}

/* 下2枚用 SP */
.top-company-ph-flex {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem 0 0;
}

.top-company-ph-flex .picture-wrapper {
  width: auto;
  padding: 0 0 2rem;
  display: block;
}

.top-company-ph-flex .picture-wrapper:first-child {
  margin: 0 25% 0 0;
}

.top-company-ph-flex .picture-wrapper:last-child {
  margin: 0 0 0 25%;
}

/* ボタン幅 SP ------------------ */
.btn-top-campany {
  padding: 0 40% 0 0;
}

/* ※タブレットのレイアウト用 SP -------------  */
.top-company-tb {
  max-width: 75rem;
  margin: 0 auto;
}

/* ごあいさつ -------------  */
.com-greeting.content-box section {
  border-top: none;
}

.com-greeting.content-box section::before {
  content: none;
}

.com-greeting.content-box p {
  font-size: 1.5rem;
  margin: 3rem 0;
}

.com-greeting.content-box .gre-imgWrap {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.com-greeting.content-box .gre-imgWrap figcaption {
  margin-top: 5px;
}

.com-greeting.content-box figure img {
  border-radius: 1rem;
}

/* -----------------------
事業内容 SP
---------------------------*/
.top-services {
  padding: 6rem 0;
}

.top-services section {
  position: relative;
}

.top-services section h2+p {
  padding: 5rem 0;
  font-size: 2.4rem;
  font-family: "Noto Sans Medium JP", sans-serif;
  font-family: "Noto Sans Bold JP", sans-serif;
}

.top-services section h2+p span {
  display: block;
  padding: 1.5rem 0 0;
  font-size: 1.8rem;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.btn-top-services {
  padding: 0 40% 5rem 0;
  position: static;
}

.btn-top-services div {
  width: auto;
}

/* 上3つ SP ------------------ */
.top-services-content {
  padding: 0 0 3rem;
}

.top-services-content article {
  margin: 0 0 1.5rem;
}

.top-services-content article a {
  display: flex;
}

.top-services-content article a:hover>figure {
  transition: 0.5s;
  opacity: 0.7;
}

.top-services-content article:last-child {
  margin: 0;
}

.top-services-content article figure {
  width: 40%;
}

.top-services-content article div {
  width: 60%;
  padding: 1rem 0 0 2rem;
}

.top-services-content article div h3 {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: var(--main-color);
}

.top-services-content article div h3+p {
  padding: 0;
  font-size: 1.4rem;
  font-family: "Noto Sans Medium JP", sans-serif;
}

/* スリット・レベラー SP ------------- */
.top-services-spec {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.top-services-spec article {
  width: auto;
  padding: 0 0 3rem;
}

.top-services-spec article p:last-of-type {
  font-size: 1.6rem;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.top-services-spec-note {
  margin: 0 0 2.5rem;
  position: relative;
}

.top-services-spec-note a {
  display: block;
}

.top-services-spec-note a:hover>p {
  opacity: 0.7;
  transition: 0.5s;
}

.top-services-spec-note a:hover h3 span {
  background: url(../img/icon-en-arrow-blue-line.svg) no-repeat 90% center;
  background-size: 18px;
}

.top-services-spec-note a h3 {
  width: 50%;
  padding: 0.5rem 0 0 2rem;
  border-radius: 1rem 0 0 0;
  background: #fff;
  position: absolute;
  bottom: -10px;
  right: 0;
}

.top-services-spec-note a h3 span {
  display: block;
  letter-spacing: 0.05em;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--main-color);
  background: url(../img/icon-en-arrow-white-line.svg) no-repeat 90% center;
  background-size: 18px;
  transition: 0.5s;
}

/* -----------------------
  ブログ SP
---------------------------*/
.single .single-post .wp-block-image img {
  max-width: 500px;
  margin: 30px auto;
}

.single .single-post object {
  margin: 30px auto 20px;
}

.single .single-post .wp-block-file {
  margin-bottom: 30px;
}

.top-blog {
  padding: 6rem 0;
  background: #ecf2f8 url(/wp-content/uploads/2026/03/blog-bg.png) no-repeat center top;
}

.top-blog section {
  position: relative;
}

.top-blog-ttl {
  display: flex;
  flex-direction: column;
  padding: 0 0 5rem;
}

.top-blog-ttl h2+p {
  max-width: auto;
  padding: 3rem 0 0;
  font-size: 1.4rem;
  font-family: "Noto Sans Medium JP", sans-serif;
  font-family: "Noto Sans Medium JP", sans-serif;
}

/* ボタン幅 SP ------------------ */
.btn-top-blog {
  padding: 0 40% 5rem 0;
  position: static;
}

.btn-top-blog div {
  width: auto;
}

/* 記事 SP --------------- */
.top-blog-day {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.top-blog-day .blog-post-item {
  display: block;
  width: 46%;
}

.top-blog-day .blog-post-item:first-child {
  width: 100%;
}

/* サムネイル画像のアスペクト比を統一 */
.post-thumbnail {
  position: relative;
  width: 100%;
  aspect-ratio: 8/5;
  /* 16:9の比率 */
  overflow: hidden;
  border-radius: 5px;
}

.post-thumbnail.no-image a {
  position: relative;
  display: block;
}

.post-thumbnail.no-image a .no-imgText {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-shadow: 0 0 4px #494949;
  font-family: "Outfit600", sans-serif;
}

.post-thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
}

.post-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  /* 画像を枠にフィットさせて切り抜き */
  -o-object-position: center;
  object-position: center;
  /* 中央を基準に切り抜き */
  transition: transform 0.3s ease;
  /* ホバー効果用（オプション） */
}

/* 記事共通 SP --------------- */
.top-blog-day .blog-post-item {
  display: block;
  padding: 0 0 3.5rem;
  font-size: 1.6rem;
}

.top-blog-day .blog-post-item a:hover>img {
  transition: 0.5s;
  opacity: 0.7;
}

.top-blog-day .blog-post-item:last-child {
  padding: 0;
}

.top-blog-day .blog-post-item .post-content {
  padding: 1rem 0 0;
}

.top-blog-day .blog-post-item .post-content .post-categories {
  display: block;
  width: 6rem;
  line-height: 1.5;
  margin: 0 0 0.5rem;
  text-align: center;
  color: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 0.2rem;
  font-size: 1.2rem;
}

.top-blog-day .post-title {
  font-size: 1.6rem;
}

.top-blog-day .post-title a {
  color: var(--text-color);
}

.top-blog-day .post-title a:hover {
  color: var(--main-color);
}

/* -----------------------
リクルート SP
---------------------------*/
.top-recruit-sp {
  position: relative;
}

.top-recruit-sp .top-recruit-sp-box {
  padding: 0 1.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.top-recruit section {
  width: auto;
  margin: 0;
  padding: 0;
}

.top-recruit section h2+p {
  padding: 3rem 0 5rem;
  font-size: 1.4rem;
  font-family: "Noto Sans Medium JP", sans-serif;
  color: #fff;
  white-space: nowrap;
}

.btn-top-recruit {
  padding: 0 12%;
}

.top-recruit-pc {
  display: none;
}

.fv-video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.hero_img {
  position: relative;
}

.hero_img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
}

/* 安全と品質 SP ------------------ */
.co-satisfaction {
  background: url(/wp-content/uploads/2026/03/company-top-ph.jpg) no-repeat center bottom;
  background-size: cover;
  margin-bottom: 5rem;
}

.co-satisfaction section {
  padding: 4rem 3rem 60rem;
}

.co-satisfaction h3 {
  font-size: 2.4rem;
  color: var(--main-color);
  font-family: "Noto Sans Bold JP", sans-serif;
  margin-bottom: 2.5rem;
}

.co-satisfaction-txt {
  letter-spacing: 0.025em;
  text-shadow: 0.3rem 0.3rem 0.2rem #fff, -0.3rem -0.3rem 0.2rem #fff, -0.3rem 0.3rem 0.2rem #fff, 0.3rem -0.3rem 0.2rem #fff, 0.3rem 0 0.2rem #fff, -0.3rem 0 0.2rem #fff, 0 0.3rem 0.2rem #fff, 0 -0.3rem 0.2rem #fff;
}

/* -----------------------
ブログ 記事一覧 SP
---------------------------*/
.bl-articles-wrap {
  max-width: 158rem;
  margin: 0 auto;
  padding: 5rem 3rem 0;
}

/* 1000幅のbox SP
-------------------------------*/
.bl-articles.content-box {
  padding: 0 0 5rem;
}

.content-box.box100 {
  max-width: 100rem;
}

.bl-articles-detail {
  margin-top: 3rem;
}

.bl-articles-detail ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 1.5rem;
}

.bl-articles-detail li {
  width: calc(50% - 0.75rem);
  line-height: 1.5;
}

.bl-articles-detail li figure {
  position: relative;
  width: 100%;
  aspect-ratio: 8/5;
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  background-color: #f5f5f5;
}

.bl-articles-detail li figure a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.bl-articles-detail li figure img {
  border-radius: 0.5rem;
}

.bl-articles-detail li figure img.post-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: transform 0.3s ease;
  display: block;
}

.bl-articles-detail li p.category {
  display: inline-block;
  font-size: 1.2rem;
  border: 0.1rem var(--main-color) solid;
  padding: 0.1rem 0.5em 0;
  border-radius: 0.3rem;
  margin: 1rem 0;
}

.bl-articles-detail li p.bl-title {
  font-size: 1.4rem;
}

/* ----- ページネーション ----- */
.page-nation {
  display: flex;
  justify-content: center;
  margin: 5rem 0;
}

.page-nation .page-numbers {
  font-family: "Outfit600", sans-serif;
  font-size: 1.8rem;
  color: var(--main-color);
  font-optical-sizing: auto;
  font-family: "Noto Sans Medium JP", sans-serif;
  font-style: normal;
  line-height: 1;
  padding: 0.6rem 1rem;
  border: 0.1rem var(--main-color) solid;
  margin: 0 0.7rem;
}

.page-nation .page-numbers.dots {
  color: #999;
  border: none;
}

.page-nation .page-numbers.current {
  background: var(--main-color);
  color: #fff;
}

/* ----- カテゴリナビ ----- */
.bl-sidenav .widget_block {
  padding: 1.5rem 0 0;
  border-top: 0.1rem #ccc solid;
  margin-bottom: 5rem;
  position: relative;
}

.bl-sidenav .widget_block a {
  color: var(--text-color);
}

.bl-sidenav .widget_block:first-child .wp-block-categories::before {
  content: "カテゴリー";
  font-family: "Noto Sans Bold JP", sans-serif;
  letter-spacing: 0.05em;
  padding-bottom: 1.3rem;
  display: block;
}

.bl-sidenav .widget_block:last-child .wp-block-categories::before {
  content: "タグ";
  font-family: "Noto Sans Bold JP", sans-serif;
  letter-spacing: 0.05em;
  padding-bottom: 1.3rem;
  display: block;
  width: 100%;
}

.bl-sidenav .widget_block:before {
  content: "";
  display: block;
  width: 12rem;
  height: 0.1rem;
  background: var(--main-color);
  position: absolute;
  top: -0.1rem;
  left: 0;
}

.bl-sidenav .widget_block .cat-ul li {
  font-size: 1.4rem;
  padding: 1rem 0.5rem;
  border-bottom: 0.1rem #ccc solid;
}

.bl-sidenav .widget_block .cat-ul li:first-child {
  border-top: 0.1rem #ccc solid;
}

.bl-sidenav .widget_block .tag-ul {
  display: flex;
  flex-wrap: wrap;
}

.bl-sidenav .widget_block .tag-ul a {
  display: block;
  font-size: 1.4rem;
  color: var(--main-color);
  font-family: "Noto Sans Medium JP", sans-serif;
  line-height: 1.5;
  padding: 0.2rem 0.8em 0;
  margin: 0 1rem 1rem 0;
  border: 0.1rem var(--main-color) solid;
  border-radius: 1.5rem;
}

/* -----------------------
投稿ページ SP
---------------------------*/
.articles-wrap {
  max-width: 158rem;
  margin: 0 auto;
  padding: 5rem 3rem 0;
}

.single-post .post-content {
  margin-top: 3rem;
}

.single-post .post-meta time {
  display: inline-block;
  font-size: 1.2rem;
  border: 0.1rem var(--main-color) solid;
  padding: 0.1rem 0.5em 0;
  border-radius: 0.3rem;
  margin: 1rem 0;
}

.single-post .post-body {
  margin-top: 20px;
}

.single-post .post-tags {
  margin-top: 30px;
}

.single-post .post-tags a {
  display: inline-block;
  font-size: 1.4rem;
  color: var(--main-color);
  font-family: "Noto Sans Medium JP", sans-serif;
  line-height: 1.5;
  padding: 0.2rem 0.8em 0;
  margin: 0 1rem 1rem 0;
  border: 0.1rem var(--main-color) solid;
  border-radius: 1.5rem;
}

.single-post .post-thumbnail {
  max-width: 500px;
  margin: 20px auto;
}

/* -----------------------
リクルート SP
---------------------------*/
/* リクルートTOPのh3の設定 */
.recruit .content-box section {
  border-top: none;
}

.recruit .content-box section::before {
  display: none;
}

.recruit .content-box h3 {
  font-family: "Outfit600", sans-serif;
  font-size: 2.8rem;
  color: var(--main-color);
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 4rem;
}

.recruit .content-box h3 span {
  font-size: 1.2rem;
}

/* メッセージ SP ------------------ */
.re-message-bg {
  margin-top: -10vw;
  background-color: #edf5fc;
  clip-path: polygon(0 10vw, 100% 0, 100% 100%, 0 100%);
  padding-top: 8vw;
  margin-top: -3rem;
}

.re-message {
  padding: 0 3rem 5rem;
}

.re-message picture img {
  border-radius: 1rem;
}

.re-message-detail .catch {
  font-size: 3rem;
  font-family: "Noto Sans Bold JP", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-bottom: 2.5rem;
}

.re-message-detail .catch span {
  color: #00afec;
}

.re-message-detail .re-message-txt {
  font-size: 1.5rem;
  font-family: "Noto Sans Medium JP", sans-serif;
  letter-spacing: 0.05em;
  line-height: 2;
}

.re-message-detail .catch-bottom {
  margin: 2rem 0 3.5rem;
}

.re-message-detail .catch-bottom>span {
  background-image: linear-gradient(transparent 85%, #c4d9ec 85%);
  /* 85%の位置から色を付ける */
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding-bottom: 0.7rem;
  font-size: 2.6rem;
  font-family: "Noto Sans Bold JP", sans-serif;
  letter-spacing: 0.05em;
}

.re-message-detail .catch-bottom>span span {
  color: #00afec;
}

/* 数字でみる SP ------------------ */
.re-numbers-bg {
  background: var(--main-color);
}

.recruit .re-numbers.content-box h3,
.recruit .re-numbers.content-box h3 span {
  color: #fff;
  text-align: center;
}

.re-numbers-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}

.num-box {
  width: calc(50% - 0.75rem);
  background: #fff;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 2rem 0.5rem;
  border-radius: 1rem;
}

.num-box.num05 {
  width: 100%;
}

.num-box h4 {
  font-size: 1.5rem;
  line-height: 1.2;
  padding-bottom: 0.5rem;
}

.num-box p {
  font-size: 1.4rem;
  line-height: 1;
}

.num-box .num-txt,
.num-box .num-colon {
  font-family: "Outfit600", sans-serif;
  font-size: 4.8rem;
  color: var(--main-color);
  font-optical-sizing: auto;
  font-style: normal;
}

/* .num-box.num02 / .num-box.num05 */
.num-box.num02 .num-txt,
.num-box.num05 .num-txt {
  font-size: 4.2rem;
}

.num-box.num02 .num-colon,
.num-box.num05 .num-colon {
  font-size: 4.2rem;
  margin: 0 0.5rem;
}

.num-box.num02 p:last-child,
.num-box.num05 p:last-child {
  padding-top: 0.5rem;
}

.num-box.num02 p:last-child span {
  margin: 0 1rem;
}

/* .num-box.num05 */
.num-box.num05 ul {
  display: flex;
  justify-content: space-around;
}

/* 先輩社員のご紹介 SP ------------------ */
.re-intro-bg {
  background: #f8f8f8;
}

.re-intro.content-box section {
  border-top: none;
}

.re-intro.content-box section::before {
  display: none;
}

.re-intro.content-box h3 {
  font-family: "Outfit600", sans-serif;
  font-size: 2.8rem;
  color: var(--main-color);
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 4rem;
}

.re-intro.content-box h3 span {
  font-size: 1.2rem;
}

.re-intro-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 1.5rem;
  margin-top: 5rem;
}

.re-intro-card {
  width: calc(50% - 0.75em);
  background: #fff;
  text-align: center;
  line-height: 1;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.3rem 0.5rem rgba(204, 204, 204, 0.3);
}

.re-intro-card figure {
  width: 60%;
  margin: 2rem auto 1.5rem;
}

.re-intro-card .staff-name {
  width: 60%;
  margin: 0 auto 2rem;
}

.re-intro-card .staff-name p:first-child {
  font-size: 1.5rem;
  color: var(--main-color);
  letter-spacing: 0.05em;
  padding-bottom: 1rem;
  border-bottom: 0.1rem #ccc solid;
  margin-bottom: 1rem;
}

.re-intro-card .staff-name p:last-child {
  font-size: 1.2rem;
}

.re-intro-card .staff-name p:last-child span {
  font-family: "Outfit600", sans-serif;
  font-size: 2.4rem;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.05em;
  margin-right: 0.5rem;
}

.re-intro-card .to-page a {
  display: block;
  width: 88%;
  background: var(--main-color);
  font-size: 1.3rem;
  color: #fff;
  font-family: "Noto Sans Bold JP", sans-serif;
  padding: 1.2rem 1.2rem 1.2rem 0;
  margin-left: auto;
  border-radius: 2rem 0 1rem 0;
  position: relative;
}

.re-intro-card .to-page a::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/icon-en-arrow-white.svg);
  position: absolute;
  top: 50%;
  right: 1.1rem;
  transform: translateY(-50%);
}

/* コイルセンターとは SP ------------------ */
.sv-coil {
  margin-top: 4rem;
}

.sv-coil-h3-wrap {
  max-width: 138rem;
  margin: 0 auto;
  padding: 0 3rem 3rem;
}

.sv-coil-h3-wrap-in {
  padding: 3rem 0 0;
  border-top: 0.1rem #ccc solid;
  position: relative;
}

.sv-coil-h3-wrap-in::before {
  content: "";
  display: block;
  width: 14rem;
  height: 0.1rem;
  background: var(--main-color);
  position: absolute;
  top: -0.1rem;
  left: 0;
}

.sv-coil-h3-wrap h3 {
  font-size: 2.1rem;
  letter-spacing: 0.05em;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.sv-coil-h3-wrap h3 span {
  display: block;
  font-size: 1.2rem;
  color: var(--main-color);
  font-optical-sizing: auto;
  font-family: "Outfit500", sans-serif;
  font-style: normal;
  letter-spacing: 0.025em;
}

.sv-coil-image {
  max-width: 120rem;
  margin: 0 auto;
  text-align: center;
  padding: 2rem 3rem;
}

.sv-coil-function {
  max-width: 138rem;
  margin: 0 auto;
  padding: 0 3rem;
}

.sv-coil-function ul {
  letter-spacing: 0.025em;
  padding: 3rem 0 5rem;
  counter-reset: number 0;
}

.sv-coil-function li {
  padding: 0.2rem 0 0.2rem 2rem;
  border-left: 0.1rem var(--main-color) solid;
  margin-bottom: 5rem;
}

.sv-coil-function li:last-child {
  margin-bottom: 0;
}

.sv-coil-function li h4 {
  font-size: 1.8rem;
  color: var(--main-color);
  margin-bottom: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
}

.sv-coil-function li h4::before {
  font-size: 2rem;
  counter-increment: number 1;
  content: counter(number) ".";
  font-family: "Robot", sans-serif;
}

.sv-coil-function li p {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}

.sv-coil-function-lead {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  margin-top: 5rem;
}

/* 工場設備概要 SP ------------------ */
.sv-equipment {
  margin: 3rem 0;
  border-top: 0.1rem #ccc solid;
}

.sv-equipment dl {
  display: flex;
  padding: 2.5rem 0;
  border-bottom: 0.1rem #ccc solid;
}

.sv-equipment dt {
  width: 37%;
  padding-left: 1.5rem;
  position: relative;
}

.sv-equipment dt::before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  background: #00afec;
  border-radius: 50%;
  position: absolute;
  top: 0.9rem;
  left: 0;
}

.sv-equipment dd {
  width: 63%;
  font-size: 1.5rem;
}

.sv-equipment dd sup {
  font-size: 1.2rem;
  vertical-align: super;
}

.sv-factory-detail figure {
  text-align: center;
}

/* -----------------------
会社概要 SP
---------------------------*/
/* 会社概要メニュー SP ------------------ */
.ol-nav {
  max-width: 158rem;
  margin: 0 auto;
  padding: 7.5rem 3rem 5rem;
}

.ol-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2%;
  margin-bottom: 3rem;
}

.ol-nav ul li {
  width: 32%;
}

/* 会社概要 SP ------------------ */
.ol-outline-detail>dl {
  display: flex;
  border-bottom: 0.1rem #ccc solid;
}

.ol-outline-detail>dl:first-child {
  margin-top: 2rem;
}

.ol-outline-detail>dl>dt {
  width: 38%;
  font-size: 1.5rem;
  color: var(--main-color);
  font-family: "Noto Sans Medium JP", sans-serif;
  letter-spacing: 0.025em;
  padding: 3rem 0;
}

.ol-outline-detail>dl>dd {
  width: 62%;
  font-size: 1.4rem;
  letter-spacing: 0.025em;
  padding: 3rem 0;
}

.ol-outline-detail dl dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ol-outline-detail dl dl dt {
  width: 67%;
}

.ol-outline-detail dl dl dd {
  width: 33%;
}

/* 本社・工場 SP ------------------ */
.ol-office-detail {
  padding: 4.5rem 0 2rem;
}

.ol-office-info {
  padding: 1.5rem 0 2.5rem;
}

.ol-office-info>p {
  font-size: 1.5rem;
  letter-spacing: 0.025em;
}

.ol-office-info .telfax p {
  width: 6rem;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 2.5rem 0 1rem;
  border: 0.1rem #ddd solid;
}

.ol-office-info .telfax li {
  font-size: 1.5rem;
  letter-spacing: 0.025em;
  padding-left: 1.8rem;
  position: relative;
  font-family: "Robot", sans-serif;
}

.ol-office-info .telfax li::before {
  content: "";
  display: block;
  background: var(--main-color);
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

#ol-office section>figure {
  display: none;
}

.ol-office-map {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9のアスペクト比 */
  height: 0;
}

.ol-office-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 沿革 SP ------------------ */
.ol-history-detail {
  padding: 0 0 3rem 1.5rem;
  margin: 3rem 0 0 0.5rem;
  border-left: 0.1rem #00afec solid;
  position: relative;
}

.ol-history-detail::before,
.ol-history-detail::after {
  content: "";
  display: block;
  background: #00afec;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  position: absolute;
}

.ol-history-detail::before {
  top: -0.2rem;
  left: -0.4rem;
}

.ol-history-detail::after {
  bottom: -0.2rem;
  left: -0.5rem;
}

.ol-history-detail dl {
  font-size: 1.4rem;
  letter-spacing: 0.025em;
  padding: 2.5rem 0;
  border-bottom: 0.1rem #ccc solid;
}

.ol-history-detail dt {
  color: var(--main-color);
  margin-bottom: 1.5rem;
}

.ol-history-detail dt span {
  font-family: "Outfit500", sans-serif;
  font-size: 1.8rem;
  color: #7595b2;
  font-optical-sizing: auto;
  font-style: normal;
}

.ol-history-detail dt span:last-child {
  font-size: 1.2rem;
  color: #000;
  margin-left: 0.5em;
}

/* 認定資格 SP ------------------ */
.ol-certification-bg {
  max-width: 140rem;
  background: #f8f8f8;
  padding: 0 3rem 3rem;
  margin: 0 auto 5rem;
}

#ol-certification .content-box {
  padding: 0;
}

#ol-certification section {
  display: flex;
  justify-content: space-between;
  border-top: none;
}

#ol-certification section::before {
  display: none;
}

#ol-certification section h3 {
  width: 45%;
}

.ol-certification-detail {
  width: 55%;
}

.ol-certification-detail p:first-child {
  font-size: 1.4rem;
}

.ol-certification-detail p:last-child {
  font-size: 1.2rem;
  font-family: "Noto Sans Medium JP", sans-serif;
  margin-top: 0.5rem;
}

.ol-certification-detail figure {
  background: #fff;
  padding: 1.7rem 1.2rem;
  border: 0.1rem #ddd solid;
  border-radius: 1rem;
  margin: 0 auto;
}

.ol-certification-detail-in {
  display: inline-block;
  max-width: 20rem;
  text-align: center;
}

/* グループ会社 SP ------------------ */
#ol-group.content-box {
  padding-bottom: 5rem;
}

.ol-group-detail {
  padding: 4.5rem 0 0;
}

.related-com-detail {
  padding: 3.5rem 0 4.5rem;
}

.related-com-detail p {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  margin: 1rem 0 2.5rem;
}

.related-com-info {
  border-top: 0.1rem #ccc solid;
}

.related-com-info dl {
  display: flex;
  letter-spacing: 0.025em;
  padding: 2.5rem 0;
  border-bottom: 0.1rem #ccc solid;
}

.related-com-info dt {
  width: 35%;
  font-size: 1.5rem;
  padding-left: 1.2rem;
  position: relative;
}

.related-com-info dt::before {
  content: "";
  display: block;
  background: var(--main-color);
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  position: absolute;
  top: 0.9rem;
  left: 0;
}

.related-com-info dd {
  width: 65%;
  font-size: 1.4rem;
  font-size: 1.2rem;
  vertical-align: super;
}

.related-com-info dd sup {
  vertical-align: super;
  font-size: 1rem;
}

.related-com-info dd br {
  display: none;
}

.group-com {
  padding: 0 0 4.5rem;
}

.group-com ul {
  margin-top: 2rem;
  border-top: 0.1rem #ccc solid;
}

.group-com li {
  font-size: 1.5rem;
  padding: 2.5rem 0 2.5rem 1.2rem;
  border-bottom: 0.1rem #ccc solid;
  position: relative;
}

.group-com li::before {
  content: "";
  display: block;
  background: #00afec;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  position: absolute;
  top: 3.3rem;
  left: 0;
}

.supplier {
  padding: 0 0 0.5rem;
}

.supplier p {
  font-size: 1.5rem;
  padding: 1.5rem 0 0.5rem 1.2rem;
  position: relative;
}

.supplier p::before {
  content: "";
  display: block;
  background: #00afec;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  position: absolute;
  top: 2.3rem;
  left: 0;
}

/* 会社概要 Navi ------------------ */
.company-nav {
  background: #edf5fc;
  margin: 0 auto;
}

.company-nav li {
  background: #fff;
  border: 0.1rem #ddd solid;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}

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

.company-nav li a {
  display: block;
  background: no-repeat left center;
  background-size: contain;
  height: 12rem;
  align-content: center;
  padding-left: 12.5rem;
  border-radius: 0.5rem;
  position: relative;
}

.company-nav li:nth-child(1) a {
  background-image: url(/wp-content/uploads/2026/03/company-com-ph01_sp.jpg);
}

.company-nav li:nth-child(2) a {
  background-image: url(/wp-content/uploads/2026/03/company-com-ph02_sp.jpg);
}

.company-nav li:nth-child(3) a {
  background-image: url(/wp-content/uploads/2026/03/company-com-ph03_sp.jpg);
}

.company-nav li figure {
  display: none;
}

.company-nav li a p {
  font-family: "Noto Sans Medium JP", sans-serif;
  line-height: 1.5;
}

.company-nav li a:hover p {
  color: var(--main-color);
}

.company-nav li a::after {
  content: "";
  display: block;
  width: 1.9rem;
  height: 1.9rem;
  background: url(../img/icon-en-arrow-white-line.svg) no-repeat center center;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  transition: 0.5s;
}

.company-nav li a:hover::after {
  background-image: url(../img/icon-en-arrow-blue.svg);
}

/* -----------------------
企業理念と行動規範 SP
---------------------------*/
/* 企業理念と行動規範 SP ------------------ */
.phi-document {
  text-align: center;
  margin-bottom: 5rem;
}

.phi-document figure {
  display: inline-block;
  max-width: 800px;
}

/* purposeロゴ SP ------------------ */
.phi-purpose figure {
  padding: 5rem 3rem;
  border-top: 0.1rem #ccc solid;
  border-bottom: 0.1rem #ccc solid;
}

/* スリッターライン SP ------------------ */
.sl-line.content-box {
  margin-top: 4rem;
}

.sl-line-detail {
  margin-top: 20px;
}

.sl-line-lead {
  font-size: 1.5rem;
  letter-spacing: 0.025em;
}

.sl-line-flow {
  padding: 5rem 0 0;
}

.sl-line-flow ul.pc {
  display: none;
}

.sl-line-flow ul.sp {
  margin-top: 3rem;
}

.sl-line-flow img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border: none;
}

/* 初期状態（少し下にずらして透明） */
.sl-line-flow ul.sp li {
  text-align: center;
  opacity: 0;
  transform: translateY(-4rem);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 表示状態 */
.sl-line-flow ul.sp li.is-active {
  opacity: 1;
  transform: translateY(0);
}

.sl-line-flow ul.sp li.arrow {
  width: 2rem;
  margin: 0 auto 1rem;
}

.sl-line-flow ul.sp li:nth-child(1) {
  transition-delay: 0s;
}

.sl-line-flow ul.sp li:nth-child(2) {
  transition-delay: 0.2s;
}

.sl-line-flow ul.sp li:nth-child(3) {
  transition-delay: 0.3s;
}

.sl-line-flow ul.sp li:nth-child(4) {
  transition-delay: 0.6s;
}

.sl-line-flow ul.sp li:nth-child(5) {
  transition-delay: 0.8s;
}

/* 機械能力仕様 SP ------------------ */
.sl-spec h3 {
  margin-bottom: 2rem;
}

/* ----- table 全体レイアウト ----- */
.sl-spec.content-box {
  width: 100%;
  overflow-x: hidden;
}

.sl-spec-detail .tb-all {
  max-width: 140rem;
  margin: 0;
  padding: 0 0 1rem;
  overflow-x: auto;
}

.sl-spec-detail .tb-wrap {
  border-top: 0.1rem solid #ccc;
  border-left: 0.1rem solid #ccc;
}

.sl-spec-detail .tb-wrap-in {
  width: 68rem;
  /* SP時だけ固定 */
  margin: 0 0 1rem;
}

/* ----- table 基本 ----- */
.sl-spec-detail table#spec {
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: none;
  min-width: -moz-max-content;
  min-width: max-content;
  /* ← 重要 */
}

.sl-spec-detail img {
  width: auto;
  vertical-align: bottom;
}

/* 罫線は左線だけで統一 */
.sl-spec-detail table#spec th,
.sl-spec-detail table#spec td {
  padding: 0.6rem 0.8rem;
  font-size: 1.3rem;
  font-family: "Noto Sans Medium JP", sans-serif;
  line-height: 1.4;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-weight: normal;
}

/* 背景 */
.sl-spec-detail .spec-bg-yel {
  background: #edf5fc;
}

/* 左固定1列目 */
.sl-spec-detail th.sell-01 {
  position: sticky;
  left: 0;
  width: 6rem;
  z-index: 3;
  /* 最前面 */
}

/* 左固定2列目 */
.sl-spec-detail th.sell-02 {
  position: sticky;
  left: 6rem;
  /* 1列目と同じ幅 */
  width: 7rem;
  z-index: 2;
}

/* colspan=2 のセル */
.sl-spec-detail th.sell-00 {
  position: sticky;
  left: 0;
  width: 13rem;
  /* sell-01の幅 + sell-02の幅 */
  z-index: 4;
}

/* 改行セル */
.sl-spec-detail table#spec td.spec-line {
  line-height: 1.6;
}

.sl-spec-photos {
  margin-top: 3rem;
  border-top: 0.1rem #bbb solid;
  padding-top: 3rem;
}

.sl-spec-photos img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border: none;
}

.sl-spec-photos ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}

.sl-spec-photos li {
  width: calc(50% - 0.75rem);
  position: relative;
}

.sl-spec-photos li::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background: url(../img/services-com-icon-imageup.svg) no-repeat center center;
  position: absolute;
  bottom: 0.8rem;
  right: 1rem;
}

.sl-spec-photos p {
  font-size: 1.2rem;
  text-align: right;
  line-height: 1;
  margin-top: 1.5rem;
}

.sl-spec-detail.le-spec-detail .tb-all {
  max-width: 50rem;
  width: 100%;
}

.sl-spec-detail.le-spec-detail th.sell-02 {
  left: 0;
}

.sl-spec-detail.le-spec-detail .tb-wrap-in {
  width: 100%;
}

.sl-spec-detail.le-spec-detail table#spec {
  width: 100%;
}

.fancybox-container {
  z-index: 99999 !important;
}

/* スリット系の梱包 SP ------------------ */
.sl-packing.content-box {
  padding-bottom: 5rem;
}

.sl-packing h4 {
  margin: 2.5rem 0 1.7rem;
}

.sl-packing p {
  font-size: 1.5rem;
  letter-spacing: 0.025em;
}

.sl-packing-equipment {
  padding-bottom: 1rem;
}

.sl-packing-equipment-photos,
.sl-packing-type-photos {
  margin-top: 2.5rem;
}

.sl-packing-equipment-photos li {
  text-align: center;
  margin-bottom: 1rem;
}

.sl-packing-type-photos ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}

.sl-packing-type-photos li {
  width: calc(50% - 0.75rem);
  text-align: center;
}

/* レベラー 梱包 ------------------ */
.leveller-pack-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  /* 16:9のアスペクト比 */
  overflow: hidden;
  border-radius: 3px;
}

.leveller-pack-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  /* 画像を切り抜いて枠に収める */
  -o-object-position: center;
  object-position: center;
  /* 切り抜き位置を中央に */
}

.le-spec-photos {
  border-top: 0.1rem #bbb solid;
  padding-top: 3rem;
  margin-top: 3rem;
}

.le-spec-photos p {
  margin-top: 20px;
  font-size: 1.5rem;
}

/* 事業内容 Navi ------------------ */
.services-nav {
  background: #edf5fc;
  padding: 5rem 3rem;
}

.services-nav li {
  background: #fff;
  border: 0.1rem #ddd solid;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}

.services-nav li:last-child {
  margin-bottom: 0;
}

.services-nav li a {
  display: block;
  background: no-repeat left center;
  background-size: contain;
  height: 7.4rem;
  padding: 2.4rem 1rem 0 13rem;
  border-radius: 0.5rem;
  position: relative;
}

.services-nav li:nth-child(1) a {
  background-image: url(/wp-content/uploads/2026/03/services-com-ph01_sp.jpg);
}

.services-nav li:nth-child(2) a {
  background-image: url(/wp-content/uploads/2026/03/services-com-ph02_sp.jpg);
}

.services-nav li:nth-child(3) a {
  background-image: url(/wp-content/uploads/2026/03/services-com-ph03_sp.jpg);
}

.services-nav li:nth-child(4) a {
  background-image: url(/wp-content/uploads/2026/03/services-com-ph04_sp.jpg);
}

.services-nav li:nth-child(5) a {
  background-image: url(/wp-content/uploads/2026/03/services-com-ph05_sp.jpg);
}

.services-nav li figure {
  display: none;
}

.services-nav li p {
  font-family: "Noto Sans Medium JP", sans-serif;
}

.services-nav li p br {
  display: none;
}

.services-nav li a:hover p {
  color: var(--main-color);
}

.services-nav li a::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/icon-en-arrow-white-line.svg) no-repeat center center;
  position: absolute;
  top: 3rem;
  right: 2rem;
  transition: 0.5s;
}

.services-nav li a:hover::after {
  background-image: url(../img/icon-en-arrow-blue.svg);
}

/*お問い合わせ*/
.Form {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.Form .contact-h3 {
  font-size: 1.8rem;
  margin-top: 4rem;
  margin-bottom: 1rem;
  line-height: 1.3;
  border-bottom: 1px solid #afaeae;
  color: var(--main-color);
  padding-bottom: 10px;
}

.contact-outer {
  background-color: #f6f6f6;
  padding: 30px 20px;
  border-radius: 10px;
  margin-bottom: 70px;
}

.wpcf7 .Form-Item {
  margin: 0;
  padding: 0;
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.wpcf7 .Form-Item.input-cover {
  width: 100%;
  align-items: center;
}

.wpcf7 .Form-Item .form__body {
  width: 100%;
}

.wpcf7 .Form-Item.row-privacy {
  align-items: center;
}

.wpcf7 .Form-Item.reCapText {
  display: block;
  text-align: center;
}

.wpcf7 .row-privacy .is-required {
  text-align: center;
}

.wpcf7 .row-privacy .is-required .wpcf7-list-item {
  margin: 0;
}

.wpcf7 .Form-Item-Label {
  width: 100%;
  text-align: left;
  padding-bottom: 5px;
}

.wpcf7 .Form-Item-Label.is-required::after {
  content: "※";
  display: inline-block;
  color: var(--accent-color);
  font-weight: bold;
  margin-left: 5px;
}

.wpcf7 {
  /* テキストフィールド */
}

.wpcf7 input[type=text],
.wpcf7 input[type=tel],
.wpcf7 input[type=email],
.wpcf7 input[type=url],
.wpcf7 input[type=date],
.wpcf7 input[type=number],
.wpcf7 textarea {
  width: 100%;
  margin: 0;
  padding: 17px 16px 18px 16px;
  border-radius: 0;
  box-shadow: none;
  background-color: #f5f5f5;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid rgba(0, 0, 255, 0);
  border-radius: 8px;
}

.wpcf7 {
  /* テキストフィールド placeholder */
}

.wpcf7 input[type=text]::-moz-placeholder,
.wpcf7 input[type=tel]::-moz-placeholder,
.wpcf7 input[type=email]::-moz-placeholder,
.wpcf7 input[type=url]::-moz-placeholder,
.wpcf7 input[type=date]::-moz-placeholder,
.wpcf7 input[type=number]::-moz-placeholder,
.wpcf7 textarea::-moz-placeholder {
  color: #959595;
}

.wpcf7 input[type=text]::placeholder,
.wpcf7 input[type=tel]::placeholder,
.wpcf7 input[type=email]::placeholder,
.wpcf7 input[type=url]::placeholder,
.wpcf7 input[type=date]::placeholder,
.wpcf7 input[type=number]::placeholder,
.wpcf7 textarea::placeholder {
  color: #959595;
}

.wpcf7 input[type=text]:-ms-input-placeholder,
.wpcf7 input[type=tel]:-ms-input-placeholder,
.wpcf7 input[type=email]:-ms-input-placeholder,
.wpcf7 input[type=url]:-ms-input-placeholder,
.wpcf7 input[type=date]:-ms-input-placeholder,
.wpcf7 input[type=number]:-ms-input-placeholder,
.wpcf7 textarea:-ms-input-placeholder {
  color: #959595;
}

.wpcf7 input[type=text]::-ms-input-placeholder,
.wpcf7 input[type=tel]::-ms-input-placeholder,
.wpcf7 input[type=email]::-ms-input-placeholder,
.wpcf7 input[type=url]::-ms-input-placeholder,
.wpcf7 input[type=date]::-ms-input-placeholder,
.wpcf7 input[type=number]::-ms-input-placeholder,
.wpcf7 textarea::-ms-input-placeholder {
  color: #959595;
}

.wpcf7 {
  /* テキストフィールド フォーカス時 */
}

.wpcf7 input[type=text]:focus,
.wpcf7 input[type=tel]:focus,
.wpcf7 input[type=email]:focus,
.wpcf7 input[type=url]:focus,
.wpcf7 input[type=number]:focus,
.wpcf7 textarea:focus {
  outline: 0;
  border: 1px solid var(--col-4, #5BC8D6);
  background: #edf5fc;
}

.wpcf7 .wpcf7-response-output {
  text-align: center;
}

.wpcf7-spinner {
  background-color: #6baaea;
  margin: 0;
  position: relative;
  top: 3px;
}

.wpcf7 .template01 input[type=submit]:disabled {
  cursor: not-allowed;
  box-shadow: none !important;
  border: 1px solid var(--col-11, #F8F8F8) !important;
  background-color: var(--col-11, #F8F8F8) !important;
  color: #999 !important;
}

.wpcf7 .template01 input[type=submit]:focus {
  outline: none;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background: #f6eded;
  border: 1px solid #d8232c;
  color: #dc3232;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: none !important;
}

.recap-notice {
  font-size: 12px;
  font-family: "Robot", sans-serif;
}

.thanks .site-main-container {
  padding: 0 1em;
}

.thanks .contact_thanks_box p {
  line-height: 3rem;
}

.thanks .pattern_btn {
  margin-top: 80px;
}

.thanks .pattern_btn .wp-block-button__link::after {
  content: none;
}

.thanks .entry-content {
  max-width: 680px;
  margin: auto;
}

.thanks_h3 {
  font-family: "Noto Sans Bold JP", sans-serif;
  font-size: 2rem;
  margin-bottom: 20px;
}

/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
  display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output {
  display: none;
}

.contact .content-box {
  padding-top: 4rem;
}

.button-wrap {
  border-radius: 1rem;
  background-size: 3rem;
  border: 1px solid var(--main-color);
  overflow: hidden;
  position: relative;
  z-index: 1;
  display: block;
  color: #fff;
  border-radius: 0.5rem;
  background: var(--main-color) url(../img/icon-en-arrow-white.svg) no-repeat 90% center;
  background-size: 2.4rem;
  transition: 0.3s;
  max-width: 190px;
  width: 100%;
  cursor: pointer;
  height: 57.75px;
}

.button-wrap::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff url(../img/icon-en-arrow-blue.svg) no-repeat 90% center;
  background-size: 2.4rem;
  position: absolute;
  left: -100%;
  top: 0;
  transition: 0.2s;
  z-index: -1;
}

.button-wrap p {
  display: block;
  padding: 1.4rem 3rem;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.button-wrap input {
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 57.75px;
  background: transparent;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  cursor: pointer;
  z-index: 2;
  /* 前面に配置 */
  padding-right: 6rem;
}

.button-wrap.active:hover::before {
  left: 0;
}

.button-wrap.active:hover input {
  color: var(--main-color);
}

.button-wrapOuter {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.button-submitOuter {
  display: flex;
  flex-direction: column;
}

.button-submitOuter .form__body {
  width: 190px;
}

.button-submitOuter .button-wrap:hover input {
  color: var(--main-color);
}

.button-submitOuter .button-wrap:hover::before {
  left: 0;
}

/* ラジオボタンとチェックボックスのラベルをクリックしやすくする */
.wpcf7-radio label,
.wpcf7-checkbox label {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.wpcf7-list-item-label {
  cursor: pointer;
}

.contact-text {
  margin-bottom: 40px;
}

.confirm-detail {
  margin-top: 40px;
}

.contact-thanks.content-box {
  margin-top: 4rem;
}

.contact-thanks-detail {
  margin-top: 60px;
}

/*index.php のCSS*/
.no-posts .btn-top-campany {
  margin: 50px auto 0;
  max-width: 300px;
  width: 100%;
  padding: 0;
}

.no-posts .btn-top-campany a {
  max-width: 300px;
  width: 100%;
}

/* -----------------------
新卒採用 SP
---------------------------*/
/* 募集要項 SP ------------------ */
.ng-application {
  margin-top: 5rem;
}

.ng-application-detail dl {
  letter-spacing: 0.025em;
  padding: 2.5rem 0;
  border-bottom: 0.1rem #ccc solid;
}

.ng-application-detail dt {
  font-size: 1.5rem;
  color: var(--main-color);
  font-family: "Noto Sans Medium JP", sans-serif;
  margin-bottom: 1.5rem;
}

.ng-application-detail dd {
  font-size: 1.4rem;
}

.ng-application-detail dd p {
  margin-bottom: 0.5em;
}

.ng-application-detail dd span {
  display: block;
}

/* 選考フロー SP ------------------ */
.ng-flow {
  padding: 0 3rem;
}

.ng-flow h4 {
  font-size: 1.5rem;
  color: var(--main-color);
  font-family: "Noto Sans Medium JP", sans-serif;
  letter-spacing: 0.025em;
  padding-bottom: 3rem;
}

.ng-flow li {
  background: #fff;
  color: var(--main-color);
  font-family: "Noto Sans Bold JP", sans-serif;
  letter-spacing: 0.05em;
  padding: 1.5rem 0;
  margin-bottom: 3.5rem;
  position: relative;
}

.ng-flow li:last-child {
  background: #00afec;
  color: #fff;
  margin-bottom: 0;
}

.ng-flow li:last-child span {
  color: #fff;
  border-color: #fff;
}

.ng-flow li:last-child:after {
  display: none;
}

.ng-flow li span {
  display: block;
  width: 6rem;
  font-family: "Outfit500", sans-serif;
  font-size: 1.2rem;
  color: #000;
  font-optical-sizing: auto;
  font-style: normal;
  padding-bottom: 0.8rem;
  border-bottom: 0.1rem #ccc solid;
  margin: 0 auto 1rem;
}

.ng-flow li::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/icon-arrow-down.svg) no-repeat center center;
  position: absolute;
  bottom: -2.5rem;
  left: 50%;
  transform: translateX(-50%);
}

.ng-flow-bg {
  text-align: center;
  line-height: 1;
  background-color: #edf5fc;
  padding: 3rem;
}

/* 応募ボタン SP ------------------ */
.ng-btn {
  max-width: 46rem;
  margin: 0 auto;
  padding: 5rem 2rem;
  text-align: center;
}

/* -----------------------
  プラポリ SP
  ---------------------------*/
.ppOuter p {
  font-size: 1.5rem;
}

.ppOuter section {
  padding-top: 2rem;
  padding-bottom: 6rem;
}

.ppOuter h3 {
  margin-bottom: 30px;
}

.ppOuter .tb-all {
  max-width: 140rem;
  margin: 0;
  padding: 0 0 1rem;
  overflow-x: auto;
}

.ppOuter .tb-wrap {
  border-top: 0.1rem solid #ccc;
  border-left: 0.1rem solid #ccc;
  width: 70rem;
}

.ppOuter table.pptb01 {
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: none;
  width: 100%;
}

.ppOuter table.pptb01 th {
  text-align: left;
}

.ppOuter table.pptb01 th:first-child {
  width: 35%;
}

.ppOuter table.pptb01 th:last-child {
  width: 65%;
}

.ppOuter table.pptb01 td,
.ppOuter table.pptb01 th {
  padding: 0.6rem 0.8rem;
  font-size: 1.4rem;
  font-family: "Noto Sans Medium JP", sans-serif;
  line-height: 1.4;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-weight: normal;
}

.ppOuter .spec-bg-yel {
  background: #edf5fc;
}

.ppWrap01 img {
  width: auto;
}

.pp_list li {
  list-style-type: decimal;
  list-style-position: inside;
  text-indent: -1.65rem;
  padding-left: 1.65rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.pp_list .pp_list {
  padding-left: 1.65rem;
}

.pp_text {
  margin-bottom: 20px;
}

.pp-anzenBox li {
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}

.pp-addWrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 3rem;
}

.pp-addWrap p {
  display: inline-block;
  font-family: "Noto Sans Medium JP", sans-serif;
}

/*----------------------------------------------------
SP 400- 
----------------------------------------------------*/
@media screen and (min-width: 400px) {

  /* -----------------------
  スリット仕様 SP 400
  ---------------------------*/
  /* 機械能力仕様 SP 400 ------------------ */
  .sl-spec-detail .tb-wrap-in {
    width: 75rem;
  }

  .sl-spec-detail table#spec th,
  .sl-spec-detail table#spec td {
    font-size: 1.4rem;
  }
}

/* -------------------------------
品質管理 SP
---------------------------------*/
/* 甲南スチール 企業理念 SP
------------------------------*/
.qu-philosphy {
  margin-top: 5rem;
}

.qu-philosphy figure {
  padding: 4rem 0 0;
}

/* 品質管理フロー SP
------------------------------*/
.qu-flow section h3 {
  margin: 0 0 4rem;
}

.qu-flow article {
  margin: 0 0 4rem;
}

.qu-flow article:last-child {
  margin: 0;
}

.qu-flow article dl {
  display: flex;
  align-items: flex-start;
  margin: 0 0 2rem;
}

.qu-flow article dl dt {
  width: 6.4rem;
  padding: 0.6rem 0 0;
  line-height: 1.1;
  border-right: 0;
  font-size: 1.2rem;
  font-family: "Noto Sans Medium JP", sans-serif;
  color: var(--main-color);
}

.qu-flow article dl dt span {
  display: block;
  font-family: "Outfit500", sans-serif;
  font-optical-sizing: auto;
  font-size: 3.6rem;
}

.qu-flow article dl dd {
  width: calc(100% - 6.4rem);
  padding: 0 0 0 1.5rem;
  border-left: 1px solid #ccc;
  font-size: 1.5rem;
}

.qu-flow article figure {
  text-align: center;
}

/* ----------------------------------
環境への取り組み SP
------------------------------------*/
/* 環境への取り組み 基本理念 SP
-----------------------------------*/
.eco-philosphy section {
  margin-top: 5rem;
}

.eco-philosphy section h3+p {
  padding: 2rem 0 0;
  letter-spacing: 0.025em;
  font-size: 1.5rem;
}

/* 環境への取り組み 企業行動方針 SP
-----------------------------------*/
.eco-code section h3+p {
  padding: 2rem 0 4rem;
  letter-spacing: 0.025em;
  font-size: 1.5rem;
}

.eco-list dl {
  margin: 0 0 3rem;
}

.eco-list dl:last-child {
  margin: 0 0 5rem;
}

.eco-list dl dt {
  display: inline-block;
  margin: 0 0 2rem;
  letter-spacing: 0.05em;
  border-bottom: 2px dashed var(--main-color);
  font-size: 1.6rem;
  font-family: "Noto Sans Bold JP", sans-serif;
  color: var(--main-color);
}

.eco-list dl dt span {
  padding: 0 0.5rem 0 0;
  font-family: "Outfit500", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.8rem;
}

.eco-list dl dd {
  letter-spacing: 0.025em;
  font-size: 1.5rem;
}

/* ISO マーク SP ------- */
.eco-mark {
  padding: 3rem 0;
  background: #f8f8f8;
}

.eco-mark-in {
  max-width: 20rem;
  margin: 0 auto;
  text-align: center;
}

.eco-mark-in p:first-child {
  font-size: 1.4rem;
}

.eco-mark-in p:last-child {
  margin-top: 0.5rem;
  font-size: 1.2rem;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.eco-mark-in figure {
  background: #fff;
  padding: 1.5rem;
  border: 0.1rem #ddd solid;
  border-radius: 1rem;
  margin: 0 auto;
}

/* ----------------------------------------
安全への取り組み SP
------------------------------------------*/
.safe-gree-bg {
  margin: 5rem 0;
  background: #f8f8f8;
}

.safe-gree {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 120rem;
  margin: 0 auto;
  padding: 5rem 3rem;
}

.safe-gree>p {
  width: auto;
  padding: 2.5rem 0;
  line-height: 2;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-size: 1.8rem;
}

.safe-gree>p span {
  display: block;
  color: var(--main-color);
  font-family: "Noto Sans Medium JP", sans-serif;
}

.safe-idea {
  width: auto;
}

.safe-idea-in {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  width: auto;
  padding: 3rem 0 0;
  background: none;
}

.safe-idea-in article {
  width: auto;
  padding: 0 0 4rem;
}

.safe-idea-in article div {
  width: auto;
}

.safe-idea-in article figure {
  margin: 0 0 2rem;
}

.safe-idea-in article dl {
  display: flex;
}

.safe-idea-in article dl dt {
  width: 4.5rem;
  color: var(--main-color);
  font-size: 3rem;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.safe-idea-in article dl dd {
  width: calc(100% - 4.5rem);
  padding: 0 0 0 1.5rem;
  border-left: 1px solid #ccc;
  font-size: 1.5rem;
}

/* 最後のarticle SP --------- */
.safe-idea-in article:last-child {
  padding: 0;
}

.safe-idea-in article:last-child dl dt {
  width: 8rem;
}

.safe-idea-in article:last-child dl dd {
  width: calc(100% - 8rem);
}

/* 安全への取り組み 設備  SP
--------------------------------------*/
.safe-comm h3+p {
  margin: 0 0 2rem;
  padding: 2rem 0;
  font-size: 1.5rem;
  border-bottom: 1px solid #ccc;
}

.safe-comm article {
  display: flex;
  flex-direction: column;
  margin: 0 0 3rem;
  padding: 0 0 2rem;
  border-bottom: 1px solid #ccc;
}

.safe-comm article:last-child {
  margin: 0;
}

.safe-comm article figure,
.safe-comm article div {
  width: auto;
  padding: 0;
}

.safe-comm article div h4 {
  padding: 2rem 0 0;
  color: var(--main-color);
  font-size: 1.8rem;
  font-family: "Noto Sans Medium JP", sans-serif;
}

.safe-comm article div h4+p {
  padding: 1rem 0 0;
  font-size: 1.5rem;
}

/* -----------------------
先輩社員のご紹介 SP
---------------------------*/
/* people SP ------------------ */
.re-people {
  padding: 2rem 3rem 5rem;
}

.re-people .re-people-info h3 {
  font-family: "Outfit", sans-serif;
  font-size: 1.8rem;
  color: var(--main-color);
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.re-people-info {
  display: flex;
  background: #edf5fc;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 3rem 3.7rem;
}

.re-people-detail {
  padding-left: 3.1rem;
  border-left: 0.1rem #ccc solid;
  margin-left: 3.1rem;
}

.re-people-detail .initials {
  font-family: "Outfit", sans-serif;
  font-size: 3.6rem;
  color: var(--main-color);
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.re-people-detail .department {
  font-size: 1.8rem;
  margin: 2rem 0 1rem;
}

/* 入社のきっかけ SP ------------------ */
.re-chance.content-box section {
  padding: 3rem 0 0;
}

.re-chance-txt {
  font-size: 1.5rem;
  letter-spacing: 0.025em;
  padding-top: 1rem;
}

.re-chance-txt p {
  margin: 3rem 0;
}

.re-chance figure {
  text-align: center;
}

.re-chance figure img {
  border-radius: 1rem;
}

/* どんな仕事をされていますか SP ------------------ */
.re-job-bg {
  background: var(--main-color);
  color: #fff;
  padding: 5rem 0;
}

.re-job-wrap {
  max-width: 158rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.re-job.content-box {
  padding: 0 1.5rem 2rem;
}

.re-job.content-box section {
  border-top: none;
  padding: 0;
}

.re-job.content-box section::before {
  display: none;
}

.re-job h3 span {
  color: #fff;
}

.re-job section figure {
  text-align: center;
}

.re-job section figure img {
  border-radius: 1rem;
}

.re-job-txt {
  font-size: 1.5rem;
  letter-spacing: 0.025em;
  padding: 3.5rem 0 2.5rem;
}

.re-job-schedule-box {
  height: 100%;
  background: #0d5da6;
  letter-spacing: 0.025em;
  padding: 5rem 2.5rem;
  border-radius: 1rem;
}

.re-job-schedule-box h4 {
  text-align: center;
}

.re-job-schedule-box h4 span {
  display: inline-block;
  background: #fff;
  font-size: 1.8rem;
  color: #107ada;
  font-weight: 700;
  text-align: center;
  padding: 0.7rem 1.8rem 0.5rem 1.8rem;
  border-radius: 3rem;
}

.re-job-schedule {
  margin-top: 4rem;
  position: relative;
}

.re-job-schedule::before {
  content: "";
  display: block;
  width: 0.1rem;
  height: 100%;
  background: #759dc2;
  position: absolute;
  top: 1.5rem;
  left: calc(37% - 0.8rem);
}

.re-job-schedule dl {
  display: flex;
}

.re-job-schedule dl:last-child dd {
  margin-bottom: 0;
}

.re-job-schedule dt {
  width: 37%;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.05em;
  text-align: right;
  padding-right: 4rem;
  position: relative;
}

.re-job-schedule dt::after {
  content: "";
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  background: #00afec;
  border: 0.1rem #0d5da6 solid;
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  right: 0;
}

.re-job-schedule dd {
  width: 63%;
  text-align: left;
  padding-left: 2.5rem;
  margin-bottom: 4rem;
}

/* 職場の雰囲気〜自身の成長を感じる時 SP ------------------ */
.re-workplace.content-box {
  margin-top: 5rem;
}

.re-workplace.content-box,
.re-rewarding.content-box,
.re-growth.content-box {
  padding-bottom: 5rem;
}

.re-workplace.content-box section,
.re-rewarding.content-box section,
.re-growth.content-box section {
  padding-top: 3rem;
}

.re-workplace.content-box h3,
.re-rewarding.content-box h3,
.re-growth.content-box h3 {
  padding-bottom: 4rem;
}

.re-workplace-txt,
.re-rewarding-txt,
.re-growth-txt {
  font-size: 1.5rem;
  letter-spacing: 0.025em;
}

.re-workplace-txt p,
.re-rewarding-txt p,
.re-growth-txt p {
  margin-bottom: 0.7em;
}

.re-workplace-txt p:last-child,
.re-rewarding-txt p:last-child,
.re-growth-txt p:last-child {
  margin-bottom: 0;
}

/* -----------------------
  サイトマップ SP 
  ---------------------------*/
.sitemapOuter li a {
  color: var(--main-color);
  position: relative;
  padding-left: 1.5rem;
}

.sitemapOuter li a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 10px;
  background-image: var(--icon-mb-arrow);
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  fill: var(--icon-mb-arrow);
}

.sitemapOuter li a:hover {
  opacity: 0.7;
}

.sitemapOuter .sitemap-parent a {
  display: block;
  width: 100%;
  line-height: 2.5;
}

.sitemapOuter .sitemap-parent>a {
  font-family: "Noto Sans Medium JP", sans-serif;
  border-bottom: solid 1px #aaaaaa;
  margin-bottom: 5px;
}

.sitemapOuter .sitemap-parent.sitemap-en a {
  font-family: "Outfit500", sans-serif;
  margin-bottom: 2rem;
  font-size: 1.7rem;
}

.sitemapOuter .sitemap-lastUl .sitemap-parent>a {
  margin-bottom: 10px;
}

.sitemap-subUl {
  padding-left: 2rem;
}

.sitemap-parentUl {
  margin-bottom: 2rem;
}

@media (min-width: 500px) {
  .pc-hide-500 {
    display: none !important;
  }

  /* -----------------------
  会社概要 SP 500
  ---------------------------*/
  /* 本社・工場 SP 500 ------------------ */
  .ol-office-info .telfax {
    display: flex;
  }

  .ol-office-info .telfax .fax {
    margin-left: 3.5rem;
  }

  .ol-office-info .telfax li {
    padding-top: 0.8rem;
    border-bottom: 0.1rem #ccc solid;
  }

  /* 認定資格 SP 500 ------------------ */
  #ol-certification section h3 {
    width: 35%;
  }

  .ol-certification-detail {
    width: 65%;
  }

  /* 安全への取り組み スローガン  SP
  --------------------------------------*/
  .safe-gree>p span {
    display: inline;
  }

  .com-greeting.content-box p {
    font-size: 1.8rem;
    margin: 4rem 0;
    line-height: 1.85;
  }
}

/* タブレット以上：768px以上 */
@media (min-width: 768px) {
  .pc-hide-mb {
    display: none;
  }

  /* -----------------------
  事業内容 TB
  ---------------------------*/
  /* ボタン幅 TB ------------------ */
  .btn-top-services {
    padding: 0;
    position: absolute;
    top: 0;
    right: 1.5rem;
  }

  .btn-top-services div {
    width: 24rem;
  }

  /* 上3つ TB ------------------ */
  .top-services-content {
    display: flex;
    justify-content: space-between;
    padding: 0 0 3rem;
  }

  .top-services-content article {
    width: 31%;
  }

  .top-services-content article a {
    flex-direction: column;
    margin: 0;
  }

  .top-services-content article a p {
    color: var(--text-color);
  }

  .top-services-content article figure {
    width: auto;
  }

  .top-services-content article div {
    width: auto;
    padding: 1.25rem 0 0;
  }

  /* スリット・レベラー  ------------- */
  .top-services-spec {
    flex-direction: row;
  }

  .top-services-spec article {
    width: 48%;
    padding: 0;
  }

  .top-services-spec .top-company-ph-flex {
    padding: 0;
  }

  /* -----------------------
    ブログ SP
  ---------------------------*/
  /* ボタン幅 TB ------------------ */
  .btn-top-blog {
    padding: 0;
    position: absolute;
    top: 0;
    right: 1.5rem;
  }

  .btn-top-blog div {
    width: 24rem;
  }

  /* 記事 TB --------------- */
  .top-blog-day .blog-post-item {
    width: 28%;
    padding: 0;
  }

  .top-blog-day .blog-post-item:first-child {
    width: 28%;
  }

  .top-blog-day .blog-post-item img {
    border-radius: 1rem;
  }

  .top-blog-day {
    justify-content: flex-start;
    gap: 8%;
  }

  /* -----------------------
  ブログ 記事一覧 tab 768
  ---------------------------*/
  .bl-articles-detail ul {
    gap: 3rem 2rem;
  }

  .bl-articles-detail li {
    width: calc((100% - 4rem) / 3);
  }

  .bl-articles-detail li figure img {
    border-radius: 1rem;
  }

  .bl-articles-detail li p.bl-title {
    font-size: 1.6rem;
  }

  /* -----------------------
  リクルート tab 768
  ---------------------------*/
  /* メッセージ tab 768 ------------------ */
  .re-message-bg {
    padding-top: 10vw;
  }

  .re-message {
    padding: 0 9rem 8rem;
  }

  .re-message section {
    display: flex;
    justify-content: space-between;
  }

  .re-message-in {
    margin-right: 6.5vw;
  }

  /* 数字でみる tab 768 ------------------ */
  .re-numbers-detail {
    gap: 2rem 1.5rem;
  }

  .num-box {
    width: calc((100% - 4.5rem) / 4);
    padding: 2rem 1rem;
  }

  .num-box.num05 {
    width: calc(50% - 0.75rem);
  }

  /* 先輩社員のご紹介 tab 768 ------------------ */
  .re-intro-detail {
    gap: 0 1.5rem;
  }

  .re-intro-card {
    width: calc((100% - 4.5rem) / 4);
  }

  /* -----------------------
  会社概要 tab 768
  ---------------------------*/
  /* 本社・工場 tab 768 ------------------ */
  .ol-office-detail {
    display: flex;
    align-items: flex-end;
    padding-bottom: 5rem;
  }

  .ol-office-detail .ol-office-info {
    padding-bottom: 0;
    width: 68%;
  }

  .ol-office-detail figure {
    width: 32%;
  }

  /* 沿革 tab 768 ------------------ */
  #ol-history section {
    display: flex;
  }

  #ol-history section h3 {
    width: 20%;
  }

  .ol-history-detail {
    width: 80%;
    padding: 0;
    margin: 3rem 0 0 0;
    border-left: none;
  }

  .ol-history-detail::before {
    top: -0.2rem;
    left: 20.5%;
  }

  .ol-history-detail::after {
    bottom: -0.2rem;
    left: 20.5%;
  }

  .ol-history-detail dl {
    display: flex;
    align-items: center;
  }

  .ol-history-detail dt {
    width: 28%;
    margin-bottom: 0;
    position: relative;
  }

  .ol-history-detail dt span:last-child {
    display: block;
    margin-left: 0;
    position: absolute;
    left: 0;
    bottom: -1em;
  }

  .ol-history-detail dd {
    width: 72%;
  }

  .ol-history-detail-in {
    padding: 0 0 3rem 0;
    position: relative;
  }

  .ol-history-detail-in::before {
    content: "";
    display: block;
    width: 0.1rem;
    height: 100%;
    background: #00afec;
    position: absolute;
    top: 0;
    left: 21%;
  }

  /* 認定資格 tab 768 ------------------ */
  #ol-certification {
    padding: 0 3rem;
  }

  .ol-certification-bg {
    padding: 0 6rem 3rem;
  }

  #ol-certification section {
    align-items: center;
  }

  #ol-certification section h3 {
    width: 25%;
  }

  .ol-certification-detail {
    width: 75%;
  }

  .ol-certification-detail section {
    justify-content: flex-start;
  }

  /* グループ会社 tab 768 ------------------ */
  .related-com {
    display: flex;
    justify-content: space-between;
  }

  .related-com figure {
    width: 40%;
  }

  .related-com-detail {
    width: 55%;
    padding: 0 0 5rem;
  }

  .group-com ul {
    display: flex;
    flex-wrap: wrap;
  }

  .group-com li {
    width: 50%;
    padding: 2.5rem 0 2.5rem 3.5rem;
  }

  .group-com li::before {
    left: 1.8rem;
  }

  .group-com li:nth-child(odd) {
    position: relative;
  }

  .group-com li:nth-child(odd)::after {
    content: "";
    display: block;
    width: 0.1rem;
    height: 80%;
    background: #ccc;
    position: absolute;
    top: 10%;
    right: 0;
  }

  /* 会社概要 Navi ------------------ */
  .company-nav ul {
    display: flex;
    justify-content: space-between;
  }

  .company-nav li {
    width: 32%;
    margin-bottom: 0;
    border-radius: 1rem;
  }

  .company-nav li a {
    height: auto;
    padding: 0;
    transition: 0.5s;
  }

  .company-nav li a::after {
    display: none;
  }

  .company-nav li:nth-child(1) a,
  .company-nav li:nth-child(2) a,
  .company-nav li:nth-child(3) a {
    background: none;
  }

  .company-nav li figure {
    display: block;
    position: relative;
  }

  .company-nav li figure img {
    border-radius: 1rem 1rem 0 0;
  }

  .company-nav li figure::after {
    content: "";
    display: block;
    width: 1.9rem;
    height: 1.9rem;
    background: url(../img/icon-en-arrow-white-line.svg) no-repeat center center;
    position: absolute;
    bottom: -3.5rem;
    right: 1.2rem;
    transition: 0.5s;
  }

  .company-nav li a:hover figure::after {
    background-image: url(../img/icon-en-arrow-blue.svg);
  }

  .company-nav li a p {
    padding: 1.5rem 1.2rem;
  }

  /*----------------------------------------------------
  タブレット 768- 
  ----------------------------------------------------*/
  /* -----------------------
  スリット仕様 tab 768
  ---------------------------*/
  /* スリッターライン tab 768 ------------------ */
  .sl-line-lead {
    font-size: 1.6rem;
  }

  .sl-line-flow ul.sp {
    display: none;
  }

  .sl-line-flow ul.pc {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3rem;
  }

  .sl-line-flow ul.pc li.arrow {
    width: 2rem;
    margin: 0 1rem;
    flex-shrink: 0;
  }

  .sl-line-flow ul.pc li {
    opacity: 0;
    transform: translateX(-4rem);
    /* 左にずらす */
    transition: opacity 0.6s ease, transform 0.6s ease;
  }

  .sl-line-flow ul.pc li.is-active {
    opacity: 1;
    transform: translateX(0);
  }

  /* -----------------------
  スリット仕様 tab 768
  ---------------------------*/
  /* スリッターライン tab 768 ------------------ */
  .sl-line-lead {
    font-size: 1.6rem;
  }

  .sl-line-flow ul.sp {
    display: none;
  }

  .sl-line-flow ul.pc {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3rem;
  }

  .sl-line-flow ul.pc li.arrow {
    width: 2rem;
    margin: 0 1rem;
    flex-shrink: 0;
  }

  .sl-line-flow ul.pc li {
    opacity: 0;
    transform: translateX(-4rem);
    /* 左にずらす */
    transition: opacity 0.6s ease, transform 0.6s ease;
  }

  .sl-line-flow ul.pc li.is-active {
    opacity: 1;
    transform: translateX(0);
  }

  /* 機械能力仕様 tab 768 ------------------ */
  .sl-spec-detail table {
    width: 100%;
  }

  .sl-spec-detail .tb-wrap {
    border-top: 0.1rem solid #ccc;
    border-left: none;
  }

  .sl-spec-detail .tb-wrap-in {
    width: auto;
    border-left: 0.1rem solid #ccc;
  }

  .sl-spec-photos {
    margin-top: 5rem;
  }

  .sl-spec-photos ul {
    flex-wrap: nowrap;
    gap: 0 1rem;
  }

  .sl-spec-photos p {
    margin-top: 1rem;
  }

  /* スリット系の梱包 tab 768 ------------------ */
  .sl-packing-equipment-photos ul {
    display: flex;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }

  .sl-packing-type-photos ul {
    flex-wrap: nowrap;
    gap: 0 2rem;
  }

  /*レベラー*/
  .le-spec-photos p {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }

  /* 事業内容 Navi ------------------ */
  .services-nav ul {
    max-width: 140rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }

  .services-nav li {
    width: 19%;
    margin-bottom: 0;
    border-radius: 1rem;
  }

  .services-nav li a {
    height: auto;
    padding: 0;
    position: static;
    transition: 0.5s;
  }

  .services-nav li:nth-child(1) a,
  .services-nav li:nth-child(2) a,
  .services-nav li:nth-child(3) a,
  .services-nav li:nth-child(4) a,
  .services-nav li:nth-child(5) a {
    background: none;
  }

  .services-nav li figure {
    display: block;
    position: relative;
  }

  .services-nav li figure img {
    border-radius: 1rem 1rem 0 0;
  }

  .services-nav li figure::after {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: url(../img/icon-en-arrow-white-line.svg) no-repeat center center;
    position: absolute;
    bottom: -3.5rem;
    right: 1.2rem;
    transition: 0.5s;
  }

  .services-nav li a:hover figure::after {
    background-image: url(../img/icon-en-arrow-blue.svg);
  }

  .services-nav li p {
    font-size: 1.4rem;
    margin: 1.5rem 1.2rem;
    line-height: 1.3;
  }

  .services-nav li p br {
    display: inline;
  }

  /*お問い合わせ*/
  .wpcf7 .Form-Item {
    flex-direction: row;
    align-items: center;
  }

  .wpcf7 .Form-Item.input-cover {
    width: 100%;
    justify-content: center;
  }

  .wpcf7 .Form-Item-Label {
    width: 30%;
  }

  .wpcf7 .form__body {
    width: 70%;
  }

  .wpcf7 .row-privacy .Form-Item-Label {
    width: 100%;
  }

  .button-submitOuter {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
  }

  .button-submitOuter .button-wrapOuter {
    width: 180px;
  }

  .contact-text {
    margin-bottom: 60px;
  }

  .confirm-detail {
    margin-top: 60px;
  }

  /* ----------------------------------------
  安全への取り組み tab 768
  ------------------------------------------*/
  /* 安全への取り組み スローガン tab 768
  --------------------------------------*/
  .safe-idea-in {
    flex-direction: row;
    padding: 3rem 0 0;
    background: url(/wp-content/uploads/2026/03/safe-idea-bg.png) no-repeat center 100px;
    background-size: auto;
  }

  .safe-idea-in article {
    width: 49%;
    padding: 0;
  }

  .safe-idea-in article:first-child {
    width: 100%;
  }

  .safe-idea-in article:first-child div {
    margin: 0 auto 3rem;
    padding: 0;
  }

  .safe-idea-in article div {
    width: 32rem;
    margin: 0 auto;
  }

  /* 安全への取り組み 設備 tab 768
  --------------------------------------*/
  .safe-comm article {
    flex-direction: row;
    margin: 0 0 3rem;
    padding: 0 0 3rem;
  }

  .safe-comm article figure {
    width: 35%;
  }

  .safe-comm article div {
    width: 65%;
    padding: 0 0 0 3rem;
  }

  .safe-comm article div h4 {
    padding: 0;
  }

  .safe-comm article div h4+p {
    padding: 1rem 0 0;
  }

  /* -----------------------
  新卒採用 tab 768
  ---------------------------*/
  /* 募集要項 tab 768 ------------------ */
  .ng-application {
    margin-top: 8rem;
    padding-bottom: 5rem;
  }

  .ng-application-detail dl {
    display: flex;
  }

  .ng-application-detail dt {
    width: 30%;
    margin-bottom: 0;
  }

  .ng-application-detail dd {
    width: 70%;
  }

  .ng-application-detail dd span {
    display: inline;
  }

  /* 選考フロー tab 768 ------------------ */
  .ng-flow h4 {
    font-size: 1.6rem;
    text-align: left;
    padding-bottom: 2rem;
  }

  .ng-flow ul {
    display: flex;
    justify-content: space-between;
  }

  .ng-flow li {
    width: 16%;
    padding: 3rem 0 5rem;
    margin-bottom: 0;
  }

  .ng-flow li span {
    margin-bottom: 2rem;
  }

  .ng-flow li::after {
    background: url(../img/icon-arrow.svg) no-repeat center center;
    position: absolute;
    top: 50%;
    left: 110%;
    bottom: auto;
    transform: translate(0, -50%);
  }

  /* -----------------------
  先輩社員のご紹介 tab 768
  ---------------------------*/
  /* people tab 768 ------------------ */
  .re-people {
    padding: 3rem 3rem 4rem;
    display: flex;
  }

  .re-people figure {
    width: 57%;
  }

  .re-people .re-people-info h3 {
    width: 24rem;
    font-size: 1.8rem;
    margin: 0 auto;
    padding: 0 0 1rem;
  }

  .re-people-info {
    display: block;
    width: 43%;
    padding: 0;
    align-content: center;
  }

  .re-people-detail {
    width: 24rem;
    padding: 1rem 0 0;
    margin: 0 auto;
    border-left: none;
    border-top: 0.1rem #ccc solid;
  }

  .re-people-detail .initials {
    font-size: 3.6rem;
  }

  .re-people-detail .department {
    font-size: 1.6rem;
    padding: 1.5rem 0 0.5rem;
    margin: 0;
  }

  .re-people-detail .year {
    font-size: 1.4rem;
  }

  /* 入社のきっかけ tab 768 ------------------ */
  .re-chance.content-box section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3rem 0 0;
  }

  .re-chance-detail {
    width: 60%;
  }

  .re-chance-txt p:last-child {
    margin: 0;
  }

  .re-chance section figure {
    width: 40%;
    margin-left: 3rem;
  }

  /* どんな仕事をされていますか tab 750 ------------------ */
  .re-job-wrap {
    display: flex;
    justify-content: space-between;
    padding: 0 3rem;
  }

  .re-job.content-box {
    width: 45%;
    padding: 0;
    margin: 0;
  }

  .re-job-schedule-wrap {
    width: 50%;
    padding-top: 3rem;
  }

  .re-job-schedule-box h4 {
    width: 20rem;
    text-align: left;
    margin-left: calc(37% - 9rem);
  }

  /* 職場の雰囲気〜自身の成長を感じる時 tab 750 ------------------ */
  .re-workplace.content-box section,
  .re-rewarding.content-box section,
  .re-growth.content-box section {
    display: flex;
  }

  .re-workplace.content-box h3,
  .re-rewarding.content-box h3,
  .re-growth.content-box h3 {
    width: 30%;
  }

  .re-workplace-detail,
  .re-rewarding-detail,
  .re-growth-detail {
    width: 70%;
    padding-top: 0.2rem;
  }

  /* ごあいさつ -------------  */
  .com-greeting.content-box section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3rem 0 0;
  }

  .com-greeting.content-box .gre-chance-detail {
    width: 60%;
  }

  .com-greeting.content-box .gre-imgWrap {
    width: 40%;
    margin-left: 3rem;
  }

  .leveller-pack-wrap {
    aspect-ratio: 16/5;
  }

  /* ---------------------------
  サイトマップ SP
  ----------------------------- */
  .sitemapWrap {
    display: flex;
    gap: 6rem;
  }

  .sitemapUlWrap01,
  .sitemapUlWrap02 {
    width: 50%;
  }

  /* ---------------------------
  プラポリ SP
  ----------------------------- */
  .ppOuter p {
    font-size: 1.6rem;
  }

  .ppOuter table.pptb01 th,
  .ppOuter table.pptb01 td {
    font-size: 1.5rem;
  }

  .ppOuter .tb-wrap {
    width: 70rem;
  }

  .pp_list li {
    font-size: 1.6rem;
  }

  .Form p {
    font-size: 1.7rem;
  }

  .Form .Form-Item p {
    font-size: 1.8rem;
  }

  .Form p.recap-notice {
    font-size: 1.3rem;
  }

  .Form .contact-h3 {
    font-size: 2rem;
    margin-top: 6rem;
    margin-bottom: 2rem;
  }

  .contact-outer {
    padding: 40px 30px;
  }
}

/*----------------------------------------------------
PC 1000- 
----------------------------------------------------*/
/* タブレット以上：1000px以上 ナビゲーション切り替え*/
@media (min-width: 1000px) {
  .pc-hide {
    display: none;
  }

  .sp-hide {
    display: block !important;
  }

  .hero-section,
  .hero_imgIn {
    height: 100vh;
  }

  .l_heading {
    font-size: 7.2rem;
    letter-spacing: 0.15em;
  }

  .s_heading {
    font-size: 1.8rem;
    letter-spacing: 0.15em;
  }

  .hero_imgWrap {
    position: relative;
    overflow-y: hidden;
  }

  .scrollbox {
    display: block;
    position: absolute;
    bottom: 5%;
    left: 3rem;
    z-index: 1;
    width: 2rem;
    height: 14rem;
  }

  .scroll-txt {
    display: inline-block;
    position: absolute;
    bottom: 0;
    padding: 10px 10px 110px;
    font-family: "Outfit600", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 14px;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    writing-mode: vertical-lr;
    left: 50%;
    transform: translateX(-50%);
  }

  .scrolldown {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1px;
  }

  .scrolldown::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #46af9d;
    animation: circlemove 3s ease-in-out infinite, cirlemovehide 3s ease-out infinite;
  }

  .scrolldown::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 100px;
    background: #fff;
  }

  @keyframes circlemove {
    0% {
      bottom: 95px;
    }

    100% {
      bottom: 0px;
    }
  }

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

    10% {
      opacity: 0.5;
    }

    20% {
      opacity: 1;
    }

    80% {
      opacity: 1;
    }

    90% {
      opacity: 0.5;
    }

    100% {
      opacity: 0;
    }
  }

  .hero_headingWrapOut {
    top: calc(20rem + 15%);
    left: 8rem;
  }

  /* ---------------------------
  TOP共通 SP
  ----------------------------- */
  /* h2 見出し [青ver] 1000
  -------------------------------*/
  .note-h2 {
    font-size: 10rem;
  }

  .note-h2 span {
    padding: 0 0 2rem;
    font-size: 2.1rem;
  }

  /* h2 見出し [白ver] 1000
  -------------------------------*/
  .note-h2-w {
    text-align: left;
    font-size: 10rem;
  }

  .note-h2-w span {
    padding: 0 0 2rem;
    font-size: 2.1rem;
  }

  /* -----------------------
  会社案内 1000
  ---------------------------*/
  /* ※タブレットのレイアウト用 SP -------------  */
  .top-company-tb {
    max-width: 100%;
    margin: 0;
  }

  .top-company section {
    width: 50%;
    padding: 0;
  }

  /* 写真 1000 ------------------ */
  .top-company-ph {
    width: 38%;
    position: absolute;
    top: -35px;
    right: 0;
    z-index: 10;
  }

  .top-company-ph>p {
    margin: 0;
  }

  /* 下2枚用 1000 */
  .top-company-ph-flex {
    padding: 2rem 5% 0;
  }

  /* -----------------------
  事業内容 1000
  ---------------------------*/
  /* ボタン幅 1000 ------------------ */
  .btn-top-services {
    top: 10%;
    right: 3rem;
  }

  .top-services-content article div h3,
  .top-services-spec-note a h3 span {
    font-size: 1.8rem;
    letter-spacing: 0.15em;
  }

  /* -----------------------
  ブログ 1000
  ---------------------------*/
  .top-blog-ttl {
    flex-direction: row;
    padding: 0 0 5rem;
  }

  .top-blog-ttl h2+p {
    max-width: 38rem;
    padding: 5rem 0 0 4rem;
    font-size: 1.4rem;
    font-family: "Noto Sans Medium JP", sans-serif;
  }

  .btn-top-blog {
    right: 3rem;
  }

  /* -----------------------
  リクルート 1000
  ---------------------------*/
  .top-recruit-sp {
    display: none;
  }

  .top-recruit-pc {
    display: block;
    padding: 4.5rem 0;
    background: url(/wp-content/uploads/2026/03/top-recruit-bg.jpg) no-repeat center top;
    background-size: 100%;
  }

  .top-recruit section {
    width: 43rem;
    margin: 0 auto;
    padding: 0;
  }

  .top-recruit section h2+p {
    padding: 3rem 0 5rem;
    font-size: 1.7rem;
    font-family: "Noto Sans Medium JP", sans-serif;
    color: #fff;
  }

  /* ボタン幅 SP ------------ */
  .btn-top-recruit {
    padding: 0;
  }

  /* 安全と品質 PC 1000 ------------------ */
  .co-satisfaction {
    margin-bottom: 8rem;
  }

  .co-satisfaction section {
    padding: 5rem 9rem 70rem;
  }

  .co-satisfaction h3 {
    font-size: 3.1rem;
  }

  .bl-articles-wrap {
    padding: 8rem 9rem 0;
  }

  .bl-articles-detail {
    margin-top: 5rem;
  }

  .bl-articles-detail ul {
    gap: 5rem 3rem;
  }

  .bl-articles-detail li {
    width: calc((100% - 6rem) / 3);
  }

  .bl-articles-detail li p.category {
    margin: 1.3rem 0;
  }

  /* -----------------------
  ブログ 記事一覧 PC 1000
  ---------------------------*/
  .bl-articles-wrap {
    padding: 8rem 9rem 0;
  }

  .bl-articles-detail {
    margin-top: 5rem;
  }

  .bl-articles-detail ul {
    gap: 5rem 3rem;
  }

  .bl-articles-detail li {
    width: calc((100% - 6rem) / 3);
  }

  .bl-articles-detail li p.category {
    margin: 1.3rem 0;
  }

  /* -----------------------
  投稿ページ SP
  ---------------------------*/
  .single-post .post-content {
    margin-top: 5rem;
  }

  .single-post .post-thumbnail {
    margin: 30px auto;
  }

  /* -----------------------
  リクルート PC 1000
  ---------------------------*/
  .recruit .content-box h3 {
    font-size: 4.8rem;
    margin-bottom: 6rem;
  }

  .recruit .content-box h3 span {
    font-size: 1.6rem;
  }

  /* 数字でみる PC 1000 ------------------ */
  .re-numbers {
    padding-top: 4rem;
  }

  .num-box h4 {
    font-size: 1.8rem;
  }

  .num-box p {
    font-size: 1.6rem;
  }

  .num-box .num-txt {
    font-size: 6rem;
  }

  .num-box.num02 .num-txt,
  .num-box.num05 .num-txt {
    font-size: 6rem;
  }

  /* 先輩社員のご紹介 PC 1000 ------------------ */
  .re-intro.content-box h3 {
    font-size: 4.8rem;
    margin-bottom: 6rem;
  }

  .re-intro.content-box h3 span {
    font-size: 1.6rem;
  }

  .re-intro-card .to-page a {
    font-size: 1.6rem;
    padding: 1.5rem 0;
  }

  .re-intro-card .to-page a::after {
    width: 1.6rem;
    height: 1.6rem;
  }

  /* -----------------------
  事業内容 PC 1000
  ---------------------------*/
  /* コイルセンターとは PC 1000 ------------------ */
  .sv-coil-h3-wrap {
    padding: 0 9rem 5rem;
  }

  .sv-coil-h3-wrap h3 {
    font-size: 3.1rem;
  }

  .sv-coil-h3-wrap h3 span {
    font-size: 1.6rem;
  }

  .sv-coil-image {
    padding: 3rem 9rem;
  }

  .sv-coil-function {
    padding: 0 9rem;
  }

  .sv-coil-function ul {
    padding: 5rem 0 8rem;
  }

  .sv-coil-function li h4 {
    font-size: 2.1rem;
  }

  .sv-coil-function li h4::before {
    font-size: 2.3rem;
  }

  .sv-coil-function li p {
    font-size: 1.6rem;
  }

  .sv-coil-function-lead {
    font-size: 1.6rem;
  }

  /* 工場設備概要 PC 1000 ------------------ */
  .sv-factory-detail {
    display: flex;
  }

  .sv-factory-detail figure {
    width: 38%;
    margin-top: 5rem;
  }

  .sv-equipment {
    width: 62%;
    margin: 5rem 5% 0 0;
  }

  /* -----------------------
  会社概要 PC 1000
  ---------------------------*/
  /* 会社概要メニュー PC 1000 ------------------ */
  .ol-nav {
    padding: 9rem 9rem 5rem;
  }

  .ol-nav ul {
    gap: 0 1.25%;
  }

  .ol-nav ul li {
    width: 19%;
  }

  .ol-nav ul li:last-child {
    width: 19%;
  }

  #ol-outline section {
    display: flex;
    justify-content: space-between;
  }

  #ol-outline section h3 {
    width: 30%;
  }

  .ol-outline-detail {
    width: 70%;
  }

  .ol-outline-detail>dl:first-child {
    margin-top: 0;
  }

  .ol-outline-detail>dl>dt {
    width: 35%;
    font-size: 1.6rem;
  }

  .ol-outline-detail>dl>dd {
    width: 65%;
    font-size: 1.6rem;
  }

  .ol-outline-detail dl dl dt {
    width: 45%;
  }

  .ol-outline-detail dl dl dd {
    width: 55%;
  }

  /* 本社・工場 PC 1000 ------------------ */
  #ol-office section {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 5rem 0;
  }

  #ol-office section .ol-office-wrap {
    width: 57%;
  }

  #ol-office section>figure {
    display: block;
    width: 43%;
    text-align: right;
    padding-left: 2rem;
  }

  #ol-office h3 {
    margin-top: 0;
  }

  .ol-office-detail {
    padding-bottom: 0;
  }

  .ol-office-detail .ol-office-info {
    padding: 0;
    width: auto;
  }

  .ol-office-detail figure {
    display: none;
  }

  .ol-office-info>p {
    font-size: 1.6rem;
  }

  .ol-office-info .telfax li {
    font-size: 1.6rem;
  }

  .ol-office-info .telfax .fax {
    margin-left: 2rem;
  }

  .ol-office-map {
    padding-top: 50rem;
  }

  /* 沿革 tab 1000 ------------------ */
  .ol-history-detail::before,
  .ol-history-detail::after {
    width: 1rem;
    height: 1rem;
  }

  .ol-history-detail::before {
    left: 20.6%;
  }

  .ol-history-detail::after {
    left: 20.6%;
  }

  .ol-history-detail dl {
    font-size: 1.6rem;
  }

  .ol-history-detail dt span {
    font-size: 2.2rem;
  }

  .ol-history-detail dt span:last-child {
    font-size: 1.4rem;
  }

  /* 認定資格 tab 1000 ------------------ */
  #ol-certification {
    padding: 0 9rem;
  }

  #ol-certification section h3 {
    width: 30%;
  }

  .ol-certification-bg {
    padding: 0 9rem 3rem;
    margin-bottom: 10rem;
  }

  .ol-certification-detail {
    width: 70%;
  }

  .ol-certification-detail figure {
    padding: 1.8rem 4rem;
  }

  .ol-certification-detail-in {
    max-width: 28rem;
  }

  .ol-certification-detail-in p:first-child {
    font-size: 1.6rem;
  }

  .ol-certification-detail-in p:last-child {
    font-size: 1.4rem;
  }

  /* グループ会社 tab 1000 ------------------ */
  .related-com-info dt,
  .related-com-info dd {
    font-size: 1.6rem;
  }

  .group-com li {
    font-size: 1.6rem;
    padding-left: 5rem;
  }

  .group-com li::before {
    left: 3rem;
  }

  .supplier p {
    font-size: 1.6rem;
  }

  /* 会社概要 Navi ------------------ */
  .company-nav li figure::after {
    right: 2rem;
  }

  .company-nav li a p {
    padding: 2rem;
  }

  /* -----------------------
  スリット仕様 PC 1000
  ---------------------------*/
  /* 機械能力仕様 PC 1000 ------------------ */
  .sl-spec h3 {
    margin-bottom: 5rem;
  }

  .sl-spec-detail table#spec th,
  .sl-spec-detail table#spec td {
    padding: 1rem 1.2rem;
    font-size: 1.6rem;
  }

  .sl-spec-detail th.sell-01,
  .sl-spec-detail th.sell-02 {
    position: static;
    width: auto;
    box-shadow: none;
  }

  .sl-spec-detail th.sell-00 {
    width: 15rem;
  }

  .sl-spec-detail.le-spec-detail .tb-all {
    max-width: 70rem;
  }

  /* スリット系の梱包 PC 1000 ------------------ */
  .sl-packing h4 {
    margin: 4rem 0 2rem;
  }

  .sl-packing p {
    font-size: 1.6rem;
  }

  /* 事業内容 Navi ------------------ */
  .services-nav {
    padding: 5rem 9rem;
  }

  .services-nav li figure::after {
    width: 1.8rem;
    height: 1.8rem;
    bottom: -3.4rem;
  }

  .services-nav li p {
    font-size: 1.6rem;
  }

  /* -------------------------------
  品質管理 PC 1000
  ---------------------------------*/
  .qu-flow article {
    margin: 0 0 8rem;
  }

  .qu-flow article dl {
    align-items: center;
    margin: 0 0 4rem;
  }

  .qu-flow article dl dt {
    width: 9rem;
    padding: 0.5rem 0 0;
    line-height: 1.1;
    border-right: 1px solid #ccc;
    font-size: 1.6rem;
  }

  .qu-flow article dl dt span {
    font-size: 4.2rem;
  }

  .qu-flow article dl dd {
    width: calc(100% - 9rem);
    padding: 0 0 0 3rem;
    border-left: 0;
    font-size: 1.8rem;
  }

  .qu-flow article figure {
    text-align: left;
  }

  /* 環境への取り組み 基本理念 PC 1000
  -----------------------------------*/
  .eco-philosphy section {
    margin-top: 10rem;
  }

  .eco-philosphy section h3+p {
    padding: 5rem 0 0;
    font-size: 1.8rem;
  }

  /* 環境への取り組み 企業行動方針 PC 1000
  -----------------------------------*/
  .eco-code section h3+p {
    padding: 5rem 0 8rem;
    font-size: 1.8rem;
  }

  .eco-list dl {
    margin: 0 0 6rem;
  }

  .eco-list dl:last-child {
    margin: 0 0 10rem;
  }

  .eco-list dl dt {
    margin: 0 0 3rem;
    font-size: 2rem;
  }

  .eco-list dl dt span {
    font-size: 2.2rem;
  }

  .eco-list dl dd {
    font-size: 1.8rem;
  }

  /* ISO マーク PC 1000 ------- */
  .eco-mark {
    padding: 3rem 5rem;
  }

  .eco-mark-in {
    max-width: 30rem;
    margin: auto;
  }

  .eco-mark-in p:first-child {
    font-size: 2.4rem;
  }

  .eco-mark-in :last-child {
    font-size: 1.8rem;
  }

  /* ----------------------------------------
  安全への取り組み PC 1000
  ------------------------------------------*/
  .safe-gree {
    flex-direction: row;
    padding: 5rem 6rem;
  }

  .safe-gree>p {
    width: 28%;
    margin-top: 0;
    padding: 8rem 0;
    line-height: 2.4;
  }

  .safe-idea {
    width: 62%;
  }

  .safe-idea-in {
    width: 54rem;
    padding: 0;
    background: url(/wp-content/uploads/2026/03/services-safety-safe-idea-bg.png) no-repeat center 50px;
    background-size: 40rem;
  }

  .safe-idea-in article {
    width: 47%;
    padding: 0;
  }

  .safe-idea-in article div {
    width: 24rem;
  }

  .safe-idea-in article:first-child div {
    margin: 0 auto 3rem;
  }

  .safe-idea-in article dl dt {
    width: 3rem;
    font-size: 2rem;
  }

  .safe-idea-in article dl dd {
    width: calc(100% - 3rem);
    font-size: 1.2rem;
  }

  /* 最後のarticle SP --------- */
  .safe-idea-in article:last-child dl dt {
    width: 5rem;
  }

  .safe-idea-in article:last-child dl dd {
    width: calc(100% - 5rem);
  }

  /* -----------------------
  新卒採用 PC 1000
  ---------------------------*/
  /* 選考フロー PC 1000 ------------------ */
  .ng-flow {
    padding: 0 9rem;
  }

  .ng-flow li {
    padding: 5rem 0 7rem;
  }

  .ng-flow li span {
    margin-bottom: 3rem;
  }

  /* -----------------------
  先輩社員のご紹介 PC 1000
  ---------------------------*/
  /* people PC 1000 ------------------ */
  .re-people {
    padding: 5rem 9rem 7rem;
  }

  .re-people .re-people-info h3 {
    font-size: 1.8rem;
    margin: 0 auto;
    padding: 0 0 1.5rem;
  }

  .re-people-detail {
    padding: 1.5rem 0 0;
  }

  /* どんな仕事をされていますか PC 1000 ------------------ */
  .re-job-bg {
    padding: 8rem 0;
  }

  .re-job-wrap {
    padding: 0 9rem;
  }

  .re-job.content-box {
    width: 52%;
  }

  .re-job-schedule-wrap {
    width: 43%;
    padding-top: 4rem;
  }

  /* 職場の雰囲気〜自身の成長を感じる時 PC 1000 ------------------ */
  .re-workplace.content-box {
    margin-top: 8rem;
  }

  .re-workplace.content-box,
  .re-rewarding.content-box,
  .re-growth.content-box {
    padding-bottom: 8rem;
  }

  .re-workplace.content-box section,
  .re-rewarding.content-box section,
  .re-growth.content-box section {
    padding-top: 4rem;
  }

  .re-workplace.content-box h3,
  .re-rewarding.content-box h3,
  .re-growth.content-box h3 {
    width: 32%;
  }

  .re-workplace-detail,
  .re-rewarding-detail,
  .re-growth-detail {
    width: 68%;
    padding-top: 0.3rem;
  }

  /* -----------------------
  サイトマップ 1000
    ---------------------------*/
  .content-box.sitemapOuter {
    margin-top: 6rem;
    max-width: 1000px;
    width: 100%;
  }

  .content-box.sitemapOuter a {
    font-size: 1.8rem;
    margin-bottom: 10px;
    line-height: 2.6;
  }

  .sitemap-parentUl {
    margin-bottom: 3rem;
  }

  .sitemapOuter .sitemap-parent.sitemap-en a {
    font-size: 1.8rem;
  }

  .sitemapOuter .sitemap-lastUl .sitemap-parent>a {
    margin-bottom: 20pxm;
  }

  /* -----------------------
  プラポリ 1000
  ---------------------------*/
  .ppOuter table.pptb01 th,
  .ppOuter table.pptb01 td {
    padding: 1rem 1.2rem;
    font-size: 1.6rem;
  }

  .ppOuter table.pptb01 th:first-child {
    width: 45%;
  }

  .ppOuter table.pptb01 th:last-child {
    width: 55%;
  }

  .ppOuter .tb-wrap {
    width: 80rem;
  }
}

/*----------------------------------------------------
PC 1200- 
----------------------------------------------------*/
@media screen and (min-width: 1200px) {
  .l_heading {
    font-size: 8.2rem;
  }

  .s_heading {
    margin-top: 25px;
  }

  .hero_headingWrapOut {
    top: calc(20rem + 12%);
  }

  /* -----------------------
  会社案内 1200
  ---------------------------*/
  /* 写真 1200 ------------------ */
  .top-company-ph {
    width: 52%;
    top: -35px;
    right: 0;
  }

  .top-company-ph>p {
    margin: 0 0 0 10%;
  }

  .top-services-spec .top-company-ph-flex {
    margin: 0;
  }

  /* 下2枚用 1400 */
  .top-company-ph-flex {
    flex-direction: row;
    padding: 6rem 0 0;
    margin: 0 0 0 5%;
  }

  .top-company-ph-flex .picture-wrapper {
    padding: 0 0 3rem;
  }

  .top-company-ph-flex .picture-wrapper:first-child {
    width: 48%;
    margin: 0;
  }

  .top-company-ph-flex .picture-wrapper:last-child {
    width: 48%;
    margin: 0;
    padding: 7rem 0 0;
  }

  /* 安全と品質 PC 1200 ------------------ */
  .co-satisfaction h3 {
    font-size: 3.6rem;
    margin-top: 2rem;
  }

  .co-satisfaction-txt {
    font-size: 1.8rem;
  }

  /* -----------------------
  リクルート 1200
  ---------------------------*/
  .top-recruit-pc {
    padding: 8.5rem 0;
  }

  /* -----------------------
  ブログ 記事一覧 PC 1200
  ---------------------------*/
  .bl-articles-wrap {
    display: flex;
  }

  .bl-articles-wrap .bl-articles.content-box {
    max-width: 75%;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  /* ----- カテゴリナビ ----- */
  .bl-sidenav {
    padding-left: 5rem;
    width: 25%;
  }

  .bl-sidenav-in.cate li {
    font-size: 1.6rem;
  }

  .bl-sidenav-in.tag li a {
    font-size: 1.6rem;
  }

  /* -----------------------
  投稿ページ SP
  ---------------------------*/
  .single-post .post-content {
    margin-top: 8rem;
  }

  .bl-articles-wrap.post-articles-wrap .bl-articles.content-box {
    width: 100%;
  }

  /* -----------------------
  スリット仕様 PC 1200
  ---------------------------*/
  /* 事業内容 Navi ------------------ */
  .services-nav li p br {
    display: none;
  }

  /* -------------------------------
  品質管理 PC 1200
  ---------------------------------*/
  /* 品質管理フロー 1200
  ------------------------------*/
  .qu-philosphy {
    margin-top: 10rem;
  }

  /* ----------------------------------------
  安全への取り組み PC 1200
  ------------------------------------------*/
  .safe-gree-bg {
    margin: 10rem 0;
  }

  .safe-gree {
    flex-direction: row;
    padding: 10rem 6rem;
  }

  .safe-gree>p {
    width: 32%;
    font-size: 2.4rem;
  }

  .safe-idea {
    width: 58%;
  }

  /* 安全への取り組み 設備 PC 1200
  --------------------------------------*/
  .safe-comm h3+p {
    margin: 0 0 4rem;
    padding: 4rem 0;
    font-size: 1.8rem;
  }

  .safe-comm article {
    margin: 0 0 5rem;
    padding: 0 0 4rem;
  }

  .safe-comm article div {
    padding: 0 7rem 0 6.5rem;
  }

  .safe-comm article div h4 {
    padding: 2rem 0 0;
    font-size: 2.4rem;
  }

  .safe-comm article div h4+p {
    padding: 2rem 0 0;
    font-size: 1.8rem;
  }

  /* -----------------------
  先輩社員のご紹介 PC 1200
  ---------------------------*/
  /* people PC 1200 ------------------ */
  .re-people {
    padding: 8rem 9rem;
  }

  .re-people figure {
    width: 57%;
  }

  .re-people .re-people-info h3 {
    font-size: 1.8rem;
    margin: 0 auto;
  }

  .re-people-info {
    display: block;
    width: 43%;
    padding: 0;
  }

  .re-people-detail .initials {
    font-size: 5rem;
  }

  .re-people-detail .department {
    font-size: 2rem;
    padding: 2rem 0 1rem;
  }

  .re-people-detail .year {
    font-size: 1.6rem;
  }

  /*ごあいさつ-----------------------------------*/
  .com-greeting.content-box section {
    padding: 5rem 0 0;
  }

  /* -----------------------
  プラポリ PC 1200
  ---------------------------*/
  .ppOuter .tb-wrap {
    width: 95rem;
  }
}

/*----------------------------------------------------
PC 1400
----------------------------------------------------*/
@media screen and (min-width: 1400px) {

  /* -----------------------
  会社案内 PC 1400
  ---------------------------*/
  /* 安全と品質 PC 1400 ------------------ */
  .co-satisfaction {
    margin-bottom: 10rem;
  }

  .co-satisfaction section {
    padding: 7rem 9rem 100rem;
  }

  .co-satisfaction h3 {
    font-size: 5.2rem;
    margin-top: 2rem;
  }

  .co-satisfaction-txt {
    font-size: 2.4rem;
  }

  /* -----------------------
  会社案内 1400
  ---------------------------*/
  .top-company {
    padding: 12rem 0 10rem;
  }

  .top-company section {
    width: 46%;
  }

  .top-company section h2+p {
    padding: 7rem 0 0;
    font-size: 4.2rem;
  }

  .top-company section h2+p span {
    padding: 1.5rem 0 0;
    font-size: 2.4rem;
  }

  /* テキスト 1400 ------------------ */
  .top-company-ttl {
    padding: 5rem 0;
  }

  .top-company-ttl p {
    font-size: 1.8rem;
  }

  /* -----------------------
  事業内容 1400
  ---------------------------*/
  .top-services {
    padding: 15rem 0 10rem;
  }

  .top-services section h2+p {
    padding: 5rem 0 10rem;
    font-size: 4.2rem;
    font-weight: bold;
  }

  .top-services section h2+p span {
    display: block;
    padding: 1.5rem 0 0;
    font-size: 2.4rem;
    font-family: "Noto Sans Medium JP", sans-serif;
  }

  /* ボタン幅 1400 ------------------ */
  .btn-top-services {
    top: 4%;
    right: 6rem;
  }

  .btn-top-services div {
    width: 32rem;
  }

  /* 上3つ 1400 ------------------ */
  .top-services-content {
    padding: 0 0 5rem;
  }

  .top-services-content article div h3 {
    font-size: 2.1rem;
    letter-spacing: 0.15em;
  }

  .top-services-content article div h3+p {
    font-size: 1.6rem;
  }

  /* スリット・レベラー 1400 ------------- */
  .top-services-spec-note a h3 {
    width: 50%;
    padding: 1rem 0 0 2rem;
    border-radius: 1rem 0 0 0;
    background: #fff;
    position: absolute;
    bottom: 0px;
    right: 0;
  }

  .top-services-spec-note a h3 span {
    letter-spacing: 0.15em;
    font-size: 1.8rem;
    background: url(../img/icon-en-arrow-white-line.svg) no-repeat 90% center;
    background-size: 24px;
  }

  .top-services-spec-note a:hover h3 span {
    background: url(../img/icon-en-arrow-blue-line.svg) no-repeat 90% center;
    background-size: 24px;
  }

  .top-services-spec article p:last-of-type {
    font-size: 1.8rem;
    font-family: "Noto Sans Medium JP", sans-serif;
  }

  /* -----------------------
  リクルート 1400
  ---------------------------*/
  .top-recruit-pc {
    padding: 12.5rem 0;
  }

  /* -----------------------
    ブログ 1400
  ---------------------------*/
  .top-blog {
    padding: 10rem 0;
  }

  .top-blog-ttl {
    padding: 0 0 10rem;
  }

  .top-blog-ttl h2+p {
    max-width: 60rem;
    padding: 7rem 0 0 4rem;
    font-size: 2rem;
  }

  /* 記事共通 1400 --------------- */
  .top-blog-day figure {
    font-size: 1.8rem;
  }

  .top-blog-day figure figcaption {
    padding: 2rem 0 0;
  }

  .top-blog-day figure figcaption span {
    width: 8.4rem;
    line-height: 1.8;
    margin: 0 0 1rem;
    font-size: 1.4rem;
  }

  .btn-top-blog {
    right: 6rem;
  }

  .btn-top-blog div {
    width: 32rem;
  }

  /* -----------------------
  ブログ 記事一覧 PC 1400
  ---------------------------*/
  .bl-articles-wrap {
    padding: 10rem 9rem 0;
  }

  .bl-articles-detail {
    margin-top: 8rem;
  }

  .bl-articles-detail ul {
    gap: 8rem 5rem;
  }

  .bl-articles-detail li {
    width: calc((100% - 10rem) / 3);
  }

  .bl-articles-detail li p.category {
    font-size: 1.4rem;
    margin: 1.5rem 0;
  }

  .bl-articles-detail li p.bl-title {
    font-size: 1.8rem;
  }

  /* ----- ページネーション ----- */
  .page-nation {
    margin: 10rem 0;
  }

  /* ----- カテゴリナビ ----- */
  .bl-sidenav {
    padding-left: 10rem;
  }

  .bl-sidenav-in.cate li {
    font-size: 1.8rem;
  }

  /* -----------------------
  リクルート PC 1400
  ---------------------------*/
  .recruit .content-box h3 {
    font-size: 6.4rem;
  }

  .recruit .content-box h3 span {
    font-size: 1.8rem;
  }

  /* メッセージ PC 1400 ------------------ */
  .re-message {
    padding: 0 9rem 10rem;
  }

  .re-message-detail .catch {
    font-size: 7.2rem;
    margin-bottom: 8rem;
  }

  .re-message-detail .re-message-txt {
    font-size: 1.8rem;
    line-height: 2.4;
  }

  .re-message-detail .catch-bottom {
    margin: 4rem 0 0;
  }

  .re-message-detail .catch-bottom>span {
    font-size: 3.6rem;
  }

  /* 数字でみる PC 1400 ------------------ */
  .re-numbers-detail {
    gap: 5rem 4rem;
  }

  .num-box {
    width: calc((100% - 12rem) / 4);
    padding: 3.5rem 2rem;
  }

  .num-box.num05 {
    width: calc(50% - 2rem);
  }

  .num-box h4 {
    font-size: 2rem;
  }

  .num-box p {
    font-size: 1.8rem;
  }

  .num-box .num-txt {
    font-size: 8rem;
  }

  .num-box.num02 .num-txt,
  .num-box.num05 .num-txt {
    font-size: 8rem;
  }

  .num-box.num02 .num-colon,
  .num-box.num05 .num-colon {
    font-size: 8rem;
    margin: 0 1rem;
  }

  .num-box.num02 p:last-child,
  .num-box.num05 p:last-child {
    padding-top: 1rem;
  }

  .num-box.num02 p:last-child span {
    margin: 0 2rem;
  }

  /* 先輩社員のご紹介 PC 1400 ------------------ */
  .re-intro.content-box h3 {
    font-size: 6.4rem;
  }

  .re-intro.content-box h3 span {
    font-size: 1.8rem;
  }

  .re-intro-detail {
    gap: 0 3.8rem;
    margin-top: 10rem;
  }

  .re-intro-card {
    width: calc((100% - 11.4rem) / 4);
  }

  .re-intro-card figure {
    width: 56%;
    margin: 4rem auto 3rem;
  }

  .re-intro-card .staff-name {
    width: 50%;
    margin: 0 auto 4rem;
  }

  .re-intro-card .staff-name p:first-child {
    font-size: 1.8rem;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
  }

  .re-intro-card .staff-name p:last-child {
    font-size: 1.8rem;
  }

  .re-intro-card .staff-name p:last-child span {
    font-size: 3rem;
  }

  .re-intro-card .to-page a {
    font-size: 1.8rem;
    padding: 2rem 0;
  }

  .re-intro-card .to-page a::after {
    width: 1.8rem;
    height: 1.8rem;
  }

  /* -----------------------
  事業内容 PC 1400
  ---------------------------*/
  /* コイルセンターとは PC 1400 ------------------ */
  .sv-coil {
    margin-top: 10rem;
  }

  .sv-coil-h3-wrap-in {
    padding: 5rem 0 0;
  }

  .sv-coil-h3-wrap h3 {
    font-size: 3.6rem;
  }

  .sv-coil-h3-wrap h3 span {
    font-size: 1.8rem;
  }

  .sv-coil-image {
    padding: 3.5rem 9rem;
  }

  .sv-coil-function-lead {
    font-size: 1.8rem;
    margin-top: 8rem;
  }

  .sv-coil-function ul {
    padding: 5rem 0 10rem;
  }

  .sv-coil-function li {
    padding: 0.5rem 0 0.5rem 5rem;
    border-left: 0.3rem var(--main-color) solid;
  }

  .sv-coil-function li h4 {
    font-size: 3rem;
  }

  .sv-coil-function li h4::before {
    font-size: 3.2rem;
  }

  .sv-coil-function li p {
    font-size: 1.8rem;
  }

  /* 工場設備概要 PC 1400 ------------------ */
  .sv-equipment {
    margin: 8rem 8% 0 0;
  }

  .sv-equipment dt {
    font-size: 2rem;
  }

  .sv-equipment dd {
    font-size: 1.8rem;
  }

  .sv-factory-detail figure {
    margin-top: 8rem;
  }

  /* -----------------------
  会社概要 PC 1400
  ---------------------------*/
  /* 会社概要メニュー PC 1400 ------------------ */
  .ol-nav {
    padding-top: 11rem;
  }

  /* 会社概要 PC 1400 ------------------ */
  .ol-outline-detail {
    margin-top: 3rem;
  }

  .ol-outline-detail>dl>dt {
    width: 35%;
    font-size: 1.8rem;
    padding: 4rem 0;
  }

  .ol-outline-detail>dl>dd {
    width: 65%;
    font-size: 1.8rem;
    padding: 4rem 0;
  }

  /* 本社・工場 PC 1400 ------------------ */
  #ol-office section {
    padding: 5rem 0 8rem;
  }

  .ol-office-info>p {
    font-size: 1.8rem;
  }

  .ol-office-info .telfax p {
    font-size: 1.8rem;
    margin: 3.5rem 0 1rem;
  }

  .ol-office-info .telfax li {
    font-size: 1.8rem;
  }

  .ol-office-info .telfax .fax {
    margin-left: 5rem;
  }

  .ol-office-info .ol-office-map {
    padding-top: 60rem;
  }

  /* 沿革 tab 1400 ------------------ */
  .ol-history-detail dl {
    font-size: 1.8rem;
  }

  .ol-history-detail dt span {
    font-size: 4rem;
  }

  .ol-history-detail dt span:last-child {
    font-size: 1.6rem;
    bottom: -0.7em;
  }

  /* 認定資格 tab 1400 ------------------ */
  #ol-certification {
    max-width: 158rem;
    padding: 0 9rem;
    margin: 0 auto;
  }

  #ol-certification section h3 {
    margin-top: 0;
  }

  .ol-certification-bg {
    max-width: none;
    margin: 0 auto 10rem;
  }

  .ol-certification-detail-in {
    max-width: 36rem;
  }

  .ol-certification-detail p:first-child {
    font-size: 2.4rem;
  }

  .ol-certification-detail p:last-child {
    font-size: 1.8rem;
  }

  .ol-certification-detail figure {
    padding: 1.8rem 6rem;
  }

  /* グループ会社 tab 1400 ------------------ */
  #ol-group.content-box {
    padding: 0 9rem 8rem;
  }

  .related-com-detail p {
    font-size: 2.4rem;
  }

  .related-com-info dt {
    font-size: 1.8rem;
    padding-left: 2.5rem;
  }

  .related-com-info dt::before {
    width: 0.8rem;
    height: 0.8rem;
    top: 1.2rem;
  }

  .related-com-info dd {
    font-size: 1.8rem;
  }

  .group-com li {
    font-size: 1.8rem;
    padding-left: 7rem;
  }

  .group-com li::before {
    width: 0.8rem;
    height: 0.8rem;
    top: 3.8rem;
    left: 3.5rem;
  }

  .supplier p {
    font-size: 1.8rem;
    padding: 2.5rem 0 1.5rem 7rem;
  }

  .supplier p::before {
    width: 0.8rem;
    height: 0.8rem;
    top: 3.7rem;
    left: 3.5rem;
  }

  /* 会社概要 Navi ------------------ */
  .company-nav li figure::after {
    width: 2.5rem;
    height: 2.5rem;
    bottom: -6rem;
    right: 3rem;
  }

  .company-nav li a p {
    font-size: 1.8rem;
    margin: 2rem 3rem;
  }

  /* -----------------------
  スリット仕様 PC 1400
  ---------------------------*/
  /* スリッターライン PC 1400 ------------------ */
  .sl-line-lead {
    font-size: 1.8rem;
  }

  .sl-line-flow ul.pc li.arrow {
    width: 3rem;
    margin: 0 2rem;
  }

  /* 機械能力仕様 PC 1400 ------------------ */
  .sl-spec-detail table#spec th,
  .sl-spec-detail table#spec td {
    padding: 1.3rem 1.5rem;
    font-size: 1.8rem;
  }

  .sl-spec-photos p {
    font-size: 1.4rem;
  }

  /* スリット系の梱包 PC 1400 ------------------ */
  .sl-packing.content-box {
    padding-bottom: 10rem;
  }

  .sl-packing h4 {
    margin: 6rem 0 2rem;
  }

  .sl-packing p {
    font-size: 1.8rem;
  }

  .sl-packing-equipment-photos ul {
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }

  .sl-packing-type-photos ul {
    gap: 0 4rem;
  }

  /*レベラー*/
  .le-spec-photos p {
    font-size: 1.8rem;
  }

  /* 事業内容 Navi ------------------ */
  .services-nav {
    padding: 10rem 9rem;
  }

  .services-nav li {
    width: 18.5%;
  }

  .services-nav li figure::after {
    width: 2.5rem;
    height: 2.5rem;
    right: 2rem;
    bottom: -5.4rem;
  }

  .services-nav li p {
    font-size: 1.8rem;
    margin: 3rem 2rem 3.5rem;
  }

  .scrollbox {
    left: 10rem;
  }

  .hero_headingWrapOut {
    left: 16.5rem;
  }

  /* ----------------------------------------
  安全への取り組み PC 1400
  ------------------------------------------*/
  .safe-idea-in {
    width: 74rem;
    background: url(/wp-content/uploads/2026/03/services-safety-safe-idea-bg.png) no-repeat center 100px;
    background-size: auto;
  }

  .safe-idea-in article div {
    width: 32rem;
  }

  .safe-idea-in article:first-child div {
    margin: 0 auto 6rem;
  }

  .safe-idea-in article dl dt {
    width: 5rem;
    font-size: 3.6rem;
  }

  .safe-idea-in article dl dd {
    width: calc(100% - 5rem);
    font-size: 1.6rem;
  }

  /* 最後のarticle PC 1400 --------- */
  .safe-idea-in article:last-child dl dt {
    width: 9rem;
  }

  .safe-idea-in article:last-child dl dd {
    width: calc(100% - 9rem);
  }

  /* -----------------------
  新卒採用 PC 1400
  ---------------------------*/
  /* 募集要項 PC 1400 ------------------ */
  .ng-application {
    margin-top: 10rem;
  }

  .ng-application-detail dl {
    padding: 4rem 0;
  }

  .ng-application-detail dt {
    font-size: 1.8rem;
  }

  .ng-application-detail dd {
    font-size: 1.8rem;
  }

  .ng-application-detail dd span {
    font-size: 1.6rem;
  }

  /* 選考フロー PC 1400 ------------------ */
  .ng-flow-bg {
    padding: 5rem;
  }

  .ng-flow h4 {
    font-size: 1.8rem;
    padding-bottom: 3rem;
  }

  .ng-flow li {
    font-size: 1.8rem;
    padding: 5rem 0 11rem;
  }

  .ng-flow li span {
    font-size: 1.4rem;
    margin-bottom: 4rem;
  }

  .ng-flow li::after {
    width: 1.8rem;
    height: 1.9rem;
    left: 112%;
  }

  /* 応募ボタン PC 1400 ------------------ */
  .ng-btn {
    padding: 8rem 0 10rem;
  }

  /* -----------------------
  先輩社員のご紹介 PC 1400
  ---------------------------*/
  /* 先輩社員のご紹介 PC 1400 ------------------ */
  .recruit .re-intro.content-box h3 {
    font-size: 6.4rem;
  }

  .recruit .re-intro.content-box h3 span {
    font-size: 1.8rem;
  }

  .re-intro-detail {
    gap: 0 3.8rem;
    margin-top: 10rem;
  }

  .re-intro-card {
    width: calc((100% - 11.4rem) / 4);
  }

  .re-intro-card figure {
    width: 56%;
    margin: 4rem auto 3rem;
  }

  .re-intro-card .staff-name {
    width: 50%;
    margin: 0 auto 4rem;
  }

  .re-intro-card .staff-name p:first-child {
    font-size: 1.8rem;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
  }

  .re-intro-card .staff-name p:last-child {
    font-size: 1.8rem;
  }

  .re-intro-card .staff-name p:last-child span {
    font-size: 3rem;
  }

  .re-intro-card .to-page a {
    font-size: 1.8rem;
    padding: 2rem 0;
  }

  .re-intro-card .to-page a::after {
    width: 1.8rem;
    height: 1.8rem;
  }

  /* people PC 1400 ------------------ */
  .re-people {
    padding: 10rem 9rem;
  }

  .re-people .re-people-info h3 {
    font-size: 1.8rem;
    margin: 0 auto;
    padding: 0 0 2rem;
  }

  .re-people-detail {
    padding: 2rem 0 0;
  }

  .re-people-detail .initials {
    font-size: 6rem;
  }

  .re-people-detail .department {
    font-size: 2.4rem;
    padding: 2.5rem 0 1.2rem;
  }

  .re-people-detail .year {
    font-size: 1.8rem;
  }

  /* 入社のきっかけ PC 1400 ------------------ */
  .re-chance-detail {
    width: 52%;
  }

  .re-chance-txt {
    font-size: 1.8rem;
  }

  .re-chance section figure {
    width: 37%;
  }

  /* どんな仕事をされていますか PC 1400 ------------------ */
  .re-job-bg {
    padding: 10rem 0;
  }

  .re-job.content-box {
    width: 43%;
  }

  .re-job-txt {
    font-size: 1.8rem;
    padding: 5rem 0 4rem;
  }

  .re-job-schedule-wrap {
    width: 50%;
    padding-top: 7rem;
  }

  .re-job-schedule-box h4 {
    width: 22rem;
    margin-left: calc(37% - 11rem);
  }

  .re-job-schedule-box h4 span {
    font-size: 2rem;
  }

  .re-job-schedule dt,
  .re-job-schedule dd {
    font-size: 2.4rem;
  }

  .re-job-schedule dt::after {
    top: 1.2rem;
  }

  /* 職場の雰囲気〜自身の成長を感じる時 PC 1400 ------------------ */
  .re-workplace.content-box {
    margin-top: 10rem;
  }

  .re-workplace.content-box,
  .re-rewarding.content-box,
  .re-growth.content-box {
    padding-bottom: 10rem;
  }

  .re-workplace.content-box h3,
  .re-rewarding.content-box h3,
  .re-growth.content-box h3 {
    width: 27%;
  }

  .re-workplace-detail,
  .re-rewarding-detail,
  .re-growth-detail {
    width: 73%;
    padding-top: 2.3rem;
  }

  .re-workplace-txt,
  .re-rewarding-txt,
  .re-growth-txt {
    font-size: 1.8rem;
  }

  .re-workplace-txt p,
  .re-rewarding-txt p,
  .re-growth-txt p {
    margin-bottom: 1em;
  }

  /*ごあいさつ-----------------------------------*/
  .com-greeting.content-box p {
    font-size: 2rem;
  }

  .com-greeting.content-box .gre-chance-detail {
    width: 52%;
  }

  .com-greeting.content-box .gre-imgWrap {
    width: 37%;
  }

  /* -----------------------
  サイトマップ 1400
  ---------------------------*/
  .content-box.sitemapOuter {
    margin-top: 8rem;
  }

  .content-box.sitemapOuter a {
    font-size: 2rem;
  }

  .content-box.sitemapOuter {
    max-width: 1200px;
  }

  .sitemapOuter .sitemap-parent.sitemap-en a {
    font-size: 2rem;
  }
}

/*----------------------------------------------------
PC 1600
----------------------------------------------------*/
@media screen and (min-width: 1600px) {

  .top-company-ph>p,
  .top-company-ph .top-company-ph-flex {
    margin: 0 0 0 20%;
  }

  /* -----------------------
  リクルート 1600
  ---------------------------*/
  .top-recruit-pc {
    padding: 16.5rem 0;
  }

  /* -----------------------
  ブログ PC 1600
  ---------------------------*/
  /* ----- カテゴリナビ ----- */
  .bl-sidenav {
    padding-left: 12rem;
  }

  /* -----------------------
  会社概要 PC 1600
  ---------------------------*/
  /* 会社概要メニュー PC 1600 ------------------ */
  .ol-nav {
    padding-top: 14rem;
  }
}

/*# sourceMappingURL=mystyle.css.map */