@charset "UTF-8";
html {
    scroll-behavior: smooth;
}

.detail .movie_block {
    padding: 40px 0 0;
}
.detail .movie_block_inner {
    width: 100%;
    max-width: 960px;
}

.detail.interview .middle_maintitle {
    background: #DEFFF4;
    color: #00A282;
    overflow: hidden;
}

.detail.interview .middle_maintitle h2 {
    position: relative;
    height: 300px;
}

.detail.interview .middle_maintitle h2::before {
    content: "";
    max-width: 287px;
    max-height: 205px;
    width: 40%;
    height: 100%;
    background: url("../img/interview/interview_ttl.png") no-repeat center bottom;
    background-size: contain;
    position: absolute;
    bottom: 0%;
    right: -13%;
}

.detail.interview .middle_ttl01 {
    color: #00b3bf;
}

.graph_block .graph_block_dl {
    max-width: 1200px;
    box-shadow: none;
}

.detail.interview .middle_maintitle h2 span span {
    text-align: center;
    display: block;
    font-size: 60%;
}

.detail.interview .middle_ttl01 span::after {
    background: #00b3bf;
}

.page_btn_block .contents_inner span.active_btn {
    width: 23%;
    min-width: 300px;
    max-width: 400px;
    height: 60px;
    line-height: 57px;
    display: block;
    text-align: center;
    font-size: 1.2em;
    text-decoration: none;
    background: #E95383;
    color: #fff;
    border-radius: 50px;
    margin: 1em 0.5em;
    position: relative;
    letter-spacing: 3px;
    border: 3px solid #E95383;
    font-weight: 600;
    letter-spacing: 1px;
}

.detail.interview .middle_ttl01 {
    color: #333;
}

.detail.interview .contents_inner:last-of-type {
    max-width: 1400px;
    flex-wrap: wrap;
}


@media screen and (max-width: 1510px) {
    .detail.interview .middle_maintitle h2::before {
        right: 0;
        width: 33%;
        max-width: 150px;
    }
}

@media screen and (max-width: 768px) {
    .detail.interview .middle_maintitle h2 {
        position: relative;
        height: auto;
        padding: 2em 0 4em;
    }
    .detail.interview .middle_maintitle h2::before {
        width: 35%;
    }

    .wide_960 {
        width: 100%;
    }

    .graph_block .graph_block_dl {
        padding: 3em 0 2em;
    }
}


.middle_maintitle h2 {
    font-size: 40px;
}
@media screen and (max-width: 767px) {
    .middle_maintitle h2 {
        font-size: 5vw;
    }
}

@media screen and (max-width: 480px) {}



/* 202604更新 */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
ul, ol {
  list-style: none;
}
a {
  text-decoration: none;
  color: inherit;
}

:root {
    --pink : #ED7C9B;
}
body.base_green {
  --base-color: #00A282;
}
body.base_blue {
  --base-color: #00A0C4;
}
body.base_purple {
  --base-color: #8577A4;
}

.din_fnt {
    font-family: "din-condensed", sans-serif;
    font-weight: 400;
}

.detail .base_txt {
    color: var(--base-color);
}

section {
    border-bottom: 1px solid #CCC;
}

.graph_block {
    margin-bottom: 0;
}

.sec_block:not(:last-of-type) {
    width: 100%;
    margin-bottom: 80px;
}

.interview_date p {
    text-align: right;
    margin-top: 10px;
}

.flex {
    display: flex;
}
.base_color {
    color: var(--base-color);
}
.mdl_txt {
    margin: 0;
    font-size: clamp(14px, 1vw, 18px);
    font-weight: 400;
    line-height: 1.6;
}
.mdl_txt .mini {
    font-size: clamp(12px, 1vw, 14px);
}
.note_txt {
    font-size: clamp(12px, 1vw, 14px);
}
.mdl_ttl_2 {
    margin: 0;
    font-size: clamp(18px, 1.8vw, 24px);
    font-weight: 500;
    line-height: 1.4;
    color: var(--base-color);
}
.mdl_ttl_2.mini {
    font-size: clamp(18px, 1.8vw, 20px);
}

.arrow_wide {
    position: relative;
    width: 200px;
    aspect-ratio: 180 / 30;
    margin: 20px auto 40px;
}
.arrow_wide::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 3px;
    transform: rotate(20deg);
    display: block;
    width: 50%;
    height: 2px;
    background-color: var(--base-color);
}
.arrow_wide::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 3px;
    transform: rotate(-20deg);
    display: block;
    width: 50%;
    height: 2px;
    background-color: var(--base-color);
}
.arrow_wide.pink::before,
.arrow_wide.pink::after {
    background-color: var(--pink);
}

