@charset "utf-8";

/* ────────────────────── *
 *                                              *
 * タイトル                                     *
 *                                              *
 * ────────────────────── */

.title {
    width: 100%;
    height: 80.0rem;
    margin: 0 auto;
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.title#index {
    background: url("../../image/workstyle/bg-title.jpg") no-repeat center center / cover;
    z-index: 1;
}
.title#index:after {
    content: "";
    background: url("../../image/workstyle/letter-k.png") no-repeat center center / cover;
    width: 38.8rem;
    height: 50.8rem;
    position: absolute;
    left: 46.0rem;
    top: 50.0rem;
    z-index: 2;
}
.title#young {
    background: url("../../image/workstyle/young/bg-title.jpg") no-repeat center center / cover;
    height: 69.5rem;
    z-index: 1;
}
.title#veteran {
    background: url("../../image/workstyle/veteran/bg-title.jpg") no-repeat center center / cover;
    height: 90.0rem;
    z-index: 1;
}
.title .inner {
    color: #fff;
    text-align: center;
    width: 100%;
    max-width: 120.0rem;
    margin: 0 auto 14.0rem;
}
.title#veteran .inner {
    color: #000;
    text-align: left;
    margin: 0 auto;
}
.title#index .inner h1 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 8.0rem;
    letter-spacing: 0.2em;
    margin: 0 auto 1.0rem;
}
.title#veteran .inner h1 {
    font-size: 4.0rem;
    line-height: 1.625;
    font-feature-settings: "palt" 1;
    color: #008dd7;
    font-weight: 700;
    margin-bottom: 2.0rem;
}
.title#veteran .inner h1 span.small {
    font-size: 2.0rem;
    display: block;
    padding-top: 1.0rem;
}
.title#veteran .inner p.en {
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.6rem;
    color: #fff;
    background: #80c1ea;
    letter-spacing: 0.1em;
    display: inline-block;
    padding: 0.8rem 2.0rem 0.5rem;
    margin-bottom: 2.0rem;
}
.title#veteran .inner p.txt {
    font-size: 1.6rem;
    line-height: 2.1875;
    text-align: justify;
    width: 40.0rem;
}
.title .inner p.ja {
    font-size: 2.0rem;
    font-weight: 500;
}
.title p.maskimage {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -2px;
    z-index: 1;
}
.title#veteran p.maskimage {
    width: auto;
    height: 100%;
    bottom: 0;
}
.title svg.bg {
    width: 100%;
    height: 100%;
}

/* ────────────────────── *
 *                                              *
 * イントロ                                     *
 *                                              *
 * ────────────────────── */

#intro {
    background: #fff;
    width: 100%;
    max-width: 104.0rem;
    padding: 10.0rem 14.0rem;
    margin: -28.0rem auto 10.0rem;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    opacity: 0;
}
#intro p {
    font-size: 1.8rem;
    line-height: 2.1;
    text-align: center;
    margin: 0 auto 6.0rem;
}
#intro ul#categorize {
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#intro ul#categorize li {
    height: 5.0rem;
    padding-left: 7.5rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
