@charset "UTF-8";

/* =====================================================
= 共通
===================================================== */
#index.session h3, #index.session h4, #index.session h5,
.section h3, .section h4, .section h5,
#content h3, #content h4, #content h5 {
	line-height: 2.0!important;
}

#index.session .heading,
#index.session [class*='heading-'] {
	line-height: 2.5!important;
}

body#index.session h3,
body#index.session h4,
body#index.session h5 {
	line-height: 2.0!important;
}

body .section-body p {
	font-size: 20px;
}

/* #index.session .section p{
	padding-bottom: 25px;
} */

#index.session .section p,
.section p,
#content p {
	line-height: 2.5;
}

#content p.font-ex {
	line-height: 2.5!important;
}

#index.session #content {
	width: 100%;
	color: #333;
}

#index.session .section {
	width: 100%;
}

#index.session .section .section-header {
	padding: 50px 0 25px;
}


.voice #content .inner {
	width: 830px;
}
.voice #content .kim .inner,
.voice #content .watanabe .inner,
.voice #content .sakamoto .inner {
	width: 880px;
}


.img_voice {
	margin-top: 50px;
	margin-bottom: 60px;
	text-align: center;
}

.img_voice img {
	width: 600px;
}

/* personalized/voice の推薦バナー相当（中央起点・役職なし） */
.voice .voice-profile {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 36px;
	width: fit-content;
	max-width: 100%;
	margin: 50px auto 60px;
	padding: 0;
	box-sizing: border-box;
}

.voice .voice-profile__text {
	flex: 0 1 auto;
	min-width: 0;
	text-align: left;
}

/* 線幅＝下の名前・年齢ブロックと同じくらい */
.voice .voice-profile__label {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 24px;
	padding: 12px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5 !important;
	text-align: left;
	color: #333;
	white-space: nowrap;
}

.voice .voice-profile__name {
	margin: 0;
	padding: 0;
	font-family: "WebSubsetFont", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
	font-size: 34px;
	font-weight: bold;
	line-height: 1.5 !important;
	color: #111;
	white-space: nowrap;
}

.voice .voice-profile__name small {
	display: inline-block;
	margin-left: 0.35em;
	font-size: 0.45em;
	font-family: inherit;
	font-weight: bold;
	vertical-align: baseline;
}

.voice .voice-profile__image {
	flex-shrink: 0;
	width: auto;
	max-width: 160px;
}

.voice .voice-profile__image img {
	display: block;
	width: 100%;
	max-width: 160px;
	height: auto;
	object-fit: cover;
	aspect-ratio: 3 / 4;
}

.voice .btn_back{
	margin-top: 60px;
	margin-bottom: 90px;
}

.voice .voice-detail-headline {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	line-height: 1.6;
	margin: 0 0 30px;
	padding-bottom: 0;
}

.voice .voice-section-heading {
	margin-top: 50px;
	margin-bottom: 0;
	line-height: 1.8;
}

.voice .voice-detail-headline + .voice-section-heading {
	margin-top: 0;
}

.btn_back .btn strong {
	display: block;
}

/* voiceセクション用のsmallタグ設定 */
.voice-card-name small {
	font-size: 0.6em;
	font-family: inherit;
}

@media (max-width: 640px) {
	.voice #content .inner {
		width: 100%;
	}
	.voice #content .kim .inner,
	.voice #content .watanabe .inner,
	.voice #content .sakamoto .inner {
		width: 100%;
	}
	.voice .section-body {
        text-align: left;
        padding: 0 20px 0;
    }
	body .section-body p {
		font-size: 16px;
	}
	.img_voice{
		margin-top: 30px;
		margin-bottom: 40px;
	}
	.img_voice img {
		width: 100%;
	}
	.voice .voice-profile {
		flex-direction: column-reverse;
		align-items: center;
		gap: 20px;
		margin: 30px auto 40px;
	}
	.voice .voice-profile__image {
		max-width: 140px;
	}
	.voice .voice-profile__image img {
		max-width: 140px;
	}
	.voice .voice-profile__text {
		text-align: center;
	}
	.voice .voice-profile__label {
		margin-bottom: 16px;
		font-size: 14px;
		white-space: normal;
		text-align: left;
	}
	.voice .voice-profile__name {
		font-size: 26px;
		white-space: normal;
		text-align: center;
	}
	.voice .btn_back{
		margin-top: 30px;
		margin-bottom: 50px;
	}
	.voice .voice-detail-headline {
		font-size: 18px;
		margin-bottom: 20px;
		text-align: left;
	}
	.voice .voice-section-heading {
		margin-top: 35px;
	}
	.voice .voice-detail-headline + .voice-section-heading {
		margin-top: 0;
	}
}