#contents01 .contents_inner {
    padding: 1em 0 4em;
}

.interview .num_ttl {
    width: fit-content;
    margin: 0 auto 60px;
    padding-bottom: 10px;
    font-size: clamp(40px, 5vw, 80px);
    font-weight: 700;
    line-height: 1;
    color: #fff;
    -webkit-text-stroke: 1px var(--base-color);
    text-stroke: 1px var(--base-color);
    paint-order: stroke;
    border-bottom: 6px solid var(--base-color);
}
.interview .company_label {
    width: fit-content;
    margin: 0 auto 10px;
    padding: 3px 12px;
    background: rgba(0, 162, 130, 0.10);
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 700;
}

.interview.base_blue .company_label {
    background: rgba(228, 242, 247, 0.10);
}
.interview.base_purple .company_label {
    background: rgba(228, 242, 247, 0.10);
}
.interview .company_ttl {
    position: relative;
    width: fit-content;
    margin: 0 auto 70px;
    font-size: clamp(24px, 2.5vw, 42px);
    font-weight: 700;
    line-height: 1.2;
    color: var(--base-color);
}
.interview .company_ttl::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -20px;
    width: 100%;
    height: 8px;
    background: url("../img/interview/ttl_line.png") no-repeat center / cover;
}
.interview.base_blue .company_ttl::before {
    background: url("../img/interview/ttl_line_blue.png") no-repeat center / cover;
}
.interview.base_purple .company_ttl::before {
    background: url("../img/interview/ttl_line_purple.png") no-repeat center / cover;
}
.interview .half .company_ttl {
    font-size: clamp(20px, 2.5vw, 32px);
}

.interview .company_block .flex {
    flex-wrap: wrap;
    gap: 40px;
}
.interview .company_block .company_info {
    width: calc((100% - 40px) / 2);
}
.interview .company_block .img_box {
    display: flex;
    align-items: center;
    width: calc((100% - 40px) / 2);
}
.interview .company_block .img_box img {
    width: 100%;
    object-fit: cover;
}
.interview .company_block .img_container {
    width: calc((100% - 40px) / 2);
}
.interview .company_block .img_block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.interview .company_block .img_container .img_box {
    width: 100%;
}
.interview .company_block .company_info .info_ttl {
    position: relative;
    font-size: clamp(18px, 1.8vw, 26px);
    font-weight: 700;
    line-height: 1;
    margin: 0 0 30px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--base-color);
    color: var(--base-color);
}
.interview .company_block .company_info .info_ttl span {
    display: inline-block;
    margin-left: 20px;
    font-size: clamp(14px, 1vw, 20px);
    font-weight: 500;
}
.interview .company_block .company_info .data_box {
    position: relative;
}
.interview .company_block .company_info .data_box::before {
    content: "";
    position: absolute;
    left: clamp(140px, 12vw, 175px);
    top: 0;
    display: block;
    width: 1px;
    height: 100%;
    background: var(--base-color)
}
.interview .company_block .company_info .data_box dl {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}
.interview .company_block .company_info .data_box dl:first-of-type {
    align-items: center;
}
.interview .company_block .company_info .data_box dl dt {
    flex-shrink: 0;
    width: 12vw;
    max-width: 175px;
    min-width: 140px;
    color: var(--base-color);
    font-size: clamp(14px, 1vw, 18px);
    font-weight: 500;
    line-height: 1.4;
}
.interview .company_block .company_info .data_box dl dd {
    margin-left: 20px;
}
@media screen and (max-width: 768px) {
    .interview .company_block .wide_960 {
        flex-direction: column;
    }
    .interview .num_ttl {
        margin: 0 auto 40px;
    }
    .interview .company_block .company_info {
        width: 100%;
    }
    .interview .company_block .img_container {
        width: 100%;
    }
    .interview .company_block .img_box {
        width: 100%;
    }
}