#intro ul#categorize li:before {
    content: "";
    width: 6.0rem;
    height: 5.0rem;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 2px;
}
#intro ul#categorize li:nth-child(1) {
    color: #2587a5;
}
#intro ul#categorize li:nth-child(1):before {
    background : -moz-linear-gradient(4.17% 105% 45deg,rgba(0, 100, 180, 1) 0%,rgba(60, 170, 200, 1) 100%);
    background : -webkit-linear-gradient(45deg, rgba(0, 100, 180, 1) 0%, rgba(60, 170, 200, 1) 100%);
    background : -webkit-gradient(linear,4.17% 105% ,95.83% -5% ,color-stop(0,rgba(0, 100, 180, 1) ),color-stop(1,rgba(60, 170, 200, 1) ));
    background : linear-gradient(45deg, rgba(0, 100, 180, 1) 0%, rgba(60, 170, 200, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0064B4',endColorstr='#3CAAC8' , GradientType=1);
}
#intro ul#categorize li:nth-child(2) {
    color: #7a87d9;
}
#intro ul#categorize li:nth-child(2):before {
    background : -moz-linear-gradient(4.17% 105% 45deg,rgba(100, 69, 226, 1) 0%,rgba(170, 140, 255, 1) 99.96%);
    background : -webkit-linear-gradient(45deg, rgba(100, 69, 226, 1) 0%, rgba(170, 140, 255, 1) 99.96%);
    background : -webkit-gradient(linear,4.17% 105% ,95.83% -5% ,color-stop(0,rgba(100, 69, 226, 1) ),color-stop(0.9996,rgba(170, 140, 255, 1) ));
    background : linear-gradient(45deg, rgba(100, 69, 226, 1) 0%, rgba(170, 140, 255, 1) 99.96%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#6445E2',endColorstr='#AA8CFF' , GradientType=1);
}
#intro ul#categorize li:nth-child(3) {
    color: #63ca5f;
}
#intro ul#categorize li:nth-child(3):before {
    background : -moz-linear-gradient(4.17% 105% 45deg,rgba(70, 180, 90, 1) 0%,rgba(180, 220, 140, 1) 99.77%);
    background : -webkit-linear-gradient(45deg, rgba(70, 180, 90, 1) 0%, rgba(180, 220, 140, 1) 99.77%);
    background : -webkit-gradient(linear,4.17% 105% ,95.83% -5% ,color-stop(0,rgba(70, 180, 90, 1) ),color-stop(0.9977,rgba(180, 220, 140, 1) ));
    background : linear-gradient(45deg, rgba(70, 180, 90, 1) 0%, rgba(180, 220, 140, 1) 99.77%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#46B45A',endColorstr='#B4DC8C' , GradientType=1);
}

/* ────────────────────── *
 *                                              *
 * ビジョン                                     *
 *                                              *
 * ────────────────────── */

#vision {
    background: #f4f4f4;
    padding-bottom: 14.0rem;
    position: relative;
    z-index: 0;
}
#vision:before {
    content: "";
    background: #f4f4f4;
    width: 100%;
    height: 200vh;
    position: absolute;
    left: 0;
    top: -50vw;
    z-index: -1;
    pointer-events: none;
}
#vision .flex {
    width: 100%;
    max-width: 130.0rem;
    margin: 0 auto;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#vision .flex .flexitem {
    text-align: center;
    width: 40.0rem;
    margin-bottom: 6.0rem;
    border-radius: 5px;
    box-sizing: border-box;
    position: relative;
    box-shadow: 0.5rem 0.5rem 1.5rem rgba(0,0,0, 0.15);
}
#vision .flex .flexitem.c1 {
    background : -moz-linear-gradient(4.17% 105% 45deg,rgba(0, 100, 180, 1) 0%,rgba(60, 170, 200, 1) 100%);
    background : -webkit-linear-gradient(45deg, rgba(0, 100, 180, 1) 0%, rgba(60, 170, 200, 1) 100%);
    background : -webkit-gradient(linear,4.17% 105% ,95.83% -5% ,color-stop(0,rgba(0, 100, 180, 1) ),color-stop(1,rgba(60, 170, 200, 1) ));
    background : linear-gradient(45deg, rgba(0, 100, 180, 1) 0%, rgba(60, 170, 200, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0064B4',endColorstr='#3CAAC8' , GradientType=1);
}
#vision .flex .flexitem.c2 {
    background : -moz-linear-gradient(4.17% 105% 45deg,rgba(100, 69, 226, 1) 0%,rgba(170, 140, 255, 1) 99.96%);
    background : -webkit-linear-gradient(45deg, rgba(100, 69, 226, 1) 0%, rgba(170, 140, 255, 1) 99.96%);
    background : -webkit-gradient(linear,4.17% 105% ,95.83% -5% ,color-stop(0,rgba(100, 69, 226, 1) ),color-stop(0.9996,rgba(170, 140, 255, 1) ));
    background : linear-gradient(45deg, rgba(100, 69, 226, 1) 0%, rgba(170, 140, 255, 1) 99.96%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#6445E2',endColorstr='#AA8CFF' , GradientType=1);
}
#vision .flex .flexitem.c3 {
    background : -moz-linear-gradient(4.17% 105% 45deg,rgba(70, 180, 90, 1) 0%,rgba(180, 220, 140, 1) 99.77%);
    background : -webkit-linear-gradient(45deg, rgba(70, 180, 90, 1) 0%, rgba(180, 220, 140, 1) 99.77%);
    background : -webkit-gradient(linear,4.17% 105% ,95.83% -5% ,color-stop(0,rgba(70, 180, 90, 1) ),color-stop(0.9977,rgba(180, 220, 140, 1) ));
    background : linear-gradient(45deg, rgba(70, 180, 90, 1) 0%, rgba(180, 220, 140, 1) 99.77%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#46B45A',endColorstr='#B4DC8C' , GradientType=1);
}
#vision .flex .flexitem a {
    color: #fff;
    display: block;
    height: 100%;
    padding: 4.0rem 2.0rem 6.0rem;
    box-sizing: border-box;
}
#vision .flex .flexitem dl dt {
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.6px;
    width: 32.0rem;
    padding: 1.0rem;
    margin: 0 auto 3.0rem;
    border: 1px solid #fff;
    border-radius: 4.0rem;
    box-sizing: border-box;
}
#vision .flex .flexitem dl dd {
    font-size: 2.1rem;
    line-height: 1.8;
    font-weight: 700;
    min-height: calc(2.1rem * 1.8 * 3);
}
#vision .flex .flexitem dl dd.valign-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
#vision .flex .flexitem p.position {
    font-size: 1.6rem;
    position: absolute;
    right: 50%;
    bottom: 3.0rem;
    transform: translateX(50%);
}
#vision .flex .flexitem p.btn-open {
    background: #008dd7;
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 50%;
    border: 1px solid #fff;
    position: absolute;
    right: 2.0rem;
    bottom: -1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    transition: all .3s;
}
#vision .flex .flexitem a:hover p.btn-open {
    background: #004eb5;
}
#vision .flex .flexitem p.btn-open img {
    width: 2.4rem;
}

