@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* キャッチフレーズの色変更 */
.c-catchphrase{
	color:#333 !important;
}

/* PCメニュー */
#gnav .c-gnav > li > a,
#gnav .c-gnav > li > a span{
	font-size:18px !important;
	letter-spacing:.08em;
}

/* パンくずリストを強制的に非表示 */
#breadcrumb {
	display: none !important;
}

/* メインビジュアルの文字 */
.p-mainVisual__slideTitle,
.p-mainVisual__slideText{
	font-family:"Urbanist", sans-serif;
	font-weight:400;
}

/* メインタイトル */
.p-mainVisual__slideTitle{
	font-size:56px;
	line-height:1.1;
	letter-spacing:.2em;
}

/* サブテキスト */
.p-mainVisual__slideText{
	font-size:24px;
	line-height:1.3;
	letter-spacing:.4em;
}

/* スマホ */
@media (max-width:767px){

	.p-mainVisual__slideTitle{
		font-size:42px;
	}

	.p-mainVisual__slideText{
		font-size:18px;
	}

}

/* 英字用 */
.p-anton {
    font-family: "Anton", "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 1.1;
    text-transform: uppercase;
}

/* 英字名 */
.member-name-ja {
    color: #222;          /* 黒 */
    margin-bottom: 20px;  /* 英字との間隔 */
	 font-size: 2rem;
}
/* 英字名 */
.member-name-en {
    color: #8a8a8a;
    font-family: "Anton", sans-serif;
    margin-top: 0;
		 font-size: 1.3rem;
    line-height: 1;
	 font-weight: 400;
}

/* ポジション */
.position-en {
    font-family: "Anton", sans-serif;
    font-size: 0.9rem;
}

/* ポジション（個別ページ用） */
.position-post-en {
    font-family: "Anton", sans-serif;
    font-size: 2rem;
		letter-spacing: 0.04em;
		color: #aaa; 
}
/* メンバー名（個別ページ用） */
.member-name-post-ja {
    color: #fff;       
	 font-size: 3rem;
		font-weight: 700;
}
/* 英字名（個別ページ用） */
.member-name-post-en {
    color: #8a8a8a;
    font-family: "Anton", sans-serif;
    margin-top: 0;
		font-size: 2.5rem;
    line-height: 1;
		letter-spacing: 0.04em;
		font-weight: 400;
}
/* メンバープロフ（個別ページ用） */
.member-profile-post-ja {
    color: #fff;       
	 font-size: 1.5rem;
		font-weight: 700;
}

/* ページタイトル */
.c-pageTitle {
    font-family: "Anton", sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em;
}