.interview .effort_block .effort_bg {
    border-radius: 20px;
    background: url("../img/interview/interview_bg_dot.png") no-repeat center / cover;
    /* background-image: radial-gradient(#00a2822a 30%, #fff 30%);
    background-size: 5px 5px;
    background-position: 0ox 0px; */
}
.interview.base_blue .effort_block .effort_bg {
    background: url("../img/interview/effort_bg_dot_blue.png") no-repeat center / cover;
}
.interview.base_purple .effort_block .effort_bg {
    background: url("../img/interview/effort_bg_dot_purple.png") no-repeat center / cover;
}
.interview .effort_block .effort_bg .effort_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12.6vw;
    min-width: 182px;
    margin: 0;
    padding: 0 60px;
    background: rgba(0, 162, 130, 0.10);
    border-radius: 20px 0 0 20px;
}
.interview.base_blue .effort_block .effort_bg .effort_ttl {
    background: #e4f2f783;
}
.interview.base_purple .effort_block .effort_bg .effort_ttl {
    background: #edebf38c;
}
.interview .effort_block .effort_bg .effort_ttl p {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    padding-bottom: 5px;
    border-bottom: 4px solid var(--base-color);
    font-size: clamp(14px, 1vw, 20px);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: var(--base-color);
}
.interview .effort_block .effort_bg .effort_ttl span {
    font-size: clamp(20px, 2vw, 30px);
}
.interview .effort_block .effort_bg .effort_bg_body {
    padding: 40px;
    border-radius: 0 20px 20px 0;
}
.interview .effort_block .effort_bg .effort_bg_body .mdl_ttl_2 {
    margin: 0 0 20px;
}
.interview .effort_block .effort_point {
    border-radius: 20px;
    background: url("../img/interview/effort_bg_dot_green.png") no-repeat center / cover;
    /* background-image: radial-gradient(#00a2822a 30%, #fff 30%);
    background-size: 5px 5px;
    background-position: 0ox 0px; */
}
.interview.base_blue .effort_block .effort_point {
    background: url("../img/interview/effort_bg_dot_blue.png") no-repeat center / cover;
}
.interview.base_purple .effort_block .effort_point {
    background: url("../img/interview/effort_bg_dot_purple.png") no-repeat center / cover;
}
.interview .effort_block .effort_point .effort_ttl {
    background: url("../img/interview/effort_bg_dot_left.png") no-repeat center / cover;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12.6vw;
    min-width: 182px;
    margin: 0;
    padding: 0 60px;
    background-color: var(--base-color);
    border-radius: 20px 0 0 20px;
}
.interview.base_blue .effort_block .effort_point .effort_ttl {
    background: url("../img/interview/effort_bg_dot_left_blue.png") no-repeat center / cover;
    background-color: var(--base-color);
}
.interview.base_purple .effort_block .effort_point .effort_ttl {
    background: url("../img/interview/effort_bg_dot_left_purple.png") no-repeat center / cover;
    background-color: var(--base-color);
}
.interview .effort_block .effort_point .effort_ttl p {
    position: relative;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    padding-bottom: 10px;
    font-size: clamp(14px, 1vw, 20px);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: #fff;
}
.interview .effort_block .effort_point .effort_ttl p::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    display: block;
    width: 62px;
    height: 4px;
    transform: translateX(-50%);
    background: #fff;
}
.interview .effort_block .effort_point .effort_ttl span {
    font-size: clamp(20px, 2vw, 30px);
}
.interview .effort_block .effort_point .effort_point_body {
    padding: 40px;
    border-radius: 0 20px 20px 0;
}
.interview .effort_block .effort_point .effort_point_body ul li {
    display: flex;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid var(--base-color);
    padding-bottom: 20px;
}
.interview .effort_block .effort_point .effort_point_body ul li:not(:last-of-type) {
    margin-bottom: 20px;
}
.interview .effort_block .effort_point .effort_point_body ul li .effort_num {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.interview .effort_block .effort_point .effort_point_body ul li .effort_num span {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--pink);
    margin-bottom: 10px;
}
.interview .effort_block .effort_point .effort_point_body ul li:first-of-type .effort_num img {
    width: 20px;
}
.interview .effort_block .effort_point .effort_point_body ul li .effort_num img {
    width: 32px;
}
.interview .effort_block .effort_point .effort_point_body ul li .mdl_ttl_2 {
    margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
    .interview .effort_block .effort_bg {
        flex-direction: column;
        border-radius: 20px;
    }
    .interview .effort_block .effort_bg .effort_ttl {
        width: 100%;
        border-radius: 20px 20px 0 0;
    }
    .interview .effort_block .effort_bg .effort_ttl p {
        flex-direction: row;
        align-items: center;
    }
    .interview .effort_block .effort_bg .effort_bg_body {
        padding: 20px 20px;
        border-radius: 0 0 20px 20px;
    }
    .interview .effort_block .effort_point {
        flex-direction: column;
    }
    .interview .effort_block .effort_point .effort_ttl {
        width: 100%;
        border-radius: 20px 20px 0 0;
    }
    .interview .effort_block .effort_point .effort_ttl p {
        flex-direction: row;
        align-items: center;
    }
    .interview .effort_block .effort_point .effort_ttl p::before {
        width: 70%;
    }
    .interview .effort_block .effort_point .effort_point_body {
        padding: 20px 20px;
        border-radius: 0 0 20px 20px;
    }
    .interview .effort_block .effort_point .effort_point_body ul li {
        flex-direction: column;
    }
    .interview .effort_block .effort_point .effort_point_body ul li:first-of-type .effort_num img {
        width: 15px;
    }
    .interview .effort_block .effort_point .effort_point_body ul li .effort_num img {
        width: 27px;
    }
    .interview .effort_block .effort_point .effort_point_body ul li .mdl_ttl_2 {
        font-weight: 700;
        line-height: 1.6;
    }
    .interview .effort_block .effort_point .effort_point_body ul li .mdl_txt {
        font-weight: 700;
    }
}



