@charset "UTF-8";

@font-face {
  font-family: 'ZenMaruGothic-Medium'; /* 好きなフォント名 */
  src: url('../fonts/ZenMaruGothic-Medium.woff2') format('woff2'),
       url('../fonts/ZenMaruGothic-Medium.woff') format('woff'); /* 優先順位: WOFF2 > WOFF */
  font-weight: normal;
  font-style: normal;
}

@font-face {
    font-family: 'ZenMaruGothic-Regular'; /* 好きなフォント名 */
    src: url('../fonts/ZenMaruGothic-Regular.woff2') format('woff2'),
         url('../fonts/ZenMaruGothic-Regular.woff') format('woff'); /* 優先順位: WOFF2 > WOFF */
    font-weight: normal;
    font-style: normal;
}

.voice-detail .voice-header .company-name,
.voice-item-wide .voice-item-content *:not(.voice-detail-btn),
.voice-detail .point-main .point-title,
.voice-detail .point-main .thumb-wrap .thumb .caption{
    font-family: 'ZenMaruGothic-Regular', '游ゴシック Medium', 'Yu Gothic Medium', 'YuGothic M', '游ゴシック', 'Yu Gothic', '游ゴシック体', YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "M+ 1p", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    letter-spacing: 0.02em;
}

.voice-item-wide .voice-item-inner .voice-item-industry,
.voice-detail .voice-header .maintitle,
.voice-detail .company-main .company-name{
    font-family: 'ZenMaruGothic-Medium', '游ゴシック Medium', 'Yu Gothic Medium', 'YuGothic M', '游ゴシック', 'Yu Gothic', '游ゴシック体', YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "M+ 1p", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    letter-spacing: 0.02em;
}

.voice-detail img{
    max-width: 100%;
}


/*** voice-item-category ***/
.voice-item-category{
    list-style: none;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
}
.voice-item-category li img{
    width: 60px;
    height: auto;
}

@media only screen and (max-width: 640px) {
    .voice-item-category li img{
        width: 40px;
    }
}


/*** section-voice-index ***/
.section-voice-index{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.voice-index-new{
    display: flex;
    flex-wrap: wrap;
    gap: 60px 80px;
    flex-flow: row wrap;
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .voice-index-new{
        gap: 40px;
        margin-bottom: 40px;
    }
}


.voice-index-archive{
    display: flex;
    flex-wrap: wrap;
    gap: 60px 80px;
    flex-flow: row wrap;
    max-width: 990px;
    margin: 0 auto;
}

@media only screen and (max-width: 640px) {
    .voice-index-archive{
        gap: 40px;
    }
}

/*** voice-item-2col ***/
.voice-item-2col{
    width: calc((100% - 80px) / 2);
    position: relative;
    padding-bottom: 30px;
}
.voice-item-2col .voice-item-inner{
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s ease-in-out;
}
.voice-item-2col .voice-item-inner:hover{
    opacity: 0.5;
}
.voice-item-2col .voice-item-inner .voice-item-thumb{
    width: 100%;
    height: 0;
    padding-bottom: calc(100% / 440 * 290);
    position: relative;
}
.voice-item-2col .voice-item-inner .voice-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}
.voice-item-2col .voice-item-catchcopy {
    text-align: center;
    font-size: 1.15em;
    line-height: 1.4em;
    margin: 1em 0 2em;
    min-height: 4em;
}
.voice-item-2col .voice-item-inner .voice-item-company {
    text-align: center;
    font-size: 1.1em;
    line-height: 1.4em;
    font-weight: bold;
    margin: 0 0 1.5em;
}
.voice-item-2col .voice-detail-btn {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 30px;
    border-bottom: 1px solid rgba(0, 128, 82, 1);
}
.voice-item-2col .voice-detail-btn::before {
    position: absolute;
    content: '';
    width: 30px;
    height: 30px;
    right: 0;
    bottom: -1px;
    background: url(../../img/arrow-right-white.svg) no-repeat 12px center rgba(0, 128, 82, 1);
}
.voice-index .voice-detail-btn:hover {
    text-decoration: none;
    background-color: rgba(0, 128, 82, 0.8);
}
@media only screen and (max-width: 640px) {
    .voice-item-2col {
        width: 100%;
    }
    .voice-item-2col p {
        height: auto;
    }
}


