html,body{margin:0;padding:0;height:100%}
    img{max-width:100%;height:auto;border:0}
    a{text-decoration:none}
    body{
      font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
      background:#fff;
      color:#111;
      position: relative;
    }

/* === Minimal Reset (safe for this LP) === */
/* 0) box-sizing を全要素へ */
*,*::before,*::after{ box-sizing:border-box; }

/* 1) 既定マージン撤去 */
html,body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol{ margin:0; }

/* 2) ベース行間と文字拡大 */
html{ line-height:1.5; -webkit-text-size-adjust:100%; }

/* 3) 画像・メディアのはみ出し防止 */
img,svg,video,canvas{ display:block; max-width:100%; height:auto; }

/* 4) リンクとテキスト装飾の初期化（必要に応じて） */
a{ color:inherit; text-decoration:none; }

/* 5) フォーム：フォント継承＋余白の初期化 */
button,input,select,textarea{ font:inherit; color:inherit; margin:0; }
textarea{ resize:vertical; }

/* 6) テーブルの初期化（個別指定の前提に） */
table{ border-collapse:collapse; border-spacing:0; width:100%; }
th,td{ padding:0; } /* 各テーブルで必要なpaddingを再付与 */




    /* ==== 右上にぴったりのヘッダー（ボタンのみ・スライダーとは別行     ） ==== */
    .site-header{ margin:0; padding:0; background:white; margin-bottom:10px;
    position: fixed;
    z-index: 9999;
    width: 100%;
    top: 0;
   }
    .site-header__inner{
      text-align:right;
      margin:0; padding:0;
    }
    .header-btn{ line-height:0; display:inline-block; } /* 右上端にぴったり */
    .header-btn img{ display:inline; }

    /* ==== メインビジュアル ==== */
    .mv{
      position:relative;
      width:100vw;
      height:calc(100vh - 10px);
      overflow:hidden;
      background:#111;
      margin: 60px 0 0 0;
    }

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


    .mv__slides{position:absolute; inset:0;}
    .mv__slide{
      position:absolute; inset:0;
      opacity:0;
      animation:fadeLoop 18s infinite;
      background-position:center center;
      background-size:cover;
    }
    .mv__slide:nth-child(1){animation-delay:0s}
    .mv__slide:nth-child(2){animation-delay:3s}
    .mv__slide:nth-child(3){animation-delay:6s}
    .mv__slide:nth-child(4){animation-delay:9s}
    .mv__slide:nth-child(5){animation-delay:12s}
    .mv__slide:nth-child(6){animation-delay:15s}
    @keyframes fadeLoop{
      0%{opacity:0}6%{opacity:1}22%{opacity:1}28%{opacity:0}100%{opacity:0}
    }

    .mv__overlay{
      position:absolute;
      left:0; right:0; bottom:0;
      height:calc(60% - 100px);
      background:rgba(0,0,0,0.3);
      z-index:5;
    }

    /* ==== テキスト群 ==== */
    .mv__textlayer{
      position:absolute; left:0; bottom:3%;
      width:100%;
      max-width:1100px;
      z-index:20;
      pointer-events:none;
      padding-left:4vw;
      padding-right:4vw;
    }
    .mv__texts{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:0px;
    }
    .mv__texts img{
      opacity:0;
      filter:drop-shadow(0 4px 10px rgba(0,0,0,.6));
    }
    .mv__text1{ width:80%; animation:oneFade 800ms ease-out forwards; animation-delay:1100ms; }
    .mv__text2{ width:80%; animation:oneFade 800ms ease-out forwards; animation-delay:1700ms; }
    @keyframes oneFade{ from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

    .section-images img{width:100%;height:auto;display:block;}
    .preload{position:absolute;width:0;height:0;overflow:hidden;opacity:0;}

    /* ==== 仏光殿を知るセクション ==== */
    .about-section {
      position: relative;
      width: 100%;
      background-image: url('images/bg001.jpg');
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 80px 20px;
      box-sizing: border-box;
    }

    .about-title-area {
      position: relative;
      text-align: center;
      height: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* PCのみmargin-bottomを適用 */
    @media (min-width: 769px) {
      .about-title-area {
        margin-bottom: 60px;
      }
    }

    .about-title-bg {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(40%, -70%) scale(1.5);
      z-index: 1;
    }

    .about-title {
      position: relative;
      font-family: "Noto Serif JP", serif;
      font-size: 48px;
      font-weight: 400;
      color: #333;
      margin: 0;
      text-align: center;
      z-index: 2;
    }

    .about-content {
      background-color: #f5ebe1;
      width: 100%;
      max-width: 1085px;
      padding: 40px;
      line-height: 1.8;
      font-size: 15px;
      color: #333;
      font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    }

    .about-content p {
      margin: 0 0 20px 0;
    }

    .about-content p:last-child {
      margin-bottom: 0;
    }


    /* ==== 強みセクション ==== */
    .strengths-section {
      position: relative;
      width: 100%;
      background-image: url('images/bg002.jpg');
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      padding: 80px 20px;
      box-sizing: border-box;
    }
    .strengths-container {
      max-width: 1085px;
      margin: 0 auto;
    }
    .strengths-title-area {
      position: relative;
      text-align: center;
      height: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 60px;
    }
    .strengths-title-bg {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-20%, -60%) scale(0.8);
      z-index: 1;
    }
    .strengths-title {
      position: relative;
      font-family: "Noto Serif JP", serif;
      font-size: 48px;
      font-weight: 400;
      color: #333;
      margin: 0;
      z-index: 2;
    }
    .strength-item {
      margin-bottom: 120px;
    }
    .strength-item:last-child {
      margin-bottom: 0;
    }
    .strength-item h3 {
      font-family: "Noto Serif JP", serif;
      font-size: 21px;
      color: #005ab3;
      margin-bottom: 30px;
    }
    .strength-item h4 {
      font-size: 18px;
      color: #005ab3;
      margin-bottom: 20px;
    }
    .strength-item p {
      font-size: 16px;
      line-height: 1.8;
      color: #333;
      margin-bottom: 20px;
    }
    .strength-item img {
      margin: 20px auto;
    }
    .strength-item .note {
      font-size: 12px;
      text-align: right;
      color: #555;
    }
    .strength-item .two-col {
      display: flex;
      gap: 20px;
      align-items: center;
    }
    .strength-item .two-col > div {
      flex: 1;
    }

    .strength-item .align-left {
      text-align: left;
    }
    .strength-item .align-center {
      text-align: center;
      margin-top: 40px;
    }

    .layout-img-left {
      display: flex;
      align-items: center;
      gap: 40px;
    }
    .layout-img-left .image-part {
      flex: 1;
    }
    .layout-img-left .text-part {
      flex: 1;
      text-align: left;
    }
    .layout-img-left .text-part h3 {
      text-align: left;
    }

    .onestop-title-area {
      text-align: left;
    }
    .onestop-graphs {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 80px;
      margin-top: 30px;
    }
    @media (max-width: 768px) {
    .onestop-graphs {
        gap: 0px;
    
      .qa-question-text { font-size: 20px; font-weight: 700; }
}
}
    .onestop-graphs .graph-block {
      flex: 1;
      text-align: center;
    }

    .layout-text-left {
      display: flex;
      align-items: center;
      gap: 40px;
    }
    .layout-text-left .image-part {
      flex: 1;
    }
    .layout-text-left .text-part {
      flex: 1;
      text-align: left;
    }
    .layout-text-left .text-part h3 {
      text-align: left;
    }

    .income-graphs-container {
      background-color: #093ca6;
      padding: 30px;
    }
    .income-graphs-container h4 {
      color: #fff;
      text-align: center;
    }
    .income-graphs-container .graphs-wrapper {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      gap: 20px;
    }
    .income-graphs-container .graphs-wrapper > div {
      flex: 1;
    }

    .reward-system-title {
      text-align: center;
    }
    .reward-system-text {
      background-color: #fff;
      padding: 40px;
      margin-top: 30px;
    }
    .reward-system-text p:last-child {
      margin-bottom: 0;
    }

    .final-graphs-section {
      text-align: center;
    }
    .final-graphs-section h3,
    .final-graphs-section h4 {
      text-align: center;
    }
    .final-graphs-section img,
    .final-graphs-section h4 {
      margin-top: 40px;
    }

    .br-sp { display: none; }
    .br-pc { display: inline-block; }

    /* ==== アスリートセクション ==== */
    .athlete-section {
      position: relative;
      width: 100%;
      background-color: #fbf8f4; 
      background-image: url('images/bg001.jpg');
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 80px 20px;
      box-sizing: border-box;
    }

    .athlete-title-area {
      position: relative;
      text-align: center;
      height: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 60px;
    }

    .athlete-title-bg {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-20%, -60%) scale(0.8);
      z-index: 1;
      opacity: 0.5;
    }

    .athlete-title {
      position: relative;
      font-family: "Noto Serif JP", serif;
      font-size: 36px;
      font-weight: 400;
      color: #333;
      margin: 0;
      text-align: center;
      z-index: 2;
    }

    .athlete-content {
      background-color: rgba(255, 255, 255, 0.6);
      width: 100%;
      max-width: 800px;
      padding: 40px;
      line-height: 2.2;
      font-size: 16px;
      color: #333;
      text-align: center;
    }

    .athlete-content p {
      margin: 0;
    }

    /* ==== 理由セクション ==== */
    .reason-section {
      position: relative;
      width: 100%;
      background-image: url('images/bg003.jpg');
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      padding: 80px 20px;
      box-sizing: border-box;
    }
    .reason-container {
      max-width: 1000px;
      margin: 0 auto;
    }
    .reason-title {
      text-align: center;
      margin-bottom: 80px;
    }
    .reason-title img {
      margin: 0 auto;
      width: 70%;
      max-width: 600px;
    }
    .reason-list {
      display: flex;
      flex-direction: column;
      gap: 60px;
    }
    .reason-item {
      position: relative;
      display: flex;
      align-items: flex-start;
      gap: 40px;
    }
    .reason-item__icon {
      flex-shrink: 0;
      width: 150px;
      z-index: 3;
    }
    .reason-item__icon img {
      width: 100%;
    }
    .reason-item__content {
      flex-grow: 1;
      position: relative;
    }
    .reason-item__headline {
      position: relative;
      z-index: 2;
      background-image: url('images/riyu_tit01.png');
      background-repeat: no-repeat;
      background-position: right bottom;
      background-size: auto 60px;
      padding-right: 150px;
      padding-top: 27px;
      min-height: 50px;
    }
    .reason-item__headline h3 {
      font-size: 24px;
      color: #005ab3;
      margin: 0;
    padding: 0 0 10px 0;
      font-weight: bold;
      line-height: 1.4;
    }
    .reason-item__text {
      background: #fff;
      padding: 10px;
      position: relative;
      z-index: 2;
    }
    .reason-item__description {
      font-size: 15px;
      line-height: 1.8;
      color: #333;
      margin: 0;
    }
    
    /* 左右交互配置 */
    .reason-item--even {
      flex-direction: row-reverse;
    }
    
    /* 各項目の英語見出し画像 */
    .reason-item:nth-child(1) .reason-item__headline {
      background-image: url('images/riyu_tit01.png');
    }
    .reason-item:nth-child(2) .reason-item__headline {
      background-image: url('images/riyu_tit02.png');
    }
    .reason-item:nth-child(3) .reason-item__headline {
      background-image: url('images/riyu_tit03.png');
    }
    .reason-item:nth-child(4) .reason-item__headline {
      background-image: url('images/riyu_tit04.png');
    }
    .reason-item:nth-child(5) .reason-item__headline {
      background-image: url('images/riyu_tit05.png');
    }
    .reason-item:nth-child(6) .reason-item__headline {
      background-image: url('images/riyu_tit06.png');
    }

    /* ==== スポーツの取り組みセクション ==== */
    .sports-section {
      position: relative;
      width: 100%;
      background-image: url('images/bg004.jpg');
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      padding: 80px 20px;
      box-sizing: border-box;
    }
    .sports-container {
      max-width: 1100px;
      margin: 0 auto;
    }
    .sports-title {
      text-align: center;
      margin-bottom: 60px;
    }
    .sports-title img {
      width: 70%;
      max-width: 500px;
    margin: 0 auto;
    }

    /* 野球部セクション */
    .baseball-section {
      margin-bottom: 80px;
    }
    .baseball-header {
      position: relative;
      background-color: #093ca6;
      background-image: url('images/torikumi01.png');
      background-repeat: no-repeat;
      background-position: right center;
      background-size: auto 100%;
      padding: 15px;
      margin-bottom: 0;
    }
    .baseball-title {
      color: #fff;
      font-size: 28px;
      font-weight: bold;
      margin: 0;
      position: relative;
      z-index: 2;
    }
    .baseball-content {
      display: flex;
      background-color: #f9f3ed;
      padding: 40px;
    }
    .baseball-text {
      padding-right: 50px;
    }
    .baseball-images {
      width: 300px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin-right: -25px;
    }
    .baseball-images img {
      width: 100%;
      border-radius: 8px;
    }
    .baseball-main-title {
      margin-bottom: 30px;
    }
    .baseball-main-title img {
      width: 100%;
      max-width: 400px;
    }
    .baseball-description {
      margin-bottom: 40px;
    }
    .baseball-description p {
      font-size: 15px;
      line-height: 1.8;
      color: #333;
      margin-bottom: 20px;
    }
    .baseball-schedule,
    .baseball-benefits {
      margin-bottom: 40px;
    }
    .schedule-title img,
    .benefits-title img {
      margin-bottom: 20px;
    }
    .schedule-list,
    .benefits-list {
      list-style: none;
      padding: 0;
      margin-bottom: 20px;
    }
    .schedule-list li,
    .benefits-list li {
      font-size: 15px;
      line-height: 1.8;
      color: #333;
      margin-bottom: 10px;
      padding-left: 20px;
      position: relative;
    }
    .schedule-list li:before,
    .benefits-list li:before {
      content: "•";
      color: #093ca6;
      font-weight: bold;
      position: absolute;
      left: 0;
    }
    .baseball-instagram {
      display: flex;
      gap: 20px;
      margin-top: 30px;
    }

    /* アスリートサポートセクション */
    .athlete-support-section {
      margin-bottom: 80px;
    }
    .athlete-support-header {
      position: relative;
      background-color: #f15a24;
      background-image: url('images/torikumi02.png');
      background-repeat: no-repeat;
      background-position: right center;
      background-size: auto 100%;
      padding: 15px;
      margin-bottom: 0;
    }
    .athlete-support-title {
      color: #fff;
      font-size: 28px;
      font-weight: bold;
      margin: 0;
      position: relative;
      z-index: 2;
    }
    .athlete-support-content {
      display: flex;
      background-color: #f9f3ed;
      padding: 40px;
    }
    .athlete-support-text {
      padding-right: 50px;
    }
    .athlete-support-images {
      width: 350px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin-right: -25px;
    }
    .athlete-support-images img {
      width: 100%;
      border-radius: 8px;
    }
    .athlete-support-description {
      margin-bottom: 20px;
    }
    .athlete-support-description p {
      font-size: 15px;
      line-height: 1.8;
      color: #333;
      margin-bottom: 20px;
    }
    .support-list {
      list-style: none;
      padding: 0;
      margin-bottom: 20px;
    }
    .support-list li {
      font-size: 15px;
      line-height: 1.8;
      color: #333;
      margin-bottom: 10px;
      padding-left: 20px;
      position: relative;
    }
    .support-list li:before {
      content: "•";
      color: #f15a24;
      font-weight: bold;
      position: absolute;
      left: 0;
    }
    .athlete-members {
      margin-bottom: 2ch;
    }
    .members-title img {
      margin-bottom: 20px;
    }
    .members-list {
      list-style: none;
      padding: 0;
    }
    .members-list li {
      font-size: 15px;
      line-height: 1.8;
      color: #333;
      margin-bottom: 10px;
      padding-left: 20px;
      position: relative;
    }
    .members-list li:before {
      content: "•";
      color: #f15a24;
      font-weight: bold;
      position: absolute;
      left: 0;
    }
    .athlete-instagram {
      display: flex;
      gap: 20px;
    }

    /* ソフトバレーボールセクション */
    .volleyball-section {
      text-align: center;
      padding: 60px 40px;
      position: relative;
    }
    .volleyball-content {
      margin-bottom: 40px;
    }
    .volleyball-announcement {
      font-size: 24px;
      font-weight: bold;
      color: #333;
      margin-bottom: 20px;
    }
    .volleyball-main-text {
      font-size: 18px;
      line-height: 1.8;
      color: #333;
      margin-bottom: 20px;
    }
    .volleyball-recruitment {
      font-size: 30px;
      font-weight: bold;
      color: #ff5419;
      margin-bottom: 20px;
    }
    .volleyball-expectation {
      font-size: 18px;
      color: #333;
      margin-bottom: 30px;
    }
    .volleyball-instagram {
      margin-bottom: 40px;
    }
    .volleyball-images {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 40px;
      position: relative;
    }
    .volleyball-images > img {
    }
    .volleyball-silhouettes {
      position: absolute;
      width: 100%;
      height: 100%;
      pointer-events: none;
    }
    .volleyball-silhouettes img {
      position: absolute;
      height: auto;
      opacity: 0.8;
    }
    .volleyball-silhouettes img:nth-child(1) {
      top: -10%;
      left: 10%;
    }
    .volleyball-silhouettes img:nth-child(2) {
      top: 50%;
      left: 0;
    }
    .volleyball-silhouettes img:nth-child(3) {
      top: 60%;
      left: 15%;
    }
    .volleyball-silhouettes img:nth-child(4) {
      top: -30%;
      right: 0%;
    }
    .volleyball-silhouettes img:nth-child(5) {
      top: 55%;
      right: 0%;
      transform: translate(-50%, -50%);
    }

    /* ==== 数字で知る仏光殿セクション ==== */
    .data-section {
      background-image: url(images/bg005.jpg);
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      padding: 80px 0;
    }

    .data-section__inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
    }

    /* セクションタイトル */
    .data-title-area {
      text-align: center;
      margin-bottom: 60px;
      position: relative;
    }

    .data-title-bg {
      position: absolute;
      top: 50%;
      right: 5%;
      transform: translateY(-50%);
      z-index: 1;
    }

    .data-title {
      font-size: 48px;
      font-weight: bold;
      font-family: "Noto Serif JP", serif;
      color: #000;
      margin: 0;
      position: relative;
      z-index: 2;
    }

    /* 募集職種説明 */
    .data-recruitment {
      background-color: #fff;
      padding: 40px;
      text-align: center;
      margin: 0 auto 60px auto;
      width: 80%;
    }

    .data-recruitment-text {
      font-size: 18px;
      color: #333;
      margin: 0 0 20px 0;
    }

    .data-recruitment-positions {
      font-size: 24px;
      font-weight: bold;
      color: #f15a24;
      margin: 0 0 20px 0;
    }

    .data-recruitment-survey {
      font-size: 18px;
      color: #333;
      margin: 0;
    }

    /* データグリッド */
    .data-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      margin-bottom: 60px;
    }

    .data-item {
      padding: 30px;
      text-align: center;
    }

    .data-item-title {
      font-size: 24px;
      color: #093ca6;
      font-weight: bold;
      margin: 0 0 15px 0;
    }

    .data-item-subtitle {
      font-size: 18px;
      color: #093ca6;
      margin: 0 0 20px 0;
    }

    .data-item-image {
      max-width: 100%;
      height: auto;
    margin: 30px auto 0;
    }

    /* 支援制度セクション */
    .support-section {
      background-color: #fff;
      padding: 60px 40px;
      width: 70%;
      margin: 0 auto;
    }

    .support-title {
      font-size: 36px;
      color: #093ca6;
      font-weight: bold;
      text-align: center;
      margin: 0 0 60px 0;
    }

    .support-item {
      margin-bottom: 50px;
    }

    .support-item:last-child {
      margin-bottom: 0;
    }

    .support-item-header {
      margin-bottom: 20px;
    }

    .support-item-title {
      max-width: 100%;
      height: auto;
    }

    .support-item-content {
      font-size: 16px;
      line-height: 1.8;
      color: #333;
    }

    .support-item-content p {
      margin: 0 0 15px 0;
    }

    .support-item-content p:last-child {
      margin-bottom: 0;
    }

    /* 野球部手当の特別スタイル */
    .baseball-allowance {
      background-color: #eceff8;
      padding: 20px;
      margin-bottom: 20px;
      display: inline-block;
    }

    .baseball-allowance ul {
      margin: 15px 0;
      padding-left: 20px;
    }

    .baseball-allowance li {
      margin-bottom: 5px;
    }

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

    /* ==== Q&Aセクション ==== */
    .qa-section {
      position: relative;
      width: 100%;
      background-image: url('images/bg006.jpg');
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      padding: 80px 20px;
      box-sizing: border-box;
    }

    .qa-container {
      max-width: 1000px;
      margin: 0 auto;
    }

    .qa-title-area {
      text-align: center;
      margin-bottom: 60px;
    }

    .qa-title-area img {
      width: 70%;
      max-width: 500px;
      margin: 0 auto;
    }

    .qa-content { border-radius: 0;
      background-color: #eef2fd;
      padding: 40px;
      
    }

    .qa-item {
      margin-bottom: 20px;
      border-bottom:2px solid #ddd;
    }

    .qa-item:last-child {
      margin-bottom: 0;
      border-bottom: none;
    }

    .qa-question {
      display: flex;
      align-items: flex-start;
      padding: 20px 0;
      cursor: pointer;
      transition: background-color 0.3s ease;
    }

    .qa-question:hover {
      background-color: rgba(255, 255, 255, 0.3);
    }

    .qa-question-icon {
      flex-shrink: 0;
      margin-right: 15px;
      margin-top: 2px;
    }

    .qa-question-icon img {
      width: 30px;
      height: 30px;
    }

    .qa-question-text { font-size: 20px; font-weight: 700;
      flex-grow: 1;
      color: #333;
      line-height: 1.6;
    }

    .qa-answer { border-radius: 0;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
      background-color: rgba(255, 255, 255, 0.8);
      margin-left: 45px;
      
    }

    .qa-answer.active {
      max-height: 1000px;
    }

    .qa-answer-content {
      padding: 20px;
      font-size: 15px;
      line-height: 1.8;
      color: #333;
    }

    .qa-answer-content p {
      margin: 0 0 15px 0;
    }

    .qa-answer-content p:last-child {
      margin-bottom: 0;
    }

    /* ==== レスポンシブ対応 ==== */
    @media (max-width: 768px) {
      .mv__slide:nth-child(1) { background-image: url('images/slider001sp.jpg') !important; }
      .mv__slide:nth-child(2) { background-image: url('images/slider002sp.jpg') !important; }
      .mv__slide:nth-child(3) { background-image: url('images/slider003sp.jpg') !important; }
      .mv__slide:nth-child(4) { background-image: url('images/slider004sp.jpg') !important; }
      .mv__slide:nth-child(5) { background-image: url('images/slider005sp.jpg') !important; }
      .mv__slide:nth-child(6) { background-image: url('images/slider006sp.jpg') !important; }
      
      .mv__textlayer {
        left: 50%;
        bottom: 50%;
        transform: translate(-50%, 50%);
        text-align: center;
        padding-left: 20px;
        padding-right: 20px;
      }
      
      .mv__text1 { width: 100% !important; }
      .mv__text2 { width: 80% !important; content: url('images/text002sp.png'); }
      
      .header-btn { width: 40%; }
      .header-btn img { width: 100%; height: auto; }
      
      .about-section {
        min-height: auto;
        padding: 10px 20px 60px 20px;
      }
      
      .about-title-bg { transform: translate(0%, -70%) scale(1.5); }
      .about-title { font-size: 28px; }
      
      .about-content {
        max-width: 100%;
        padding: 30px 20px;
        font-size: 14px;
        line-height: 1.7;
      }

      /* 強みセクション SP */
      .strengths-section { padding: 60px 20px; }
      .strengths-title-area { margin-bottom: 40px; }
      .strengths-title { font-size: 28px; }
      .strengths-title-bg { transform: translate(-40%, -60%) scale(0.8); }

      .strength-item {
        margin-bottom: 80px;
      }
      .strength-item h3 { font-size: 20px; text-align: center; }
      .strength-item h4 { font-size: 16px; }
      .strength-item p { font-size: 14px; text-align: left; }
      .strength-item .two-col { flex-direction: column; }

      .strength-item .align-center {
        margin-top: 30px;
      }
      .strength-item .align-left,
      .strength-item .align-center {
        text-align: center;
      }
      .strength-item .align-left p {
        text-align: left;
      }

      .layout-img-left {
        flex-direction: column-reverse;
        gap: 20px;
      }
      .layout-img-left .text-part {
        text-align: center;
      }
      .layout-img-left .text-part h3 {
        text-align: center;
      }
      .layout-img-left .text-part p {
        text-align: left;
      }

      .onestop-title-area {
        text-align: center;
      }
      .onestop-title-area p {
        text-align: left;
      }
      .onestop-graphs {
        flex-direction: column;
      }
      .onestop-graphs .graph-block:last-child {
        margin-top: 30px;
      }

      .layout-text-left {
        flex-direction: column;
        gap: 20px;
      }
      .layout-text-left .text-part {
        text-align: center;
      }
      .layout-text-left .text-part h3 {
        text-align: center;
      }
      .layout-text-left .text-part p {
        text-align: left;
      }

      .income-graphs-container .graphs-wrapper {
        flex-direction: column;
      }

      .reward-system-text {
        padding: 20px;
      }

      .final-graphs-section img,
      .final-graphs-section h4 {
        margin-top: 30px;
      }
      .final-graphs-section h3 img {
        width:50%;
      }

      .br-sp { display:  inline-block; }
      .br-pc { display: none; }

      /* アスリートセクション SP */
      .athlete-section {
        padding: 60px 20px;
      }
      .athlete-title-area {
        margin-bottom: 40px;
        height: auto;
      }
      .athlete-title {
        font-size: 22px;
      }
      .athlete-title-bg {
        transform: translate(-35%, -70%) scale(0.8);
      }
      .athlete-content {
        padding: 30px 20px;
        font-size: 14px;
        line-height: 1.8;
      }

      /* 理由セクション SP */
      .reason-section {
        padding: 60px 20px;
      }
      .reason-title {
        margin-bottom: 50px;
      }
      .reason-title img {
        width: 95%;
      }
      .reason-list {
        gap: 40px;
      }
      .reason-item,
      .reason-item--even {
        flex-direction: column;
        gap: 20px;
        text-align: center;
      }
      .reason-item__icon {
        width: 120px;
        margin: 0 auto;
      }
      .reason-item__content {
        width: 100%;
      }
      .reason-item__headline {
        background-position: center bottom !important;
        background-size: auto 60px !important;
        padding-right: 0 !important;
        padding-top: 15px !important;
        text-align: center;
        min-height: 60px !important;
      }
      .reason-item__headline h3 {
        font-size: 18px;
        text-align: center;
      }
      .reason-item__text {
        padding: 20px;
      }
      .reason-item__description {
        font-size: 14px;
        text-align: left;
      }

      /* スポーツセクション SP */
      .sports-section {
        padding: 60px 20px;
      }
      .sports-title {
        margin-bottom: 40px;
      }
      .sports-title img {
        width: 95%;
      }
      .baseball-section,
      .athlete-support-section {
        margin-bottom: 60px;
      }
      .baseball-header,
      .athlete-support-header {
        padding: 20px !important;
        background-size: auto 40% !important;
      }
      .baseball-title,
      .athlete-support-title {
        font-size: 18px !important;
      }
      .baseball-content,
      .athlete-support-content {
        flex-direction: column;
        padding: 20px !important;
        gap: 30px;
      }
      .baseball-text,
      .athlete-support-text {
        width: 100%;
        padding-right: 0;
      }
  .baseball-images,
  .athlete-support-images{
    flex-direction: column;     /* ← row → column */
    overflow-x: visible;        /* ← auto を解除（hiddenでも可） */
    gap: 15px;                  /* 間隔はそのまま */
    width: 100% !important;     /* 全幅にしてはみ出し防止（任意） */
  }

  .baseball-images img,
  .athlete-support-images img{
    width: 100%;
    height: auto;
    display: block;
  }

      .baseball-main-title img,
      .schedule-title img,
      .benefits-title img,
      .members-title img {
        max-width: 250px;
      }
      .baseball-description p,
      .athlete-support-description p {
        font-size: 14px;
      }
      .schedule-list li,
      .benefits-list li,
      .support-list li,
      .members-list li {
        font-size: 14px;
      }
      .baseball-instagram,
      .athlete-instagram {
        flex-direction: column;
        align-items: center;
        gap: 15px;
      }

      .volleyball-section {
        padding: 40px 20px;
        border-radius: 15px;
      }
      .volleyball-announcement {
        font-size: 20px;
      }
      .volleyball-main-text {
        font-size: 16px;
      }
      .volleyball-recruitment {
        font-size: 24px !important;
      }
      .volleyball-expectation {
        font-size: 16px;
      }
      .volleyball-images {
        flex-direction: column;
        gap: 20px;
      }
      .volleyball-images > img {
        width: 250px;
      }
      .volleyball-silhouettes img {
        width: 60px;
      }
      .volleyball-silhouettes img:nth-child(1) {
        top: -20% !important;
        left: -10% !important;
      }
      .volleyball-silhouettes img:nth-child(2) {
        top: 70% !important;
        left: -5% !important;
      }
      .volleyball-silhouettes img:nth-child(3) {
        top: 90% !important;
        left: 15% !important;
      }
      .volleyball-silhouettes img:nth-child(4) {
        top: -10% !important;
        right: -10% !important;
      }
      .volleyball-silhouettes img:nth-child(5) {
        top: 70% !important;
        left: 100% !important;
        right: auto !important;
        transform: translate(-50%, -50%) !important;
      }

      /* 数字で知る仏光殿セクション SP */
      .data-section {
        padding: 60px 0;
      }

      .data-title {
        font-size: 32px;
      }

      .data-title-bg {
        max-width: 250px;
        right: 0;
      }

      .data-recruitment {
        padding: 30px 20px;
        margin-bottom: 40px;
      }

      .data-recruitment-positions {
        font-size: 24px;
      }

      .data-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-bottom: 40px;
      }

      .data-item {
        padding: 20px;
      }

      .data-item-title {
        font-size: 20px;
      }

      .support-section {
        padding: 40px 20px;
        width: auto;
      }

      .support-title {
        font-size: 28px;
        margin-bottom: 40px;
      }

      .support-item {
        margin-bottom: 40px;
      }

      .baseball-allowance {
        padding: 15px;
      }



      /* Q&Aセクション SP */
      .qa-section {
        padding: 60px 20px;
      }

      .qa-title-area {
        margin-bottom: 40px;
      }

      .qa-title-area img {
        width: 95%;
      }

      .qa-content { border-radius: 0;
        padding: 20px;
      }

      .qa-question-text { font-size: 23px; font-weight: 700;
        
      }

      .qa-answer-content {
        padding: 15px;
        font-size: 14px;
      }

      .qa-answer { border-radius: 0;
        margin-left: 35px;
      }
    }
    
  