/* 飾り文字 */
.letter ul li {
    position: absolute;
}
.letter.index ul li:nth-child(1) {
    width: 82.0rem;
    right: 0;
    top: 80.0rem;
    z-index: -1;
}
.letter.index ul li:nth-child(2) {
    width: 43.0rem;
    left: 0;
    top: 230.0rem;
    z-index: -1;
}
.letter.index ul li:nth-child(3) {
    width: 37.6rem;
    left: 77.0rem;
    bottom: -3.0rem;
    z-index: -1;
}
.letter.young ul li:nth-child(1) {
    width: 44.0rem;
    left: 0;
    top: 40.0rem;
    z-index: -1;
}
.letter.young ul li:nth-child(2) {
    width: 99.0rem;
    right: 0;
    top: 170.0rem;
    z-index: -1;
}
.letter.young ul li:nth-child(3) {
    width: 39.0rem;
    left: 0;
    top: 440.0rem;
    z-index: -1;
}
.letter.young ul li:nth-child(4) {
    width: 34.0rem;
    left: 35.0rem;
    bottom: 33.75vw;
    z-index: 4;
}
.letter.veteran ul li:nth-child(1) {
    width: 44.0rem;
    left: 0;
    top: 40.0rem;
    z-index: 4;
}
.letter.veteran ul li:nth-child(2) {
    width: 99.0rem;
    right: 0;
    top: 170.0rem;
    z-index: 4;
}
.letter.veteran ul li:nth-child(3) {
    width: 39.0rem;
    left: 0;
    top: 440.0rem;
    z-index: 4;
}
.letter.veteran ul li:nth-child(4) {
    width: 34.0rem;
    left: 35.0rem;
    bottom: 33.75vw;
    z-index: 4;
}

/* ────────────────────── *
 *                                              *
 * モーダル                                     *
 *                                              *
 * ────────────────────── */

