@charset "UTF-8";
/* Tablet (768–1024px) */

@media screen and (min-width:768px) and (max-width:1024px){

  /* ---------- base ---------- */
  body{
    font-family:var(--font-sans);
    font-size:0.9em; color:var(--color-text);
  }
  #wrapper{ margin:0; padding:0; overflow:hidden; }

  a{ color:var(--color-brand); transition:all .5s ease; }
  a:link{ text-decoration:none; color:var(--color-brand); }
  a:visited{ opacity:.5; color:var(--color-brand); }
  a:hover{ opacity:.5; }

  /* リストの丸ポチ除去（青い●の原因対策） */
  li{ list-style:none; }
  .pc{ display:none; }

  /* ---------- headings ---------- */
  h1{ text-align:center; }
  h2{
    font-family:'Quicksand',sans-serif; text-align:center; color:var(--color-text);
    font-size:1.5em; letter-spacing:.2em; font-weight:normal; padding-bottom:24px;
  }
  h3{ text-align:center; font-size:1.4em; line-height:1.4em; letter-spacing:.2em; font-weight:normal; }
  h4{ font-size:1.2em; letter-spacing:.2em; color:#CCC; font-weight:normal; }

  /* ---------- header ---------- */
  #nav-toggle{
    display:block; position:absolute; right:12px; top:16px; width:34px; height:36px; cursor:pointer; z-index:101;
  }
  #nav-toggle div{ position:relative; }
  #nav-toggle span{
    position:absolute; left:0; width:100%; height:3px; border-radius:2px; background:var(--color-brand); transition:.35s ease-in-out;
  }
  #nav-toggle span:nth-child(1){ top:0; }
  #nav-toggle span:nth-child(2){ top:10px; }
  #nav-toggle span:nth-child(3){ top:20px; }
  .open #nav-toggle span:nth-child(1){ top:11px; transform:rotate(315deg); }
  .open #nav-toggle span:nth-child(2){ width:0; left:50%; }
  .open #nav-toggle span:nth-child(3){ top:11px; transform:rotate(-315deg); }

  .head-inner{ display:none; }
  .slick-next{ right:0; }
  #top-head,.inner{ width:100%; padding:0; z-index:999; }
  #top-head{ top:0; position:fixed; margin-top:0; }
  #top-head.fixed{ padding-top:0; background:transparent; }

  #mobile-head{ background:var(--color-white); width:100%; height:56px; z-index:999; position:relative; }
  #top-head.fixed .logo,#top-head .logo{ position:absolute; left:0; height:50px; top:-1px; color:var(--color-white); font-size:26px; width:360px; }
  #top-head .logo img{ width:40%; float:left; }

  /* 
   * Global Navigation - Now handled by multilevel-nav.css
   * Commented out to use unified multi-level navigation
   */
  /*
  #global-nav{
    position:absolute; top:-500px; background:var(--color-brand); width:100%; height:auto; text-align:center; padding:10px 0; transition:.5s ease-in-out;
  }
  #global-nav ul{ position:static; font-size:14px; }
  #global-nav ul li{ float:none; padding:0; color:var(--color-white); }
  #top-head #global-nav ul li a,#top-head.fixed #global-nav ul li a{ width:100%; display:block; color:var(--color-white); padding:18px 0; }
  .open #global-nav{ transform:translateY(556px); }
  */

  .clone-nav{ position:fixed; top:0; left:0; z-index:2; width:100%; transition:.3s; transform:translateY(-100%); }
  .is-show{ transform:translateY(0); }

  /* ---------- common buttons ---------- */
  div.btn{ width:100%; text-align:center; margin-top:16px; }
  .btn_more{
    display:inline-block; width:50%; text-align:center; padding:5.5% 0%;
    color:var(--color-brand); border:1.5px solid var(--color-brand); border-radius:3px; transition:.4s;
    letter-spacing:.4em; font-size:1.4em; font-weight:300; text-decoration:none;
  }
  .btn_more:hover,.btn_more:link,.btn_more:active{ color:var(--color-brand); }

  /* ---------- common contact ---------- */
  #common_contact{ width:100%; }
  #common_contact section{ width:80%; margin:0 auto; padding:56px 0 144px; }
  #common_contact h2{ text-align:center; margin-left:20px; margin-bottom:0; }
  #common_contact p{
    text-align:center; letter-spacing:.2em; margin:16px 0 32px; clear:both; font-size:14px;
  }
  .common_contact_text{ width:90%; margin:0 auto; }
  .common_contact_recruit span,.common_contact_other span{ text-align:center; margin:0 auto; letter-spacing:.25em; font-size:14px; }
  .common_contact_recruit{ width:48%; float:left; margin-right:12px; }
  .common_contact_other{ width:48%; float:right; }
  .btn_common{ width:100%; text-align:center; }

  .btn_contact{
    display:inline-block; width:100%; padding:8.5% 0%;
    color:var(--color-white); background:var(--color-brand); border:2px solid var(--color-brand); border-radius:3px; transition:.4s; letter-spacing:.2em; font-size:1.2em; text-decoration:none;
  }
  .btn_contact:hover,.btn_contact:link,.btn_contact:active{ color:var(--color-white); }

  .btn_winactor{ width:90%; text-align:center; margin:56px auto 0; }
  .btn_winactor .btn_more{ float:left; width:47%; padding:3.5% 0%; }
  .btn_winactor .btn_more:after{
    content:""; display:inline-block; width:18px; height:18px; margin:-3px 0 0 5px;
    background:url("/img/icon_blank.png") no-repeat; background-size:contain; vertical-align:middle;
  }
  .btn_winactor .btn_contact{ float:right; width:47%; padding:3.5% 0%; }

  /* ---------- footer ---------- */
  #footer{ width:100%; letter-spacing:.1em; font-size:.75em; padding:24px 0 32px; overflow:hidden; background-color: #e4efff; }
  #footer section{ width:64%; margin:0 auto; }
  #footer h3{ text-align:left; }
  #footer h3 img{ width:30%; }
  .footer_left{ float:left; }
  .footer_right{ float:right; margin-top:-64px; }
  .footer_address{ margin:0 auto; }
  .footer_address li{ font-size:.8em; margin-bottom:6px; letter-spacing:.2em; line-height:1.2em; }
  .footer_address li:first-child{ font-weight:bold; font-size:1.2em; letter-spacing:.2em; margin-bottom:10px; }
  .footer_menu{ width:100%; margin:30px auto 0; overflow:hidden; clear:both; }
  .footer_menu li{ float:left; border-right:1px solid #ddd; width:32%; }
  .footer_menu li:last-child{ border:none; }
  .footer_menu li a{ display:block; text-align:center; }
  .copyright{ width:100%; padding-bottom:20px; text-align:center; font-size:.7em; letter-spacing:.2em; }

  /* ---------- misc ---------- */
  div.text_area{ width:90%; margin:16px auto 0; letter-spacing:.1em; line-height:2em; }
  div.list{ margin:12px; font-size:.9em; }
  #breadcrumb{ margin:16px 0 0 24px; }
  .breadcrumb{ padding-left:0; margin-left:0; }
  .breadcrumb li{ display:inline; font-weight:bold; }
  .breadcrumb li:after{ content:'>'; padding:0 3px; color:var(--color-breadcrumb-sep); }
  .breadcrumb li:last-child:after{ content:''; }
  .breadcrumb a.here:link{ color:var(--color-breadcrumb-sep); }

  /* ---------- top ---------- */
  #top_main{ margin:56px auto 0; background-size:contain; }
  #top_main section{ width:90%; margin:0 auto; }
  #top_main .text_area{ color:var(--color-white); width:90%; }
  #top_main section h2{
    position:absolute; top:0; right:0; left:0; margin:auto; width:90%; padding-top:32%;
    font-size:2em; line-height:1.2em; letter-spacing:.2em; text-align:center; color:var(--color-white);
  }

  #top_vision{
    margin:0 auto; background-color:var(--color-gray-100);
    background-image:url(/img/vision_mainvisual_tb.jpg); background-repeat:no-repeat; background-size:cover; background-position:center 65%;
  }
  #top_vision section{ width:90%; margin:0 auto; padding:80px 0 100px; }
  #top_vision h2{ color:var(--color-white); }
  #top_vision h3{ width:90%; margin:0 auto; text-align:left; color:var(--color-white); }
  #top_vision .text_area{
    color:var(--color-white); text-shadow:0 3px 6px rgba(0,0,0,1),0 0 10px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.8);
    font-size:17px; line-height:1.8;
  }

  #top_winactor{ width:100%; }
  #top_winactor section{ width:90%; padding:40px 0 176px; margin:0 auto; }
  #top_winactor h2{ padding-bottom:4px; width:70%; margin:0 auto; }
  #top_winactor h3{ margin-bottom:24px; color:var(--color-text); text-align:center; }
  .top_winactor_img{
    width:100%; height:290px; background:url("/img/winactor_mainvisual.png") center/contain no-repeat; margin:0 auto;
  }
  #top_winactor img{ width:80%; margin:0 auto; }
  #top_winactor .winactor_box p:first-child{ margin-bottom:16px; }

  /* ===================================================================
     Section: Service (RECRUIT-STYLE CARDS WITH PHOTOS)
     =================================================================== */
  #top_service{ width:100%; }
  #top_service section{
    width:90%;
    max-width:1100px;
    padding:60px 0 180px;
    margin:0 auto;
  }
  
  #top_service .service-cards-grid{
    display:grid !important;
    grid-template-columns:repeat(2, 1fr) !important;
    gap:32px !important; 
    margin-top:40px;
    width:100%;
  }
  
  #top_service .service-cards-grid > a{
    text-decoration:none;
    display:block;
    height:100%;
  }
  
  #top_service ul.service-card{
    width:100%;
    height:100%;
    margin:0;
    padding:24px;
    list-style:none;
    border:none;
    border-radius:3px;
    box-sizing:border-box;
    display:grid;
    grid-template-rows:auto auto auto;
    gap:0;
    background:#fff;
    transition:opacity 0.3s ease, transform 0.2s ease;
  }
  #top_service ul.service-card:hover{
    opacity:0.8;
    transform:translateY(-2px);
  }
  
  #top_service ul.service-card li{
    position:relative;
    text-align:center;
    background-color:#fff;
    padding:0;
    margin:0;
  }
  
  #top_service .service-title{
    padding-bottom:16px;
  }
  #top_service .service-title h3{
    margin:0;
    text-align:center;
    color:var(--color-text);   /* ← brand から変更 */
    font-weight:bold;
    font-size:1.3em;
    letter-spacing:0.1em;
    line-height:1.3;
  }
  
  /* 画像 + ボタン */
  #top_service .service-image{
    padding-bottom:16px;
    position:relative;
  }
  #top_service .service-image img{
    width:100%;
    height:auto;
    display:block;
    border-radius:3px;
    transition:transform 0.3s ease;
  }
  #top_service ul.service-card:hover .service-image img{
    transform:scale(1.02);
  }

  /* 画像内ボタン位置 */
  #top_service .service-image .service-btn{
    position:absolute;
    left:50%;
    top:62%;
    transform:translate(-50%, -50%);
    margin:0;
  }

  /* 通常時 */
  #top_service .service-image .service-btn .btn_more{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    min-width:7rem;
    padding:0.6em 1.8em;
    line-height:1;
    border-radius:3px;
    border:2px solid var(--color-accent);
    background:transparent;
    color:var(--color-accent);
    letter-spacing:0.2em;
    font-weight:600;
    white-space:nowrap;
  }

  /* ホバー時 */
  #top_service .service-cards-grid > a:hover .service-image .service-btn .btn_more,
  #top_service .service-cards-grid > a:focus .service-image .service-btn .btn_more{
    background:var(--color-accent);
    color:#ffffff;
  }