.topic_block .topic_ttl {
    display: flex;
    align-items: center;
    margin: 0;
    border-top: 4px solid var(--pink);
}
.topic_block .topic_ttl > span {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 118 / 115;
    /* width: 7vw; */
    width: 110px;
    max-width: 110px;
    min-width: 60px;
    /* padding: clamp(10px, 1.2vw, 20px) clamp(15px, 2vw, 30px) clamp(15px, 2vw, 30px); */
    /* font-size: clamp(18px, 2vw, 30px); */
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    background: var(--pink);
}
.topic_block .topic_ttl > span span {
    border-bottom: 4px solid #fff;
}
.topic_block .topic_ttl p {
    display: flex;
    align-items: center;
    margin: 0;
    height: 95px;
    padding-left: 25px;
    /* padding: clamp(15px, 2vw, 25px) clamp(20px, 2vw, 40px); */
    /* font-size: clamp(16px, 1.7vw, 24px); */
    font-size: 24px;
    line-height: 1.4;
    font-weight: 500;
    color: var(--pink);
}
.topic_block .topic_body {
    padding: 50px 40px;
    background: url("../img/interview/interview_bg_dot_pink.png") no-repeat center / cover;
    border-bottom: 4px solid var(--pink);
}
.topic_block .topic_body .before_after {
    margin-top: 40px;
    flex-wrap: wrap;
    gap: 80px;
}
.topic_block .topic_body .before_after .box {
    width: calc((100% - 80px) / 2);
}
.topic_block .topic_body .before_after .box figure {
    position: relative;
    aspect-ratio: 400 / 248;
    margin: 0 0 10px;
}
.topic_block .topic_body .before_after:not(.no_arrow) .box.before figure::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + 28px);
    transform: translateY(-50%);
    display: block;
    width: 25px;
    aspect-ratio: 25 / 50;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: var(--pink);
}
.topic_block .topic_body .before_after .box figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.topic_block .topic_body .before_after figure figcaption {
    position: absolute;
    left: 0;
    top: 0;
    padding: 4px 14px 6px;
    background: #ED7C9B;
    color: #fff;
    font-size: clamp(12px, 1vw, 14px);
}
.topic_block .topic_body .before_after figure figcaption span {
    font-size: clamp(14px, 1.2vw, 20px);
}
.topic_block .topic_body .simple_box {
    width: 400px;
    margin: 40px auto 0;
}
.topic_block .topic_body .simple_box.wide_max {
    width: 100%;
}
.topic_block .topic_body .simple_box img {
    width: 100%;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
    .topic_block .topic_ttl > span {
        width: 60px;
        font-size: 18px;
    }
    .topic_block .topic_ttl p {
        padding: 0 20px;
        font-size: 16px;
    }
    .topic_block .topic_body {
        padding: 30px 20px;
    }
    .topic_block .topic_body .before_after.no_arrow {
        gap: 40px;
    }
    .topic_block .topic_body .before_after .box {
        position: relative;
        width: 100%;
    }
    .topic_block .topic_body .before_after:not(.no_arrow) .box.before figure::before {
        display: none;
    }
    .topic_block .topic_body .before_after:not(.no_arrow) .box.before::before {
        content: "";
        position: absolute;
        top: calc(100% + 28px);
        left: 50%;
        transform: translateX(-50%);
        display: block;
        width: 50px;
        aspect-ratio: 50 / 25;
        clip-path: polygon(100% 0, 0 0, 50% 100%);
        background: var(--pink);
    }
    .topic_block .topic_body p {
        font-weight: 700;
    }
    .topic_block .topic_body .simple_box {
        width: 100%;
    }
}



