/*
  Pink/skin-tone theme for JALC LP
  Original green theme is saved as css/style-green.css.
  To return to the original color scheme, link style-green.css instead.
*/
:root {
  --primary: #cb7d7d;
  --primary-dark: #865545;
  --accent: #ae857b;
  --ink: #514743;
  --muted: #786b66;
  --soft: #f2e5e2;
  --line: #e1cdc8;
  --paper: #fff9f8;
}
* { box-sizing: border-box; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "YuGothic", "Noto Sans JP", "Segoe UI", sans-serif;
  color: var(--ink);
  line-height: 1.75;
  background: var(--paper);
}
a { color: var(--primary); }
.max-960 { max-width: 960px; }
.glass-nav {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(134,85,69,.16);
}
.navbar-brand {display:flex;
    align-items:center;
    flex-shrink:0;}
.navbar-brand img { width:48px;height:auto;}
.brand-title{
    white-space:nowrap;
    font-size:1.45rem;
    font-weight:700;
	color:var(--primary);
}
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-right: .4rem;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--primary), #ae857b);
}
.btn-primary {
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary-dark);
  --bs-btn-hover-border-color: var(--primary-dark);
  --bs-btn-disabled-bg: #cdb0a9;
  --bs-btn-disabled-border-color: #cdb0a9;
}
.btn-outline-primary {
  --bs-btn-color: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary);
  --bs-btn-hover-border-color: var(--primary);
}