/* ==============================================================
   TOP Service Section - Modern Layout (B案)
   Tablet: 2列グリッド
   ============================================================== */

#top_service.service-modern section {
  width: 90%;
  max-width: 960px;
  padding: 60px 0 140px;
  margin: 0 auto;
}

#top_service.service-modern .service-intro {
  max-width: 680px;
  margin: 0 auto 32px;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.08em;
  font-size: 0.9em;
}

#top_service.service-modern .service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

/* カード本体 */
#top_service.service-modern .service-item {
  background: #f6f7ff;
  border-radius: 10px;
  padding: 22px 22px 26px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
}

#top_service.service-modern .service-icon {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 14px;
}
#top_service.service-modern .service-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#top_service.service-modern .service-title {
  margin: 0 0 10px;
  font-size: 1.05em;
  letter-spacing: 0.08em;
  font-weight: 600;
}

#top_service.service-modern .service-text {
  margin: 0 0 18px;
  font-size: 0.9em;
  line-height: 1.8;
  letter-spacing: 0.06em;
}

#top_service.service-modern .service-link {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.0em 2.4em !important;
  border-radius: 999px;
  border: 2px solid var(--color-accent);
  background: transparent;
  color: var(--color-accent);
  font-size: 1.1em !important;
  letter-spacing: 0.14em;
  text-decoration: none;
  font-weight: 500;
}