/* Canonical Q&A rules (override) */
.qa-answer{ max-height:0; overflow:hidden; transition:max-height 0.35s ease; }
.qa-answer.active{ max-height: 1200px; }

@media (min-width:769px){
  .form-table th{ width:350px !important;  }
  .form-section-label, .form-section-label--wide{
    display:block;
    width:var(--form-th-width);
    max-width:var(--form-th-width);
    box-sizing:border-box;
  }
}


@media (min-width:769px){
  .form-table{ table-layout:fixed; 
  .form-table th{ width:350px !important; }
}
  .form-table th{ width:var(--form-th-width); white-space:nowrap; }
  .form-table td{ width:auto; }
}

@media (max-width:768px){
  /* STACK form-table for SP */
  .form-table, .form-table thead, .form-table tbody, .form-table tr, .form-table th, .form-table td{ display:block; width:100%; 
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }
  /* __BC_ADDED__ */
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }

}
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
  .form-section-label, .form-section-label--wide{ display:block; width:100%; max-width:100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }
  .qa-question-text{ font-size:20px; font-weight:700; 
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }
}
}

/* Square corners override */
.qa-content, .qa-answer, .qa-question{ border-radius:0 !important; }


/* ==== 募集要項セクション ==== */
.recruit-section{ background:#f9ebe8; padding:80px 20px; }
 .recruit-inner{ max-width:1080px; margin:0 auto; }
.recruit-title{ text-align:center; margin-bottom:30px; }
.recruit-title img{ width:70%; max-width:220px;
    margin: 0 auto; } /* 要望：300px */

.recruit-nav{ display:flex; gap:20px 0; justify-content:center; align-items:center; flex-wrap:wrap; margin:20px 0 30px 0; }
.recruit-nav a{ display:inline-block; line-height:0; }

.recruit-block{ margin:70px 0; }
.recruit-block__head{ color:#fff; padding:14px 18px; font-size:22px; font-weight:700; }
.recruit-block__head--fresh{ background:#ff7bac; }
.recruit-block__head--career{ background:#22b573; }
.recruit-block__head--baseball{ background:#093ca6; }
.recruit-block__head--parttime{ background:#b95699; }

.recruit-table{ width:100%;   background:#fff; table-layout:fixed; font-size:15px; }.recruit-table, .recruit-table th, .recruit-table td{ box-sizing:border-box; max-width:100%; }.recruit-table{ max-width:100%; }.recruit-table th{ width:20%;  word-break:break-word; overflow-wrap:anywhere; }
.recruit-table th, .recruit-table td{ border:2px solid #ddd; padding:16px 18px; vertical-align:top; line-height:1.8; word-wrap:break-word; }
.recruit-table th{ width:20%; color:#333; font-weight:600; text-align:left; } /* 要望：幅狭/左寄せ */
.recruit-table td{ overflow-wrap:anywhere; word-break:break-word; box-sizing:border-box; }
.recruit-table--fresh th{ background:#f4d6dc; }
.recruit-table--career th{ background:#bed9c6; }
.recruit-table--baseball th{ background:#c9c8da; }
.recruit-table--parttime th{ background:#e0bfd0; }

/* 各テーブルの罫線色を1pxでトーン合わせ */
.recruit-table--fresh, .recruit-table--fresh th, .recruit-table--fresh td{ border-color:#ff7bac; border-width:2px; }
.recruit-table--career, .recruit-table--career th, .recruit-table--career td{ border-color:#22b573; border-width:2px; }
.recruit-table--baseball, .recruit-table--baseball th, .recruit-table--baseball td{ border-color:#093ca6; border-width:2px; }
.recruit-table--parttime, .recruit-table--parttime th, .recruit-table--parttime td{ border-color:#b95699; border-width:2px; }

@media (max-width:768px){
  /* STACK form-table for SP */
  .form-table, .form-table thead, .form-table tbody, .form-table tr, .form-table th, .form-table td{ display:block; width:100%; 
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }
  /* __BC_ADDED__ */
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }

}
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
  .form-section-label, .form-section-label--wide{ display:block; width:100%; max-width:100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }
  .recruit-section{ padding:60px 20px; }
  .recruit-title img{ width:95%; }
  .recruit-block__head{ font-size:18px; }
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ display:block; width:100%; }
  .recruit-table th{ border:none; text-align:left; }
  .recruit-table td{ border:none; padding-top:10px; }
  /* SPでも罫線色を維持 */
  .recruit-table--fresh tr{ border:2px solid #ff7bac; }
  .recruit-table--career tr{ border:2px solid #22b573; }
  .recruit-table--baseball tr{ border:2px solid #093ca6; }
  .recruit-table--parttime tr{ border:2px solid #b95699; }
}



/* STRICT toggle for recruit-table rows */
.recruit-table .br-sp{ display:none !important; }
.recruit-table .br-pc{ display:table-row !important; }
@media (max-width:768px){
  /* STACK form-table for SP */
  .form-table, .form-table thead, .form-table tbody, .form-table tr, .form-table th, .form-table td{ display:block; width:100%; 
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }
  /* __BC_ADDED__ */
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }

}
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
  .form-section-label, .form-section-label--wide{ display:block; width:100%; max-width:100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }
  .recruit-table .br-sp{ display:table-row !important; }
  .recruit-table .br-pc{ display:none !important; }
  .recruit-table .br-sp th{ width:auto; max-width:100%; display:table-cell; }
}
/* ==== 応募フォームセクション ==== */
.entry-section{ background:#093ca6; padding:15px; }
 .entry-wrap{ max-width:1080px; margin:0 auto; }
.entry-heading{ color:#fff; font-size:36px; font-weight:700; text-align:center; margin:16px 0 28px; }
.entry-card{ background:#fff; border-radius:0; padding:28px 24px 36px; }
.entry-catch{ font-size:25px; color:#093ca6; font-weight:700; text-align:center; margin:0 0 18px; }
.entry-lead{ font-size:15px; line-height:1.9; color:#333; max-width:100%; margin:0 0 32px; }
.entry-form{ --form-th-width:350px; }

.form-section-label{ background:#6087cc; color:#fff; font-size:18px; padding:8px 12px; margin:36px 0 8px; box-sizing:border-box; display:inline-block; max-width:100%;
    width: 250px; }

.form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }


/* テーブル共通 */
.form-table{ margin-bottom:26px; width:100%;   table-layout:fixed;  font-size:15px; }
.form-table th, .form-table td{ border:2px solid #093ca6; padding:14px 16px; vertical-align:middle; }
.form-table th{ background:#093ca6; color:#fff;  max-width:100%; text-align:left; font-weight:600; }
.form-table td{ background:#fff; }
.form-table input[type="text"], .form-table input[type="email"], .form-table select{ width:100%; padding:10px 12px; border:2px solid #093ca6; border-radius:0; font-size:15px; box-sizing:border-box; }
.form-inline{ display:flex; gap:10px; flex-wrap:wrap; }
.form-inline .inline{ flex:0 0 auto; }
.form-table label{ margin-right:18px; white-space:nowrap; }

.privacy-link{ margin:30px 0 14px; display:block; text-align:center; color:#093ca6; text-decoration:underline; margin:22px 0 10px; }
.privacy-link:hover{ text-decoration:none; }
.consent-row{ text-align:center; margin:8px 0 20px; color:#333; }
.submit-wrap{ text-align:center; }
.submit-btn{ background:#000; color:#fff; border:none; padding:12px 34px; font-size:15px; border-radius:0; cursor:pointer; }
.submit-btn:hover{ opacity:.9; }

@media (max-width:768px){
  /* STACK form-table for SP */
  .form-table, .form-table thead, .form-table tbody, .form-table tr, .form-table th, .form-table td{ display:block; width:100%; 
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }
  /* __BC_ADDED__ */
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }

}
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
  .form-section-label, .form-section-label--wide{ display:block; width:100%; max-width:100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }
  .entry-card{ padding:20px 16px 28px; }
  .entry-catch{ font-size:20px; }
  .entry-form{ --form-th-width: 100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }

  /* moved to SP media query below */
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
}





.site-footer{ background:#093ca6; color:#fff; padding:28px 20px; margin:0; }
.site-footer__inner{ width:100%; position:relative; min-height:80px; margin:0; padding:0 20px; }
.site-footer__left{ position:absolute; left:200px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:8px; align-items:center; }
.site-footer__logo{ display:block; height:auto; max-width:none; }
.site-footer__link{ color:#fff; text-decoration:none; font-size:18px; align-self:center; }
.site-footer__link:hover{ text-decoration:underline; }
.site-footer__center{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); text-align:center; }
.site-footer__copy{ font-size:13px; opacity:.95; white-space:nowrap; }
@media (max-width:768px){
  /* STACK form-table for SP */
  .form-table, .form-table thead, .form-table tbody, .form-table tr, .form-table th, .form-table td{ display:block; width:100%; 
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }
  /* __BC_ADDED__ */
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }

}
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
  .form-section-label, .form-section-label--wide{ display:block; width:100%; max-width:100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }
  .site-footer__inner{ width:100%; position:relative; min-height:80px; margin:0; padding:0 20px; }
  .site-footer__logo{ display:block; height:auto; max-width:none; }
  .site-footer__copy{ font-size:13px; opacity:.95; white-space:nowrap; }
}

/* compact selects for short choices */
.select-compact{ max-width:220px; }


/* === Corrections: keep content centered, only footer full-width === */
 .recruit-inner{ max-width:1080px; margin:0 auto; }
 .entry-wrap{ max-width:1080px; margin:0 auto; }

/* Footer: left block flush to viewport left, link under logo centered, font-size 18px */
.site-footer__inner{ width:100%; padding:0; }
.site-footer__left{ position:absolute; left:200px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:8px; align-items:center; }
.site-footer__logo{ display:block; height:auto; max-width:none; }
.site-footer__link{ color:#fff; text-decoration:none; font-size:18px; }
.site-footer__link:hover{ text-decoration:underline; }
.site-footer__center{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); text-align:center; }
.site-footer__copy{ font-size:13px; opacity:.95; white-space:nowrap; }


/* ==== Footer (isolated) ==== */
.site-footer{ background:#093ca6; color:#fff; padding:28px 0; margin:0; width:100%; }
.site-footer__inner{ width:100%; position:relative; min-height:100px; margin:0; }
.site-footer__left{ position:absolute; left:200px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:8px; align-items:center; }
.site-footer__logo{ display:block; height:auto; width:auto; max-height:none; } /* show at intrinsic size */
.site-footer__link{ color:#fff; text-decoration:none; font-size:18px; }
.site-footer__link:hover{ text-decoration:underline; }

.site-footer__center{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); text-align:center; }
.site-footer__copy{ font-size:13px; opacity:.95; white-space:nowrap; }

@media (max-width:768px){
  /* STACK form-table for SP */
  .form-table, .form-table thead, .form-table tbody, .form-table tr, .form-table th, .form-table td{ display:block; width:100%; 
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }
  /* __BC_ADDED__ */
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }

}
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
  .form-section-label, .form-section-label--wide{ display:block; width:100%; max-width:100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }
  .site-footer__inner{ min-height:120px; }
  .site-footer__copy{ font-size:12px; }
}

/* corrected: form card background constrained to container width */
.entry-card{ position:relative; background:#fff; }
.entry-card::before{ content:none; }
.entry-card > *{ position:relative; z-index:1; }
/* (prev ::before full-bleed removed) */
/* keep other rules intact */
.note-edu{margin-top:8px; margin-bottom:18px;}

/* lighter placeholder text */
.form-table input::placeholder{ color:#9aa3b1; }

.entry-card{padding-bottom:61px; }

.form-inline{ align-items:center; } /* vertical middle for inline rows */
.form-inline .inline{ display:flex; align-items:center; }

.form-table{ max-width:100%; box-sizing:border-box; }
.form-table th, .form-table td{ box-sizing:border-box; }
@media (max-width:768px){
  /* STACK form-table for SP */
  .form-table, .form-table thead, .form-table tbody, .form-table tr, .form-table th, .form-table td{ display:block; width:100%; 
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }
  /* __BC_ADDED__ */
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }

}
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
  .form-section-label, .form-section-label--wide{ display:block; width:100%; max-width:100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:250px; max-width:100%; }
  .entry-card::before{ content:none !important; }
.form-table{ width:100%; max-width:100%; overflow-x:hidden; }
}

@media (max-width:768px){
  /* STACK form-table for SP */
  .form-table, .form-table thead, .form-table tbody, .form-table tr, .form-table th, .form-table td{ display:block; width:100%; 
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }
  /* __BC_ADDED__ */
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }

}
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
  .form-section-label, .form-section-label--wide{ display:block; width:100%; max-width:100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }
  .site-footer__inner{ display:flex; flex-direction:column; align-items:center; gap:6px; min-height:auto; padding:16px 12px; }
  .site-footer__left{ position:static; left:auto; top:auto; transform:none; align-items:center; }
  .site-footer__center{ position:static; left:auto; top:auto; transform:none; text-align:center; }
}

@media (min-width:769px){
  .recruit-table tr{ display:table-row !important; 
  .form-table th{ width:350px !important; }
}
  .recruit-table th, .recruit-table td{ display:table-cell !important; }
}

/* Q&A fixes */
.qa-question-text{ color:#093ca6 !important; font-weight:400 !important; }
.qa-answer{ margin-left:0 !important; padding-left:0 !important; background:transparent !important; }
.qa-answer-content{ background:transparent !important; font-size:16px !important; }

@media (max-width:768px){
  /* STACK form-table for SP */
  .form-table, .form-table thead, .form-table tbody, .form-table tr, .form-table th, .form-table td{ display:block; width:100%; 
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }
  /* __BC_ADDED__ */
  .recruit-table, .recruit-table thead, .recruit-table tbody, .recruit-table tr, .recruit-table th, .recruit-table td{ border-collapse:collapse; }

}
  .form-table th{ border-bottom:2px solid #093ca6; }
  .form-table td{ border-top:none; }
  .form-section-label, .form-section-label--wide{ display:block; width:100%; max-width:100%; }
  .form-section-label, .form-section-label--wide{ box-sizing:border-box; display:inline-block; width:auto; max-width:100%; }
  .entry-card::before{ content:none !important; }
}

.recruit-table{   width:100%; }
@media (min-width:769px){

.recruit-table{ border:2px solid #093ca6; border-collapse:collapse; width:100%; }
.recruit-table--fresh th, .recruit-table--fresh td { border:2px solid #ff7bac!important; }
.recruit-block__head--career th, .recruit-block__head--career td { border:2px solid #22b573!important; }
.recruit-block__head--baseball th, .recruit-block__head--baseball td { border:2px solid #093ca6!important; }
.recruit-table--parttime th, .recruit-table--parttime td { border:2px solid #b95699!important; }
}


/* 左カラム幅：募集要項のthに合わせる。必要ならpxを変更 */
:root{ --recruit-th-width: 350px; }

/* 2カラム本体（tableを使わない独立ブロック） */
.recruit-extra2{
  display:grid;
  grid-template-columns: var(--recruit-th-width) 1fr;
  align-items:start;
  gap: 16px;
  margin: 12px 0 0;           /* テーブル下との間隔 */
}

/* 左列ラベル */
.recruit-extra2 .extra2-label{
  font-weight:700;
  color:#1e2a78;               /* 必要なら調整 */
  line-height:1.8;
}

/* 右列本文ボックス */
.recruit-extra2 .extra2-box{
  background:#c9c8da;          /* ご指定色 */
  padding:14px 16px;
  border-radius:4px;
  line-height:1.8;
}

/* 中の余白とリスト体裁 */
.recruit-extra2 .extra2-box p{ margin:0 0 8px 0; }
.recruit-extra2 .extra2-box ol{
  margin:0 0 8px 1.2em;
  padding:0;
}
.recruit-extra2 .extra2-note{ margin:8px 0 0; font-size:.95em; }

/* SPでは縦積み */
@media (max-width:768px){
  .recruit-extra2{
    grid-template-columns: 1fr;
    gap:8px;
  }
  .recruit-extra2 .extra2-label{ margin-bottom:0; }
}

/* PATCH: 角丸禁止＆距離を詰める */
.recruit-extra2{
  gap:4px;         /* 距離を詰める */
  margin-top:6px;  /* テーブル直下の間隔を詰める */
}
.recruit-extra2 .extra2-box{
  background:#c9c8da;
  padding:10px 12px; /* 少しだけ圧縮 */
  border-radius:0;   /* 角丸NG */
}
.recruit-extra2 .extra2-label{
  line-height:1.6;
  padding-top:2px;   /* 視覚合わせ（任意） */
}
@media (max-width:768px){
  .recruit-extra2{ gap:6px; margin-top:6px; }
}
/* 更にブロック：左カラムを内容幅にして詰める（このブロックだけ上書き） */
.recruit-extra2{
  grid-template-columns: max-content 1fr; /* ← 350px固定をやめて文字幅に */
  gap: 2px;                                /* カラム間の隙間を最小化 */
  margin-top: 6px;                         /* テーブル直下との間隔だけ少し */
  align-items: start;
}
.recruit-extra2 .extra2-label{
  padding-right: 2px;                      /* 視覚的な最小スペーサー */
}
.recruit-extra2 .extra2-box{
  background:#c9c8da;
  padding:10px 12px;
  border-radius:0;
}

/* SPは縦積みのまま（必要なら gap を微調整） */
@media (max-width:768px){
  .recruit-extra2{ grid-template-columns: 1fr; gap:6px; }
}

.recruit-extra2{ grid-template-columns: max-content 1fr; }    /* 左=文字幅, 右=残り */
.recruit-extra2 .extra2-box{ justify-self: start; width: min(720px, 100%); }



.form-table{   width:100%; }
.form-table th, .form-table td{ border:1px solid #093ca6; }





.form-table{ border:2px solid #093ca6; border-collapse:collapse; width:100%; }
.form-table th, .form-table td{ border:1px solid #093ca6; }












/* ===== STAFF ===== */
.staff-section{
  background: #002d6b url('images/bg003.jpg') center/cover no-repeat;
  padding: 80px 0 50px;
  color: #fff;
}
.staff-inner{ max-width: 1100px; margin: 0 auto; padding: 0 20px; }

.staff-title-area{ position:relative; margin-bottom: 24px; }
.staff-title-bg{
  position:absolute; right: 5%; top: -10px; width: 340px; opacity:.25; pointer-events:none;
}
.staff-title{
  font-family: "Noto Serif JP", serif;
  font-size: 48px; font-weight: 400; color:#fff; margin:0;
}

/* Frame & arrows */
.staff-frame{ position:relative; }
.staff-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  background: transparent; border:0; padding:0; cursor:pointer;
  line-height:0;
}
.staff-nav--left{ left:-40px; }   /* ご指定：左側に右矢印画像 */
.staff-nav--right{ right:-40px; } /* ご指定：右側に左矢印画像 */

.staff-viewport{ overflow:hidden; }
.staff-track{
  display:flex; transition:transform .4s ease;
}
.staff-card{ min-width:100%; }
.staff-card__inner{
  background:#fff; color:#000; display:grid; grid-template-columns: 1fr 1fr; gap: 20px;
  padding: 20px; align-items: start;
}

/* left column */
.staff-card__dept{ width: 160px; height:auto; display:block; margin: 0 0 12px; }
.staff-card__name{ font-size:30px; font-weight:700; margin:0 0 6px; color:#000; }
.staff-card__role{ font-size:24px; margin:0 0 14px; color:#000; }

.staff-card__text{
  --h: 360px; /* 固定高さ：ここだけ縦スクロール */
  background: var(--text-bg) center/contain no-repeat;
  padding: 16px 16px 16px 16px;
  max-height: var(--h);
  overflow: auto;
  line-height: 1.8;
}
.staff-card__text h4{ font-size:21px; color:#f15a24; font-weight:700; margin:0 0 10px; }
.staff-card__text p{ font-size:16px; color:#000; margin:0;
    padding: 0; }

/* right column */
.staff-card__right{ display:grid; grid-template-rows: 1fr 1fr; gap: 12px; }
.staff-card__photo{ width:100%; height:100%; object-fit:cover; }

/* thumbs */
.staff-thumbs{ margin-top: 36px; }
.staff-thumbs__title{ display:block; margin:0 auto 16px; }
.staff-thumbs__list{
  display:grid; grid-template-columns: repeat(7, 1fr); gap:16px;
}
.staff-thumb{
  background:#fff; border:2px solid transparent; padding:8px; text-align:left; cursor:pointer;
}
.staff-thumb.is-active{ border-color:#093ca6; }
.staff-thumb__img{ width:100%; height:auto; display:block; margin-bottom:8px; }
.staff-thumb__meta{ display:grid; grid-template-columns:auto 1fr; column-gap:8px; row-gap:4px; align-items:center; }
.staff-thumb__dept{ width:80px; height:auto; }
.staff-thumb__name{ font-size:30px; color:#0b0ddc; line-height:1; }
.staff-thumb__role{ font-size:24px; color:#000; line-height:1.2; }

/* SP */
@media (max-width:768px){
  .staff-title{ font-size:21px; }
  .staff-title-bg{ width: 220px; right: 0; top: -6px; }
  .staff-nav--left{ left: -6px; }
  .staff-nav--right{ right: -6px; }
  .staff-card__inner{ grid-template-columns: 1fr; }
  .staff-card__text{ --h: 280px; }
  .staff-thumbs__list{ grid-template-columns: repeat(2,1fr); }
  .staff-thumb__name{ font-size:20px; }
  .staff-thumb__role{ font-size:15px; }
}

/* PATCH: staff 矢印の左右を入れ替え（挙動は現状維持） */
.staff-nav--left  { left: auto;  right: -40px; }  /* ← 右側へ配置（次へ）  */
.staff-nav--right { right: auto; left:  -40px; }  /* ← 左側へ配置（前へ）  */

/* SP時も同様（任意・必要なら） */
@media (max-width:768px){
  .staff-nav--left  { right: -6px; left:auto; }
  .staff-nav--right { left:  -6px; right:auto; }
}
/* ========== STAFF: デザイン修正パッチ ========== */

/* 1) タイトル背景の位置調整・不透明化 */
.staff-title-bg{
  right: -10%;
  top: -30px;
  opacity: 1;              /* 「opacity:.25」は無効化（＝削除相当） */
}

/* 2) テキストボックス背景の no-repeat を削除 */
.staff-card__text{
  background: var(--text-bg) center/contain;  /* ← no-repeat を付けない */
}

/* 3) カード高さ：PC=535px固定、他は通常スクロール
      かつ左カラムの本文のみ内部スクロール */
.staff-card__inner{ height: auto; }           /* デフォルトは可変（SP/タブレット） */
@media (min-width: 769px){
  .staff-card__inner{ height: 535px; }
}
/* 左カラム内で本文だけスクロールさせる */
.staff-card__left{ display:flex; flex-direction:column; min-height:0; }
.staff-card__text{ flex:1; overflow:auto; min-height:0; }

/* SP：画像は1枚のみ（下側を非表示） */
@media (max-width: 768px){
  .staff-card__right{ display:grid; grid-template-rows: 1fr; }
  .staff-card__photo--bottom{ display:none; }
}

/* 4) 矢印をカードエリアから約20px外側へ */
.staff-nav--left  { right: -60px; }  /* 既存 -40px → -60px（約20px離す） */
.staff-nav--right { left:  -60px; }
@media (max-width: 768px){
  .staff-nav--left  { right: -26px; }
  .staff-nav--right { left:  -26px; }
}

/* 5) サムネイルの要素順（縦並び）と文字サイズ */
.staff-thumb{ background: transparent; }  /* 6) 背景なし */
.staff-thumb__meta{
  display:flex; flex-direction:column; align-items:flex-start; gap:4px;
}
.staff-thumb__name{ font-size:18px; line-height:1.4; color:#0b0ddc; }
.staff-thumb__role{ font-size:12px; line-height:1.4; color:#000; }
/* 部門ロゴは画像の直下にそのまま表示（順番はHTMLの並びで縦積み） */
/* ========== PATCH: STAFF ========== */

/* 1) .staff-card__inner 自体をスクロール可能に（PC時） */
@media (min-width:769px){
  .staff-card__inner{
    height:535px;        /* 指定高さ */
    overflow:auto;       /* カード内で縦スクロール */
  }
  /* テキスト側はネストスクロールを避けるため解除 */
  .staff-card__text{
    max-height:none;
    overflow:visible;
  }
}

/* 2) サムネ部門ロゴ：幅指定ナシ、高さを統一。幅は成り行き＋崩れ防止 */
.staff-thumb{ min-width:0; }  /* はみ出し保護 */
.staff-thumb__meta{ align-items:flex-start; }
.staff-thumb__dept{
  height:15px;          /* 統一したい高さ（必要なら値だけ調整） */
  width:auto;           /* 幅は成り行き */
  max-width:100%;       /* 親幅を超えない */
  display:block;
  object-fit:contain;   /* アスペクト維持 */
}
/* 長い名前でも崩れないように */
.staff-thumb__name,
.staff-thumb__role{ overflow-wrap:anywhere; }

/* ========== /PATCH: STAFF ========== */
/* PATCH: サムネ部門ロゴは高さだけ統一。幅は成り行きで突き抜け可 */
:root { 
  --dept-h-pc: 32px;   /* PCの高さ（お好みで調整） */
  --dept-h-sp: 24px;   /* SPの高さ */ } /* 高さはここで調整 */

.staff-thumb{ 
  min-width: 0;          /* コンテンツの最小幅起因で列が広がるのを防止 */
  overflow: visible;     /* はみ出しを許可 */
}
.staff-thumb__meta{
  min-width: 0; 
  overflow: visible;     /* ロゴが横に突き抜けてもレイアウトを崩さない */
}

.staff-thumb__dept{
  display: block;
  position: relative;    /* 重なり時の描画安定 */
  z-index: 1;
}
/* PATCH: カード内の部門画像は高さを統一（幅は比率で可変） */
.staff-card__dept{
  height: 32px;      /* ← PC時の統一高さ。必要なら数値だけ調整 */
  width: auto;       /* 既存の width:160px を後勝ちで上書き */
  max-width: 100%;   /* 左カラムからはみ出さない保険 */
  object-fit: contain;
}

/* SPは少し小さめに（任意） */
@media (max-width:768px){
  .staff-card__dept{ height: 24px; }
}
/* 常に左寄せに固定（中央寄せの継承を打ち消す） */
.staff-card__left{
  display: flex;            /* 既に指定済みなら重複OK */
  flex-direction: column;
  align-items: flex-start;  /* 横方向の整列＝左寄せ */
  text-align: left;         /* text-align の継承対策 */
}

.staff-card__dept{
  height: 32px;             /* ← 統一したい高さに調整（例：32px） */
  width: auto;              /* 幅は比率で可変 */
  max-width: 100%;          /* はみ出し防止（必要なければ削除可） */
  margin: 0 0 12px 0;       /* 左寄せを明示（autoマージン対策） */
  align-self: flex-start;   /* 親がflexでも中央寄せにならないよう保険 */
}

@media (max-width:768px){
  .staff-card__dept{ height: 24px; }  /* SP用の高さ */
}
/* 写真列をカード外枠（白地）の上端＆右端にピッタリ寄せる */
@media (min-width:769px){
  .staff-card__right{
    margin-top: -20px;    /* 親の padding-top を相殺して上端に密着 */
    margin-right: -20px;  /* 親の padding-right を相殺して右端に密着 */
  }
}
/* サムネの選択状態を3px枠に */
.staff-thumb{
  border: 2px solid transparent;
  box-sizing: border-box; /* 境界太さ変更時のレイアウトずれ防止 */
}
.staff-thumb.is-active{
  border-color: #093ca6;
  border-width: 3px;
}
/* SP時：タイトル装飾の位置を右に少し出す */
@media (max-width:768px){
  .staff-title-bg{ right: -5%; }  /* width/top は既存のまま */
}
/* タイトルを中央揃え */
.staff-title-area{ text-align: center; }
.staff-title{ display: inline-block; text-align: center; }
/* SP：カード一定高＋内部スクロール（最小差分） */
@media (max-width:768px){
  .staff-card__inner{
    max-height: 560px;          /* 好みで 520–600px で調整可 */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* 本文側の個別スクロールは解除（重複スクロールを防ぐ） */
  .staff-card__text{
    max-height: none;
    overflow: visible;
  }
  /* 画像が高さを食い潰さないように：1枚表示＋自然高 */
  .staff-card__right{ grid-template-rows: auto; }
  .staff-card__photo{ height: auto; }
  .staff-card__photo--bottom{ display: none; }
}
/* === STAFF: ヘッダーブロック & テキスト背景（追記） === */
:root { --card-pad: 20px; } /* .staff-card__inner の左右 padding と揃える */

.staff-card__head{
  background:#b3dae8;
  margin:0 0 12px;
  /* 左端に吸着（カードの左paddingぶんだけ外へ） */
  margin-left:calc(-1 * var(--card-pad));
  /* 失われた内側余白を戻す */
  padding:12px 16px 12px var(--card-pad);
}
.staff-card__head .staff-card__dept{ margin:0 0 8px; }
.staff-card__head .staff-card__name{ margin:0 0 6px; }
.staff-card__head .staff-card__role{ margin:0; }

/* 枠自体には背景を付けず、内側divにだけ背景を付与 */
.staff-card__text{ background:none; padding:0; }
.staff-card__text > div{
  background:var(--text-bg) center/contain; /* no-repeat不要のご指定に準拠 */
  padding:16px;
  margin-bottom:16px; /* 背景枠と見出しの間隔 */
}
/* ===== STAFF: 左上ヘッダの吸着 + 右写真欄の固定表示（最小追記） ===== */

/* 既存のカード内余白・カラムギャップに合わせる（デフォルト20px） */
:root{
  --card-pad: 20px;   /* .staff-card__inner の padding と揃える */
  --grid-gap: 20px;   /* .staff-card__inner の gap と揃える */
}

/* 左カラムのヘッダーブロックを左上/右写真にピッタリ */
.staff-card__head{
  background: #b3dae8;
  margin: 0 0 12px;

  /* 左上の白枠余白を打ち消して吸着 */
  margin-left: calc(-1 * var(--card-pad));
  margin-top:  calc(-1 * var(--card-pad));

  /* 右カラムとのカラムギャップ分を食い込ませて “隙間ゼロ” に */
  margin-right: calc(-1 * var(--grid-gap));

  /* 打ち消した分の内側余白を戻す（上は好みで調整可） */
  padding: 12px 16px 12px var(--card-pad);
}
/* ====== STAFF: 指示反映パッチ（最後に追記） ====== */

/* PC 時のカード/画像の基準高（ご指定：630px） */
:root{ --staff-pc-h: 630px; }                    /* 右写真が縦全部入る高さ */
:root{ --grid-gap: 20px; }                       /* 既存 gap=20px 前提 */
:root{ --card-pad: 20px; }                       /* 既存 padding=20px 前提 */

@media (min-width:769px){

  /* 表示窓を 630px に固定（右画像に合わせる） */
  .staff-frame,
  .staff-viewport{ height: var(--staff-pc-h) !important; }

  /* カード群を窓高にフィットさせ、左だけ縦スクロール */
  .staff-track,
  .staff-card,
  .staff-card__inner{ height: 100% !important; }
  .staff-card__inner{
    overflow-y: auto;                /* ← 左カラムのみスクロールする器 */
  }

  /* 右画像欄は“その場で止める”＋カードの右上にピッタリ吸着 */
  .staff-card__right{
    position: sticky; top: -20px;        /* ← 右はスクロールしない（固定） */
    align-self: start;
    height: var(--staff-pc-h);
    margin-top:  calc(-1 * var(--card-pad));   /* 上の白余白を打ち消し */
    margin-right: calc(-1 * var(--card-pad));  /* 右の白余白を打ち消し */
  }
  .staff-card__photo{
    width: 100%;
    height: 100%;
    object-fit: contain;             /* ← 画像の“縦”をすべて見せる */
    display: block;
  }

  /* ヘッダ（水色）は左上から開始し、右写真に“くっつける”。
     ただし本文ブロック（.staff-card__text）は通常のまま。 */
  .staff-card__head{
    background:#b3dae8;
    margin: 0 0 12px;
    /* 左上のカード padding を打ち消して吸着 */
    margin-left: calc(-1 * var(--card-pad));
    margin-top:  calc(-1 * var(--card-pad));
    /* ２カラムの“隙間”(gap) を埋めて右カラムへ接続 */
    margin-right: calc(-1 * var(--grid-gap));
    padding:30px 16px 30px var(--card-pad);
    width:200%;
  }
  /* ヘッダ内の行間は既存のまま微調整 */
  .staff-card__head .staff-card__dept{ margin:0 0 8px; }
  .staff-card__head .staff-card__name{ margin:0 0 6px; }
  .staff-card__head .staff-card__role{ margin:0; }
}

/* 背景つきの短文は“内側のdiv”にのみ背景を持たせる（ご指定のまま） */
.staff-card__text{ background:none; padding:0 0 15px 0; }
.staff-card__text > div{
  background: var(--text-bg) center/contain;   /* no-repeat なし */
  padding:16px;
  margin-top:25px; 
  margin-bottom:25px;                          /* 見出しとの間隔 */
}
@media (min-width:769px){


  /* 画像の“ベースライン隙間”をゼロにする＋縦いっぱい表示 */
  .staff-card__photo{
    display:block;          /* ← inline の余白を無効化 */
    vertical-align:top;     /* 念のため */
    width:100%;
    height:630px;           /* ご指定：PC時は縦全部見せる */
    object-fit:contain;     /* 画像全体を収める */
    object-position:right top; /* 右上基準にピタッと */
    margin:0; border:0; padding:0;
  }
}
/* === SP：画像を「部門・氏名」直下に出す／DOMはそのまま === */
@media (max-width:768px){
  /* 親グリッドを1列にして、表示順を area で定義 */
  .staff-card__inner{
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
      "head"   /* ← 1) 部門・氏名 */
      "right"  /* ← 2) 写真 */
      "text";  /* ← 3) 本文 */
    gap: 20px; /* 既存 gap を維持 */
  }

  /* .staff-card__left を“透明な入れ物”にして中身だけをグリッドの直下へ */
  .staff-card__left{ display: contents; }  /* 子要素(.staff-card__head と .staff-card__text)を親のグリッド項目として扱う */

  /* エリア割り当て */
  .staff-card__head{ grid-area: head; }
  .staff-card__text{ grid-area: text; }
  .staff-card__right{ grid-area: right; }

  /* SPは画像1枚＆自然高、余白ゼロ */
  .staff-card__photo--bottom{ display: none !important; }
  .staff-card__right .staff-card__photo{
    display:block; width:100%; height:auto; object-fit:contain; margin:0; border:0; padding:0;
  }
}
/* ===== STAFF: ヘッダー色の個別指定 ===== */
.staff-card[data-staff="4"] .staff-card__head{ background:#e2efce; } /* 4 */
.staff-card[data-staff="5"] .staff-card__head{ background:#ffe1da; } /* 5 */
.staff-card[data-staff="6"] .staff-card__head{ background:#f9caca; } /* 6 */
.staff-card[data-staff="7"] .staff-card__head{ background:#e4d1e5; } /* 7 */
/* STAFF: 役職サイズ（PC=24px / SP=20px） */
@media (max-width:768px){
  .staff-card__role{
    font-size: 20px;
  }
}

/* ========== /STAFF: デザイン修正パッチ ========== */


/* PC: form-table の見出しセル幅を 250px に（-100px） */
@media (min-width:769px){
  .form-table th{
    width: 250px !important;
  }
}

/* === Back to Top button === */
.pagetop{
  position: fixed; right: 16px; bottom: 16px;
  width: 56px; height: 56px; border: 0; border-radius: 9999px;
  background: rgba(9,60,166,.95); color:#fff; box-shadow: 0 6px 18px rgba(0,0,0,.25);
  display: grid; place-items: center; cursor: pointer;
  opacity: 0; pointer-events: none; transition: opacity .25s ease;
  z-index: 9999;
}
.pagetop:is(:hover,:focus-visible){ filter: brightness(1.1); outline: 2px solid #fff4; outline-offset: 2px; }
.pagetop.is-visible{ opacity: 1; pointer-events: auto; }
.pagetop svg{ width: 22px; height: 22px; }

/* 小さめ端末で少し縮小 */
@media (max-width:768px){
  .pagetop{ width: 48px; height: 48px; right: 12px; bottom: 12px; }
  .pagetop svg{ width: 20px; height: 20px; }
}

/* === Reveal on scroll（左右フェードイン）=== */
.reveal{
  opacity: 0; transform: translateY(8px);
  transition: transform .6s cubic-bezier(.2,.65,.2,1), opacity .6s ease;
  will-change: transform, opacity;
}
.reveal--left{  transform: translateX(-28px); }
.reveal--right{ transform: translateX( 28px); }
.reveal.is-inview{ opacity: 1; transform: none; }

/* 動きが苦手な人の設定を尊重 */
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ===== staff slider: reveal を無効化（保険） ===== */
.staff-section .reveal-left,
.staff-section .reveal-right {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}
@media (max-width:768px){
  .staff-frame{ overflow: hidden; }                   /* 横スクロール抑止 */
  .staff-nav{ z-index: 9999; }                        /* 念のため再指定 */
  /* 10px 内側に寄せる（左右とも） */
  .staff-nav--left{  right: -10px !important; left:auto !important; }
  .staff-nav--right{ left:  -10px !important; right:auto !important; }
}

/* === Staff slider arrows: 最終定義（一本化） === */
/* === Staff slider: 矢印を frame の外に出して最前面に === */
.staff-slider{ position: relative; }              /* 矢印の定位先（基準） */
.staff-frame{ position: relative; overflow: hidden; }  /* コンテンツの切り抜きはここで */
.staff-viewport{ overflow: hidden; }
.staff-track{ display:flex; transition: transform .4s ease; }

/* 矢印：常に最前面＋上下中央。画像より上に来る */
.staff-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 0;
  padding: 0;
  line-height: 0;
  z-index: 2147483647; /* 最高レベルに */
  pointer-events: auto;
}

/* 位置：PC/スマホともに“内側へ 10px” 重ねる */
@media (min-width:769px){
  .staff-nav--left{  right: -60px; left: auto; }  /* 次へ（右側） */
  .staff-nav--right{ left:  -60px; right:auto; }  /* 前へ（左側） */
}
@media (max-width:768px){
  .staff-slider{ overflow: visible; }            /* 念のため可視に */
  .staff-nav--left{  right: -20px; left: auto; }
  .staff-nav--right{ left:  -20px; right: auto; }
}

/* 被り防止：右の大画像に独自の z-index を与えていた場合は下げる */
.staff-card__right{ z-index: 1; } /* sticky があっても矢印より下 */

/* 2025.10.18 ADD */
.corporate-banner-link,
.corporate-banner-bg { display: block; }

/* モバイル（初期値）：幅100% */
.corporate-banner-bg {
  width: 100%;
  height: auto;
  margin: 50px auto 0 auto;
}

/* PC：幅401px固定（ブレークポイントは任意で調整） */
@media (min-width: 1024px) {
  .corporate-banner-bg { width: 70%; }
}



/* アルバイト採用セクション用の追加スタイル */

/* アニメーション定義 */
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

/* アルバイト採用カードのホバーエフェクト */
.recruit-block#parttime > div[style*="grid"] > div:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .recruit-block#parttime > div[style*="grid"] {
    grid-template-columns: 1fr !important;
  }
  
  .recruit-block#parttime h4 {
    font-size: 1rem !important;
  }
  
  .recruit-block#parttime p[style*="font-size: 1.875rem"] {
    font-size: 1.5rem !important;
  }
}

/* 既存のrecruitテーブルスタイルとの互換性を保つ */
.recruit-table--parttime {
  width: 100%;
  border-collapse: collapse;
}

.recruit-table--parttime th,
.recruit-table--parttime td {
  padding: 16px;
  vertical-align: top;
}

.recruit-table--parttime th {
  width: 150px;
  text-align: left;
}

.recruit-table--parttime tr {
  border-bottom: 1px solid #e2e8f0;
}

.recruit-table--parttime tr:last-child {
  border-bottom: none;
}