/* 協賛関連4ページ専用 */
.kyosan-page{background:#f3f4f6;color:#172330;line-height:1.85;overflow-wrap:anywhere;font-size:17px}
.kyosan-page .terms-wrap{max-width:1080px;padding:24px 24px 40px}
.kyosan-page .terms-header{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #adb7c3}
.kyosan-page .terms-site-title{font-size:19px}.kyosan-page .terms-site-title a{color:#172330}
.kyosan-page .terms-site-sub{font-size:14px;color:#394b60}
.kyosan-page .terms-main{background:#fff;border:0;border-radius:8px;padding:28px 32px 32px;box-shadow:0 2px 10px #14253b0a}
.kyosan-page a{color:#124a9b;text-underline-offset:4px;text-decoration-thickness:1px}
.kyosan-page a:focus-visible{outline:3px solid #b45d00;outline-offset:4px}
.kyosan-page .terms-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:#35475d;margin:0 0 24px}
.kyosan-page .terms-title{font-size:28px;font-weight:750;color:#142e50;border:0;padding:0;margin:0 0 22px;line-height:1.5}
/* 旧共通CSSの first-of-type による青い囲みも解除 */
.kyosan-page .terms-section,.kyosan-page .terms-section:first-of-type{background:none;border:0;border-radius:0;padding:0;margin:32px 0 0}
.kyosan-page .terms-section h2,.kyosan-page .terms-section:first-of-type h2{color:#152f51;font-size:23px;font-weight:750;border:0;border-bottom:2px solid #1d3a5e;padding:0 0 10px;margin:0 0 18px;line-height:1.6}
.kyosan-page .terms-section p,.kyosan-page .kyosan-contact p{font-size:17px;line-height:1.9;margin:0 0 12px;color:#172330}
.kyosan-page .terms-section li,.kyosan-page .terms-section:first-of-type li,.kyosan-page .terms-section:first-of-type li:first-child{font-size:17px;color:#172330;font-weight:400;line-height:1.9}
.kyosan-page h3{font-size:19px;color:#152f51;margin:20px 0 10px;line-height:1.65}
.kyosan-page .terms-note,.kyosan-page .terms-section .terms-note,.kyosan-page .kyosan-contact .terms-note{font-size:14px;color:#3c4d61;line-height:1.8;margin:12px 0 0}
.kyosan-page .terms-lead{font-size:17px;line-height:1.9;background:#f0f2f5;border:0;border-left:4px solid #243e60;border-radius:0;padding:16px 20px;margin:0 0 20px}
.kyosan-page .terms-lead p{margin:8px 0 0}
.kyosan-page .terms-links{display:flex;gap:12px;margin:20px 0 0;align-items:stretch;flex-wrap:wrap}
.kyosan-page .terms-btn-main,.kyosan-page .terms-btn-sub{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:50px;font-size:17px;font-weight:700;line-height:1.5;padding:13px 20px;text-align:center;text-decoration:none;border-radius:6px;white-space:normal}
.kyosan-page .terms-btn-main{color:#172b44;background:#ffca58;border:2px solid #e3a629;box-shadow:0 2px 0 #c28d25}
.kyosan-page .terms-btn-main:hover{background:#ffdb88;color:#172b44}
.kyosan-page .terms-btn-sub{background:#fff;border:1px solid #7890af;color:#173f77}
.kyosan-page .terms-btn-sub:hover{background:#e9eff8}
.kyosan-page .kyosan-hero{padding:28px 30px;background:#173657;color:#fff;border:0;border-radius:8px}
.kyosan-page .kyosan-hero .kyosan-label{display:inline-block;background:#fff;color:#153452;padding:3px 12px;font-size:14px;font-weight:700;border-radius:3px;margin:0 0 14px}
.kyosan-page .kyosan-hero h2{font-size:31px;line-height:1.6;font-weight:750;color:#fff;margin:0 0 16px;letter-spacing:.01em}
.kyosan-page .kyosan-hero p{font-size:17px;color:#fff;margin:0 0 12px;line-height:1.85}
.kyosan-page .kyosan-hero .terms-note{color:#e7eef6;font-size:14px;margin:14px 0 0}
.kyosan-page .kyosan-stat{padding:4px 0 4px 22px;border-left:6px solid #d5981a;margin:0 0 20px;background:#fff}
.kyosan-page .kyosan-stat p{margin:0}
.kyosan-page .kyosan-stat .kyosan-stat-value{font-size:20px;color:#173657;margin:4px 0 0}
.kyosan-page .kyosan-stat-value strong{font-size:46px;line-height:1.4;font-weight:800;letter-spacing:.01em;margin-right:8px}
.kyosan-page .kyosan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kyosan-page .kyosan-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.kyosan-page .kyosan-card{padding:18px;background:#f1f3f6;border:0;border-top:3px solid #304c70;border-radius:0;min-width:0}
.kyosan-page .kyosan-card h3{margin:0 0 8px}.kyosan-page .kyosan-card p{margin:0;font-size:16px}
.kyosan-page .terms-list{padding-left:1.4em;margin:12px 0;font-size:17px}
.kyosan-page .terms-list li{padding-left:3px;margin:8px 0}
.kyosan-page .kyosan-steps{list-style:none;counter-reset:steps;display:grid;gap:16px;margin:18px 0 0;padding:0}
.kyosan-page .kyosan-steps li{position:relative;padding:0 0 0 46px;margin:0}
.kyosan-page .kyosan-steps li:before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:3px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#173657;color:#fff;font-size:16px;font-weight:700;line-height:1}
.kyosan-page .kyosan-steps strong,.kyosan-page .kyosan-steps span{display:block}.kyosan-page .kyosan-steps strong{font-size:18px;color:#172b44}.kyosan-page .kyosan-steps span{font-size:16px;line-height:1.85;color:#33445a;margin-top:3px}
.kyosan-page .kyosan-contact{padding:24px;margin-top:32px;background:#f3f4f6;border:0;border-top:4px solid #173657;border-radius:0}
.kyosan-page .kyosan-contact h2{font-size:24px;color:#152f51;margin:0 0 12px;line-height:1.6}
.kyosan-page .kyosan-example{margin:0;padding:20px;background:#f2f4f7;min-width:0;border:1px solid #c4cdda;border-radius:6px}
.kyosan-page figcaption{font-size:18px;font-weight:700;color:#172b44;margin:0 0 14px}
.kyosan-page .kyosan-banner-sample{aspect-ratio:360/100;background:#e0e8f3;border:2px solid #6280a7;color:#1d3d65;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:10px}
.kyosan-page .kyosan-banner-sample span{font-size:13px;line-height:1.4}.kyosan-page .kyosan-banner-sample strong{font-size:21px;line-height:1.6}.kyosan-page .kyosan-banner-sample small{font-size:13px;line-height:1.6}
.kyosan-page .kyosan-text-sample{padding:18px;background:#fff;border:1px solid #aab9cb}.kyosan-page .kyosan-text-sample h3{margin:4px 0 8px}.kyosan-page .kyosan-text-sample .kyosan-label{font-size:13px;color:#3c4d61}.kyosan-page .kyosan-text-sample p{font-size:16px}
.kyosan-page .kyosan-banner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0 0}
.kyosan-page .kyosan-banner{display:flex;align-items:center;justify-content:center;padding:20px;min-width:0;min-height:110px;background:#fff;border:1px solid #aab9cb;border-radius:6px}
.kyosan-page .kyosan-banner img{max-width:100%;max-height:80px;width:auto;height:auto}
.kyosan-page .kyosan-recruit-list{list-style:none;margin:18px 0 0;padding:0;border-top:2px solid #173657}
.kyosan-page .kyosan-recruit-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid #aab9cb;background:#fff}
.kyosan-page .kyosan-recruit-list li:first-child{background:#fff4d9}
.kyosan-page .kyosan-recruit-list li span{font-weight:650}
.kyosan-page .kyosan-recruit-list strong,.kyosan-page .kyosan-status{display:inline-block;white-space:nowrap;font-size:14px;font-weight:700;padding:3px 12px;color:#fff;background:#176045;border-radius:4px;line-height:1.7}
.kyosan-page .kyosan-comparison{border:1px solid #aab9cb;border-top:0;border-radius:4px;overflow:hidden}
.kyosan-page .kyosan-comparison table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.7}
.kyosan-page .kyosan-comparison thead{background:#173657;color:#fff}
.kyosan-page .kyosan-comparison thead th{text-align:left;padding:13px 14px;font-size:15px;font-weight:700;white-space:nowrap}
.kyosan-page .kyosan-comparison tbody th,.kyosan-page .kyosan-comparison tbody td{text-align:left;vertical-align:middle;padding:17px 14px;border-bottom:1px solid #aab9cb}
.kyosan-page .kyosan-comparison tbody th{font-size:17px;color:#173657;min-width:170px}
.kyosan-page .kyosan-comparison tbody tr:nth-child(even){background:#f3f5f8}
.kyosan-page .kyosan-comparison tbody tr:first-child{background:#fff4d9}
.kyosan-page .kyosan-comparison tbody tr:last-child th,.kyosan-page .kyosan-comparison tbody tr:last-child td{border-bottom:0}
.kyosan-page .kyosan-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kyosan-page .kyosan-table-scroll{max-width:100%;overflow-x:auto;border:1px solid #aab9cb;margin-top:16px;overscroll-behavior-x:contain}
.kyosan-page .kyosan-plan-table{min-width:900px;width:100%;border-collapse:collapse;margin:0;font-size:16px}
.kyosan-page .kyosan-plan-table th,.kyosan-page .kyosan-plan-table td{border:1px solid #aab9cb;padding:14px;vertical-align:top}
.kyosan-page .kyosan-plan-table th{background:#173657;color:#fff}
.kyosan-page .kyosan-plan-table td:first-child{min-width:180px}.kyosan-page .kyosan-plan-table td:nth-child(4){min-width:260px}
.kyosan-page .kyosan-price-main{font-size:20px;font-weight:750;color:#173657;white-space:nowrap}
.kyosan-page .kyosan-mobile-table-note{display:none}
@media(max-width:900px){.kyosan-page .terms-wrap{padding:18px 18px 28px}.kyosan-page .terms-main{padding:24px}.kyosan-page .kyosan-grid:not(.kyosan-grid-two){grid-template-columns:1fr}.kyosan-page .kyosan-mobile-table-note{display:block}.kyosan-page .kyosan-comparison thead{display:none}.kyosan-page .kyosan-comparison table,.kyosan-page .kyosan-comparison tbody,.kyosan-page .kyosan-comparison tr{display:block}.kyosan-page .kyosan-comparison tbody tr{padding:18px 20px;border-top:1px solid #aab9cb}.kyosan-page .kyosan-comparison tbody th{display:block;border:0;padding:0 0 12px;font-size:19px}.kyosan-page .kyosan-comparison tbody td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;border:0;padding:5px 0;align-items:start}.kyosan-page .kyosan-comparison td:before{content:attr(data-label);font-size:14px;color:#3c4d61}.kyosan-page .kyosan-status{justify-self:start}.kyosan-page .kyosan-comparison td br{display:none}}
@media(max-width:560px){.kyosan-page .terms-wrap{padding:14px 10px 24px}.kyosan-page .terms-main{padding:20px 16px}.kyosan-page .terms-title{font-size:25px}.kyosan-page .terms-section h2,.kyosan-page .terms-section:first-of-type h2{font-size:21px}.kyosan-page .kyosan-hero{padding:22px 18px}.kyosan-page .kyosan-hero h2{font-size:25px}.kyosan-page .kyosan-wide-only{display:none}.kyosan-page .kyosan-hero br:not(.kyosan-wide-only){display:none}.kyosan-page .kyosan-grid-two,.kyosan-page .kyosan-banner-grid{grid-template-columns:1fr}.kyosan-page .terms-links{flex-direction:column}.kyosan-page .terms-btn-main,.kyosan-page .terms-btn-sub{width:100%;padding:13px 14px}.kyosan-page .kyosan-stat{padding-left:16px}.kyosan-page .kyosan-stat-value strong{font-size:38px}.kyosan-page .kyosan-stat .kyosan-stat-value{font-size:17px}.kyosan-page .kyosan-contact{padding:20px 16px}.kyosan-page .kyosan-contact h2{font-size:22px}.kyosan-page .kyosan-recruit-list li{padding:16px 10px;align-items:flex-start}.kyosan-page .kyosan-comparison tbody tr{padding:16px 14px}.kyosan-page .kyosan-comparison tbody td{grid-template-columns:82px minmax(0,1fr);gap:10px}.kyosan-page .terms-section,.kyosan-page .terms-section:first-of-type{margin-top:28px}}

/* 余白・装飾の再調整 */
.kyosan-page .terms-wrap{max-width:940px}
.kyosan-page .terms-main{padding:26px 30px;box-shadow:none}
.kyosan-page .terms-title{font-size:27px;margin-bottom:24px}
.kyosan-page .kyosan-hero{background:none;color:#172330;padding:0;border:0;border-radius:0}
.kyosan-page .kyosan-hero h2{color:#172b44;font-size:25px;line-height:1.7;margin:0 0 14px;letter-spacing:0}
.kyosan-page .kyosan-hero p{color:#172330;font-size:17px;margin:0 0 12px}
.kyosan-page .kyosan-hero .terms-note{color:#3c4d61;font-size:14px}
.kyosan-page .terms-section h2,.kyosan-page .terms-section:first-of-type h2{border:0;padding:0;margin-bottom:14px;font-size:21px}
.kyosan-page .terms-section,.kyosan-page .terms-section:first-of-type{margin-top:30px}
.kyosan-page .kyosan-stat{padding:0;border:0;background:none;margin:0 0 16px}
.kyosan-page .kyosan-stat p{font-size:17px;margin:0}
.kyosan-page .kyosan-stat strong{font-size:19px;line-height:inherit;letter-spacing:0;margin:0;font-weight:750;color:#173657}
.kyosan-page .kyosan-card{border:0;padding:16px;background:#f2f3f5}
.kyosan-page .kyosan-card h3{font-size:18px;margin-bottom:8px}
.kyosan-page .kyosan-contact{border:0;margin-top:30px;padding:20px;background:#f2f3f5}
.kyosan-page .kyosan-contact h2{font-size:21px}
.kyosan-page .kyosan-example{border:0;border-radius:4px;padding:18px}
.kyosan-page .kyosan-text-sample{border:0;padding:18px;background:#fff}
.kyosan-page .kyosan-text-sample .kyosan-label{display:none}
.kyosan-page .kyosan-text-sample h3{margin:0;font-size:19px}
@media(max-width:560px){
 .kyosan-page .terms-main{padding:20px 16px}
 .kyosan-page .kyosan-hero{padding:0}
 .kyosan-page .kyosan-hero h2{font-size:23px}
 .kyosan-page .kyosan-stat{padding:0}
 .kyosan-page .kyosan-stat strong{font-size:18px}
 .kyosan-page .kyosan-grid{gap:12px}
 .kyosan-page .kyosan-contact{padding:18px 16px}
}

/* 募集ページだけに視線の入口をつくる。掲載条件ページのデザインは維持。 */
.kyosan-home .kyosan-hero{padding:20px 22px;background:#eef3fa;border-radius:6px}
.kyosan-home .kyosan-hero .kyosan-home-label{display:inline-block;padding:4px 12px;background:#173657;color:#fff;border-radius:3px;font-size:14px;font-weight:700;margin:0 0 12px}
.kyosan-home .kyosan-hero h2{font-size:25px;line-height:1.65;color:#153453;margin:0 0 14px}
.kyosan-home .kyosan-stat{padding:16px 18px;background:#fff4d9;border-radius:4px}
.kyosan-home .kyosan-stat strong{font-size:19px}
.kyosan-home .terms-section:first-of-type h2{color:#173657}
/* 個別案内は画面幅を使って料金表を表示。スマホでは各プランを縦に表示。 */
.kyosan-guide .terms-wrap{max-width:1400px}
.kyosan-guide .kyosan-table-scroll{overflow:visible}
.kyosan-guide .kyosan-plan-table{min-width:0;width:100%;table-layout:fixed}
.kyosan-guide .kyosan-plan-table th,.kyosan-guide .kyosan-plan-table td{min-width:0!important;white-space:normal!important;padding:14px 12px;overflow-wrap:anywhere}
.kyosan-guide .kyosan-plan-table th:nth-child(1){width:18%}
.kyosan-guide .kyosan-plan-table th:nth-child(2){width:12%}
.kyosan-guide .kyosan-plan-table th:nth-child(3){width:12%}
.kyosan-guide .kyosan-plan-table th:nth-child(4){width:32%}
.kyosan-guide .kyosan-plan-table th:nth-child(5){width:10%}
.kyosan-guide .kyosan-plan-table th:nth-child(6){width:16%}
.kyosan-guide .kyosan-plan-table td:nth-child(2),.kyosan-guide .kyosan-plan-table td:nth-child(3){white-space:nowrap!important}
.kyosan-guide .kyosan-price-main{font-size:19px}
@media(max-width:900px){
 .kyosan-guide .kyosan-table-scroll{border:0}
 .kyosan-guide .kyosan-plan-table,.kyosan-guide .kyosan-plan-table tbody{display:block}
 .kyosan-guide .kyosan-plan-table thead{display:none}
 .kyosan-guide .kyosan-plan-table tr{display:block;margin-bottom:16px;border:1px solid #aab9cb;border-radius:5px;overflow:hidden}
 .kyosan-guide .kyosan-plan-table td{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;width:auto;border:0;border-bottom:1px solid #d7dee7;padding:12px 16px}
 .kyosan-guide .kyosan-plan-table td:before{content:attr(data-label);font-size:14px;color:#3c4d61;font-weight:600}
 .kyosan-guide .kyosan-plan-table td:first-child{display:block;background:#173657;color:#fff;font-size:18px}
 .kyosan-guide .kyosan-plan-table td:first-child:before{display:none}
 .kyosan-guide .kyosan-plan-table td:last-child{border-bottom:0}
}
@media(max-width:560px){
 .kyosan-home .kyosan-hero{padding:18px 16px}
 .kyosan-home .kyosan-hero h2{font-size:23px}
 .kyosan-guide .kyosan-plan-table td{grid-template-columns:100px minmax(0,1fr);gap:10px;padding:12px}
}