.btn-outline-dark{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--ink);--bs-btn-hover-bg:var(--ink);--bs-btn-hover-border-color:var(--ink);}
.nav-link{color:var(--ink);font-weight:700;}
.nav-link:hover,.nav-link:focus,.nav-link.active{color:var(--primary);}
.list-group-item{background:rgba(255,255,255,.88);border-color:var(--line);}
.hero { background: var(--paper); }
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,249,248,.16),rgba(255,249,248,.16)),url("../img/bgbg.png");background-size:cover;background-position:center;background-repeat:no-repeat;}
.hero-bg::before,.hero-bg::after{display:none;}
.hero h1{color:var(--primary);text-shadow:0 2px 0 rgba(255,255,255,.72);}
.text-secondary{color:var(--muted)!important;}
.visual-card {
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 34px;
  overflow: hidden;
}
.hero-stats .stat-card {
  height: 100%;
  padding: 1.1rem;
  border-radius: 20px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(134,85,69,.16);
  box-shadow: 0 14px 40px rgba(134,85,69,.10);
}
.stat-card small { display: block; color: var(--muted); font-weight: 700; margin-bottom: .35rem; }
.stat-card strong { display: block; font-size: 1rem; }
.section-padding { padding: 92px 0; }
.soft-bg { background: var(--soft); }
.eyebrow {
  display: inline-block;
  color: var(--primary);
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: .8rem;
}
.section-title h2,
.section-heading { font-weight: 800; letter-spacing: -.02em; }
.news-date { color: var(--primary); font-weight: 800; min-width: 130px; }
.responsive-table-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: var(--paper);
}
.info-table th,
.info-table td,
.fee-table th,
.fee-table td,
.program-table th,
.program-table td {
  padding: 1rem 1.2rem;
  vertical-align: top;
  border-color: var(--line);
}
.info-table th {
  width: 28%;
  min-width: 210px;
  color: var(--primary-dark);
  background: #f7eeec;
}
.fee-table thead th,
.program-table thead th {
  background: var(--primary);
  color: #fff;
  border: none;
  white-space: nowrap;
}
.fee-table .price { color: var(--primary-dark); }
.notice-box,
.unit-note,
.credit-list,
.mail-note {
  padding: 1.4rem;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--paper);
}
.credit-list { max-width: 960px; }
.bento-card{display:block;width:100%;padding:0;border:1px solid #e2c5c0;border-radius:16px;background:#fff;overflow:hidden;text-align:left;}
.bento-card img{display:block;width:100%;height:auto;}
.bento-card span{display:block;padding:12px 14px;font-weight:700;color:#4f4542;}
/*
.bento-card {
  width: 100%;
  padding: 0;
  overflow: hidden;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(134,85,69,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.bento-card:hover,
.bento-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 24px 54px rgba(134,85,69,.14);
}
.bento-card img { display: block; width: 100%; background: var(--paper); }
.bento-card span { display: block; padding: 1rem 1.2rem; font-weight: 800; }
*/
.apply-card {
  position: relative;
  padding: 2rem;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(134,85,69,.08);
}
.apply-card.featured { border-color: rgba(174,133,123,.45); background: linear-gradient(180deg, #f7eeec, #fff); }
.apply-card h3 { font-size: 1.25rem; font-weight: 800; margin-bottom: .8rem; }
.closed-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: .25rem .65rem;
  border-radius: 999px;
  color: #6f4f43;
  background: #eee0dd;
  font-size: .78rem;
  font-weight: 800;
}
.mail-note { max-width: 840px; }
.program-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}
.program-head h3 { margin: 0; font-size: 1.35rem; font-weight: 800; }
.program-head p { margin: 0; color: var(--muted); font-weight: 700; }
.program-table td:first-child { font-weight: 800; color: var(--primary-dark); white-space: nowrap; }
.program-table td:nth-child(2) { white-space: nowrap; color: var(--muted); font-weight: 700; }
.program-table .break-row td { background: #f2e5e2; }
.info-card {
  padding: 2rem;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 45px rgba(134,85,69,.08);
}
.info-card h3 { font-size: 1.25rem; font-weight: 800; }
.icon-bubble {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 1.2rem;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--primary), #ae857b);
  color: #fff;
  font-weight: 900;
  font-size: 1.4rem;
}
.footer { background: #f7eeec; }
.page-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  font-size: 1.2rem;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: .25s ease;
  box-shadow: 0 12px 30px rgba(134,85,69,.28);
}
.page-top.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }

/* お申し込み */
.application-layout{max-width:920px;}
.application-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.application-entry-button{display:flex;min-height:164px;width:100%;align-items:center;justify-content:center;flex-direction:column;padding:1.5rem;border:2px solid var(--primary);border-radius:30px;background:#fff;color:var(--ink);text-align:center;text-decoration:none;box-shadow:0 14px 34px rgba(134,85,69,.10);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease;}
.application-entry-button:hover,.application-entry-button:focus-visible{transform:translateY(-3px);background:#f7eeec;color:var(--ink);border-color:var(--primary-dark);box-shadow:0 20px 44px rgba(134,85,69,.16);}
.application-entry-button:focus-visible{outline:3px solid rgba(203,125,125,.24);outline-offset:4px;}
.application-entry-button.disabled{background:#f2e5e2;color:#7d6f69;border-color:#d9c4be;box-shadow:none;cursor:not-allowed;opacity:1;}
.application-entry-button.disabled:hover{transform:none;background:#f2e5e2;border-color:#d9c4be;box-shadow:none;}
.application-entry-group{display:block;font-size:1.55rem;font-weight:800;line-height:1.35;}
.application-entry-main{display:block;font-size:1.82rem;font-weight:900;line-height:1.35;letter-spacing:.01em;}
.application-entry-status{display:inline-block;margin-top:.65rem;padding:.15rem .65rem;border-radius:999px;background:#e6d4d0;color:#6f5e57;font-size:.78rem;font-weight:800;}
.application-support-box{margin-top:14px;padding:14px 18px;border:2px solid var(--primary);border-radius:24px;background:#fff;}
.application-support-link{display:flex;align-items:center;gap:13px;color:var(--primary-dark);text-decoration:none;line-height:1.55;}
.application-support-link+.application-support-link{margin-top:10px;}
.application-support-link:hover,.application-support-link:focus-visible{color:var(--primary);}
.application-support-link:focus-visible{outline:3px solid rgba(203,125,125,.22);outline-offset:3px;border-radius:12px;}
.application-support-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--soft);color:var(--primary);}
.application-support-icon svg{width:25px;height:25px;}
.application-support-text{display:block;min-width:0;font-size:1.05rem;}
.application-support-title{font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
.application-support-detail{margin-left:.45rem;font-weight:500;}
.application-help{margin:16px 0 0;text-align:center;font-size:1rem;}
.application-help a{color:var(--ink);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
.application-help a:hover,.application-help a:focus-visible{color:var(--primary-dark);}

@media (max-width: 767.98px) {
  .application-entry-grid{grid-template-columns:1fr;gap:14px;}
  .application-entry-button{min-height:132px;padding:1.2rem;border-radius:24px;}
  .application-entry-group{font-size:1.25rem;}
  .application-entry-main{font-size:1.48rem;}
  .application-support-box{padding:13px 14px;border-radius:20px;}
  .application-support-link{align-items:flex-start;gap:11px;}
  .application-support-icon{flex-basis:38px;width:38px;height:38px;}
  .application-support-icon svg{width:22px;height:22px;}
  .application-support-text{font-size:.98rem;}
  .application-support-detail{display:block;margin-left:0;font-size:.9rem;}
  .application-help{text-align:left;font-size:.94rem;}
  .section-padding { padding: 68px 0; }
  .display-4 { font-size: 2.35rem; }
  .news-date { margin-bottom: .4rem; }
  .program-head { display: block; }
  .program-head h3 { font-size: 1.16rem; }
  .responsive-table-card { border: none; background: transparent; box-shadow: none !important; }
  .info-table,
  .info-table tbody,
  .info-table tr,
  .info-table th,
  .info-table td,
  .fee-table,
  .fee-table thead,
  .fee-table tbody,
  .fee-table tr,
  .fee-table th,
  .fee-table td,
  .program-table,
  .program-table thead,
  .program-table tbody,
  .program-table tr,
  .program-table th,
  .program-table td {
    display: block;
    width: 100%;
  }
  .fee-table thead,
  .program-table thead { display: none; }
  .info-table tr,
  .fee-table tr,
  .program-table tr {
    margin-bottom: 1rem;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(134,85,69,.07);
  }
  .info-table th,
  .info-table td,
  .fee-table td,
  .program-table td {
    border: none;
    padding: .9rem 1rem;
  }
  .info-table th {
    min-width: 0;
    color: var(--primary-dark);
    background: #f7eeec;
    font-size: .95rem;
  }
  .fee-table td::before,
  .program-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: .25rem;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
  }
  .program-table td:first-child,
  .program-table td:nth-child(2) { white-space: normal; }
}

.news-scroll{max-height:240px;overflow-y:auto;overflow-x:hidden;}
.news-scroll::-webkit-scrollbar{width:8px;}
.news-scroll::-webkit-scrollbar-thumb{background:#ceb3ad;border-radius:20px;}
.news-scroll::-webkit-scrollbar-track{background:#f7eeec;}

.visual-circle{width:min(100%,520px);aspect-ratio:1/1;border-radius:50%;overflow:hidden;margin-left:auto;background:#efe7e3;display:flex;align-items:center;justify-content:center;}
.visual-circle img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block;}

/* 開催概要内：参加費・紙資料集・お弁当 */
#fee,#social{scroll-margin-top:92px;}
.overview-detail-row>th{font-weight:800;}
.overview-detail-row>td{background:rgba(255,255,255,.52);}
.overview-fee-card{border-radius:18px;background:#fff;}
.overview-fee-table th,.overview-fee-table td{padding:.78rem 1rem;}
.overview-fee-table th{width:auto;min-width:0;}
.overview-fee-table thead th{background:var(--primary);color:#fff;}
.overview-fee-table .price{width:150px;white-space:nowrap;}
.fee-label,.fee-option{color:#3f83b5;font-weight:800;}
.fee-deadline{color:#d74c58;font-weight:800;}
.overview-notice-box{padding:1.1rem 1.2rem;border-radius:18px;background:#fff;}
.overview-bento-grid{max-width:760px;}
.overview-bento-grid .bento-card{border-radius:18px;box-shadow:none;}
.overview-bento-grid .bento-card img{height:220px;object-fit:contain;padding:.7rem;}
.overview-bento-grid .bento-card span{padding:.8rem 1rem;}
#social .responsive-table-card{max-width:960px;margin-inline:auto;}

@media (max-width: 767.98px) {
  .overview-detail-row>td{background:#fff;}
  .overview-fee-card{border:0;overflow:visible;background:transparent;}
  .overview-fee-table .price{width:100%;white-space:normal;}
  .overview-fee-table tr{margin-bottom:.7rem;}
  .overview-notice-box{padding:1rem;border-radius:16px;}
  .overview-bento-grid .bento-card img{height:auto;max-height:260px;}
}

