@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .sec01 {
	padding-bottom: min(4.3vw,5.4rem);
	background: url(../img/person/bg02.webp) no-repeat center;
	background-size: cover;
}
.contentBig {
	margin: 0 auto;
}
#main .sec01 h2 {
	position: relative;
	margin: 0 max(-8.6vw,-11rem) max(-11.7vw,-15rem);
	text-align: center;
	z-index: 1;
}
#main .sec01 .photo {
	text-align: center;
	margin: 0 max(-8.6vw,-11rem) max(-10.15vw,-13rem);
}
#main .sec01 .linkUl {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem min(3.9vw,5rem);
	padding-right: min(2.3vw,3rem);
	justify-content: center;
}
#main .sec01 .linkUl li {
	width: min(14.1vw,18rem);
}
#main .sec01 .linkUl a {
	height: 100%;
	min-height: min(22.3vw,28.5rem);
	display: flex;
	justify-content: center;
	background-color: #fff;
	font-size: min(1.5vw,1.9rem);
	letter-spacing: 0.03em;
	position: relative;
	line-height: 1.2;
	z-index: 1;
}
#main .sec01 .linkUl .sub {
	/* min-width: min(5.5vw,7rem); */
	padding: min(1.8vw,2.3rem) min(0.8vw,1rem) 0;
	position: relative;
	z-index: 1;
	width: 100%;
}
#main .sec01 .linkUl .sub > div {
	width: fit-content;
	margin: 0 auto;
	display: flex;
	align-items: center;
	padding-right: 0.7rem;
}
#main .sec01 .linkUl a:after {
	width: min(5.2vw,6.6rem);  
	height: min(5.2vw,6.6rem);
	background: url(../img/person/arrow.webp) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	bottom: min(1.2vw,1.5rem);
	right: max(-1.8vw,-2.2rem);  
	content: ""; 
	transition: 0.3s;
	z-index: 1;
}
#main .sec01 .linkUl a::before {
	filter: drop-shadow(0.6rem 0.6rem 1rem rgba(0,0,0,0.1));
	/* filter: drop-shadow(6px 6px 10px red); */
	clip-path: polygon(
		0 0,
		18rem 0,
		19.7rem 29.4rem,
		0 28.6rem
	);
	position: absolute;  
	top: 0;
	right: -0;
	left: 0;
	bottom: -0;  
	content: ""; 
	z-index: 1;
	background-color: #fff;
}
#main .sec01 .linkUl .num {
	position: absolute;
	top: max(-1.9vw,-2.4rem);
	left: 0.3rem;
	z-index: 1;
}
#main .sec01 .linkUl .txtSpan {
	font-size: 0.97em;
	display: inline-block;
	-webkit-writing-mode : tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	transform: scaleX(1.2);
}
#main .sec01 .linkUl .on .sub {
	color: #fff;
}
#main .sec01 .linkUl .on a::after {
	background-image: url(../img/person/arrow_on.webp);
}
#main .sec01 .linkUl .on a::before {
	background-color: #000;
}
#main .bigPhoto{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: min(62.7vw,80.3rem);
	text-align: center;
	background: url(../img/person/photo01.webp) no-repeat center top;
	background-size: cover;
	color: #fff;
}
#main .bigPhoto .content {
	width: 100%;
}
#main .bigPhoto h3 {
	padding-top: min(7.8vw,10rem);
	margin-bottom: min(3.125vw,4rem);
	font-size: min(6.51vw,8.34rem);
	letter-spacing: 0.2em;
	font-weight: 400;
	line-height: 1.27;
	transform: scaleX(1.2);
	font-feature-settings: "palt";
}
#main .bigPhoto .name {
	font-size: min(1.25vw,1.59rem);
	transform: scaleX(1.2);
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
#main .bigPhoto .name .txtSpan {
	margin: 0.1rem 0;
	display: block;
	font-size: min(1.61vw,2.06rem);
}
#main .bigPhoto .name .txtSpan02 {
	font-size: min(1vw,1.27rem);
	display: block;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
}
#main .sec02 {
	padding-bottom: 6rem;
	position: relative;
	background: url(../img/person/bg04.webp) repeat-y center top max(-24.8vw,-31.7rem);
	background-size: 100% auto;
}
#main .sec02 .topTxt {
	margin: 0 0 max(-1.25vw,-1.6rem) min(4.7vw,6rem);
	position: relative;
	top: max(-6vw,-7.6rem);
	font-size: min(1.7vw,2.15rem);
	letter-spacing: 0.12em;
	font-feature-settings: "palt";
}
#main .sec02 .topTxt .txtSpan {
	transform: scaleX(1.2);
	transform-origin: left top;
	display: block;
}
#main .sec02 .topTxt .line {
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	background-color: #fff;
	line-height: 2.35;
	padding: min(0.625vw,0.8rem) min(0.78vw,1rem) min(0.625vw,0.8rem);
	box-sizing: border-box;
}
#main .sec02 .btmP {
	margin: 0 -1rem;
	letter-spacing: 0.18em;
	font-feature-settings: "palt";
	letter-spacing: 0.18em;
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
#main .sec02 .list {
	margin: 0 -1rem 3.3rem;
}
#main .sec02 .list > li {
	margin-bottom: min(4.7vw,6rem);
	background-color: #fff;
	border: 1px solid #231815;
}
#main .sec02 .list > li:last-child {
	margin-bottom: 0;
}
#main .sec02 .list li dt {
    cursor: pointer;
    position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