/*** voice-item-wide ***/
.voice-item-wide{
    width: 100%;
}
.voice-item-wide .voice-item-inner{
    display: flex;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(120deg, transparent, transparent 2px, rgba(239, 246, 234, 1) 2px, rgba(239, 246, 234, 1) 7px );
    position: relative;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s ease-in-out;
}
.voice-item-wide .voice-item-inner:hover{
    opacity: 0.5;
}
.voice-item-wide .voice-item-inner:before{
    display: inline-block;
    content: '';
    position: absolute;
    top: 15px;
    left: 54%;
    right: 3%;
    height: 100%;
    background-color: rgba(255, 255, 255, 1);
    background: url(../img/icon-dot.png) no-repeat left top;
    background-size: 100% auto;
    mix-blend-mode: multiply;
}
.voice-item-wide .voice-item-inner .voice-item-new-badge{
    position: absolute;
    top: -2em;
    left: -2em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 3.5em;
    height: 3.5em;
    background-color: #fabe00;
    border-radius: 99999px;
    color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.02em;
}
.voice-item-wide .voice-item-inner .voice-item-thumb-wrap{
    width: calc(100% / 960 * 520);
    /* position: relative;
    z-index: 1; */
}
.voice-item-wide .voice-item-inner .voice-item-thumb{
    width: 100%;
    /* height: 0;
    padding-bottom: calc(100% / 520 * 540); */
    /* position: relative; */
}
.voice-item-wide .voice-item-inner .voice-item-thumb img {
    width: 100%;
    /* width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 0 100% 100% 0; */
}
.voice-item-wide .voice-item-inner .voice-item-content{
    flex: 1;
    padding: 30px;
    position: relative;
}
.voice-item-wide .voice-item-inner .voice-item-catchcopy{
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50%;
}
.voice-item-wide .voice-item-inner .voice-item-industry {
    text-align: center;
    font-size: 1.1em;
    line-height: 1.4em;
    font-weight: bold;
    color: #147a4e;
    margin: 0.3em 0;
}
.voice-item-wide .voice-item-inner .voice-item-company{
    font-size: 1.625em;
    font-weight: bold;
    line-height: 1.2;
    color: #FFFFFF;
    text-align: center;
    background-color: #147a4e;
    /* border-radius: 99999px; */
    padding: 0.3em 0.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 57px;
}
.voice-item-wide .voice-item-inner .voice-detail-btn{
    position: absolute;
    bottom: 30px;
    left: auto;
    right: 40px;
    width: auto;
    height: auto;
    border-bottom: none;
    font-size: 1.25em;
    line-height: 1.2;
    color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background-color: #147a4e;
    padding: 0.2em 0.8em;

}
.voice-item-wide .voice-item-inner .voice-detail-btn::before{
    content: '詳しくはこちら';
    display: block;
    width: auto;
    height: auto;
    position: static;
    background: none;
}
.voice-item-wide .voice-item-inner .voice-detail-btn::after{
    content: '';
    display: block;
    width: 0.8em;
    height: 0.8em;
    background: url(../img/arrow-right-white.png) no-repeat center center;
    background-size: contain;
}

.management-voice .voice-item-wide .voice-item-inner{
    background-image: repeating-linear-gradient(120deg, transparent, transparent 2px, #f2f7fd 2px, #f2f7fd 7px);
}
.management-voice .voice-item-wide .voice-item-inner .voice-item-company,
.management-voice .voice-item-wide .voice-item-inner .voice-detail-btn{
    background-color: #5f9fd0
}
.management-voice .voice-item-wide .voice-item-inner .voice-item-industry {
    color: #5f9fd0;
}

@media only screen and (max-width: 640px) {
    .voice-item-wide .voice-item-inner{
        flex-direction: column;
    }
    .voice-item-wide .voice-item-inner:before{
        top: 50%;
        left: 4%;
        right: 9%;
    }
    .voice-item-wide .voice-item-inner .voice-item-thumb-wrap{
        width: 90%;
    }
    .voice-item-wide .voice-item-inner .voice-item-new-badge{
        top: -2.5em;
        left: -15px;
        font-size: 1.13em;
    }
    .voice-item-wide .voice-item-inner .voice-item-content{
        padding: 20px 20px 80px 20px;
    }
    .voice-item-wide .voice-item-inner .voice-item-catchcopy{
        font-size: 1.25em;
    }
    .voice-item-wide .voice-item-inner .voice-item-company{
        font-size: 1.25em;
        margin-top: 20px;
    }
    .voice-item-wide .voice-item-inner .voice-detail-btn{
        font-size: 1.125em;
        right: 20px;
        bottom: 20px;
    }
}



/*** 詳細ページ ***/
.bg-stripe{
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(120deg, transparent, transparent 2px, rgba(239, 246, 234, 1) 2px, rgba(239, 246, 234, 1) 7px );
}
.management-voice .bg-stripe{
    background-image: repeating-linear-gradient(120deg, transparent, transparent 2px, #f2f7fd 2px, #f2f7fd 7px);
}
.voice-detail .container{
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
}
@media only screen and (min-width: 641px) {
    .sp{
        display: none;
    }
}
@media only screen and (max-width: 640px) {
    .voice-detail .container{
        padding-left: 20px;
        padding-right: 20px;
    }
    .pc{
        display: none;
    }
}

/*** voice-header ***/
.voice-detail .voice-header{
    padding: 60px 20px 80px;
    position: relative;
}
.voice-detail .voice-header .maintitle{
    font-size: 2em;
    line-height: 1.5;
    text-align: center;
    margin: 0;
    padding: 0;
}
.voice-detail .voice-header .company-name{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.2;
    color: #FFFFFF;
    text-align: center;
    margin: 0;
    transform: translateY(50%);
}
.voice-detail .voice-header .company-name .inner{
    display: inline-block;
    background-color: #147a4e;
    padding: 0.5em 1em;
    border-radius: 99999px;
}
@media only screen and (max-width: 640px) {
    .voice-detail .voice-header{
        padding: 40px 20px 60px;
    }
    .voice-detail .voice-header .maintitle{
        font-size: 1.5em;
    }
    .voice-detail .voice-header .company-name .inner{
        font-size: 1.25em;
    }
}

/*** movie ***/
.voice-detail #movie{
    padding-top: 80px;
    padding-bottom: 60px;
    max-width: 900px;
    margin: 0 auto;
}
.voice-detail .youtube{
    width: 100%;
    height: 0;
    padding-bottom: calc(100% / 16 * 9);
    position: relative;
}
.voice-detail .youtube iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.youtube {
  position: relative;
  cursor: pointer;
  max-width: 800px;
}

.youtube img {
  width: 100%;
  display: block;
}

.play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 68px;
  height: 48px;
  transform: translate(-50%, -50%);
  background: rgba(0,0,0,0.7);
  border-radius: 12px;
}

