@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/* --- 最終版 基盤CSS: style.css --- */

/* Google Material Symbols (Outlined) の読み込み */
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

/* アイコン自体の基本スタイル */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 28px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    margin-right: 10px;
    color: white; 
}

:root {
    --primary-color: #3A607D;
    --secondary-color: #7D8892;
    --text-color: #333333;
    --background-color: #F8F9FA;
    --font-family-base: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
    --font-size-base: 16px;
    --border-radius: 4px;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-family-base);
    line-height: 1.6;
    color: var(--text-color);
    background-color: var(--background-color); 
}

h1, h2 {
    font-weight: 700;
    line-height: 1.2;
    margin-top: 2em;
    margin-bottom: 0.5em;
    color: var(--primary-color);
}

h2 {
    font-size: 1.8rem;
    padding-bottom: 0.3em;
    border-bottom: 3px solid var(--primary-color);
}
h3 {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--text-color);
    background-color: #E0E7ED!important; 
    padding: 8px 10px; 
    
    /* 従来の青い縦線スタイル */
    border-left: 5px solid var(--primary-color); 
    
    /* 上下のマージンを調整 */
    margin-top: 1.5em; 
    margin-bottom: 0.8em;
}
/* --- リストアイテムのデザイン（デフォルトのカード形式） --- */
.roleplay-tips {
    list-style: none;
    padding-left: 0;
    margin: 0 0 20px 0;
}

.roleplay-tips li {
    /* 現在：background-color: #FFFFFF; */ 
    background-color: #F0F3F5; /* 修正：ごく薄いライトブルーグレー */
    margin-bottom: 8px;
    padding: 15px;
    border-radius: var(--border-radius);
    /* 視覚的な違和感を減らすため、ボーダーも少し濃いグレーに調整 */
    border: 1px solid #E0E4E7; 
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    border-left: none; 
    color: var(--text-color); 
}

/* --- メインアコーディオンのスタイル --- */
.accordion-item {
    margin-bottom: 10px;
    border: 1px solid #D0D7DE;
    border-radius: var(--border-radius);
    overflow: hidden;
}

.accordion-trigger {
    background-color: var(--primary-color);
    color: #FFFFFF;
    padding: 15px 20px;
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
    position: relative;
    user-select: none;
    display: block;
    width: 100%;
    text-align: left;
    border: none;
    border-radius: var(--border-radius);
}

.accordion-trigger::after {
    content: '▼'; 
    position: absolute;
    right: 20px;
    font-size: 1.5rem;
    line-height: 1;
    transition: transform 0.3s;
}

.accordion-trigger.is-open::after {
    content: '▲';
}

.accordion-content {
    max-height: 0 !important; 
    padding: 0 20px;
    overflow: hidden;
    background-color: #FFFFFF;
    transition: max-height 0.4s ease-in-out, padding 0.4s ease-in-out; 
}

.accordion-content.is-open {
    max-height: 5000px !important;
    padding: 20px;
}

/* --- サブアコーディオン（模範回答）のスタイル --- */

.sub-accordion-item {
    margin: 15px 0;
    border: 1px dashed #D0D7DE; /* 点線で親アコーディオンと区別 */
    border-radius: var(--border-radius);
    overflow: hidden;
}

.sub-trigger {
    background-color: #5C819F; /* メインより少し明るい青 */
    color: #FFFFFF;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    position: relative;
    user-select: none;
    display: block;
    width: 100%;
    text-align: left;
    border: none;
    border-radius: var(--border-radius);
}

.sub-trigger::after {
    content: '▼'; 
    position: absolute;
    right: 15px;
    font-size: 1.2rem;
    line-height: 1;
    transition: transform 0.3s;
}

.sub-trigger.is-open::after {
    content: '▲';
}

.sub-content {
    /* accordion-contentとは独立して定義 */
    max-height: 0 !important; 
    padding: 0 15px;
    overflow: hidden;
    background-color: #FBFBFB;
    border-top: 1px solid #E0E0E0;
    transition: max-height 0.4s ease-in-out, padding 0.4s ease-in-out; 
}

.sub-content.is-open {
    max-height: 5000px !important;
    padding: 15px;
}

/* --- その他調整 --- */
.accordion-content p:last-child {
    margin-bottom: 0;
}
.accordion-content h3 {
    border-left: none;
    padding-left: 0;
}

/* --- 多文化英会話ガイドのリスト用カスタムスタイル --- */
.roleplay-dialogue-list {
    margin-top: 15px;
}
.roleplay-dialogue-list li {
    border-left: 5px solid var(--primary-color);
    background-color: #FFFFFF; 
    margin-bottom: 10px;
    padding: 15px;
}
.roleplay-dialogue-list li p {
    margin: 0;
    line-height: 1.4;
}
.roleplay-dialogue-list li p strong {
    font-weight: 700;
}
.roleplay-dialogue-list li p.pronunciation {
    font-size: 0.9em;
    color: var(--secondary-color);
    margin-top: 5px;
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