#main .sec02 .list li dt .lSpan {
	width: min(12.1vw,15.5rem);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border-right: 1px solid #7398D4;
}
#main .sec02 .list li dt .rBox {
	flex: 1;
	min-height: min(11.3vw,14.5rem);
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	padding: min(2.1vw,2.7rem) min(7.8vw,10rem) min(1.96vw,2.5rem) min(3.4vw,4.4rem);
}
#main .sec02 .list li dt .ttl {
	margin-bottom: min(0.625vw,0.8rem);
	font-size: min(2.6vw,3.3rem);
	line-height: 1.45;
	letter-spacing: 0.12em;
	font-feature-settings: "palt";
}
#main .sec02 .list li dt .ttl .txtSpan {
	transform: scaleX(1.2);
	transform-origin: left top;
	display: inline-block;
}
#main .sec02 .list li dt .ttl .line {
	transform: none;
	letter-spacing: 0;
}
#main .sec02 .list li dt .ttl:last-child {
	margin-bottom: 0;
}
#main .sec02 .list li dt .date {
	font-size: min(1.4vw,1.8rem);
	line-height: 1.78;
	letter-spacing: 0.12em;
	font-feature-settings: "palt";
}
#main .sec02 .list li dt .date .txtSpan {
	transform: scaleX(1.2);
	transform-origin: left top;
	display: inline-block;
}
#main .sec02 .list li dt:before,
#main .sec02 .list li dt:after {
    position: absolute;
    right: min(3.75vw,4.8rem);
    top: 50%;
    width: min(3.52vw,4.5rem);
    height: 2px;
    background-color: #7398D4;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    content: "";
}
#main .sec02 .list li dt:after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
#main .sec02 .list li dt.on:after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    opacity: 0;
}
#main .sec02 .list li dd {
	padding: min(3.125vw,4rem) min(1.6vw,2rem) min(6.1vw,7.8rem);
	border-top: 1px solid #CCCCCC;
	display: none;
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
#main .sec02 .list li dd .sub {
	max-width: min(75vw,96rem);
	margin: 0 auto;
}
#main .sec02 .list li dd p {
	margin-bottom: min(3.52vw,4.5rem);
	font-size: 1.9rem;
	letter-spacing: 0.04em;
	line-height: 2.11;
	font-feature-settings: "palt";
}
#main .sec02 .list li dd p .textSpan {
	text-align: left;
}
#main .sec02 .list li dd p:last-child {
	margin-bottom: 0;
}
#main .sec02 .list li .innerPhoto img {
	width: 100%;
}
#main .sec02 .list li .innerPhoto .subSpan {
	display: block;
	letter-spacing: 0.04em;
	margin-top: 1.2rem;
}
#main .sec02 .list li .innerPhoto .subSpan.right {
	text-align: right;
}
#main .sec02 .photoUl {
	margin-top: -1.3rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem min(2.11vw,2.7rem);
}
#main .sec02 .photoUl li {
	width: 70.8%;
}
#main .sec02 .photoUl .liStyle {
	width: auto !important;
	flex: 1;
}
#main .sec02 .photoUl li span {
	display: block;
	font-size: min(1.4vw,1.8rem);
	letter-spacing: 0.04em;
	line-height: 1.56;
	margin: 1.3rem 0 0 0.5rem;
}
#main .tabBox02 .bigPhoto {
	background-image: url(../img/person/photo12.webp);
}
#main .tabBox03 .bigPhoto {
	background-image: url(../img/person/photo21.webp);
}
#main .tabBox04 .bigPhoto {
	background-image: url(../img/person/photo33.webp);
}
#main .photoUl02 {
	margin-left: max(-1.4vw,-1.8rem);
	display: flex;
	flex-wrap: wrap;
	gap: 1rem min(2.66vw,3.4rem);
}
#main .photoUl02 li {
	width: 48.3%;
}
#main .photoUl02 li:not(.liStyle) span {
	margin-left: 1rem;
}
#main .photoUl02 li img {
	width: 100%;
}
#main .photoUl02 .liStyle {
	width: auto;
	flex: 1;
}
#main .photoUl02 li span {
	margin-top: 0.5rem;
	display: block;
	font-size: min(0.94vw,1.2rem);
}
#main .sec02 .list li dd .smallTxt {
	font-size: 1.6rem;
	line-height: 2;
	margin-top: max(-1.6vw,-2rem);
}
#main .tabBox04 .sec02 .photoUl {
	margin-top: 0;
	gap: 1rem 3.5rem;
}
#main .tabBox04 .sec02 .photoUl li {
	width: 34.4%;
}
@media all and (min-width: 897px) {
	#main {
		margin-bottom: 8rem;
	}
	#container {
		padding-top: 11.0rem;
	}
	#main .sec01 .linkUl a:hover .sub {
		color: #fff;
	}
	#main .sec01 .linkUl a:hover::before {
		background-color: #000000;
	}
	#main .sec01 .linkUl a:hover::after {
		background-image: url(../img/person/arrow_on.webp);
	}
	#main .tabBox02 .sec02 .topTxt {
		margin-left: min(10.94vw,14rem);
	}
	#main .tabBox03 .sec02 .topTxt {
		margin-left: min(6.25vw,8rem);
	}
	#main .photoUl02 li a:hover {
		text-decoration: underline;
	}
	#main .tabBox04 .sec02 .photoUl li span {
		margin-left: 0;
	}
	#main .sec01 .linkUl .num img {
		width: min(4.5vw,5.9rem);
	}
	#main .sec02 .list li dt .lSpan img {
		width: auto;
		max-width: inherit;
		max-height: min(3.9vw,5rem);
	}
}