#top_service.service-modern .service-link:hover,
#top_service.service-modern .service-link:focus-visible {
  background: var(--color-accent);
  color: #ffffff;
}


  #top_about{ width:100%; margin:0 auto; }
  #top_about section{ width:90%; text-align:center; margin:0 auto; padding:80px 0 104px; }
  #top_about img{ width:90%; border-radius:2px; }
  #top_about section ul.about_01{ padding-bottom:64px; }
  #top_about section ul.about_01 h4,#top_about section ul.about_02 h4{ padding-top:24px; padding-left:20px; text-align:left; }

  #top_company{ width:100%; margin:0 auto; }
  #top_company section{ width:90%; text-align:left; margin:0 auto; padding:80px 0 104px; }
  .company_list{ width:80%; border-collapse:separate; border-spacing:8px; margin:0 auto; }
  .company_list th{
    padding:10px; font-weight:400; letter-spacing:.1em; width:30%;
    border-bottom:1px solid var(--color-bgsoft); background:var(--color-bgsoft);
  }
  .company_list td{ width:60%; letter-spacing:.1em; line-height:1.6em; border-bottom:1px solid var(--color-bgsoft); padding-bottom:16px; }
  /* 会社概要：地図（タブレット） */
  .company_map{
    width:80%;
    max-width:640px;
    height:320px;
    margin:32px auto 0;
    border-radius:3px;
    overflow:hidden;
    border:1px solid var(--color-bgsoft);
    background:#fff;
  }
  .company_map iframe{
    width:100%;
    height:100%;
    border:0;
  }

  span.attention{ color:var(--color-attention); font-size:.9em; }

  /* ---------- winactor (kv) ---------- */
  .winactor{
    background:url(/img/sp_mainvisual.jpg) 50% 0%/contain no-repeat; height:260px;
  }
  .winactor section{ width:100%; }
  .winactor section h1{
    color:var(--color-white); font-size:1.4em; letter-spacing:.2em; font-weight:300; position:absolute; top:150px; right:0; left:0;
  }
  .winactor_contents{ height:300px; }

  /* ---------- top recruit / privacy (kv) ---------- */
  #top_recruit{
    width:100%; margin:0 auto; color:var(--color-nearwhite);
    background:url(/img/top_recruit_tb.jpg) 0 0/cover no-repeat;
  }
  #top_recruit section{ width:90%; text-align:center; margin:0 auto; padding:80px 0 100px; }
  #top_recruit section h2{ color:var(--color-nearwhite); }
  #top_recruit img{ width:30%; margin-bottom:8px; }
  #top_recruit .btn_more:hover{ background:var(--color-brand); color:var(--color-white); }
  #top_recruit .text_area{
    text-align:center; width:90%; margin:0 0 32px; color:var(--color-white);
    text-shadow:0 3px 6px rgba(0,0,0,1),0 0 10px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.8);
  }
  #top_recruit .btn_more{ width:50%; padding:3.5% 0%; }

  #top_privacypolicy{
    width:100%; margin:0 auto; color:var(--color-nearwhite);
    background:url(/img/top_privacy_policy_tb.jpg) 0 0/cover no-repeat;
  }
  #top_privacypolicy section{ width:90%; text-align:center; margin:0 auto; padding:80px 0 100px; }
  #top_privacypolicy section h2{ color:var(--color-nearwhite); }
  #top_privacypolicy img{ width:30%; margin-bottom:8px; }
  #top_privacypolicy .btn_more:hover{ background:var(--color-brand); color:var(--color-white); }
  #top_privacypolicy .text_area{
    text-align:center; width:90%; margin:0 0 32px; color:var(--color-white);
    text-shadow:0 3px 6px rgba(0,0,0,1),0 0 10px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.8);
  }
  #top_privacypolicy .btn_more{ width:50%; padding:3.5% 0%; }

  /* ==========================================================
     recruit cards（等高グリッド／詳細ボタン塗り／余白圧縮）
     ========================================================== */
  #recruit{ width:100%; margin:0 auto; }
  #recruit section{
    width:90%; text-align:left; margin:0 auto; padding:80px 0 0; /* ← 下パディング0で#flowを詰める */
    font-size:14px;
  }
  #recruit .text_area{ text-align:left; width:90%; margin:0 0 32px; }
  #recruit .company_list{ margin-top:24px; width:93%; }
  .recruit_message{ width:90%; }
  #recruit img{ width:25%; margin:0 12px 8px 0; float:left; }

  /* 2列グリッド（行間は row-gap のみ） */
  #recruit_contents{ width:100%; margin:0 auto; }
  #recruit_contents section{
    width:90%; margin-top:-70px;
    display:grid; grid-template-columns:repeat(2,1fr);
    column-gap:60px; row-gap:8px; align-items:stretch; margin-bottom:0;
  }

  /* カード本体（UL） */
  #recruit_contents ul.contents_01,
  #recruit_contents ul.contents_02{
    width:100%; margin:0; padding:20px; list-style:none;
    border:3px solid var(--color-brand); border-radius:3px; box-sizing:border-box;
    display:flex; flex-direction:column; justify-content:space-between;
    min-height:320px; height:100%; overflow:hidden;
  }
  #recruit_contents ul.contents_01:hover,
  #recruit_contents ul.contents_02:hover{ opacity:.5; transition:all .5s ease; }

  /* 内部要素（縦流し） */
  #recruit_contents ul.contents_01 li,
  #recruit_contents ul.contents_02 li{
    position:relative; float:none; height:auto; margin:0; text-align:left;
    background:var(--color-white); padding:16px 0; border-radius:4px;
  }
  #recruit_contents ul.contents_01 li:first-child,
  #recruit_contents ul.contents_02 li:first-child{ min-height:96px; }
  #recruit_contents ul.contents_01 li:nth-child(2),
  #recruit_contents ul.contents_02 li:nth-child(2){ flex:1; }
  #recruit_contents ul.contents_01 li h3,
  /*#recruit_contents ul.contents_02 li h3{ margin-top:8%; text-align:left; color:var(--color-brand); }★*/
  #recruit_contents ul.contents_02 li h3{ margin-top:8%; text-align:left; color:var(--color-brand); font-weight: bold; }

  /* 全面リンク */
  #recruit_contents ul.contents_01 li a,
  #recruit_contents ul.contents_02 li a{ position:absolute; inset:0; }
  #recruit_contents ul.contents_01 li a:hover,
  #recruit_contents ul.contents_02 li a:hover{
    opacity:.6; background:var(--color-brand); filter:alpha(opacity=60); -ms-filter:"alpha( opacity=60 )";
  }

  /* 本文とボタン */
  #recruit_contents .text{ color:var(--color-text); line-height:1.6em; letter-spacing:.2em; }
  #recruit_contents .btn{ margin-top:16px; }
  #recruit_contents .btn_more{
    width:50%; padding:3.5% 0%;
    background:var(--color-brand); border:3px solid var(--color-brand); color:var(--color-white);
  }
  #recruit_contents .btn .btn_more:hover,
  #recruit_contents .btn .btn_more:focus{ background:var(--color-brand); color:var(--color-white); opacity:.9; }

  /* ---------- flow / forms ---------- */
  /* Selection Flow Layout - Ensure grid is applied */
  #recruit_flow .flow-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  #recruit_flow .flow-item {
    display: grid !important;
    grid-template-columns: 112px 120px 1fr !important;
  }
  
  #flow{ width:100%; margin:6px auto 0; }  /* ← 上余白を最小化 */
  #flow h2{ margin-top:0; }
  #flow section{ width:90%; text-align:left; margin:0 auto; padding-bottom:104px; font-size:14px; }
  #flow .text_area{ margin-top:-10px; font-size:14px; }
  #flow .text_area ul li{ display:inline; list-style:none; font-weight:normal; margin:16px 0; padding:10px; }
  #flow .text_area ul li h3{ font-size:16px; margin-top:2px; background:var(--color-bgsoft); font-weight:bold; padding:8px 6px; margin-bottom:8px; }
  #flow .text_area ul li:before{ content:""; display:inline-block; }
  #flow .text_area ul li:after{ content:'▼'; padding:0 47%; color:var(--color-gray-100); }
  #flow .text_area ul li:last-child:after{ content:""; }

  #recruit_form,#privacy_form{ width:90%; margin:0 auto; }
  #recruit_form section,#privacy_form section{ width:90%; text-align:left; margin:0 auto; padding-bottom:104px; font-size:14px; }
  #recruit_form section h3,#privacy_form section h3{ font-size:14px; }
  #recruit_form .recruit_list,#privacy_form .privacy_list{ margin-top:0; }

  .recruit_form,.privacy_form{
    width:100%; margin:20px auto 8px; border:1px solid var(--color-bgsoft); background:var(--color-bgsoft); border-radius:3px; padding:16px 0;
  }
  .recruit_form p,.privacy_form p{ text-align:left; padding:12px; letter-spacing:.1em; line-height:1.8em; clear:both; }
  .recruit_form p:first-child,.privacy_form p:first-child{ padding-bottom:0; font-weight:bold; }
  .icon{
    background:url(/img/form_icon01.png) left center/35px no-repeat;
    margin:0; padding:50px 0 52px 45px; border-left:none; border-bottom:0;
  }
  .recruit_form:last-child .icon,.privacy_form:last-child .icon{ background-image:url(/img/form_icon02.png); }

  .space{ margin-top:240px; }

  a:focus-visible,.btn_more:focus-visible,.btn_contact:focus-visible{
    outline:2px solid var(--color-brand); outline-offset:2px;
  }
}