.modal {
    display: none;
    background: #fff;
    width: 112.0rem;
    padding: 7.0rem 0;
    margin: 0 auto;
    border-radius: 0.8rem;
    box-shadow: 5px 5px 10px rgba(0,0,0, 0.15);
    box-sizing: border-box;
}
.modaal-container {
    max-width: 112.0rem;
    border-radius: 0.8rem;
    box-shadow: 5px 5px 10px rgba(0,0,0, 0.15);
    box-sizing: border-box;
}
.modaal-container .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.modaal-container .flex .head {
    color: #fff;
    text-align: center;
    width: 40.0rem;
    padding: 4.0rem;
    border-radius: 0 5px 5px 0;
    box-sizing: border-box;
    position: relative;
    flex-shrink: 0;
}
.modaal-container .flex .head.c1 {
    background : -moz-linear-gradient(4.17% 105% 45deg,rgba(0, 100, 180, 1) 0%,rgba(60, 170, 200, 1) 100%);
    background : -webkit-linear-gradient(45deg, rgba(0, 100, 180, 1) 0%, rgba(60, 170, 200, 1) 100%);
    background : -webkit-gradient(linear,4.17% 105% ,95.83% -5% ,color-stop(0,rgba(0, 100, 180, 1) ),color-stop(1,rgba(60, 170, 200, 1) ));
    background : linear-gradient(45deg, rgba(0, 100, 180, 1) 0%, rgba(60, 170, 200, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0064B4',endColorstr='#3CAAC8' , GradientType=1);
}
.modaal-container .flex .head.c2 {
    background : -moz-linear-gradient(4.17% 105% 45deg,rgba(100, 69, 226, 1) 0%,rgba(170, 140, 255, 1) 99.96%);
    background : -webkit-linear-gradient(45deg, rgba(100, 69, 226, 1) 0%, rgba(170, 140, 255, 1) 99.96%);
    background : -webkit-gradient(linear,4.17% 105% ,95.83% -5% ,color-stop(0,rgba(100, 69, 226, 1) ),color-stop(0.9996,rgba(170, 140, 255, 1) ));
    background : linear-gradient(45deg, rgba(100, 69, 226, 1) 0%, rgba(170, 140, 255, 1) 99.96%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#6445E2',endColorstr='#AA8CFF' , GradientType=1);
}
.modaal-container .flex .head.c3 {
    background : -moz-linear-gradient(4.17% 105% 45deg,rgba(70, 180, 90, 1) 0%,rgba(180, 220, 140, 1) 99.77%);
    background : -webkit-linear-gradient(45deg, rgba(70, 180, 90, 1) 0%, rgba(180, 220, 140, 1) 99.77%);
    background : -webkit-gradient(linear,4.17% 105% ,95.83% -5% ,color-stop(0,rgba(70, 180, 90, 1) ),color-stop(0.9977,rgba(180, 220, 140, 1) ));
    background : linear-gradient(45deg, rgba(70, 180, 90, 1) 0%, rgba(180, 220, 140, 1) 99.77%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#46B45A',endColorstr='#B4DC8C' , GradientType=1);
}
.modaal-container .flex .head dl dt {
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.6px;
    padding: 1.0rem;
    margin-bottom: 3.0rem;
    border: 1px solid #fff;
    border-radius: 40px;
}
.modaal-container .flex .head dl dd {
    font-size: 2.1rem;
    line-height: 1.8;
    font-weight: 700;
}
.modaal-container .flex .body {
    font-size: 1.6rem;
    line-height: 1.875;
    width: 72.0rem;
    padding: 0 6.0rem;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.modaal-container .flex .body p.txt {
    text-align: justify;
    margin-bottom: 2.0rem;
}
.modaal-container .flex .body dl {
    min-height: 9.0rem;
    padding-left: 9.0rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.modaal-container .flex .body dl:before {
    content: "";
    width: 7.6rem;
    height: 7.6rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.modaal-container .flex .body dl.icon-onsite-m:before {
    background: url("../../image/workstyle/icon-onsite-m.png") no-repeat center center / cover;
}
.modaal-container .flex .body dl.icon-onsite-w:before {
    background: url("../../image/workstyle/icon-onsite-w.png") no-repeat center center / cover;
}
.modaal-container .flex .body dl.icon-office-m:before {
    background: url("../../image/workstyle/icon-office-m.png") no-repeat center center / cover;
}
.modaal-container .flex .body dl.icon-office-w:before {
    background: url("../../image/workstyle/icon-office-w.png") no-repeat center center / cover;
}
.modaal-container .flex .body dl dt {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 700;
    color: #008dd7;
    margin-bottom: 0.5rem;
}
.modaal-container .flex .body dl dd {
    font-size: 1.5rem;
}
.modaal-content-container {
    padding: 7.0rem 0;
}
.modaal-close {
    display: none;
}
.modaal-container p.btn-close {
    background: #008dd7;
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 50%;
    border: 1px solid #fff;
    position: absolute;
    right: 2.0rem;
    bottom: -1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    transition: all .3s;
    cursor: pointer;
}
.modaal-container p.btn-close:hover {
    background: #004eb5;
}
.modaal-container p.btn-close img {
    width: 1.8rem;
    transform: rotate(45deg);
}

/* ────────────────────── *
 *                                              *
 * 次のコンテンツ                               *
 *                                              *
 * ────────────────────── */

#next {
    background: rgb(128,193,234);
    background: -moz-linear-gradient(-45deg, rgba(128,193,234,1) 0%, rgba(0,141,215,1) 100%);
    background: -webkit-linear-gradient(-45deg, rgba(128,193,234,1) 0%, rgba(0,141,215,1) 100%);
    background: linear-gradient(-45deg, rgba(128,193,234,1) 0%, rgba(0,141,215,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#80c1ea",endColorstr="#008dd7",GradientType=1);
    padding: 10.0rem 0 18.0rem;
    position: relative;
    z-index: 2;
}
#next .inner {
    width: 80.0rem;
    margin: 0 auto;
}
#next .inner p.title-next {
    font-family: "Bebas Neue", sans-serif;
    font-size: 2.8rem;
    color: #fff;
    letter-spacing: 0.15em;
    text-align: center;
    margin: 0 auto 6.0rem;
}
#next .inner .pagelink {
    position: relative;
}
#next .inner .pagelink a {
    color: #fff;
    display: block;
}
#next .inner .pagelink p.image {
    overflow: hidden;
    position: relative;
}
#next .inner .pagelink p.image img {
    transition: transform .3s;
}
#next .inner .pagelink a:hover p.image img {
    transform: scale3d(1.05, 1.05, 1);
}
#next .inner .pagelink dl.parent {
    color: #008dd7;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
#next .inner .pagelink dl.parent dt {
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 1.5rem;
}
#next .inner .pagelink dl.parent dd {
    font-size: 1.8rem;
    font-weight: 700;
}
#next .inner .pagelink dl.child {
    text-align: center;
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
#next .inner .pagelink dl.child dt {
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.6rem;
    color: #fff;
    background: #80c1ea;
    letter-spacing: 0.1em;
    display: inline-block;
    padding: 0.8rem 2.0rem 0.5rem;
    margin: 0 auto 2.0rem;
}
#next .inner .pagelink dl.child dd {
    font-size: 2.8rem;
    line-height: 1.4;
    font-weight: 700;
}
#next .inner .pagelink dl.child dd span.small {
    font-size: 2.2rem;
}

