@charset "UTF-8";

/*--------------------------------------------------------
  基本パーツデザイン設定
--------------------------------------------------------*/
.life_details {
	margin: 0 auto;
}

.life_details h2 {
	text-align: center;
	font-size: 32px;
	margin: 0 auto;
}

.life_details h3 {
	padding-left: 0px !important;
}

.life_details p {
	text-align: left;
	margin: 0 auto;
	font-size: 120%;
}

@media (max-width: 900px) {
    div.life_details { 
        width: 90% !important;
        min-width: auto; 
        box-sizing: border-box; 
    }
}

/*--------------------------------------------------------
  メニュー
--------------------------------------------------------*/
.life_details-menu {
	position: relative;

	background: #f0f7ff;
	border: dashed 2px #198219;/*点線*/

	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 8px;
	padding-right: 4px;
	padding-bottom: 0px;
	padding-left: 4px;
}

.life_details-menu a {
	font-size: 1.0em;
	font-weight: bold;
	padding: 2px;
}

.life_details-menu .box-title {
	position: absolute;
	display: inline-block;
	top: -13px;
	left: 10px;
	padding: 0 9px;
	line-height: 1;
	font-size: 19px;
	background: #FFF;
	color: #198219;
	font-weight: bold;
}

/*--------------------------------------------------------
 メニュー用の各要素
--------------------------------------------------------*/

.life__menu__box {
	display: inline-block;
	width: 160px;
	height: 34px;
	text-align: center;
	text-decoration: none;
	line-height: 28px;
	outline: none;
}
.life__menu__box::before,
.life__menu__box::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

.life__menu__box,
.life__menu__box::before,
.life__menu__box::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .4s;
	transition: all .4s;
}

.life__menu__box {
	position: relative;
	z-index: 2;
	background-color: #fff;
	border: 2px solid #333;
	line-height: 28px;
	overflow: hidden;
}

.life__menu__box:hover {
	color: #198219;		// 反転時色
}

.life__menu__box::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.life__menu__box:hover::after {
	-webkit-transform: scale(2) rotate(180deg);
	transform: scale(2) rotate(180deg);
	background: #000;
}

/* --------------------------------------------------------
   部活ページ用アコーディオン メニュー
-------------------------------------------------------- */

/* アコーディオンのトリガー (h2タグなど) */
.accordion-trigger {
    cursor: pointer;
    user-select: none; /* テキスト選択を無効化 */
    position: relative;
    padding-left: 2em; /* 矢印用のスペース */
    transition: background-color 0.2s ease;
    
    /* 元の .cp-h2-text のデザインを活かしつつ調整 */
    background-color: #f0f0f0; /* トリガーの背景色 (仮) */
    border-radius: 8px;
    padding-top: 10px;    
    padding-bottom: 10px; 
	border: 1px solid #000; /* 黒い枠線を追加 */
    font-size: 1.3em; /* 文字サイズを大きく (1.3倍) します */
}

/* 矢印 (▼) のスタイル */
.accordion-trigger::before {
    content: '▼';
    position: absolute;
    left: 0.8em;
    top: 50%;
    transform: translateY(-50%) rotate(0deg); /* 初期状態 (閉じている) */
    transition: transform 0.3s ease;
    font-size: 0.8em; 
}

/* トリガーが active (開いている) 状態の矢印 */
.accordion-trigger.active::before {
    transform: translateY(-50%) rotate(-180deg); /* 矢印を回転 (▲) */
}

/* トリガーが active (開いている) 時のスタイル */
.accordion-trigger.active {
    background-color: #e0e0e0; /* 開いたときの背景色 (仮) */
    border-radius: 8px 8px 0 0; /* 下側の角丸をなくす */
	border-bottom: none;
}

/* アコーディオンのコンテンツ */
.accordion-content {
    /* 初期状態はJSで非表示 (display: none) にします */
    background-color: #f9f9f9; 
    border: 1px solid #000; /* 枠線 */
    border-top: none; /* 上の線はトリガーと被るので消す */
    border-radius: 0 0 8px 8px; /* 下側の角丸 */
    padding: 15px;
    
    /* 元の .life_details-menu に影響しないように box-sizing を推奨 */
    box-sizing: border-box; 
}