/*
Theme Name: RDSGN ORIGINAL									
*/

/**********************************************
    PC版 CSS
**********************************************/
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital@1&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap');

.sp{
	display:none;
}

.lexend {
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.gototop a{
	z-index:99999999;
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  text-decoration: none;
  background-color: #b7b7b7;
  display: block;
  text-align: center;
  border-radius: 24px;
}

.gototop a::before {
  content: '\f062';
  font-family: 'Font Awesome 6 Free';
  font-size: 30px;
  font-weight: 900;
  color: #fff;
  line-height: 48px;
}

.nav-toggle{
	display:none;
}

/**************************************************************
全体
**************************************************************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 100%;
    scroll-behavior: smooth;
}
body {
    font: 500 16px/1.75 "Noto Sans JP", sans-serif;
    color: #000;
    text-align: left;
    letter-spacing: 0.05em;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-size: 13px;

    margin: 0px;
    text-align: center;
    line-height: 180%;
}
/**************************************************************
リンク
**************************************************************/
a:link {
    color: #000;
    text-decoration: none;
	transition: 1.0s ;
}
a:visited {
    color: #000;
    text-decoration: none;
}
a:hover {
    color: #000;
    text-decoration: none;
}
a:active {
    color: #000;
    text-decoration: none;
}

/**************************************************************
ヘッダー
**************************************************************/
.site-header {
  width: 100%;

  background: #fff;
}

.header-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 20px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ロゴ */
.header-logo img {
  height: 60px;
  width: auto;
  display: block;
}

.header-nav{
	position:relative;
}

/* ナビ */
.header-nav ul {
  display: flex;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
	padding-top:35px;
}

.header-nav a {
  text-decoration: none;
  color: #222;
  font-size: 15px;
  font-weight: 600;
  transition: color 0.3s ease;
}

.header-nav a:hover {
  color: #1e73be;
}

.header-nav .tel{
	position:absolute;
	top:0;
	right:0;
}
.header-nav .tel a{
	display:flex;
	align-items:center;
}
.header-nav .tel .lexend{
	font-size:24px;
}
.header-nav .tel .jikan{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size:12px;
	font-weight:normal!important;
	padding-left:20px;
}

/************************************
      MAIN VISUAL
******************************************/

.main-visual{
  background-image: url("../../../image/main-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto; /* ← これがポイント */
  height: 572px;
}
.main-visual-inner{
	width:1100px;
	margin:0 auto;
}
.main-visual-inner img{
	width:100%;
	height:auto;
}


/************************************
      CTA
******************************************/

.cta{
	background-color:#fbc400;
}
.cta-inner{
	width:1100px;
	margin:0 auto;
	display:flex;
	justify-content:space-around;
	padding:50px 20px;
}

.cta-inner img{
	width:500px;
	height:auto;
	display:block;
	border-radius:5px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  transition: 
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.cta-inner img:hover{
  transform: translateY(-6px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.22);
}

/******************************************
           About
***********************************/

.about-sec{
  padding: 0px;
  background: #fff;
}

.about-inner{
  margin: 0 auto;

  display: flex;
  align-items: stretch;
}

/* 左：画像 */
.about-photo{
  flex: 0 0 52%;
}
.about-photo img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 2px;
}

/* 右：本文 */
.about-body{
  padding:30px 40px;
  flex: 1;
  text-align:left;
  font-size:16px;

}

/* 見出しエリア */
.about-head{
  position: relative;
  padding-bottom: 5px;
  margin-bottom: 30px;
}

/* About（青・斜体っぽい） */
.about-title{
  margin: 0 0 6px;
  font-size: 40px;
  line-height: 1.2;

  letter-spacing: 0.02em;
  color: #2f66b3; /* お好みで */
	font-weight:500;
}

/* 金ライン */
.about-head::after{
  content:"";
  position:absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #e0b33a;
  border-radius: 2px;
}

/* 右上の小見出し */
.about-sub{
  position: absolute;
  right: 0;
  top: 30px;
  font-size: 14px;
  font-weight: 600;
  color: #2f66b3;
}

/* 本文 */
.about-text p{
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.9;
  color: #222;
}

/* SP：縦積み */
@media (max-width: 900px){
  .about-inner{
    flex-direction: column;
    gap: 26px;
  }
  .about-photo{
    flex: none;
  }
  .about-sub{
    position: static;
    margin-top: 6px;
    text-align: right;
  }
  .about-title{
    font-size: 40px;
  }
}

/********************************************
  特徴
*******************************/

.reason-sec{
  position: relative;
  padding: 70px 20px 90px;
  background: #f3f3f3;
  overflow: hidden;
}

.reason-sec::before{
  content: "Reason";
  position: absolute;
  left: 30px;            /* 端に寄せる */
  top: 50%;
  transform: translateY(-50%);
  writing-mode: vertical-rl; /* 回転しない縦書き */
  font-size: 140px;
  color: rgba(0,0,0,0.06);
  pointer-events: none;
  user-select: none;
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
	font-weight:500;
}

.reason-inner{
  max-width: 1100px;
  margin: 0 auto;
}

.reason-ttl{
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 0 0 40px;
  color: #111;
}

.reason-ttl span{
	font-size:36px;
}

/* 4カード：flex */
.reason-cards{
  display: flex;
  gap: 22px;
  justify-content: space-between;
  align-items: stretch;
	margin-top:40px;
}

/* card */
.reason-card{
  flex: 1;
  background: #fff;
  padding: 16px 16px 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  border-radius: 2px;
}

/* タイトル（カード内） */
.reason-card__ttl{
	font-size:18px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 16px;
  color: #2f66b3;
	line-height:180%;
}

/* 画像 */
.reason-card__img img{
  width: 100%;
  height: 140px;
  object-fit: cover;
  display: block;
  border-radius: 2px;
}

/* テキスト */
.reason-card__text{
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: #333;
	text-align:left;
}

/* ホバーでちょい浮き（こなれ） */
.reason-card{
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.reason-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(0,0,0,0.14);
}

/* SP：2列→1列 */
@media (max-width: 900px){
  .reason-cards{
    flex-wrap: wrap;
  }
  .reason-card{
    flex: 0 0 calc(50% - 11px);
  }
}

@media (max-width: 520px){
  .reason-card{
    flex: 0 0 100%;
  }
}


/***********************************************
 * 事業内容
***********************************/


/* セクション全体 */
.biz-sec{
  position: relative;
  padding: 70px 20px 85px;
  color: #fff;
  overflow: hidden;

  /* 背景（画像＋青いフィルター） */
  background:

    url("../../../image/bg2.webp") center/cover no-repeat;
}

.biz-inner{
  max-width: 1100px;
  margin: 0 auto;
}

.biz-ttl{
  margin: 0 0 28px;
  text-align: center;
  font-size: 36px;
	font-weight:500;
	margin-bottom:30px;
}

.mesmes{
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size:13px;
	margin-bottom:40px;
}



/* 2列：flexで */
.biz-grid{
  display: flex;
  gap: 22px;
  justify-content: center;
  margin: 0 auto 26px;
  max-width: 860px;
}

.biz-item__txt{
	font-size:18px;
}

.biz-col{
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* リストボックス */
.biz-item{
  display: flex;
  align-items: center;
  gap: 20px;

  padding: 25px 30px;
  border: 1px solid rgba(255,255,255,0.55);
  background: rgba(0,0,0,0.08);
  color: #fff;
  text-decoration: none;
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.biz-item__arrow{
  font-size: 18px;
  line-height: 1;
  opacity: 0.9;
}

.biz-item:hover{
  transform: translateX(6px);
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.8);
}

/* ボタン */
.biz-btnwrap{
  text-align: center;
}

.biz-btn {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
  gap: 10px;
  padding: 12px 38px;
  border-radius: 5px !important;
  background: rgba(255, 255, 255, 0.92);
  color: #1b488c!important;
  border-radius: 2px;
  text-decoration: none;
  margin-top: 30px;
  font-weight: 700;
  transition: transform .25s ease, box-shadow .25s ease;
}


.biz-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}

.biz-btn__arrow{
  font-size: 18px;
  line-height: 1;
}

/* =========================
   下の黄色ライン：ベース＋ぴゅん演出
   ========================= */
.biz-line{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0px;
  height: 3px;
  background: #e3b52f;
  overflow: hidden;
  z-index: 2;
}

.biz-line__shoot{
  position: absolute;
  top: 0;
  left: -35%;
  height: 100%;
  width: 35%;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.95) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-25deg);
  animation: bizShoot 2.6s linear infinite;
}