.play-btn::before {
  content: "";
  position: absolute;
  left: 26px;
  top: 14px;
  border-style: solid;
  border-width: 10px 0 10px 16px;
  border-color: transparent transparent transparent #fff;
}

/*** point ***/
.voice-detail .section-point{
    padding-top: 80px;
    padding-bottom: 80px;
}
.voice-detail .point-wrap{
    position: relative;
    /* z-index: 1; */
}
.voice-detail .point-wrap .point-bg{
    position: absolute;
    top: 160px;
    bottom: 140px;
    left: 0;
    right: 0;
    z-index: -1;
}
.voice-detail .point-inner{
}
.voice-detail .point-main{
    display: flex;
    gap: 20px;
}
.voice-detail .point-main .thumb-wrap{
    width: calc(100% / 1200 * 690);
    /* position: relative; */
}
.voice-detail .point-main .thumb-wrap .thumb{
    /* height: 0;
    padding-bottom: calc(100% / 1130 * 1080); */
    position: relative;
    margin-left: -40px;
}
.voice-detail .point-main .thumb-wrap .thumb img{
    width: 100%;
    /* width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 0 99999px 99999px 0; */
}
.voice-detail .point-main .thumb-wrap .thumb .caption{
    display: inline-block;
    background-color: #147a4e;
    color: #FFFFFF;
    padding: 0.3em 0.6em;
    font-size: 0.875em;
    font-weight: bold;
    line-height: 1.5;
    position: absolute;
}
@media screen and (max-width: 768px) {
    .voice-detail .point-main .thumb-wrap .thumb .caption{
      font-size: 0.625em;
    }
}
.voice-detail .point-main .thumb-wrap .thumb .caption-company{
    display: block;
    font-size: 80%;
}
.voice-detail .point-main .thumb-wrap .thumb .caption-name{
    display: block;
}
.voice-detail .point-main .content{
    flex: 1;
    background: url(../img/icon-dot.png) no-repeat top left;
    background-size: 100% auto;
}
.voice-detail .point-main .point-label{
    display: flex;
    justify-content: flex-end;
    margin-top: -40px;
    font-size: 3.6em;
}
.voice-detail .point-main .point-label:after{
    content: '';
    display: inline-block;
    background: url(../img/point-label.png) no-repeat center center;
    background-size: contain;
    width: 1.5em;
    height: 1.5em;
}
.voice-detail .point-main .point-label .number{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em;
    line-height: 1;
    font-weight: bold;
    color: #FFFFFF;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 1.3em;
    height: 1.3em;
    border-radius: 100%;
    background-color: #147a4e;
    margin-top: 0.75em;
}