/* ────────────────────── *
 *                                              *
 * クロストーク                                 *
 *                                              *
 * ────────────────────── */

#crosstalk {
    padding-top: 6.0rem;
    margin: 0 auto 10.0rem;
    position: relative;
}
#crosstalk .inner {
    text-align: center;
    width: 96.0rem;
    margin: 0 auto;
}
#crosstalk .inner p.en {
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.6rem;
    color: #fff;
    background: #80c1ea;
    letter-spacing: 0.1em;
    display: inline-block;
    padding: 0.8rem 2.0rem 0.5rem;
    margin: 0 auto 2.0rem;
}
#crosstalk .inner h1 {
    font-size: 4.0rem;
    line-height: 1.625;
    font-weight: 700;
    color: #008dd7;
    text-align: center;
    margin: 0 auto 5.0rem;
}
#crosstalk .inner h1 span.small {
    font-size: 2.0rem;
    display: block;
}
#crosstalk .inner p.txt {
    font-size: 1.6rem;
    line-height: 2.1875;
    text-align: justify;
}
#crosstalk .inner p.notice {
    font-size: 1.4rem;
    color: #8d8d8d;
    text-align: right;
}

/* ────────────────────── *
 *                                              *
 * トークメンバー                               *
 *                                              *
 * ────────────────────── */