/* 時間差 */
.biz-line__shoot.s2{
  animation-delay: 1.3s;
}

@keyframes bizShoot{
  0%   { transform: translateX(0) skewX(-25deg); opacity: 1; }
  100% { transform: translateX(220%) skewX(-25deg); opacity: 1; }
}


/************************************ 
                       実績
******************************************************/

.case-sec{
  position: relative;
  padding: 80px 20px 70px;
  color: #fff;
  overflow: hidden;
background: url("../../../image/bg3.webp") center / cover no-repeat;
}

.case-inner{
  max-width: 1100px;
  margin: 0 auto;
}

.case-inner a{
	color:#000!important;
}

.case-head{
  text-align: center;
  margin-bottom: 40px;
}

.case-ttl{
  margin: 0 0 10px;
  font-size: 29px;
  font-weight: 700;
  letter-spacing: 0.06em;
	margin-bottom:20px;
}

.case-lead{
  margin: 0;
  font-size: 16px;
  opacity: 0.95;
}

/* 4枚並び */
.case-list{
  display: flex;
  gap: 28px;
  justify-content: center;
  align-items: flex-start;
	flex-wrap:wrap;
}

/* カード */
.case-card{
  width: 340px;
	margin-bottom:30px;
}

/* サムネ（白四角） */
.case-thumb{
  width: 100%;
  height: 260px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 10px 22px rgba(0,0,0,0.12);
	overflow:hidden;
	border:solid 2px #fff;
}