.system_block .wide_960 {
    align-items: center;
    gap: 57px;
}
.system_block figure {
    flex-shrink: 0;
    position: relative;
    width: 17vw;
    max-width: 250px;
}
.system_block figure::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
    transform: translateY(-50%);
    display: block;
    width: 17px;
    aspect-ratio: 17 / 34;
    background: var(--pink);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.system_block .wide_960 .mdl_ttl_2 {
    margin-bottom: 20px;
    color: var(--pink);
}
@media screen and (max-width: 768px) {
    .system_block .wide_960 {
        flex-direction: column;
        /* text-align: center; */
    }
    .system_block figure {
        width: 70%;
        max-width: 200px;
    }
    .system_block figure::before {
        top: calc(100% + 10px);
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
    }
}



.voice_block .wide_960 {
    padding: 30px 40px;
    border: 4px solid var(--base-color);
}
.voice_block .voice_ttl {
    position: relative;
    margin: 0 0 30px;
    padding: 0 0 0 26px;
    font-size: clamp(24px, 3vw, 40px);
    color: var(--base-color);
}
.voice_block .voice_ttl::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    aspect-ratio: 14 / 17;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: var(--base-color);
}
.voice_block .voice_ttl_2 {
    display: flex;
    margin: 0 0 20px;
    border-top: 1px solid var(--base-color);
    border-bottom: 1px solid var(--base-color);
    font-size: clamp(16px, 1.4vw, 20px);
    font-weight: 700;
    color: var(--base-color);
}
.voice_block .voice_ttl_2 span {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    aspect-ratio: 1 / 1;
    background: url("../img/interview/voice_bg_dot_green.png") no-repeat center / cover;
}
.base_blue .voice_block .voice_ttl_2 span {
    background: url("../img/interview/voice_bg_dot_blue.png") no-repeat center / cover;
}
.base_purple .voice_block .voice_ttl_2 span {
    background: url("../img/interview/voice_bg_dot_purple.png") no-repeat center / cover;
}
.voice_block .voice_ttl_2.base  span{
    background: url("../img/interview/voice_bg_dot.png") no-repeat center / cover;
    background-color: var(--base-color);
}
.voice_block .voice_ttl_2 span::before {
    content: "";
    width: 11px;
    aspect-ratio: 11 /13;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: var(--base-color);
}
.voice_block .voice_ttl_2.base span::before {
    background: #fff;
}
.voice_block .voice_ttl_2 p {
    padding: 10px 20px;
    margin: 0;
}
.voice_block .box {
    display: flex;
    align-items: center;
    gap: 30px;
}
.voice_block .box:not(:last-of-type) {
    margin-bottom: 50px;
}
.voice_block .name {
    font-size: clamp(16px, 1.4vw, 20px);
    font-weight: 500;
}
.voice_block .name .base_txt {
    display: inline-block;
}
.voice_block .name span {
    font-size: clamp(12px, 1vw, 14px);
}
.voice_block .name span:first-of-type {
    padding-right: 10px;
}
.voice_block .box img {
    width: 18.75vw;
    max-width: 270px;
}
@media screen and (max-width: 768px) {
    .voice_block .wide_960 {
        padding: 20px;
    }
    .voice_block .voice_ttl {
        font-size: clamp(18px, 3vw, 30px);
    }
    .voice_block .voice_ttl::before {
        width: 10px;
        aspect-ratio: 10 / 12;
    }
    .voice_block .voice_ttl_2 {
        font-size: clamp(14px, 1.4vw, 18px);
    }
    .voice_block .voice_ttl_2 span {
        width: 40px;
        aspect-ratio: 1 / 1;
    }
    .voice_block .voice_ttl_2 span::before {
        width: 8px;
        aspect-ratio: 8 /10;
    }
    .voice_block .box {
        flex-direction: column;
    }
    .voice_block .box .name {
        /* text-align: center; */
    }
    .voice_block .name span {
        font-size: clamp(12px, 1.8vw, 14px);
    }
    .voice_block .box .name span:first-of-type {
        display: block;
        padding: 0;
    }
    .voice_block .box img {
        width: 100%;
        margin: 0 auto;
    }
}