@charset "UTF-8";

/* ===============================================
  recruit / interview / dialogue
=============================================== */

/* ------------------------------
	page-header
------------------------------ */
.dialogue .page-header {
  background-color: var(--color-white);
  padding-top: 3rem;
  padding-bottom: 3rem;
}

@media (min-width: 768px) {
  .dialogue .page-header {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}

.dialogue .page-sub-ttl {
  font-size: .9em;
  font-weight: 700;
  color: var(--color-secondary);
  letter-spacing: 0.05em;
  line-height: 1;
}

@media (min-width: 768px) {
  .dialogue .page-sub-ttl {
    font-size: .9em;
    margin-bottom: 0.8rem;
  }
}

/* ------------------------------
	sec_mv
------------------------------ */
.sec_mv {
    background-color: var(--color-secondary);    
    color: var(--color-white);
}
.sec_mv p {
    padding: 2em 0;
}
@media (min-width: 768px) {

}


/* ------------------------------
	sec_introduction
------------------------------ */
.sec_introduction {
    padding: 4rem 0;
    background-color: var(--color-white);
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    align-items: center;
}

.intro-item {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    width: 100%;
    max-width: 400px;
}

.intro-icon {
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.intro-info {
    font-size: 1.2rem;
    line-height: 1.6;
}

.intro-year {
    display: block;
    margin-bottom: 0.2rem;
    font-weight: 700;
}

.intro-dept {
    display: block;
}

.intro-name {
    display: inline-block;
    margin-left: 0.5em;
    font-weight: 700;
}

.sec_introduction {
    padding: 6rem 0;
}

@media (min-width: 768px) {
    .intro-list {
        flex-direction: row;
        justify-content: center;
        gap: 2rem;
    }
    .intro-item {
        width: auto;
        gap: 1.5rem;
        max-width: none;
    }
    .intro-icon {
        width: 10rem;
        height: 10rem;
    }
}
@media (min-width: 1024px) {
    .intro-list {
        gap: 2.5rem;
    }
}
@media (min-width: 1200px) {
    .intro-list {
        gap: 4rem;
    }
}


/* ------------------------------
	Member Icons (Common)
------------------------------ */
.person-img-t {
    background-image: url('/recruit/interview/dialogue/img/img_person-t.png');
}
.person-img-s {
    background-image: url('/recruit/interview/dialogue/img/img_person-s.png');
}
.person-img-k {
    background-image: url('/recruit/interview/dialogue/img/img_person-k.png');
}

.talk-name {
    font-size: 1.2rem;
    font-weight: 700;
    color: #333;
    text-align: center;
    line-height: 1;
    padding: .2em 0;
}

/* ------------------------------
	Dialogue Sections (sec01~)
------------------------------ */
.dialogue section {
    padding: 4em 0;
}
.dialogue section:nth-of-type(odd) {
    background-color: var(--color-gray-light);
}
.dialogue section:nth-of-type(even) {
    background-color: var(--color-white);
}

.dialogue-ttl {
    font-weight: 700;
    color: var(--color-secondary);
    border-top: 1px solid var(--color-secondary);
    border-bottom: 1px solid var(--color-secondary);
    padding: 0.5em;
    margin-bottom: .5em;
    display: inline-block;
    width: auto;
}
@media (min-width: 768px) {
    .dialogue section {
        padding: 4em 0 5em;
    }
    .dialogue-ttl {
        width: auto;
        margin-bottom: 1em;
        border-top: none;
        border-bottom: 2px solid var(--color-secondary);
    }
}

.talk-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.talk-item {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1em 0 0;
}

.talk-icon-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 60px;
}

.talk-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-color: #ccc;
    margin-bottom: 0.5rem;
}

.talk-content {
    flex: 1;
    padding-top: 0.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 3px solid var(--color-white);
}
.dialogue section:nth-of-type(even) .talk-content {
    border-bottom: 3px solid var(--color-gray-light);
}

