diff --git a/newweb_idea/newweb_jdmain.css b/newweb_idea/newweb_jdmain.css index cf8370f..1fbdb16 100644 --- a/newweb_idea/newweb_jdmain.css +++ b/newweb_idea/newweb_jdmain.css @@ -2,8 +2,6 @@ * jdmain.css — Junior-Doctor Chokai Academy * ============================================================ * デザイン方針: 白基調・余白重視・カード型レイアウト - * 参考: やまがたAI部サイト (yamagata-ai.org) - * * ▼ テーマカラー変更はここだけ ▼ * ============================================================ */ @@ -30,7 +28,6 @@ --c-link: var(--c-found); /* --- 背景 --- */ - --c-bg: #fafafa; --c-bg-white: #fff; --c-bg-header: rgba(255, 255, 255, .95); @@ -107,7 +104,9 @@ } body { - font-family: 'Noto Serif JP', 'Yu Mincho', 'YuMincho', '游明朝', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'ヒラギノ明朝 ProN', 'MS Mincho', 'MS 明朝', serif; + font-family: 'Noto Serif JP', 'Yu Mincho', 'YuMincho', '游明朝', + 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'ヒラギノ明朝 ProN', + 'MS Mincho', 'MS 明朝', serif; color: var(--c-text); background: transparent; line-height: 1.75; @@ -131,16 +130,6 @@ margin-left: 1.5em; } -.erase-line { - text-decoration: line-through; -} - -div.scrollbox { - height: 6em; - overflow: auto; - background: var(--c-school-pale); -} - /* ============================================================ ヘッダー @@ -269,7 +258,6 @@ background: var(--c-school); } -/* 開いた状態 */ .site-header__hamburger.is-open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); } @@ -334,7 +322,6 @@ color: var(--c-school); } - /* ドロワー背景オーバーレイ */ .site-header__overlay { display: none; position: fixed; @@ -348,109 +335,6 @@ } } -/* ── 旧クラス互換(既存JSが .header / header.scroll-nav を使う場合) ── */ -.header { - width: 100%; - position: fixed; - top: 0; - z-index: 100; - transition: background .35s, box-shadow .35s; -} - -header.scroll-nav { - background: var(--c-bg-header); - box-shadow: 0 1px 0 var(--c-border), 0 4px 16px rgba(0, 0, 0, .06); - padding-top: 0; - padding-bottom: 0; -} - -.header-nav { - max-width: 1400px; - margin: 0 auto; - padding: 0 40px; - height: var(--header-h); - display: flex; - align-items: center; - - & .sp-logo { - display: none; - } - - & nav { - margin-left: auto; - } - - & nav ul { - display: flex; - align-items: center; - gap: 2px; - list-style: none; - - & li { - border: none; - - &:last-child { - margin-right: 0; - } - - &.bd-no { - display: none; - } - - & a { - display: block; - padding: 6px 14px; - font-size: .875rem; - font-weight: 500; - color: var(--c-text); - text-decoration: none; - border-radius: var(--r-sm); - letter-spacing: .03em; - transition: color .2s, background .2s; - - &:hover { - color: var(--c-school); - background: var(--c-school-pale); - border-bottom: none; - } - - &.bd-none:hover { - border-bottom: none; - } - } - } - } -} - -.apply-menu { - background: var(--c-accent) !important; - color: var(--c-text-inv) !important; - border-radius: var(--r-sm) !important; - padding: 6px 18px !important; - - &:hover { - opacity: .85; - } -} - -.top-logo { - width: 52px; - height: 52px; - object-fit: cover; - border-radius: 50%; - flex-shrink: 0; -} - -#hamburger-menu { - opacity: 0; - position: fixed; - pointer-events: none; -} - -label .buns .patty-name { - display: none; -} - /* ============================================================ 共通レイアウト @@ -461,20 +345,6 @@ padding: 40px 40px 100px; } -/* - * .jd-section-title(推奨クラス名)/ .section-title(後方互換) - * ───────────────────────────────────────────────────────────── - * 全ページの h2 に使う共通見出し。 - * - * 推奨 HTML: - *

- * ACTIVITIES - * 2025年度年間活動掲載 - *

