@charset "utf-8";

/* ------------------------------
 社員紹介 （PC）
------------------------------ */
.personBox a {
    position: relative;
    display: block;
}
.personBox a .textBox {
    width: 80%;
    position: absolute;
    bottom: 35px;
    left: 0;
    right: 0;
    margin: auto;
    color: #fff;
    font-weight: bold;
    line-height: 1.5;
}
.personBox a .textBox .title {
    margin-bottom: 15px;
}

@media print, screen and (min-width:768px) {
    .personBox a:hover {
        opacity: 1;
    }
    .personBox a .textBox {
        width: 80%;
    }
    .personBox a .textBox .title {
        font-size: 3rem;
    }
    .personBox a .textBox .sub {
        font-size: 2rem;
    }
    
}
/* ------------------------------
 社員紹介 （SP）
------------------------------ */
@media screen and (max-width: 767px) {
    .personBox a .textBox .title {
        font-size: 2.2rem;
    }
    .personBox a .textBox .sub {
        font-size: 1.6rem;
    }
}
/* ------------------------------
 下層ページ （PC）
------------------------------ */
/* プロフィール */
.nameBox .f35 {
    line-height: 1.5;
}
/* トピックス */
.topics {
    display: block;
    line-height: 1;
    color: var(--green-color);
    width: fit-content;
    position: relative;
    margin-bottom: 15px;
    padding-left: 20px;
    font-weight: bold;
}
.topics::before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 3px solid #059649;
}
/* インタビューブロック01 */
.interviewBlock01 {
    position: relative;
    margin-bottom: 120px;
}
/* インタビューブロック02 */
.interviewBlock02 {
    position: relative;
    margin-bottom: 120px;
}
/* 未来の仲間へ */
.messageBlock {
    background: var(--green-color);
    padding: 45px;
    border-radius: 30px;
    color: #fff;
}
.messageBlock .topics {
    color: #fff;
    margin-bottom: 10px;
}
.messageBlock .topics::before {
    border: 3px solid #fff;
}
.messageBlock .title {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 10px;
}
/* 一日のスケジュール */
.scheduleBlock {
    background: #f4f5f4;
    border-radius: 30px;
    padding: 45px;
    margin-bottom: 10px;
}
.scheduleBlock .title {
    font-size: 2.2rem;
    font-weight: 600;
    color: #fff;
    text-align: center;
    min-height: 50px;
    line-height: 50px;
    border-radius: 50px;
    padding: 0 35px;
    position: relative;
    background: -webkit-linear-gradient(45deg, #0a9448, #56bd22);
    width: fit-content;
    margin-bottom: 30px;
}
.scheduleBlock ul > li {
	display: flex;
	column-gap: 50px;
	padding-left: 0;
	font-size: 1.6rem;
}
.scheduleBlock ul > li:not(:last-child) {
	padding-bottom: 19px;
}
.scheduleBlock ul > li::before {
	content: none;
}
.scheduleBlock ul > li > .schedule {
    line-height: 1.5;
    font-size: 1.4rem;
}
.scheduleBlock ul > li > .schedule strong {
    font-size: 1.6rem;
}
.scheduleBlock ul > li > .time {
	position: relative;
    color: var(--green-color);
    font-weight: bold;
    line-height: 1.5;
}
.scheduleBlock ul > li > .time::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -25px;
	width: 1px;
	height: calc(100% + 19px);
	background-color: var(--green-color);
}
.scheduleBlock ul > li:first-child > .time::before {
	top: 9px;
}
.scheduleBlock ul > li:last-child > .time::before {
	height: calc(100% - 12px);
}
.scheduleBlock ul > li > .time::after {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	right: -31px;
    width: 13px;
    height: 13px;
	border-radius: 50%;
	background-color: var(--green-color);
}
@media print, screen and (min-width:768px) {
    /* 見出し */
    .nameBox {
        position: absolute;
        right: 0;
        top: 300px;
        background: #fff;
        border-radius: 30px 0 0 0;
        padding: 50px;
        width: 546px;
        line-height: 1.5;
    }
    /* インタビューブロック01 */
    .interviewBlock01 .box_image {
        margin-right: calc(104.395% - 50vw);
    }
    .interviewBlock01 .box_image img {
        width: 100%;
        object-fit: cover;
        overflow: hidden;
        border-radius: 30px 0 0 30px;
        display: flex;
        align-items: center;
        min-width: 100%;
    }
    /* インタビューブロック02 */
    .interviewBlock02 .box_image {
        margin-left: calc(104.395% - 50vw);
    }
    .interviewBlock02 .box_image img {
        width: 100%;
        object-fit: cover;
        overflow: hidden;
        border-radius: 0 30px 30px 0;
        display: flex;
        align-items: center;
        min-width: 100%;
    }
    /* インタビューブロック03 */
    .interviewBlock03 .box_image {
        margin-right: calc(50% - 50vw);
        margin-bottom: 50px;
    }
    .interviewBlock03 .box_image img {
        width: 100%;
        object-fit: cover;
        overflow: hidden;
        border-radius: 30px 0 0 30px;
        display: flex;
        align-items: center;
        min-width: 100%;
    }
}
/* ------------------------------
 下層ページ （SP）
------------------------------ */
@media screen and (max-width: 767px) {
    /* プロフィール */
    .nameBox {
        margin-bottom: 60px;
    }
    /* トピックス */
    .topics {
        margin-bottom: 10px;
    }
    /* インタビューブロック01 */
    .interviewBlock01 {
        margin-bottom: 60px;
    }
    .interviewBlock01 .box_image {
        margin-right: calc(50% - 50vw);
    }
    .interviewBlock01 .box_image img {
        border-radius: 20px 0 0 20px;
    }
    /* インタビューブロック02 */
    .interviewBlock02 {
        margin-bottom: 60px;
    }
    .interviewBlock02 .box_image {
        margin-left: calc(50% - 50vw);
    }
    .interviewBlock02 .box_image img {
        border-radius: 0 20px 20px 0;
    }
    /* インタビューブロック03 */
    .interviewBlock03 {
        margin-bottom: 60px;
    }
    .interviewBlock03 .box_image {
        margin-right: calc(50% - 50vw);
    }
    .interviewBlock03 .box_image img {
        border-radius: 20px 0 0 20px;
    }
    /* 未来の仲間へ */
    .messageBlock {
        padding: 40px 5% 30px;
        border-radius: 20px;
    }
    .messageBlock .title {
        font-size: 2.3rem;
        line-height: 1.5;
    }
    /* 一日のスケジュール */
    .scheduleBlock {
        border-radius: 20px;
        padding: 40px 5% 30px;
    }
    .scheduleBlock .title {
        font-size: 1.8rem;
        min-height: 38px;
        line-height: 38px;
        border-radius: 38px;
        padding: 0 25px;
        margin-bottom: 20px;
    }
    .scheduleBlock ul > li:last-child > .time::before {
        height: calc(100% + 25px);
    }
    .scheduleBlock ul + ul {
        margin-top: 20px;
    }
    .scheduleBlock ul + ul > li:last-child > .time::before {
        height: calc(100% - 34px);
    }
}