.voice-detail .point-main .point-title{
    display: flex;
    justify-content: center;
    font-size: 2.5em;
    line-height: 1.2;
    font-weight: bold;

    margin-top: 1em;
    
}
.vertical-writing{
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: 0.05em;
    line-height: 0.8;
    white-space: pre-line;

}
.voice-detail .point-main .point-text{
    font-size: 1.13em;
    line-height: 1.8;
    margin-top: 20px;
}
.voice-detail .gallery{
    display: flex;
    gap: 20px;
    width: 80%;
    margin-top: 40px;
    margin-left: 40px;
}
.voice-detail .gallery .gallery-item img{
    width: 100%;
    border-radius: 20px;
}

/*** reverse ***/
.section-point.reverse .point-main{
    flex-direction: row-reverse;
}
.section-point.reverse .point-main .thumb-wrap .thumb{
    margin-left: 0;
    margin-right: -40px;
}
.section-point.reverse .point-main .thumb-wrap .thumb img{
    border-radius: 99999px 0 0 99999px;
}

.section-point.reverse .point-main .content{
    background: url(../img/icon-dot.png) no-repeat top right;
    background-size: 100% auto;
}
.section-point.reverse .point-main .point-label{
    justify-content: flex-start;
}
.section-point.reverse .point-main .point-label:after{
    background-image: url(../img/point-label-reverse.png);
    order: -1;
}
.section-point.reverse .gallery{
    margin-left: auto;
    margin-right: 40px;
}

@media only screen and (max-width: 640px) {
    .voice-detail .section-point{
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .voice-detail .point-wrap .point-bg{
        top: 120px;
        bottom: 80px;
    }
    .voice-detail .point-main{
        flex-direction: column !important;
    }
    .voice-detail .point-main .thumb-wrap{
        width: 90%;
    }
    .voice-detail .point-main .thumb-wrap .thumb{
        margin-left: -20px;
    }
    .voice-detail .point-main .point-title-wrap{
        /* display: flex;
        flex-direction: row-reverse;
        gap: 20px; */
    }
    .voice-detail .point-main .point-label{
        font-size: 2.4em;
    }
    .voice-detail .point-main .point-title{
        font-size: 1.75em;
        margin-top: 0;
    }
    .voice-detail .point-main .point-text{
        font-size: 1em;
    }
    .voice-detail .gallery{
        flex-direction: column;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .voice-detail .gallery .gallery-item{
        width: 70%;
    }
    .voice-detail .gallery .gallery-item:nth-child(even){
        margin-left: auto;
    }
    /*** reverse ***/
    .section-point.reverse .point-main .thumb-wrap{
        margin-left: auto;
    }
    .section-point.reverse .point-main .thumb-wrap .thumb{
        margin-left: 0;
        margin-right: -20px;
    }
}   

/*** company ***/
.voice-detail .section-company{
}
.voice-detail .company-inner{
    border-top: 1px solid #939393;
    padding-top: 80px;
    padding-bottom: 80px;
}
.voice-detail .company-main{
    display: flex;
    justify-content: center;
    gap: 40px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.voice-detail .company-main .company-thumb-wrap{
    width: 360px;
    max-width: 30%;
}
.voice-detail .company-main .company-thumb-wrap .company-thumb img{
    width: 100%;
}
.voice-detail .company-main .company-content{
    max-width: 60%;
}
.voice-detail .company-main .company-name{
    font-size: 1.25em;
    font-weight: bold;
    line-height: 1.2;
    color: #FFFFFF;
    /* text-align: center; */
    margin-top: 0;
    margin-bottom: 20px;
}
.voice-detail .company-main .company-name .inner{
    display: inline-block;
    background-color: #147a4e;
    padding: 0.5em 1em;
    border-radius: 99999px;
}
.company-table{
    width: 100%;
}
.company-table th{
    width: 5em;
    /* font-weight: bold; */
}
.company-table th,
.company-table td{
    padding: 2px 0;
    vertical-align: top;
    text-align: left;
}


@media only screen and (max-width: 640px) {
    .voice-detail .company-inner{
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .voice-detail .company-main{
        flex-direction: column;
    }
    .voice-detail .company-main .company-thumb-wrap{
        width: 100%;
        max-width: 100%;
    }
    .voice-detail .company-main .company-content{
        max-width: 100%;
    }
    .voice-detail .company-main .company-name .inner{
        font-size: 1.125em;
    }
}

/*** management-voice-detail ***/
.management-voice-detail .bg-stripe{
    background-image: repeating-linear-gradient(120deg, transparent, transparent 2px, #f2f7fd 2px, #f2f7fd 7px);
}
.management-voice-detail .voice-header .company-name .inner,
.management-voice-detail .section-point .point-label .number,
.management-voice-detail .company-main .company-name .inner,
.management-voice-detail .point-main .thumb-wrap .thumb .caption{
    background-color: #5f9fd0;
}