/* ヘッダーメニュー */
.c-gnav {
    font-family: "Anton", sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.member-single {
	background: #050505;
	color: #fff;
	min-height: 100vh;
	padding: 80px 24px;
}

.member-profile {
	display: grid;
	grid-template-columns: minmax(280px, 480px) minmax(300px, 1fr);
	gap: 48px;
	align-items: start;
	max-width: 1100px;
	margin: 0 auto;
}

.member-profile__image {
	display: block;
	width: 100%;
	height: auto;
}

.member-profile__top {
	display: flex;
	align-items: baseline;
	gap: 32px;
	margin-bottom: 20px;
}

.member-profile__position,
.member-profile__post,
.member-profile__name-en {
	font-family: "Anton", sans-serif;
	font-weight: 400;
	letter-spacing: 0.04em;
	color: #aaa;
}

.member-profile__position,
.member-profile__post {
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1;
}

.member-profile__name-ja {
	margin: 0;
	font-size: clamp(2.5rem, 4vw, 4rem);
	line-height: 1.25;
	color: #fff;
}

.member-profile__name-en {
	margin: 14px 0 46px;
	font-size: clamp(2rem, 3.5vw, 3.5rem);
	line-height: 1;
}

.member-profile__details p {
	margin: 0 0 8px;
	font-size: clamp(1.1rem, 1.7vw, 1.6rem);
	font-weight: 700;
	line-height: 1.5;
}

@media (max-width: 768px) {
	.member-single {
		padding: 40px 20px;
	}

	.member-profile {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.member-profile__top {
		gap: 20px;
	}
}


/* ===== MEMBERS ===== */

.member-archive{
	background:#000;
	color:#fff;
	padding:80px 20px;
	min-height:100vh;
}

.member-archive__inner{
	max-width:1200px;
	margin:auto;
}

.member-archive__title{
	font-family:"Anton",sans-serif;
	font-size:64px;
	text-align:center;
	letter-spacing:4px;
	margin-bottom:70px;
	color:#fff;
}

.member-section{
	margin-bottom:90px;
}

.member-section__title{
	font-family:"Anton",sans-serif;
	font-size:40px;
	color:#fff;
	letter-spacing:2px;
	margin-bottom:35px;
	border-left:6px solid #F9D000;
	padding-left:16px;
}

.member-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
	gap:30px;
}

.member-card{
	display:block;
	background:#111;
	border:1px solid #222;
	color:#fff;
	text-decoration:none;
	overflow:hidden;
	transition:.3s;
}

.member-card:hover{
	transform:translateY(-8px);
	border-color:#F9D000;
	box-shadow:0 15px 35px rgba(249,208,0,.25);
}

.member-card__image{
	overflow:hidden;
}

.member-card__image img{
	width:100%;
	aspect-ratio:3/4;
	object-fit:cover;
	display:block;
	transition:.4s;
}

.member-card:hover img{
	transform:scale(1.05);
}

.member-card__body{
	padding:22px;
}

.member-card__position{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:14px;
	flex-wrap:wrap;
}

.member-card__position-text{
	font-family:"Anton",sans-serif;
	font-size:24px;
	color:#fff;
}

.member-card__post{
	background:#F9D000;
	color:#000;
	padding:3px 10px;
	border-radius:999px;
	font-family:"Anton",sans-serif;
	font-size:13px;
	letter-spacing:1px;
	line-height:1.8;
}

.member-card__name-ja{
	font-size:28px;
	font-weight:700;
	line-height:1.3;
	margin:0 0 8px;
	color:#fff;
}

.member-card__name-en{
	font-family:"Anton",sans-serif;
	font-size:20px;
	color:#8d8d8d;
	margin:0;
	letter-spacing:1px;
}

/* スマホは2列表示 */
@media (max-width: 767px){

	.member-grid{
		grid-template-columns:repeat(2,1fr);
		gap:16px;
	}

	.member-card__body{
		padding:14px;
	}

	.member-card__position-text{
		font-size:18px;
	}

	.member-card__post{
		font-size:11px;
		padding:2px 8px;
	}

	.member-card__name-ja{
		font-size:20px;
	}

	.member-card__name-en{
		font-size:14px;
	}

}

/* ===== MEMBER FILTER ===== */

.member-filter{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
	margin:0 0 60px;
}

.member-filter__button{
	appearance:none;
	border:1px solid #555;
	background:transparent;
	color:#fff;
	padding:10px 24px;
	font-family:"Anton",sans-serif;
	font-size:18px;
	letter-spacing:.06em;
	cursor:pointer;
	transition:.2s;
}

.member-filter__button:hover{
	border-color:#F9D000;
	color:#F9D000;
}

.member-filter__button.is-active{
	background:#F9D000;
	border-color:#F9D000;
	color:#000;
}

/* JSで非表示になったセクション */
.member-section[hidden]{
	display:none !important;
}


/* スマホ */
@media (max-width:767px){

	.member-filter{
		justify-content:flex-start;
		flex-wrap:nowrap;
		overflow-x:auto;
		gap:8px;
		margin-bottom:40px;
		padding-bottom:6px;
		-webkit-overflow-scrolling:touch;
	}

	.member-filter__button{
		flex:0 0 auto;
		font-size:15px;
		padding:8px 16px;
	}

}

/* フッターウィジェット全体 */
.w-beforeFooter{
	margin: 0 !important;
	padding: 0 !important;
}

/* ===== MEMBER SORT ===== */

.member-sort{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
	margin:-30px 0 60px;
}

.member-sort__label{
	font-family:"Anton",sans-serif;
	font-size:16px;
	letter-spacing:.08em;
	color:#777;
	margin-right:4px;
}

.member-sort__button{
	appearance:none;
	border:1px solid #444;
	background:transparent;
	color:#aaa;
	padding:8px 18px;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
	transition:.2s;
}

.member-sort__button:hover{
	border-color:#F9D000;
	color:#F9D000;
}

.member-sort__button.is-active{
	border-color:#F9D000;
	color:#000;
	background:#F9D000;
}


/* スマホ */
@media (max-width:767px){

	.member-sort{
		justify-content:flex-start;
		margin:-20px 0 40px;
		gap:8px;
	}

	.member-sort__label{
		width:100%;
		font-size:14px;
	}

	.member-sort__button{
		font-size:13px;
		padding:7px 12px;
	}

}

/* ラグビー歴 */
.member-profile__rugby-history{
	margin-bottom:8px;
	font-size:clamp(1.1rem, 1.7vw, 1.6rem);
	font-weight:700;
	line-height:1.5;
}

.member-profile__rugby-label{
	margin:0;
}

.member-profile__rugby-list{
	padding-left:24px;
}

/* 年齢・入部・職業の行間を詰める */
.member-profile__details > p{
	margin-bottom:2px;
}

/* ラグビー歴の前は少し空ける */
.member-profile__rugby-history{
	margin-top:14px;
}