/* Gridが使えない環境向けの2列フォールバック */
@media screen and (min-width:768px) and (max-width:1024px){
  /* まずはFlexで2列にしておく */
  #recruit_contents section{
    display:flex;
    flex-wrap:wrap;
    column-gap:60px;
    row-gap:8px;
  }
  #recruit_contents section > ul{
    width:calc(50% - 30px); /* 60pxのcolumn-gapを折半 */
  }

  /* Gridが使える環境ではこちらで上書き（現在の実装と同じ） */
  @supports (display: grid){
    #recruit_contents section{
      display:grid;
      grid-template-columns:1fr 1fr;
      column-gap:60px;
      row-gap:8px;
    }
    #recruit_contents section > ul{ width:auto; }
  }


/* === TB: 採用情報・個人情報保護方針セクションを
         サービスセクションと同じピル型ボタンに統一 === */

#top_recruit .btn a,
#top_privacypolicy .btn a {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* Service セクションと同じサイズ */
  padding: 1.0em 2.4em !important;
  border-radius: 999px;
  border: 2px solid var(--color-accent);
  background: transparent;
  color: var(--color-accent);

  font-size: 1.1em !important;
  letter-spacing: 0.14em;
  text-decoration: none;
  font-weight: 500;
}

/* ホバー時（Service セクションと同じ） */
#top_recruit .btn a:hover,
#top_privacypolicy .btn a:hover {
  background: var(--color-accent);
  color: #ffffff;
}

/* 内側 .btn_more のリセット */
#top_recruit .btn a .btn_more,
#top_privacypolicy .btn a .btn_more {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit !important;
  letter-spacing: inherit;
  line-height: 1;
  display: inline-block;
}
  /* ================================================
     ★ ボタンの視覚中央補正（TB専用）
     ================================================= */
  #top_recruit .btn a,
  #top_privacypolicy .btn a {
    letter-spacing: 0.10em;               /* 少し狭くして左右バランス改善 */
    padding: 1.0em 2.5em 1.0em 2.3em;     /* 左右 padding を微調整 */
  }


}



/* 固定ヘッダー対策（タブレット） */
html{ scroll-padding-top:90px; }
#top_vision,#top_service,#top_company,#common_contact{ scroll-margin-top:90px; }