#talkmember {
    background: rgb(128,193,234);
    background : -moz-linear-gradient(8.44% 112.74% 45deg,rgba(128, 193, 234, 1) 0%,rgba(0, 141, 215, 1) 100%);
    background : -webkit-linear-gradient(45deg, rgba(128, 193, 234, 1) 0%, rgba(0, 141, 215, 1) 100%);
    background : -webkit-gradient(linear,8.44% 112.74% ,91.56% -12.74% ,color-stop(0,rgba(128, 193, 234, 1) ),color-stop(1,rgba(0, 141, 215, 1) ));
    background : linear-gradient(45deg, rgba(128, 193, 234, 1) 0%, rgba(0, 141, 215, 1) 100%);
    padding: 7.0rem 0 6.0rem;
    position: relative;
    z-index: 2;
}
#talkmember .inner {
    width: 110.0rem;
    margin: 0 auto;
}
#talkmember .inner h2 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 2.8rem;
    color: #fff;
    letter-spacing: 0.15em;
    text-align: center;
    margin: 0 auto 6.0rem;
}
#talkmember .inner .profile {
    color: #fff;
    margin: 0 auto 4.0rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#talkmember .inner .profile p.image {
    width: 24.0rem;
    margin-right: 4.0rem;
    position: relative;
}
#talkmember .inner .profile p.image span.job {
    font-size: 2.0rem;
    line-height: 1;
    font-weight: 500;
    color: #fff;
    background: #008dd7;
    text-align: center;
    display: block;
    width: 13.0rem;
    padding: 0.8rem 0;
    border-radius: 3.6rem;
    position: absolute;
    left: 50%;
    bottom: -1.8rem;
    transform: translateX(-50%);
    z-index: 1;
}
#talkmember .inner .profile .data {
    width: 33.0rem;
}
#talkmember .inner .profile .data dl dt {
    font-size: 2.2rem;
    font-weight: 500;
    margin-bottom: 2.0rem;
}
#talkmember .inner .profile .data dl dd {
    font-size: 1.5rem;
    line-height: 1.66;
    font-weight: 500;
}
#talkmember .inner .profile .career {
    width: 49.0rem;
    padding-left: 4.0rem;
    position: relative;
    box-sizing: border-box;
}
#talkmember .inner .profile .career:before {
    content: "";
    background: #fff;
    width: 1px;
    height: 15.0rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#talkmember .inner .profile .career p {
    font-family: "Bebas Neue", sans-serif;
    font-size: 2.2rem;
    margin-bottom: 2.0rem;
}
#talkmember .inner .profile .career dl {
    font-size: 1.6rem;
    line-height: 1.66;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#talkmember .inner .profile .career dl dt {
    width: 4.5em;
}
#talkmember .inner .profile .career dl dd {
    width: calc(100% - 4.5em);
}
#talkmember .inner p.notice {
    font-size: 1.2rem;
    color: #fff;
    text-align: right;
}

#talkmember .inner ul {
    font-weight: 500;
    color: #fff;
    text-align: center;
    margin: 0 auto 5.0rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#talkmember .inner ul li {
    width: 24.0rem;
}
#talkmember .inner ul li dl dt {
    font-size: 2.5rem;
    line-height: 1;
    color: #fff;
    background: #0079d7;
    width: 22.0rem;
    padding: 0.8rem 0;
    margin: -2.6rem auto 1.5rem;
    border-radius: 3.6rem;
    position: relative;
    z-index: 1;
}
#talkmember .inner ul li dl dt span {
    display: inline-block;
    width: 138%;
    transform: scale(0.72);
    transform-origin: left;
}
#talkmember .inner ul li dl dd {
    font-size: 2.0rem;
}
#talkmember .inner ul li dl dd p.name {
    margin-bottom: 1.5rem;
}
#talkmember .inner ul li dl dd p.history {
    font-size: 1.5rem;
    line-height: 1.3;
}

/* ────────────────────── *
 *                                              *
 * トーク                                       *
 *                                              *
 * ────────────────────── */

#talk {
    padding-top: 18.0rem;
    position: relative;
    z-index: 0;
}
#talk .term {
    width: 112.0rem;
    margin: 0 auto 14.0rem;
    position: relative;
    z-index: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#talk .term .head {
    width: 48.0rem;
}
#talk .term .head p.section {
    font-size: 1.5rem;
    font-weight: 500;
    padding-left: 5.0rem;
    margin-bottom: 2.0rem;
    position: relative;
}
#talk .term .head p.section:before {
    content: "";
    background: #b2b2b2;
    width: 4.0rem;
    height: 1px;
    position: absolute;
    left: 0;
    top: 50%;
}
#talk .term .head h3 {
    font-size: 2.8rem;
    line-height: 1.42;
    font-weight: 700;
    color: #008dd7;
}