.case-thumb img{
	width:150%;
	height:auto;
}

/* タイトル部（左下っぽく） */
.case-txt{
  margin-top: 20px;
  text-align: left;
}

.case-name{
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
}

/* SP対応 */
@media (max-width: 1000px){
  .case-list{
    flex-wrap: wrap;
    justify-content: center;
  }
  .case-card{
    width: calc(50% - 14px);
    max-width: 260px;
  }
}

@media (max-width: 520px){
  .case-card{
    width: 100%;
    max-width: 320px;
  }
  .case-thumb{
    height: 220px;
  }
}


/************************************************
         会社概要
**********************************/


/***************Company*********************/
.company-section3{
  padding: 80px 20px;
  text-align: center;
    position: relative;
    width: 100%;
    box-sizing: border-box;
	background-image:url("../../../image/logo2.jpg");

	background-repeat:no-repeat;
	background-position:right;
	background-size:40%;
}

.background-box {
  background-color: #f5f5f5; /* 明るいグレー */
  border-top-left-radius: 120px;
  width: 70%;               /* 右側を空ける */
  height: 400px;            /* お好みで高さ調整 */
  padding: 40px;
  position: relative;
}


.company-list{
    width: 600px;
    margin: 0 auto;
    margin-top: 60px;

}
.company-list .c-line{
    display: flex;
    font-size: 15px;
    text-align: left;

}
.company-list .c-line .mm{
    width: 20%;
    border-bottom: solid 1px #333;
    padding: 10px 5px;
}
.company-list .c-line .tt{
    width: 80%;
    border-bottom: solid 1px #ccc;
    padding: 10px 15px;
}


.map-wrapper {
    width: 600px;
 /* filter: grayscale(100%) brightness(0.9) contrast(1.1);  ← モノトーン化！ */
  overflow: hidden;
  margin: 0 auto;
    margin-top: 50px;
}
.common-title {
  font-size: 32px;
  color: #333;
  letter-spacing: 1px;
  margin-bottom: 40px;
  position: relative;
	font-weight:500;

}

.common-title::before {
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  background: #333;
  margin: 0 auto 10px;
    margin-bottom: 18px;
}

