@charset "UTF-8";


/* ==========================================================================
   Course Page - Main Visual (Precision Update)
   ========================================================================== */

.p-faq-mv {
    position: relative;
    width: 100%;
    height: 380px; /* 画像の比率に合わせ調整 */
    background-image: url('../images/faq/hero-img.jpg'); /* コース一覧0.jpgの背景 */
    background-size: cover;
    background-position: 60% center;
    align-items: center;
    overflow: hidden;
}

    /* 透過白ボックス: 左端から配置し、右だけ角丸 */
.p-faq-mv__box {
	width: 310px;
	text-align:center;
	margin: 120px 0 0 15vw;
    background-color: rgba(255, 255, 255, 0.82);
    padding: 30px;
    border-radius: 3px;
    box-shadow: 5px 0 20px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(2px); /* わずかなボケで高級感を演出 */
}

/* 明朝体 H1 */
.p-faq-mv__title {
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
    color: #193e97; /* 濃い紺色 */
    font-size: 36px;
    line-height: 1.2;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.1em;
}

.p-faq-mv__title-sub {
    display: block;
    font-family: var(--font-base); /* ゴシック体に戻す */
    font-size: 20px;
    color: #193e97;
    margin-bottom: 15px;
    font-weight: bold;
    letter-spacing: 0.05em;
	}
	
.faq ul.button-grid{
    width:600px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    box-sizing: border-box;
    margin:30px auto 60px;
}

.faq ul.button-grid li {
    width:48%;
    box-sizing: border-box;
    margin-top:15px;
}

.faq ul.button-grid li a{
    display:block;
    position:relative;
    background:#224eb1;
    color:#fff;
    padding:10px;
    box-sizing: border-box;
    text-align:center;
    width:100%;
    border-radius: 10px;
    border-bottom:3px solid #0b3491;
}	
	
section.faq{
	background:#ecf5fa;
	padding:0 0 90px;
	}	
section.faq div.bg_wht{
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background:#fff;
	padding:0 0 10px;
	}
	
section.faq div.bg_wht p{
	max-width:1000px;
	width:100%;
	margin:30px auto 50px;
	}		
div.faq_cat{
	max-width:100%;
	border-radius:10px;
	background:#fff;
	margin:50px auto 50px;
	}
	
div.faq_cat h3{
	width:100%;
	background:#224EB1;
	color:#fff;
	font-size:22px;
	text-align:center;
	margin:0 0 30px;
	padding:15px 0 15px;
	border-radius:10px 10px 0px 0px;
	}	
div.faq_cat .c-faq-list {
	max-width:100%;
	}
div.faq_cat .c-faq-list dt {
	border:none;
	}
	
div.faq_cat .c-faq-list dd {
	padding:0 0 30px;
	border-bottom:2px solid #224EB1;
	}	

div.faq_cat .c-faq-list dd p{
	padding:0;
	font-weight:normal;
	margin:0 0 10px;
	}
	
.c-faq-list {
    /* 親要素を基準にする */
    position: relative; 
}

div.faq_cat .c-faq-list::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px; /* 隠したいボーダーの太さ */
    background-color: #fff; /* 親の背景色と同じ色（白など） */
    z-index: 1; /* ボーダーより上に表示させる */
}
	
div.faq_cat .c-faq-q span{
	position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    min-width: var(--faq-bubble-size);
    min-height: var(--faq-bubble-size);
    border-radius: 50%;
    background-color: var(--faq-bg-color);
    color: #fff;
    font-size: 22px;
    font-weight: normal;
    box-sizing: border-box; /* paddingを追加しても全体のサイズ（高さ）をキープする */
    padding-bottom: 4px;
    /* 以下を追加 */
    line-height: 0.6;           /* フォントの上下の余白を最小限にする */
    white-space: nowrap;      /* 文字が途中で折り返されるのを防ぐ */
    letter-spacing: 0px;     /* 必要に応じて文字間隔を少し詰める */
	}
/* ==========================================================================
   Mobile Optimization
   ========================================================================== */


/* スマホ最適化 (max-width: 599px) */
@media screen and (max-width: 599px) {


.p-faq-mv {
    width: 100%;
    height:350px; /* 画像の比率に合わせ調整 */
    background-position: 40% center;
}

    /* 透過白ボックス: 左端から配置し、右だけ角丸 */
.p-faq-mv__box {
	width: 70%;
	margin: 35vw 0 0 0;
    padding: 15px;

}

/* 明朝体 H1 */
.p-faq-mv__title {
    font-size: 28px;
}

.p-faq-mv__title-sub {
    font-size: 16px;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
}

.faq ul.button-grid{
    width:90%;
    margin:0px auto 30px;
    }

.faq ul.button-grid li {
    width:49.5%;
    }

.faq ul.button-grid li:last-child a span.range{
	/* 横幅を90%（0.9倍）にする */
	transform: scaleX(0.85);
	display: inline-block;
	}
    
div.faq_cat h3{
	font-size:20px;
	padding: 10px 0 10px;
	}    
div.faq_cat .c-faq-list dt{
	width:96%;
	margin:0 auto 20px;
	}
	
section.faq div.bg_wht p{
	width:90%;
	margin:30px auto 50px;
	}		
div.faq_cat .c-faq-list dd {
	width:90%;
	margin:auto;
	}