@media all and (max-width: 896px) {
	#container {
		padding-top: 6.1rem;
	}
	#main .sec01 h2 {
		margin: 0 -2rem -2.5rem;
	}
	#main .sec01 h2 img {
		width: 100%;
	}
	#main .sec01 .photo {
		margin: 0 -5.2rem -3.0rem;
	}
	#main .sec01 .linkUl {
		padding: 0;
		gap: 1rem 2.3rem;
	}
	#main .sec01 .linkUl li {
		width: 6.5rem;
	}
	#main .sec01 .linkUl .txtSpan {
		min-width: 3rem;
	}
	#main .sec01 .linkUl a {
		letter-spacing: 0;
		min-height: 17.3rem;
		font-size: 1.2rem;
	}
	#main .sec01 .linkUl .sub {
		padding: 1rem 0.5rem 0.3rem;
	}
	#main .sec01 .linkUl .sub > div {
		padding-right: 0;
	}
	#main .sec01 .linkUl .num img {
		width: auto;
		max-height: 1.7rem;
	}
	#main .sec01 .linkUl .num {
		top: -1.5rem;
	}
	#main .sec01 .linkUl a::after {
		width: 3.3rem;
		height: 3.3rem;
		right: -1.8rem;
		bottom: -0.7rem;
	}
	#main .sec01 {
		padding-bottom: 2.1rem;
	}
	#main .bigPhoto {
		min-height: 82.7vw;
	}
	#main .bigPhoto h3 {
		margin-bottom: 1.2rem;
		padding-top: 4rem;
		font-size: 3.22rem;
	}
	#main .bigPhoto .name {
		font-size: 0.8rem;
	}
	#main .bigPhoto .name .txtSpan {
		font-size: 1.1rem;
		margin: 0;
	}
	#main .bigPhoto .name .txtSpan02 {
		font-size: 0.7rem;
	}
	#main .sec02 .topTxt {
		font-size: 1.4rem;
		margin: 0 0.5rem -1.2rem;
		top: -4.2rem;
	}
	#main .sec02 .topTxt .txtSpan {
		display: block;
	}
	#main .sec02 .topTxt .line {
		padding: 0.4rem 0.4rem 0.2rem;
		line-height: 1.93;
	}
	#main .sec02 {
		padding-bottom: 2rem;
		background-image: url(../img/person/bg04_sp.webp);
		background-position: center top -13.6rem;
	}
	#main .sec02 .list {
		margin: 0 0 2rem;
	}
	#main .sec02 .list li dt .lSpan {
		width: 6rem;
	}
	#main .sec02 .list li dt .lSpan img {
		width: auto;
		max-width: inherit;
		height: 2rem;
	}
	#main .sec02 .list li dt .rBox {
		padding: 1.1rem 5rem 0.9rem 1.5rem;
		min-height: 10.2rem;
	}
	#main .sec02 .list li dt .ttl {
		margin-bottom: 0.5rem;
		font-size: 1.8rem;
		line-height: 1.44;
	}
	#main .sec02 .list li dt .date {
		font-size: 1.05rem;
		line-height: 1.62;
	}
	#main .sec02 .list li dt::before, #main .sec02 .list li dt::after {
		width: 3rem;
		right: 1.3rem;
	}
	#main .sec02 .list > li {
		margin-bottom: 2.4rem;
	}
	#main .sec02 .btmP {
		margin: 0;
		font-size: 1.05rem;
		letter-spacing: 0.18em;
		font-feature-settings: "palt";
	}
	#main .sec02 .list li dd {
		padding: 1rem 1.5rem 1.5rem;
	}
	#main .sec02 .list li dd .sub {
		max-width: inherit;
	}
	#main .sec02 .list li dd p {
		font-size: 1.3rem;
		line-height: 2;
		margin-bottom: 1rem;
		letter-spacing: 0.04em;
	}
	#main .sec02 .list li dd .text00 {
		text-align: left;
	}
	#main .sec02 .photoUl {
		margin-top: 0;
		gap: 1rem 1.0rem;
	}
	#main .sec02 .photoUl li {
		width: 65.0%;
	}
	#main .sec02 .photoUl li img {
		width: 100%;
	}
	#main .sec02 .photoUl li span {
		font-size: 1.05rem;
		line-height: 1.43;
		margin: 0.6rem 0 0;
	}
	#main .sec02 .list li .innerPhoto .subSpan {
		font-size: 1.05rem;
		margin-top: 0.5rem;
	}
	#main .sec02 .list li dd p + p {
		padding-top: 1.5rem;
	}
	#main .photoUl02 {
		gap: 1rem 0.4rem;
		margin-left: -0.5rem;
	}
	#main .photoUl02 li {
		width: 49.5%;
	}
	#main .photoUl02 li span {
		font-size: 0.7rem;
		line-height: 1.43;
	}
	#main .photoUl02 li img {
		width: 100%;
	}
	#main .photoUl02 li:not(.liStyle) span {
		margin-left: 0.5rem;
	}
	#main .tabBox04 .bigPhoto h3 {
		margin-bottom: 0.5rem;
		margin-top: -2.5rem;
	}
	#main .sec02 .list li dd .smallTxt {
		margin-top: -1.8rem;
		font-size: 1.05rem;
		line-height: 1.714;
	}
	#main .tabBox04 .sec02 .photoUl {
		gap: 1rem 0;
		justify-content: space-between;
	}
	#main .tabBox04 .sec02 .photoUl li {
		width: 36.4%;
		position: relative;
	}
	#main .tabBox04 .sec02 .photoUl li img {
		width: 100%;
	}
	#main .tabBox04 .sec02 .photoUl .liStyle {
		width: 61% !important;
		flex: inherit;
	}
	#main .tabBox04 .sec02 .photoUl li .photo {
		position: relative;
	}
	#main .tabBox04 .sec02 .photoUl li .photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#main {
		margin-bottom: 12vw;
	}
}	

@media all and (min-width: 897px) and (max-width: 1279px) {
	#main .sec02 .content {
		width: 90%;
	}
	#main .sec02 .btmP {
		margin: 0 1rem;
	}
}