.map-pic{
	display:flex;
	margin-top:30px;
}

.map-pic .box{
	width:50%;
	box-sizing:border-box;
	padding:10px;
}
.map-pic .box iframe{
	width:100%;
	height:280px;
}



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

.apply{
	padding:80px 0;
	background-color:#06748e;
	color:#fff!important;
}
.apply h2{
	color:#fff;
	font-size:28px;
	margin-bottom:60px;
}


/* ===== Contact (dark-blue bg / white text) ===== */
.contact-frame{
  color:#fff!important;
  max-width: 980px;
  margin: 0 auto;
	padding:30px 40px;
	box-sizing:border-box;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  background: rgba(255,255,255,.02);      /* うっすら面 */
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  backdrop-filter: blur(2px);
}

/* 行レイアウト：左ラベル / 右入力 */
.apply .c-l{
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 14px;
  align-items: start;
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.08);
	text-align:left;
}
.apply .c-l:first-child{ border-top: none; }

/* ラベル */
.apply .tt{
  font-weight: 700;
  line-height: 1.6;
  padding-top: 8px;
	font-size:15px;
}
.apply .hissu{
  display: inline-block;
  margin-left: .6em;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 800;
  color:#fff;
  background: #e53935;                    /* 必須バッジ */
  border-radius: 999px;
}

/* 入力UI（CF7の生成要素に広く適用） */
.apply .contact-frame input[type="text"],
.apply .contact-frame input[type="email"],
.apply .contact-frame input[type="tel"],  
.apply .contact-frame textarea,
.apply .contact-frame select{
  width: 100%;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.06); 
  color: #fff;
  line-height: 1.6;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
	box-sizing:border-box;
}

/* iOS/Chromeの見た目差異を抑える（任意） */
.apply .contact-frame input[type="tel"]{
  -webkit-appearance: none;
  appearance: none;
}
.apply .contact-frame textarea{ min-height: 160px; resize: vertical; }
.apply .contact-frame input::placeholder,
.apply .contact-frame textarea::placeholder{ color: rgba(255,255,255,.6); }

/* フォーカス時 */
.apply .contact-frame input:focus,
.apply .contact-frame textarea:focus,
.apply .contact-frame select:focus{
  border-color: #90caf9;
  box-shadow: 0 0 0 3px rgba(144,202,249,.25);
  background: rgba(255,255,255,.08);
}

/* iOS/Chromeの自動入力色対策 */
.apply .contact-frame input:-webkit-autofill,
.apply .contact-frame input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff;
  transition: background-color 9999s ease-in-out 0s;
}

/* ラジオ・チェック（CF7） */
.apply .contact-frame input[type="radio"],
.apply .contact-frame input[type="checkbox"]{
  accent-color: #64b5f6;                  /* 青系 */
}
.apply .mm .wpcf7-list-item{ margin-right: 12px;
font-size:15px;}
.apply .mm .wpcf7-list-item label{
  display: inline-flex; align-items: center; gap: .5em;
  padding: 6px 10px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.04);
}

/* 送信ボタン */
.apply .contact-frame input[type="submit"] {
        appearance: none;
        -webkit-appearance: none;
        display: inline-block;
        padding: 14px 48px;
        font-weight: 800;
        letter-spacing: .02em;
        color: #202020!important;
        font-weight: 600;
        background: linear-gradient(90deg, #FFEB3B, #FF9800);
        border: none;
        border-radius: 9px;
        box-shadow: 0 10px 16px rgba(13, 71, 161, .25);
        cursor: pointer;
        transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
        margin-top: 30px;
        font: 600 18px / 1.75 "Noto Sans JP", sans-serif;
    }
.apply .contact-frame input[type="submit"]:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 22px rgba(13,71,161,.35);
  filter: brightness(1.03);
        color: #202020!important;
}
.apply .contact-frame input[type="submit"]:active{ transform: translateY(0); }

.wpcf7-spinner{
	display:block!important;
}

