@charset "UTF-8";
/* academy 共通
============================*/
.academy__page {background:#fff;}
.academy__main {padding-bottom:0;}
.academy__inner-l {max-width:calc(100% - 186px); margin-left:auto; padding-inline:20px 0;}
.academy__inner {max-width:calc(1060px + 40px); margin:0 auto; padding:0 20px;}

/* hero
============================*/
.academy__hero {height:63.4rem; overflow:hidden;}
.academy__hero-bg {position:absolute; top:0; right:0; bottom:0; left:20.6rem; overflow:hidden; background-image:url(../img/academy/kv_photo.png); background-repeat:no-repeat; background-size:190.13% auto; background-position:86.61% 40%;}
.academy__hero-bg img {position:absolute; width:0; height:0; opacity:0;}
.academy__hero-ttl {position:absolute; z-index:2; left:5rem; top:50%; transform:translateY(-50%); width:60.4rem; max-width:47.94%;}
.academy__hero-ttl img {display:block; width:100%; height:auto;}

/* 1500px超は高さを画面幅に応じて可変に（1500pxで63.4remと一致） */
@media screen and (min-width:1500px) {
  .academy__hero {height:42.27vw;}
}

@media screen and (max-width:1024px) {
  .academy__hero {height:48rem;}
  .academy__hero-bg {left:8rem;}
  .academy__hero-ttl {left:4rem; width:44rem; max-width:44%;}
}
@media screen and (max-width:767px) {
  .academy__hero {height:32rem;}
  .academy__hero-bg {left:6rem;}
  .academy__hero-ttl {left:2rem; width:26rem; max-width:56%;}
}

/* intro
============================*/
.academy__intro {padding-block:106px 135px;}
.academy__intro-catch {margin-bottom:23px; display:inline-flex; flex-direction: column; row-gap: 13px;}
.academy__intro-catch li {display:inline-block; background:#00a32f; color:#fff; font-weight:bold; font-size:1.8rem; letter-spacing:.05em; line-height:1.8; padding:.2em .8em; width: fit-content;}
.academy__intro-catch--sp {display:none;}
.academy__intro-layout {display: flex; flex-direction:row-reverse; justify-content:space-between; gap:41px;}
.academy__intro-photo {overflow:hidden; flex:1; max-width: 900px;}
.academy__intro-txt {flex:0.5; margin-top:36px; min-width:391px; font-size:1.6rem; line-height:2.1; letter-spacing:.05em; color:#2b2b2b; text-align:justify; border-bottom: 1px solid #00A32F; align-self:flex-start; height:fit-content; padding-bottom:50px; max-width: 500px;}

@media screen and (max-width:1200px) {
  .academy__intro-photo {width:80%; margin-left:auto;}
  .academy__inner-l {max-width: calc(100% - 80px);}
  .academy__intro-txt {margin-top: 0; padding-bottom: 20px;}
  .academy__intro {padding-block:50px 90px;}
  .academy__intro-layout {flex-direction:column;}
  .academy__intro-txt br:nth-of-type(even) {display:none;}
  .academy__intro-txt {max-width: none;}
  .academy__support-ttl{margin-top:-104px;}
  .academy__program-badge {height:fit-content;
  }
}
@media screen and (max-width:1024px) {
  .academy__intro-catch li {font-size:1.5rem;}
  .academy__intro-txt {font-size:1.5rem; line-height:1.9;}
}
@media screen and (max-width:767px) {
  .academy__intro-photo {width:80%; margin-left:auto;}
  .academy__inner-l {max-width:100%;}
  .academy__intro {padding:40px 0 60px;}
  .academy__intro-layout {gap:20px;}
  .academy__intro-catch {margin-bottom:30px;}
  .academy__intro-catch li {display:block; width:fit-content; font-size:1.4rem;}
  .academy__intro-txt {max-width:none; font-size:1.4rem; line-height:1.8; margin-right:20px;}
  .academy__intro-txt br {display: none;}
  .academy__intro-txt br:nth-of-type(4) {display: block;}
  .academy__intro-txt br:nth-of-type(5) {display: block;}
}
@media screen and (max-width:468px) {
  .academy__intro-catch--pc {display:none;}
  .academy__intro-catch--sp {display:inline-flex;}
  .academy__intro-catch {row-gap:8px;}
  .academy__intro-catch li {padding:.2em .5em;}
    .academy__intro-txt {min-width:auto;}
}

/* support
============================*/
.academy__support {padding-block:76px 55px; background:#E1FFEA;}
.academy__support-ttl {position:relative; z-index:1; margin-top:-104px; border:1px solid #00a32f; color:#00a32f; background-color:#fff; text-align:center; font-weight:bold; font-size:2.2rem; letter-spacing:.1em; line-height:54px; padding-inline:33px; width:fit-content; margin-inline:auto;}
.academy__support-list {margin-top:49px; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); justify-items:center; gap:29px 50px; max-width:550px; margin-inline:auto;}
.academy__support-item {max-width:360px; text-align:center;}
.academy__support-icon {max-width:100%; margin:0 auto;}

@media screen and (max-width:1024px) {
  .academy__support {padding:60px 0;}
  .academy__support-ttl {font-size:1.8rem; margin-top:-88px;}
  .academy__support-list {gap:40px 5%;}
}
@media screen and (max-width:767px) {
  .academy__support {padding:40px 0;}
  .academy__support-ttl {font-size:1.6rem; padding-inline:.8em; margin-top:-68px;}
  .academy__support-list {grid-template-columns:1fr; gap:30px;}
  .academy__support-item {max-width:280px; margin:0 auto;}
}

/* programs
============================*/
.academy__programs {position:relative; padding:80px 0;}
.academy__programs::before {content:""; position:absolute; top:108px; left:0; right:0; bottom:0; z-index:0; pointer-events:none; background-repeat:repeat; background-size:15px 15px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15'%3E%3Cpath d='M0 0H15' stroke='rgba(129,163,150,0.2)' stroke-width='0.5'/%3E%3Cpath d='M0 0V15' stroke='rgba(129,163,150,0.2)' stroke-width='0.5'/%3E%3C/svg%3E");}
.academy__programs > .academy__inner {position:relative; z-index:1;}
.academy__programs-ttl {border-top:1px solid #00a32f; border-bottom:1px solid #00a32f; color:#00a32f; background-color:#f7ffe8; text-align:center; font-weight:bold; font-size:2.2rem; letter-spacing:0; line-height:2.45; padding-inline:60px; width:fit-content; margin-inline:auto;}
.academy__programs-ttl-br {display:none;}
.academy__program-list {display:flex; flex-direction:column; gap:105px; max-width:1060px; margin-inline:auto; margin-top:86px;}
.academy__program-card {position:relative; display:flex; flex-wrap:wrap; align-items:stretch; gap:0 5%; background:#fff; border:solid 1px #00a32f; border-radius:6px; padding:40px 5% 40px 4%; align-items: center;}
.academy__program-badge {position:absolute; top:0; right:5%; transform:translateY(-50%); background:#ffee00; color:#00a32f; font-weight:bold; font-size:1.4rem; text-align:center; line-height:1.5; padding:.8em 1.4em;}
.academy__program-badge--apply {padding:.6em 1.6em;}
.academy__program-photo {flex:333; max-width:333px; align-self:center;}
.academy__program-body {flex:575; min-width:280px;}
.academy__program-target {display:flex; flex-wrap:wrap; align-items:center; gap:.6em; color:#00a32f; font-size:1.4rem; font-weight:500;}
.academy__program-target-icon {width:1px; height:14px; flex-shrink:0;}
.academy__program-ttl {color:#00a32f; font-size:2.2rem; font-weight:bold;}
.academy__program-txt {margin-top:20px; font-size:1.4rem; line-height:1.8; color:#2b2b2b; text-align:justify;}
.academy__program-tags {margin-top:25px; display:flex; flex-wrap:wrap; gap:10px;}
.academy__program-tags li {border:solid 1px #00a32f; color:#00a32f; font-weight:bold; font-size:1.4rem; line-height:1.8; padding-inline:1em; border-radius:60px;}
.academy__program-note {font-size:1.1rem; color:#2b2b2b; margin-top:6px;}
.academy__program-btn a {margin-top:23px; width:fit-content; display:inline-flex; align-items:center; gap:10px; background:#00a32f; color:#fff; font-weight:bold; font-size:1.6rem; letter-spacing:.1em; line-height:2.4; padding-inline:1.4em; border-radius:5px;}
.academy__program-btn img {width:14px; height:auto;}
.academy__program-info {background:#f7ffe8; border-top:solid 1px #00a32f; border-bottom:solid 1px #00a32f; color:#00a32f; font-weight:bold; font-size:1.4rem; text-align:center; padding:.8em 1em; margin-top:25px;}

@media screen and (max-width:1024px) {
  .academy__programs::before {top:84px}
  .academy__programs {padding:60px 0;}
  .academy__programs-ttl {font-size:1.8rem; padding-inline:40px; margin-bottom:40px;}
  .academy__program-list {gap:40px;}
  .academy__program-card {flex-direction:column; padding:30px 5% 30px;}
  .academy__program-photo {flex:0 1 100%; max-width:none; margin:0 auto 20px;}
  .academy__program-body {flex:1 1 100%; min-width:0;}
  .academy__program-badge {position:static; top:auto; right:auto; left:auto; transform:none; width:fit-content; margin:0 0 20px; z-index:auto;}
  .academy__program-badge br {display:none;}
  .academy__program-ttl {font-size:2rem;}
}
@media screen and (max-width:767px) {
  .academy__programs {padding:40px 0;}
  .academy__programs-ttl {font-size:1.6rem; padding-inline:24px; margin-bottom:30px;}
  .academy__program-list {gap:30px;}
  .academy__program-badge {font-size:1.2rem; padding:.6em 1em; text-align:left;}
  .academy__program-ttl {font-size:1.8rem;}
  .academy__program-txt {font-size:1.3rem;}
  .academy__program-btn a {width:100%; justify-content:center;}
}
@media screen and (max-width:468px) {
  .academy__programs-ttl-br {display:block;}
}

/* contact
============================*/
.academy__contact {background:#00A32F; color:#fff; text-align:center; padding:60px 0;}
.academy__contact-ttl {font-size:2.2rem; font-weight:bold; letter-spacing:.2em; padding-block:.8em; border-top:solid 1px #fff; border-bottom:solid 1px #fff; max-width:400px; margin-left:auto; margin-right:auto;}
.academy__contact-org {margin-top:26px; font-size:1.6rem; font-weight:bold; letter-spacing:.1em;}
.academy__contact-dept {margin-top:8px; font-size:1.6rem; font-weight:bold; letter-spacing:.1em;}
.academy__contact-tel {display:flex; align-items:center; justify-content:center; gap:10px; font-size:2.2rem; font-weight:bold; letter-spacing:.1em; margin-top:16px;}
.academy__contact-tel img {width:19px; height:auto;}

@media screen and (max-width:1024px) {
  .academy__contact {padding:50px 0;}
  .academy__contact-ttl {font-size:1.8rem;}
  .academy__contact-tel {font-size:1.8rem;}
}
@media screen and (max-width:767px) {
  .academy__contact {padding:40px 0;}
  .academy__contact-ttl {font-size:1.6rem;}
  .academy__contact-org {margin-top:16px; font-size:1.3rem;}
  .academy__contact-dept {font-size:1.3rem;}
  .academy__contact-tel {font-size:1.6rem;}
}

/* employee (プログラム詳細)
============================*/
.academy-employee__kv {position:relative; height:63.4rem; overflow:hidden;}
.academy-employee__kv-photo {position:absolute; inset:0; overflow:hidden; background-image:url(../img/academy/employee/kv_photo.png); background-repeat:no-repeat; background-size:159.06% auto; background-position:82.9% 40%;}
.academy-employee__kv-photo img {position:absolute; width:0; height:0; opacity:0;}
.academy-employee__kv-photo::after {content:""; position:absolute; inset:0;}
.academy-employee__kv-body {position:absolute; z-index:1; top:50%; left:100px; transform:translateY(-50%);}
.academy-employee__kv-ttl {width:fit-content; min-width:51.2rem; padding:0 0 20px 34px; border-left:4px solid #ffee00; border-bottom:1px solid #fff; color:#fff; font-size:4.5rem; font-weight:500; letter-spacing:.1em; white-space:nowrap;}

/* 1500px超は高さを画面幅に応じて可変に（1500pxで63.4remと一致） */
@media screen and (min-width:1500px) {
  .academy-employee__kv {height:42.27vw;}
}

@media screen and (max-width:1024px) {
  .academy-employee__kv {height:48rem;}
  .academy-employee__kv-body {left:60px;}
  .academy-employee__kv-ttl {width:auto; min-width:0; font-size:3.4rem;}
}
@media screen and (max-width:767px) {
  .academy-employee__kv {height:32rem;}
  .academy-employee__kv-body {left:20px; right:20px;}
  .academy-employee__kv-ttl {padding-left:20px; border-left-width:3px; font-size:2.2rem; display:inline-block;}
}

.academy-employee__intro {padding-block:97px 81px; background:#e1ffea;}
.academy-employee__intro-inner {display:flex; align-items:center; justify-content:space-between; gap:40px; max-width:1060px; margin-inline:auto; padding-inline:20px;}
.academy-employee__intro-txt {flex:1; max-width:536px; color:#00a32f; font-size:1.6rem; font-weight:500; line-height:2.1; letter-spacing:.05em;}
.academy-employee__intro-illust {flex-shrink:0; width:420px;}
.academy-employee__intro-illust img {display:block; width:100%; height:auto;}

/* イントロ：テキスト上・幅広イラスト下の縦積みレイアウト */
.academy-employee__intro-inner--stacked {flex-direction:column; align-items:stretch; gap:40px;}
.academy-employee__intro-txt--wide {max-width:60.6rem; margin-inline:auto;}
.academy-employee__intro-illust--wide {width:100%; max-width:900px; margin-inline:auto;}

@media screen and (max-width:1024px) {
  .academy-employee__intro-inner {flex-direction:column; text-align:center;}
  .academy-employee__intro-illust {margin-inline:auto;}
}
@media screen and (max-width:767px) {
  .academy-employee__intro {padding-block:40px;}
  .academy-employee__intro-txt {font-size:1.4rem; line-height:1.8;}
  .academy-employee__intro-illust {width:280px;}
  .academy-employee__intro-illust--wide {width:100%;}
}

.academy-employee__block-ttl {display:flex; align-items:center; gap:24px; margin-bottom:10px; color:#00a32f; font-size:2.2rem; font-weight:bold; text-align:center;}
.academy-employee__block-ttl::before, .academy-employee__block-ttl::after {content:""; flex:1; height:1px; background:#00a32f;}

.academy-employee__overview {padding-block:65px 0px;}
.academy-employee__notes {margin-bottom:17px; color:#2b2b2b; font-size:1.4rem; line-height:2.1; letter-spacing:.05em;}
.academy-employee__target {display:flex; flex-wrap:wrap; align-items:center; gap:20px; color:#00a32f; font-size:2rem; font-weight:500;}
.academy-employee__target-badge {display:inline-flex; align-items:center; justify-content:center; background:#ffee00; border:1px solid #00a32f; border-radius:60px; padding-inline:1em; color:#00a32f; font-size:1.8rem; font-weight:bold; line-height:1.8;}

@media screen and (max-width:767px) {
  .academy-employee__overview {padding-block:40px 20px;}
  .academy-employee__notes {font-size:1.2rem;}
  .academy-employee__target {font-size:1.6rem;}
  .academy-employee__target-badge {font-size:1.4rem;}
}

.academy-employee__schedule {padding-block:40px 75px;}
.academy-employee__table {width:100%; border-collapse:collapse; font-size:1.4rem;}
.academy-employee__table thead th {background:#00a32f; border-left:1px solid #fff; padding:10px 20px; color:#fff; font-size:1.6rem; font-weight:bold;}
.academy-employee__table thead th:first-child {border-left:none;}
.academy-employee__table tbody td {border:1px solid #00a32f; padding:20px; vertical-align:middle; color:#2b2b2b;}
.academy-employee__table tbody:nth-of-type(even) td {background:#f7ffe8;}
.academy-employee__col-date, .academy-employee__col-time {width:15.5%; text-align:center; font-size:1.8rem; font-weight:bold;}
.academy-employee__cell-inner {display:inline-block; text-align:left;}
.academy-employee__col-content {width:38%; text-align:left; padding:20px 30px;}
.academy-employee__col-capacity {width:15.5%; text-align:center; font-size:1.8rem; font-weight:bold;}
.academy-employee__table tbody td.academy-employee__col-capacity {padding-inline:8px;}
.academy-employee__capacity-sub {font-size:1.4rem;}
.academy-employee__col-apply {width:15.5%; text-align:center;}
.academy-employee__mode {margin-bottom:10px; font-size:1.4rem;}
.academy-employee__divider {display:block; width:100%; margin:10px 0; border:0; border-top:1px dashed #00a32f;}
.academy-employee__content-item {padding:6px 0;}
.academy-employee__content-ttl {margin-bottom:6px; font-size:1.4rem; font-weight:bold; line-height:1.4;}
.academy-employee__content-txt {font-size:1.4rem; line-height:1.4;}
.academy-employee__venue {margin-top:10px; font-size:1.4rem;}
.academy-employee__apply {display:inline-flex; align-items:center; gap:8px; color:#00a32f; font-size:1.8rem; font-weight:bold; text-decoration:none;}
.academy-employee__apply img {width:20px; height:20px;}
.academy-employee__apply.is-disabled {color:#808080;}

@media screen and (max-width:767px) {
  .academy-employee__schedule {padding-block:20px 40px;}
  .academy-employee__table, .academy-employee__table thead, .academy-employee__table tbody, .academy-employee__table th, .academy-employee__table td, .academy-employee__table tr {display:block; width:auto;}
  .academy-employee__table thead {display:none;}
  .academy-employee__table tbody {margin-bottom:20px; border:2px solid #00a32f; overflow:hidden;}
  .academy-employee__table tbody tr + tr {border-top:1px solid #00a32f;}
  .academy-employee__table tbody td {border:0; border-bottom:1px dashed rgba(0,163,47,.4); padding:14px 16px; text-align:left;}
  .academy-employee__table tbody tr td:last-child {border-bottom:0;}
  .academy-employee__col-content {padding:14px 16px;}
  .academy-employee__col-apply {text-align:left;}
  .academy-employee__table tbody td.academy-employee__col-capacity {padding-inline:16px;}
  .academy-employee__cell-inner br {display:none;}
  .academy-employee__table td[data-label]::before {content:attr(data-label); display:block; margin-bottom:4px; color:#00a32f; font-size:1.1rem; font-weight:bold;}
}

.academy-employee__access {padding-block:20px 87px;}
.academy-employee__access-list {display:flex; flex-wrap:wrap; gap:40px; margin-top:40px;}
.academy-employee__access-card {position:relative; flex:1 1 460px; border:1px solid #00a32f; border-radius:6px; padding:50px 30px 30px; text-align:center; max-width:418px; margin-inline:auto;}
.academy-employee__access-name {position:absolute; top:0; left:50%; transform:translate(-50%, -50%); background:#f7ffe8; border:1px solid #00a32f; border-radius:90px; padding:.8em 2em; color:#00a32f; font-size:1.4rem; font-weight:bold; white-space:nowrap; box-shadow:0 0 0 18px #fff;}
.academy-employee__access-info {display:inline-block; text-align:left;}
.academy-employee__access-addr {margin-bottom:12px; font-size:1.4rem; line-height:1.6;}
.academy-employee__access-routes {display:block; margin:0 0 24px; text-align:left;}
.academy-employee__access-routes li {position:relative; padding-left:16px; font-size:1.4rem; line-height:1.8;}
.academy-employee__access-routes li::before {content:""; position:absolute; top:.6em; left:0; width:8px; height:8px; border-radius:50%; background:#00a32f;}
.academy-employee__access-btn a {width:fit-content; display:inline-flex; align-items:center; gap:10px; background:#00a32f; border-radius:5px; padding:.4em .8em; color:#fff; font-size:1.6rem; font-weight:bold; letter-spacing:.1em;}
.academy-employee__access-btn img {width:14px; height:auto;}
.academy-employee__access-list--single {justify-content:center;}

@media screen and (max-width:767px) {
  .academy-employee__access {padding-block:10px 40px;}
  .academy-employee__access-list {display:grid; grid-template-columns:1fr; grid-auto-rows:1fr; gap:70px;}
  .academy-employee__access-card {flex:none; width:100%; max-width:none;}
}

/* employee (プログラム詳細・シンプル表)
============================*/
.academy-employee__info {padding-block:27px 65px;}
.academy-employee__info-table {width:100%; border-collapse:collapse; font-size:1.4rem;}
.academy-employee__info-table th {width:164px; background:#00a32f; border:1px solid #00a32f; border-bottom-color:#fff; padding:10px 20px; color:#fff; font-size:1.8rem; font-weight:bold; text-align:center; vertical-align:middle;}
.academy-employee__info-table tr:last-child th {border-bottom-color:#00a32f;}
.academy-employee__info-table td {background:#fff; border:1px solid #00a32f; padding:20px 30px; color:#2b2b2b; text-align:left; vertical-align:middle;}
.academy-employee__apply-note {margin-top:30px; padding:15px 20px; background:#f7ffe8; border-top:1px solid #00a32f; border-bottom:1px solid #00a32f; color:#00a32f; font-size:2rem; font-weight:bold; text-align:center;}

@media screen and (max-width:767px) {
  .academy-employee__info-table, .academy-employee__info-table tbody, .academy-employee__info-table tr, .academy-employee__info-table th, .academy-employee__info-table td {display:block; width:auto;}
  .academy-employee__info-table tr {margin-bottom:16px; border:1px solid #00a32f; border-radius:6px; overflow:hidden;}
  .academy-employee__info-table th {border:0; border-bottom:1px solid #00a32f; text-align:left; padding:10px 16px;}
  .academy-employee__info-table td {border:0; padding:14px 16px;}
  .academy-employee__apply-note {font-size:1.6rem;}
}