#talk .term .body {
    font-size: 1.6rem;
    line-height: 2.1875;
    width: 64.0rem;
}
#talk .term .body dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#talk .term .body dl dt {
    font-weight: 700;
    color: #008dd7;
    width: 8.0rem;
    margin-bottom: 3.0rem;
    position: relative;
}
#talk .term .body dl dt:after {
    content: "：";
    color: #000;
    position: absolute;
    right: 2.0rem;
    top: 0;
}
#talk .term .body dl dd {
    width: calc(100% - 8.0rem);
    text-align: justify;
    margin-bottom: 3.0rem;
}
#talk p.image {
    width: 126.0rem;
    margin: 0 auto 18.0rem;
}
#talk p.image-full img {
    width: 100%;
}

/* ────────────────────── *
 *                                              *
 * ベテラントーク                               *
 *                                              *
 * ────────────────────── */

#veteran-talk {
    padding-top: 18.0rem;
    position: relative;
    z-index: 0;
    overflow: hidden;
}
#veteran-talk .term {
    width: 112.0rem;
    margin: 0 auto 23.0rem;
    position: relative;
    z-index: 3;
}
#veteran-talk .wrap.bgchange {
    background: #f2f9fd;
    padding-top: 34.0rem;
    padding-bottom: 39.0rem;
    margin-top: -34.0rem;
    margin-bottom: -16.0rem;
}
#veteran-talk .wrap.bgchange .term {
    margin: 0 auto;
}
#veteran-talk .term .head {
    width: 100%;
    margin: 0 auto 7.0rem;
    position: relative;
    z-index: 6;
}
#veteran-talk .term .head p.section {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 2.0rem;
}
#veteran-talk .term .head h3 {
    font-size: 2.8rem;
    line-height: 1.42;
    font-weight: 700;
    color: #008dd7;
}
#veteran-talk .term .body {
    font-size: 1.6rem;
    line-height: 2.1875;
    position: relative;
    z-index: 6;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
#veteran-talk .term .body:after {
    content: "";
    background: #bfe0f4;
    width: 1px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
}
#veteran-talk .term .body dl {
    width: 50.0rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#veteran-talk .term .body dl dt {
    font-weight: 700;
    color: #008dd7;
    width: 8.0rem;
    margin-bottom: 3.0rem;
    position: relative;
}
#veteran-talk .term .body dl dt:after {
    content: "：";
    color: #000;
    position: absolute;
    right: 2.0rem;
    top: 0;
}
#veteran-talk .term .body dl dd {
    width: calc(100% - 8.0rem);
    text-align: justify;
    margin-bottom: 3.0rem;
}
#veteran-talk .term .body dl dd:last-of-type {
    margin-bottom: 0;
}
#veteran-talk .wrap {
    position: relative;
    z-index: 5;
}
#veteran-talk .wrap.z3 {
    z-index: 3;
}
#veteran-talk .wrap p#letter-veteran-o {
    width: 74.0rem;
    position: absolute;
    right: 0;
    top: 42.0rem;
}
#veteran-talk .wrap p#letter-veteran-k {
    width: 44.0rem;
    position: absolute;
    left: 0;
    top: 130.0rem;
    z-index: 2;
}
#veteran-talk .wrap p#letter-veteran-u {
    width: 40.0rem;
    position: absolute;
    right: 0;
    top: -55.0rem;
    z-index: 2;
}
#veteran-talk .wrap p#letter-veteran-r {
    width: 21.0rem;
    position: absolute;
    left: 0;
    top: 15.0rem;
    z-index: 3;
}
#veteran-talk p.image {
    width: 100%;
    max-width: 70.625vw;
    margin-bottom: 22.0rem;
    position: relative;
    z-index: 4;
}
#veteran-talk p.image img {
    width: 100%;
    max-width: none;
}
#veteran-talk p.image.align-right {
    margin-left: auto;
}
#veteran-talk p.image-full {
    position: relative;
    z-index: 4;
}
#veteran-talk p.image-full img {
    width: 100%;
}