- * - * __en span がない場合も問題なし。 - * 旧クラス名 .section-title でもまったく同じ表示になる。 - */ .jd-section-title, .section-title { font-size: 2rem; @@ -521,7 +391,7 @@ /* ============================================================ - メインビジュアル(既存ページ用・構造変更なし) + メインビジュアル ============================================================ */ #mainvisual { height: 660px; @@ -532,7 +402,7 @@ justify-content: center; overflow: hidden; - /* 鳥海山背景画像(スライドショーの下に固定で表示) */ + /* 鳥海山背景画像 */ &::before { content: ''; position: absolute; @@ -542,11 +412,6 @@ opacity: 1.0; } - & .top-text { - display: none; - /* Chokai Academy 表示に切り替えたため非表示 */ - } - & .top-title { position: absolute; z-index: 10; @@ -619,7 +484,6 @@ position: absolute; inset: 0; background: rgba(0, 0, 0, .28); - /* 文字を読みやすくするオーバーレイ */ } } @@ -654,7 +518,6 @@ display: block; margin: 0 auto 16px; height: 300px; - /* ← サイズはお好みで調整 */ width: auto; } @@ -665,14 +528,6 @@ .mainvisual-img { position: relative; max-width: 100%; - - & .top-title { - position: absolute; - top: 270px; - right: 30%; - z-index: 10; - font-size: 2.8rem; - } } @keyframes bg-shift { @@ -708,211 +563,21 @@ /* ============================================================ - ボタン類 + ホームセクション 半透過カード ============================================================ */ -.top-text-color { - color: #a0ffc0; -} - -.top-text-call { - color: var(--c-accent); - letter-spacing: 7px; -} - -.HomeToApply { - display: block; - position: relative; - margin: 3% 28%; - color: var(--c-text-inv); - background: var(--c-accent); - border: 2px solid var(--c-accent); - font-weight: bold; - font-size: 20px; - text-align: center; - padding: 10px; - text-decoration: none; - - &::before { - content: ''; - position: absolute; - top: -7px; - left: -7px; - width: 100%; - height: 100%; - border: 3px solid var(--c-text-inv); - pointer-events: none; - } -} - -.HomeToApplyColor { - color: #ffe082; -} - -.HomeToQA { - display: block; - position: relative; - margin: 3% 28%; - color: var(--c-text); - background: var(--c-found-pale); - border: 2px solid var(--c-found); - font-weight: bold; - font-size: 20px; - text-align: center; - padding: 10px; - text-decoration: none; - - &::before { - content: ''; - position: absolute; - top: -7px; - left: -7px; - width: 100%; - height: 100%; - border: 3px solid var(--c-found); - pointer-events: none; - } -} - -.HomeToQAColor { - color: var(--c-found); +#home-notice, +#home-class_content, +#home-info { + background: rgba(255, 255, 255, 0.80); + backdrop-filter: blur(8px); + -webkit-backdrop-filter: blur(8px); + border-radius: var(--r-lg); + margin-bottom: 32px; } /* ============================================================ - home-about - ============================================================ */ -#home-about { - & .scroll { - opacity: 0; - } - - & .show { - opacity: 1; - transition: 1s; - transform: translateY(-50px); - } - - & .home-items { - & h3 { - font-size: 1.4rem; - } - - & p { - font-size: 1.2rem; - line-height: 2; - } - } - - @media (max-width: 746px) { - & h2 { - font-size: 1.3rem; - } - - & .home-items img { - width: 200px; - height: 150px; - } - - & .home-items h3 { - font-size: 1rem; - } - - & .home-items p { - font-size: .8rem; - line-height: 1.85; - } - } -} - -.home-items { - display: flex; - flex-wrap: wrap; - justify-content: space-evenly; - align-items: center; - margin-top: 30px; - opacity: 0; - - &.show { - opacity: 1; - transition: 1s; - transform: translateY(-50px); - } - - & img { - width: 300px; - height: 216px; - } - - & .what_study { - @media (max-width: 1024px) { - order: 1; - } - } -} - -.what_study { - width: 730px; - margin-bottom: 10px; - - & h3 { - font-size: 1.3rem; - margin-bottom: 5px; - } - - & p { - font-size: 1.2rem; - line-height: 2; - } - - @media (max-width: 746px) { - margin-bottom: 0; - } -} - -.aiming_top { - width: 730px; - margin-top: 50px; - - & h3 { - font-size: 1.3rem; - margin-bottom: 5px; - } - - & p { - font-size: 1.2rem; - line-height: 2; - } - - @media (max-width: 746px) { - max-width: 600px; - } -} - -em.see { - font-style: normal; - font-weight: bold; - background: linear-gradient(to top, #ffe082, transparent); -} - -.text-bg { - background: linear-gradient(transparent 50%, var(--c-school-pale) 50%); -} - -.home-about-title { - @media (max-width: 746px) { - margin-top: 90px; - } -} - -.umi-img { - @media (max-width: 746px) { - margin: 35px 0; - } -} - - -/* ============================================================ - home-notice + 新着情報 ============================================================ */ .notice { & li { @@ -956,14 +621,6 @@ color: var(--c-found); text-decoration: underline; } - - & .erase-line { - text-decoration: line-through; - } - - & .erase-line-comment { - margin-left: 8px; - } } @media (max-width: 746px) { @@ -994,7 +651,7 @@ /* ============================================================ - home-class_content + 授業内容カード(home-class_content) ============================================================ */ #home-class_content { padding: 50px 16px; @@ -1093,231 +750,15 @@ } } -.fa-position-right { - position: absolute; - top: calc(50% - .5em); - right: 1rem; -} - /* ============================================================ - home-QA / FAQ アコーディオン - ============================================================ */ -@keyframes slidein { - from { - opacity: 0; - transform: translateY(-4px); - } - - to { - opacity: 1; - transform: translateY(0); - } -} - -#home-qa { - margin: 0 auto; - padding-bottom: 40px; - - & .scroll { - opacity: 0; - } - - & .show { - opacity: 1; - transition: 1s; - transform: translateY(-50px); - } -} - -.qa_list { - position: relative; - margin: 16px 20px 24px; - border-bottom: 1px solid var(--c-border); - color: var(--c-text); - - &:hover { - color: var(--c-school); - } - - & .plus { - position: relative; - display: inline-flex; - font-size: 25px; - padding: 5px; - transition: .3s; - } - - & input[type="checkbox"]:checked~.plus { - transform: rotate(45deg); - } - - & label { - position: absolute; - top: 3px; - left: 30px; - padding: 5px; - font-size: 23px; - cursor: pointer; - - @media (max-width: 746px) { - font-size: 17.5px; - z-index: 1; - } - } - - & .ans { - position: relative; - max-height: 0; - overflow: hidden; - color: var(--c-text); - margin: 5px; - transition: max-height .4s ease; - - & span { - font-size: 25px; - - @media (max-width: 746px) { - font-size: 19px; - } - } - - @media (max-width: 746px) { - margin-top: 10px; - font-size: 17.5px; - } - } - - & input[type="checkbox"]:checked~div.ans { - max-height: 300px; - animation: slidein .4s; - transition: max-height .6s ease; - } - - & input { - display: none; - } -} - -h2.faq-section { - text-align: center; - margin: 3rem 0; - width: 100%; -} - -div.faq-list { - width: 100%; - - & dl { - position: relative; - left: 50%; - transform: translateX(-50%); - width: 70%; - padding: 16px; - display: flex; - flex-direction: column; - background: var(--c-bg-white); - margin-bottom: 12px; - border-radius: var(--r-md); - border: 1px solid var(--c-border); - border-left: 4px solid var(--c-school); - transition: box-shadow .2s; - cursor: pointer; - - &:hover { - box-shadow: var(--shadow); - } - - &.act { - background: var(--c-school-pale); - } - - & dt { - width: 100%; - font-size: 1rem; - padding: 12px; - - &::before { - padding: 0 1rem; - font-size: 1.4rem; - color: var(--c-school); - content: "Q"; - font-weight: 700; - } - - &::after { - font-size: 1.4rem; - float: right; - transition: .3s; - content: "+"; - } - - &.question { - color: var(--c-school); - - &::after { - transform: rotate(-45deg); - } - } - } - - & dd { - width: 100%; - max-height: 0; - overflow: hidden; - transition: max-height .4s ease; - - &::before { - padding: 0 1rem; - font-size: 1.4rem; - color: var(--c-found); - content: "A"; - font-weight: 700; - } - - &.faq-show { - max-height: 300px; - transition: max-height .8s ease; - } - } - - @media (max-width: 1024px) { - width: 85%; - - & dd, - & dt { - width: 100%; - font-size: 1rem; - } - - & dt::after, - & dd::before, - & dt::before { - font-size: 1.2rem; - } - } - } -} - - -/* ============================================================ - home-info + アクセス(home-info) ============================================================ */ #home-info { background: var(--c-bg-white); padding: 60px; margin: 60px 0; - & .scroll { - opacity: 0; - } - - & .show { - opacity: 1; - transition: 1s; - transform: translateY(-50px); - } - & img { object-fit: cover; width: 100%; @@ -1334,24 +775,6 @@ } } -figure { - & .scroll { - opacity: 0; - } - - & .show { - opacity: 1; - transition: 1s; - transform: translateY(-50px); - } -} - -.home-info-items { - display: flex; - justify-content: space-evenly; - align-items: center; -} - .home-info-address_title { font-size: 1.8rem; color: var(--c-school); @@ -1443,53 +866,10 @@ } } -.info-bottom-text { - margin-top: 40px; -} - - -/* ============================================================ - about - ============================================================ */ -#about { - margin: 60px 0; -} - -.about-text { - font-size: 1.2rem; - - @media (max-width: 746px) { - font-size: .9rem; - } -} - /* ============================================================ 活動掲載ページ(#active) - ============================================================ - 【推奨 HTML 構造】 -
-

...

-
...
-
-
-

タイトル

- -
-

... 説明文

-
-
-
- -
- - 【後方互換】 - 旧 HTML(h4 で日付、article 直下に p)のままでも崩れない。 - 旧クラス名 .box / main.activity / section.archive も継続サポート。 ============================================================ */ - #active { display: grid; grid-template-columns: 1fr 260px; @@ -1500,20 +880,6 @@ align-items: start; } -/* ── ホームセクション 半透過カード ── */ -#home-notice, -#home-about, -#home-class_content, -#home-qa, -#home-info { - background: rgba(255, 255, 255, 0.80); - backdrop-filter: blur(8px); - -webkit-backdrop-filter: blur(8px); - border-radius: var(--r-lg); - margin-bottom: 32px; -} - -/* ── 活動掲載 全幅要素 ── */ #active>.jd-section-title, #active>.section-title, #active>.jd-notice-box, @@ -1521,7 +887,6 @@ grid-column: 1 / -1; } -/* ── 活動掲載 セクションタイトル帯を半透過に ── */ #active>.jd-section-title, #active>.section-title { background: rgba(255, 255, 255, 0.72); @@ -1531,8 +896,6 @@ padding: 24px 32px 20px; } - - /* ── 記事エリア ── */ .jd-activity, main.activity { @@ -1557,7 +920,6 @@ } } -/* h3:記事タイトル */ .jd-entry__title, main.activity article h3 { font-size: 1.2rem; @@ -1569,7 +931,6 @@ line-height: 1.45; } -/* 日付(.jd-entry__date または旧 h4) */ .jd-entry__date, main.activity article h4 { font-size: .82rem; @@ -1580,7 +941,6 @@ letter-spacing: .04em; } -/* 本文 p(写真+テキスト) */ .jd-entry__body p, main.activity article p { display: block; @@ -1591,20 +951,17 @@ text-align: left; } -/* p内のテキストノード・inline要素(a含む)をブロック化して左揃えに */ .jd-entry__body p>a, main.activity article p>a { align-self: flex-start; } -/* p直下のテキストをラップするため、ul等もセンタリング解除 */ .jd-entry__body p>ul, main.activity article p>ul { align-self: stretch; width: 100%; } -/* 写真(通常) */ .jd-entry__body p img, main.activity article p img { display: block; @@ -1618,7 +975,6 @@ box-shadow: 0 2px 8px rgba(0, 0, 0, .1); } -/* class="full" → 全幅写真 */ .jd-entry__body p img.full, main.activity article p img.full { width: 100%; @@ -1650,7 +1006,6 @@ margin-bottom: 20px; } -/* 一覧カード(.jd-archive / 旧 section.archive) */ .jd-archive, aside#sidebar section.archive { background: rgba(255, 255, 255, 0.82); @@ -1741,7 +1096,7 @@ /* ============================================================ - 注意ボックス(.jd-notice-box / 旧 .box) + 注意ボックス(.jd-notice-box) ============================================================ */ .jd-notice-box, .box { @@ -1766,303 +1121,6 @@ /* ============================================================ - class-content(授業内容ページ) - ============================================================ */ -.class-content-items { - background: var(--c-school-pale); - box-shadow: var(--shadow); - padding: 60px; - margin: 60px 0; - font-size: 1.1rem; - border-radius: var(--r-md); - - @media (max-width: 746px) { - font-size: 1rem; - padding: 10px; - } -} - -.class-content-items-text { - text-align: left; - - @media (max-width: 499px) { - text-align: center; - padding-bottom: 15px; - } -} - -#class-content .class-content-items { - display: flex; - align-items: center; - justify-content: space-evenly; - flex-wrap: wrap; - - @media (max-width: 499px) { - justify-content: start; - } -} - -.class-content-text { - padding-top: 30px; -} - -.class-content-items-left { - width: 60%; - padding-right: 35px; - border-right: 2px solid var(--c-school-mid); -} - -.class-content-dl-left { - margin-right: 35px; -} - -.class-content-dl { - &>dt { - background: var(--c-school); - color: var(--c-text-inv); - padding: 3px 6px; - display: inline-block; - margin-bottom: 4px; - border-radius: var(--r-sm); - } - - &>dd { - margin-left: 60px; - margin-bottom: 5px; - - @media (max-width: 499px) { - margin-left: 25px; - } - } - - & dt { - margin: 0 1ex; - padding: 0 1ex; - width: 6em; - border: var(--c-found) solid; - border-width: 0 0 1px 1.2em; - } -} - -.bottom { - margin-left: 25px; -} - -.page-btn-ul { - display: flex; - justify-content: center; - - & li { - list-style: none; - margin: 0 30px; - font-size: 1.6rem; - - & a { - color: var(--c-text); - text-decoration: none; - } - - &:hover { - border-bottom: var(--c-text) double 7px; - } - } -} - -@media (min-width: 1100px) { - .framebox { - border: double 5px var(--c-school-mid); - display: block; - position: absolute; - left: 60%; - bottom: 10px; - } - - .clear { - clear: both; - } -} - -@media (max-width: 1099px) { - .framebox { - border: double 5px var(--c-school-mid); - display: block; - margin-left: 40px; - } -} - - -/* ============================================================ - テーブル共通 - ============================================================ */ -table.LectureSchedule { - text-align: center; - border-collapse: collapse; - border: 1px solid var(--c-border); - margin: 0 auto; - - & td.num { - text-align: right; - padding-right: 1em; - - @media (max-width: 499px) { - padding: 0; - } - } - - & td.time { - text-align: left; - padding-left: .7em; - } - - & td.time_color { - text-align: left; - color: #c00; - padding: 0 .5em; - } - - & td.date { - text-align: left; - padding-left: .7em; - } - - & td.room { - text-align: left; - padding: 0 .5em; - } - - & td.lesson { - text-align: left; - padding: 0 .5em; - } - - @media (max-width: 499px) { - font-size: 13px; - } -} - -.guide { - & a { - color: var(--c-found); - display: block; - border: 2px solid var(--c-found); - border-radius: var(--r-sm); - background: var(--c-bg-white); - margin-left: 4px; - margin-bottom: 4px; - - &:hover { - color: var(--c-text-inv); - background: var(--c-found); - transition: .3s; - } - } -} - -ul.guide { - display: flex; - flex-wrap: wrap; - margin-bottom: 1rem; - - & li { - list-style: none; - - & a { - text-decoration: none; - padding: 0 12px; - - @media (max-width: 499px) { - font-size: 17px; - } - } - } -} - -table.school { - & tr { - visibility: collapse; - } - - & tr.match { - visibility: visible; - } -} - -table.border { - border-collapse: collapse; - - &, - & td, - & th { - border: 1px solid var(--c-school-mid); - padding: .2ex .4ex; - } - - & th { - text-align: left; - padding: .2ex .8ex; - background: var(--c-school-pale); - color: var(--c-school); - } -} - -table.form { - &>th:first-child { - min-width: 10em; - } - - & table tr:nth-child(even) { - background: var(--c-found-pale); - } -} - - -/* ============================================================ - Zoom向け表示 - ============================================================ */ -.zoom-h1 { - text-align: center; - color: var(--c-found); - border: 3px solid var(--c-found); - padding: .5em; - border-radius: var(--r-sm); -} - -.zoom-p { - font-size: 150%; - text-indent: 1em; -} - -.zoom-h3 { - text-indent: 1em; - counter-increment: section; - - &::before { - content: counter(number) "-" counter(section); - } -} - -.zoom-h2 { - counter-increment: number; - - &::before { - content: counter(number) "."; - } -} - -.zoom-title { - margin-top: 100px; -} - -main.disp { - margin: 1ex; - - & ul { - margin-left: 1em; - } -} - - -/* ============================================================ フッター ============================================================ */ footer { @@ -2091,166 +1149,7 @@ /* ============================================================ - ハンバーガーメニュー(≤1024px) - ============================================================ */ -@media (max-width: 1024px) { - #hamburger-menu { - opacity: 0; - position: fixed; - } - - label .buns { - position: fixed; - top: .8em; - right: 1em; - z-index: 200; - height: 2em; - width: 2em; - - &::before, - &::after, - & .patty { - position: absolute; - left: 0; - width: 100%; - height: 3px; - border-radius: 3px; - background: var(--c-school); - content: ""; - transition: all .3s; - } - - & .patty-name { - display: block; - position: absolute; - left: 0; - width: 100%; - top: 115%; - font-size: .7rem; - transition: all .3s; - } - - &::before { - top: 0; - transform-origin: top left; - } - - & .patty { - top: 45%; - } - - &::after { - bottom: 0; - transform-origin: bottom left; - } - } - - .header-nav { - padding: 0 20px; - - & .sp-logo { - display: block; - } - - & nav ul { - position: fixed; - top: 0; - left: 0; - bottom: 0; - z-index: 150; - display: flex; - flex-flow: column nowrap; - justify-content: center; - align-items: flex-start; - transform: translateX(-120%); - - &::before { - content: ""; - position: absolute; - top: 0; - bottom: 0; - left: 0; - z-index: -1; - width: 25em; - background: var(--c-bg-white); - box-shadow: var(--shadow-hover); - transform: skewX(-20deg) translateX(-200%); - transform-origin: bottom left; - transition: transform .3s; - } - - & li { - margin: .8em 1em; - padding: .2em 1em; - transform: translateX(-120%); - border: none; - transition: all .3s, transform .5s; - transition-timing-function: cubic-bezier(.19, 1, .22, 1); - - & a { - font-size: 1rem; - } - } - } - } - - .bd-no { - display: none; - } - - .jd-section-title, - .section-title { - font-size: 1.6rem; - } - - header.scroll-nav { - background: var(--c-bg-header); - } - - #hamburger-menu:checked { - &+label .buns { - - &::before, - &::after { - width: 130%; - } - - & .patty { - transform: scale(0); - } - - &::before { - transform: rotate(45deg); - } - - &::after { - transform: rotate(-45deg); - } - } - - &~nav ul { - transform: translateX(0%); - - &::before { - transform: skewX(-20deg) translateX(-60%); - } - - & li { - transform: translateX(0); - } - } - - &~.light-dark { - background: rgba(0, 0, 0, .4); - position: fixed; - inset: 0; - } - } -} - - -/* ============================================================ - スマートフォン(≤746px) + レスポンシブ ============================================================ */ @media (max-width: 746px) { @@ -2272,25 +1171,6 @@ padding: 0 20px 40px; } - #home { - & h3 { - font-size: 1.2rem; - } - - & p { - font-size: .85rem; - line-height: 1.85; - } - } - - .header-nav .sp-logo { - display: block; - } - - .header-nav nav ul { - display: none; - } - #mainvisual .top-title .site-title { font-size: 0; } @@ -2301,17 +1181,4 @@ width: min(260px, 70vw); font-size: initial; } - - .class-content-items { - padding: 10px; - } -} - - -/* ============================================================ - ユーティリティ - ============================================================ */ -.vmenuspace { - margin-top: 2em; - border-top: 3px solid var(--c-school); } \ No newline at end of file