/* 受諾文＆リンク */
.apply .ap-chui p{ color:#fff; font-size: 14px; line-height: 1.8; }
.apply .ap-chui a{ color:#bbdefb; text-decoration: underline; }
.apply .ap-chui a:hover{ color:#e3f2fd; }

/* CF7 エラーメッセージ調整（任意） */
.apply .wpcf7-not-valid-tip{ color:#ff8a80; margin-top: 6px; font-size: 12px; }
.apply .wpcf7-response-output{
  color:#fff; border: 1px solid rgba(255,255,255,.25)!important;
  background: rgba(229,57,53,.15); border-radius: 10px; padding: 10px 12px;
}

/* クリア用（既存HTMLにあるので念のため） */
.apply .clear{ clear: both; }

/* --- Contact内のホバーで黒くならないよう固定 --- */
.contact-frame,
.contact-frame .tt,
.contact-frame .mm,
.contact-frame .mm label,
.contact-frame input,
.contact-frame textarea,
.contact-frame select {
  color: #fff;
}

/* ホバー時も白を維持（グローバルa:hover等に勝つ） */
.contact-frame .tt:hover,
.contact-frame .mm:hover,
.contact-frame .mm label:hover,
.contact-frame input:hover,
.contact-frame textarea:hover,
.contact-frame select:hover,
.contact-frame input[type="submit"]:hover {
  color: #fff !important;
}

/* リンク色の固定（通常／ホバー） */
.contact-frame a,
.contact-frame a:visited { color: #bbdefb; }
.contact-frame a:hover { color: #e3f2fd !important; }

/* プレースホルダも白系で */
.contact-frame input::placeholder,
.contact-frame textarea::placeholder { color: rgba(255,255,255,.7); }

/* エラーメッセージは上書きされないよう再指定（任意） */
.contact-frame .wpcf7-not-valid-tip { color: #ff8a80 !important; }



.apply .contact-frame input[type="radio"],
.apply .contact-frame input[type="checkbox"]{
  transform: scale(1.5);
  margin-right: 6px; /* ラベルとの間隔調整 */
  cursor: pointer;
}


/******************************FOOTER************/
.footer{
	background-color:#000;
	padding:30px;
	color:#fff;

}
.footer-inner{
	width:1000px;
	margin:0 auto;
	font-weight:500;
}


/* 右固定バナー全体 */
.fixed-banner{
  position:fixed;
  bottom:0%;
  right:0;
  z-index:1000;
  font-family:"Noto Sans JP", sans-serif;
}

/* 上の黄色アイコン部分（リンク化） */
.fb-top{
	width:60px;
  height:65px;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.fb-icon img{
  width:40px;
  height:auto;
}

/* 共通ボタン */
.fb-btn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:60px;
  height:130px;
  text-decoration:none;
  color:#fff!important;
  font-size:15px;
  font-weight:700;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  overflow:hidden;
}

/* 左側の斜め影パーツ */
.fb-btn::before{
  content:"";
  position:absolute;
  left:-18px;
  top:0;
  width:36px;
  height:100%;
  background:rgba(0,0,0,0.16);
  transform:skewX(-12deg);
}

.fb-btn a{
    color: #fff!important;
}

/* グレー＝お問い合わせ */
.fb-contact{
  background:#666;
}

/* ネイビー＝無料カタログ */
.fb-catalog{
  background:#1f2a8c;
}


/************************************
    求人情報
*************************************/

.recruit-archive__head{
	padding:25px;
	background-color:#0fa6ca;
	margin-top:5px;
	border-bottom:solid 3px #fbc400;
}

.recruit-archive__title{
	font-size:20px;
	color:#fff;
	text-align:center;
}

.recruit-archive .inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 35px 18px 80px 18px;
}

.recruit-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.recruit-card{
  width: calc((100% - 48px) / 3); /* 3列 */
  border: 1px solid #e5e5e5;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  transition: transform .2s ease, box-shadow .2s ease;
}

.recruit-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

.recruit-card__link{
  display: block;
  color: inherit;
  text-decoration: none;
}

.recruit-card__thumb{
  width: 100%;
  aspect-ratio: 16 / 10;
  background: #f6f6f6;
  overflow: hidden;
}

.recruit-card__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.recruit-card__noimg{
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #888;
  font-size: 14px;
}

.recruit-card__title{
  font-size: 18px;
  line-height: 1.6;
  margin: 14px 14px 8px;
}

.recruit-card__meta{
  margin: 0 14px 16px;
}

.recruit-card__fee{
  font-size: 15px;
  font-weight: 500;
  margin: 0 0 6px;
	text-align:left;
}

.recruit-card__lead{
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #555;
	text-align:left;
}

/* タブレット：2列 */
@media (max-width: 900px){
  .recruit-card{
    width: calc((100% - 24px) / 2);
  }
}

/* スマホ：1列 */
@media (max-width: 600px){
  .recruit-card{
    width: 100%;
  }
}

.recruit-single .inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 30px 16px 80px;
}

.recruit-breadcrumb{
  font-size: 11px;
  color: #666;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	padding-top:5px;
	padding-right:15px;
	text-align:right;
	margin-bottom:5px;
}
.recruit-breadcrumb a{ color: inherit; text-decoration: none; }
.recruit-breadcrumb a:hover{ text-decoration: underline; }
.recruit-breadcrumb span{ margin: 0 6px; }

.recruit-hero{
  display: flex;
  gap: 26px;
  align-items: stretch;
  margin: 0 0 26px;
}

.recruit-hero__media{
  width: 48%;
  border-radius: 16px;
  overflow: hidden;
  background: #f6f6f6;
  border: 1px solid #e5e5e5;
}
.recruit-hero__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.recruit-hero__noimg{
  height: 100%;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #888;
  font-size: 14px;
}

.recruit-hero__content{
  width: 52%;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  padding: 18px 18px 16px;
  background: #fff;
}

.recruit-hero__title{
  font-size: 24px;
  line-height: 1.6;
  margin: 0 0 12px;
}

.recruit-hero__fee{
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  margin: 0 0 12px;
}

.recruit-hero__lead{
  font-size: 14px;
  line-height: 1.8;
  margin: 0 0 18px;
  color: #444;
}

.recruit-hero__cta{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
	justify-content:center;
}

.btn-apply{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 700;
  background: #d00000;
  color: #fff!important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn-apply:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

.btn-back{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 700;
  background: #f2f2f2;
  color: #222;
}

.recruit-sections{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.recruit-box{
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.recruit-box__title{
  font-size: 16px;
  margin: 0;
  padding: 14px 16px;
  background: rgba(0,0,0,.03);
  border-bottom: 1px solid #e5e5e5;
}

.recruit-box__body{
  padding: 14px 16px 16px;
  font-size: 14px;
  line-height: 1.9;
  color: #333;
}

.recruit-box__wysiwyg p{ margin: 0 0 12px; }
.recruit-box__wysiwyg p:last-child{ margin-bottom: 0; }

/* SP：縦積み */
@media (max-width: 900px){
  .recruit-hero{
    flex-direction: column;
  }
  .recruit-hero__media,
  .recruit-hero__content{
    width: 100%;
  }
}

/* SP固定CTA */
.recruit-fixed{
  display: none;
}

@media (max-width: 600px){
  .recruit-single .inner{
    padding-bottom: 110px; /* 固定CTA分の余白 */
  }
  .recruit-fixed{
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 12px;
    background: rgba(255,255,255,.92);
    border-top: 1px solid #e5e5e5;
    z-index: 999;
  }
  .recruit-fixed__btn{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    border-radius: 14px;
    text-decoration: none;
    font-weight: 800;
    background: #0b5f7a;
    color: #fff;
  }
}

.recruit-bottom-cta{
  margin: 26px 0 0;
  padding: 22px 16px;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}

.recruit-bottom-cta__btn{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: min(520px, 100%);
        /* height: 52px; */
        padding: 30px;
        border-radius: 14px;
        text-decoration: none;
        font-weight: 800;
        color: #fff !important;
        background: #c60000;
        font-size: 20px;
        color: #fff;
        transition: transform .2s ease, box-shadow .2s ease;
}

.recruit-bottom-cta__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

.recruit-bottom-cta__note{
  margin: 10px 0 0;
  font-size: 13px;
  color: #666;
}
