
section h2 {
	margin-left: 0;
	margin-bottom: 2.0em;
	font-size: 26px;
	line-height: 1.35;
}

section h2 span {
	display: block;
	font-size: 16px;
	color: #999;
}

section h2.nam {
	margin-bottom: 1em;
	text-align: center;
}

/* page-visual-area */
@media only screen and (min-width: 960px) {
	.page-visual-area::after {
		content: "";
		position: absolute;
		top: 24vw;
		right: -8px;
		width: 121px;
		height: 530px;
		background-size: cover;
		z-index: -10;
	}
}

/* profile-body */
.profile-body {
	margin-bottom: 120px;
}

@media only screen and (min-width: 960px) {
	.profile-body {
		margin-bottom: 250px;
	}
}

/* profile-intro-sec */
.profile-intro-sec {
	margin-bottom: 100px;
}

@media only screen and (min-width: 560px) {
	.profile-intro-sec {
		margin-bottom: 160px;
	}
}

@media only screen and (min-width: 960px) {
	.profile-intro-sec {
		max-width: 800px;
		margin: 0 auto 160px;
	}
}

@media only screen and (min-width: 960px) {
	.profile-intro-sec .sec-ttl .jpn {
		font-size: 2.6rem;
	}
}

@media only screen and (min-width: 960px) {
	.profile-intro-sec .sec-ttl .eng {
		font-size: 1.3rem;
	}
}

.profile-intro-sec-img {
	position: relative;
	padding: 0 10%;
}

@media only screen and (min-width: 560px) {
	.profile-intro-sec-img {
		padding: 0 16%;
	}
}

@media only screen and (min-width: 960px) {
	.profile-intro-sec-img {
		padding: 0;
	}
}

/* profile-resume-sec */
.profile-resume-sec {
	margin-bottom: 100px;
	padding: 0 10%;
}

@media only screen and (min-width: 560px) {
	.profile-resume-sec {
		margin-bottom: 160px;
		padding: 0 16%;
	}
}

@media only screen and (min-width: 960px) {
	.profile-resume-sec {
		position: relative;
		margin-bottom: 180px;
/*		padding: 0 24% 0 24%;*/
	}
}

.profile-resume-sec .sec-ttl {
	margin-bottom: 40px;
}

@media only screen and (min-width: 560px) {
	.profile-resume-sec .sec-ttl {
		margin-bottom: 60px;
	}
}

@media only screen and (min-width: 960px) {
	.profile-resume-sec .sec-ttl {
		position: absolute;
		top: 0;
		left: 12.8%;
		margin: 0;
	}
}

@media only screen and (min-width: 960px) {
	.profile-resume-sec .sec-ttl .jpn {
		font-size: 2.6rem;
	}
}

@media only screen and (min-width: 960px) {
	.profile-resume-sec .sec-ttl .eng {
		font-size: 1.5rem;
	}
}

/* resume-sec-list */
.resume-sec-list li {
	margin-bottom: 30px;
}

.resume-sec-list li:last-child {
	margin-bottom: 0;
}

.resume-sec-list .resume-place {
	display: inline-block;
	margin-bottom: 25px;
	padding: 8px 20px;
	background-color: #fff;
	border: 1px solid #111;
	font-family: 'Lato', sans-serif;
	font-size: 2.3rem;
	letter-spacing: 0.01em;
	line-height: 1.25;
}

@media only screen and (min-width: 960px) {
	.resume-sec-list .resume-place {
		margin-bottom: 30px;
		padding: 8px 30px;
		font-size: 2.9rem;
	}
}

.resume-sec-list .resume-text {
	position: relative;
	padding: 5px 0 25px 35px;
	font-size: 1.4rem;
	line-height: 2.2;
}

@media only screen and (min-width: 560px) {
	.resume-sec-list .resume-text {
		padding: 10px 0 25px 40px;
	}
}

@media only screen and (min-width: 960px) {
	.resume-sec-list .resume-text {
		padding: 7px 0 25px 55px;
	}
}




.resume-sec-list .resume-text::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background-color: #111;
}

.resume-sec-list .resume-text::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 12px;
	background: #111;
	border-radius: 3px;
	transform: rotate(45deg);
	transform-origin: left bottom;
}



@media only screen and (min-width: 960px) {
	.resume-sec-list .resume-text::after {
		height: 10px;
	}
}

.resume-sec-list li:last-child .resume-text::after {
	display: none;
}

.profile-resume-sec-link {
	margin-top: 30px;
	text-align: right;
}

@media only screen and (min-width: 560px) {
	.profile-resume-sec-link {
		margin-top: 40px;
	}
}

@media only screen and (min-width: 960px) {
	.profile-resume-sec-link {
		margin-top: 60px;
	}
}

/* Refined redesign 2026-10 */
.profile-intro-sec-img img { border-radius:8px; box-shadow:0 16px 42px rgba(40,51,61,.07); }
.resume-sec-list .resume-place { color:#314657; border-color:#9fa8ad; background:#fff; border-radius:3px; font-family:'Noto Serif JP',serif; font-weight:500; }
.resume-sec-list .resume-text::before,.resume-sec-list .resume-text::after { background-color:#a78e68; }