@media (min-width: 768px) {
    .talk-item {
        align-items: center;
        gap: 3rem;
        padding: 1em 0 0;
    }
    .talk-icon-box {
        width: 80px;
    }
    .talk-icon {
        width: 80px;
        height: 80px;
    }
    .talk-content {
        padding: 1.5em 1em 2em;
    }
}

.img_dialogue {
	display: block;
    width: 100%;
	margin: 0 auto;
	border-radius: 20px;
	overflow: hidden;
    margin-top:3em;
}

@media (min-width: 768px) {
	.img_dialogue {
		max-width: 1050px;
		border-radius: 40px;
        margin-top:5em;
        margin-bottom: 2em;
	}
}


/* sec_closing */
.sec_closing br {
    display: block;
}

.dialogue-ending{
    font-size: 1.35em;
    text-align: center;
}

@media (min-width: 768px) {
    .sec_closing {
        text-align: center;
    }
    .sec_closing br {
        display: none;
    }
    .dialogue-ending{
        font-size: 1.6em;
    }
}

.img__closing {
	display: block;
	width: 80%;
	margin: 0 auto;
	border-radius: 20px;
	overflow: hidden;
    margin-top:2rem;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
	.img__closing {
	    width: 50%;
		max-width: 730px;
		border-radius: 40px;
        margin-top:5rem;
        margin-bottom: 5rem;
	}
}



#sec-related{
    background-color: var(--color-white);
}
/* --- job-link (Copied from interview.css) --- */
.job-link {
    display: flex;
    align-items: center;
    background-color: #eff2f5;
    padding: 2rem;
    border-radius: 20px;
    text-decoration: none;
    color: var(--color-black);
    transition: opacity 0.3s;
}

.job-link:hover {
    opacity: 0.7;
}

.job-link::before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background-image: url('/common/img/icon_dept-blue.svg');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 2rem;
    flex-shrink: 0;
}

.job-link.dept-orange::before { background-image: url("/common/img/icon_biz01.png"); background-color: var(--dept-orange); }
.job-link.dept-yellow::before { background-image: url("/common/img/icon_biz02.png"); background-color: var(--dept-yellow); }
.job-link.dept-green::before { background-image: url("/common/img/icon_biz03.png"); background-color: var(--dept-green); }
.job-link.dept-bluegreen::before { background-image: url("/common/img/icon_biz04.png"); background-color: var(--dept-bluegreen); }
.job-link.dept-blue::before { background-image: url("/common/img/icon_biz05.png"); background-color: var(--dept-blue); }
.job-link.dept-pink::before { background-image: url("/common/img/icon_biz06.png"); background-color: var(--dept-pink); }

.job-link[class*="dept-"]::before {
    border-radius: 50%;
    background-size: 40px;
    background-position: center;
}

.job-link.dept-orange .job-link__cat { color: var(--dept-orange); }
.job-link.dept-yellow .job-link__cat { color: var(--dept-yellow); }
.job-link.dept-green .job-link__cat { color: var(--dept-green); }
.job-link.dept-bluegreen .job-link__cat { color: var(--dept-bluegreen); }
.job-link.dept-blue .job-link__cat { color: var(--dept-blue); }
.job-link.dept-pink .job-link__cat { color: var(--dept-pink); }

.job-link::after {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    -webkit-mask-image: url('/common/img/arrow-black.svg');
    mask-image: url('/common/img/arrow-black.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-black);
    margin-left: auto;
}

.job-link:hover::after {
    background-color: var(--color-primary);
}

.job-link__cont {
    display: flex;
    flex-direction: column;
}

.job-link__cat {
    color: var(--color-primary); /* Fallback */
    font-size: 0.77em;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.job-link__ttl {
    font-weight: bold;
}

@media (min-width: 768px) {
    .job-link {
        padding: 3rem;
    }
}
