/* sub_sect */
.sub_sect { position: relative; padding-top: 90px; background-color: #f8f4eb; }
.sub_sect.ver2 { padding-bottom: 90px; }
.sub_sect .sub_tit { font-family: "Berlin"; font-weight: 300; font-size: 120px; color: #767676; }

/* sub1_1 */
.sub1_1 .contents1 { background-color: #f8f4eb; }
.sub1_1 .contents1 ul { display: flex; flex-wrap: nowrap; }
.sub1_1 .contents1 ul li { width: 50%; }
.sub1_1 .contents1 ul li .img1 { width: 100%; }
.sub1_1 .contents1 ul li .textbox { padding-left: 70px; }
.sub1_1 .contents1 ul li .textbox .text1 { font-size: 22px; color: #3f0099; line-height: 1.37; }
.sub1_1 .contents1 ul li .textbox .text2 { font-size: 45px; color: #272727; letter-spacing: -0.05em; }
.sub1_1 .contents1 ul li .textbox .text2 b { font-weight: 700; color: #3f0099; }
.sub1_1 .contents1 ul li .textbox .text3 { position: relative; margin-left: 20px; margin-top: 80px; display: inline-block; font-size: 36px; color: #000; line-height: 1.37; }
.sub1_1 .contents1 ul li .textbox .text3 * { font-size: inherit !important; }
.sub1_1 .contents1 ul li .textbox .text3 span { position: relative; z-index: 2; }
.sub1_1 .contents1 ul li .textbox .text3 img { position: absolute; z-index: 1; display: inline-block; width: 89px;  }
.sub1_1 .contents1 ul li .textbox .text3 .talk1 { top: -10%; left: -10%; }
.sub1_1 .contents1 ul li .textbox .text3 .talk2 { bottom: -10%; right: 0; }
.sub1_1 .contents1 .desc1 { padding: 110px 0; text-align: center; font-weight: 700; font-size: 35px; color: #3f0099; line-height: 1.45; letter-spacing: -0.02em; }

.sub1_1 .desc2 { z-index: 3; position: relative; padding-bottom: 70px; text-align: center; font-weight: 700; font-size: 40px; color: #000; line-height: 1.25; }

.sub1_1 .contents2 { position: relative; padding: 100px 0; overflow: hidden; background-color: #fff; }
.sub1_1 .contents2 .bg { z-index: 1; position: absolute; bottom: 0; left: 0; width: 100%; height: 50%; background-color: #f4f4f2; }
.sub1_1 .contents2 ul { z-index: 2; position: relative; display: flex; flex-wrap: nowrap; justify-content: space-between; }
.sub1_1 .contents2 ul li { width: 23.2%; }
.sub1_1 .contents2 ul li .imgbox img { width: 100%; }
.sub1_1 .contents2 ul li .txtbox { margin-top: 10px; }
.sub1_1 .contents2 ul li .txtbox .txt1 { font-family: "Berlin"; font-weight: 700; font-size: 30px; color: #000; line-height: 1.25; }
.sub1_1 .contents2 ul li .txtbox .txt2 { margin-top: 10px; font-size: 18px; color: #727272; line-height: 1.45; }

@media (max-width: 1279px) {
    .sub1_1 .contents1 ul li .textbox { padding-left: 50px; }
    .sub1_1 .contents1 ul li .textbox .text3 { margin-top: 60px; margin-left: 15px; }
    .sub1_1 .contents1 ul li .textbox .text3 img { width: calc(50px + 2vw); }
    .sub1_1 .contents1 ul li .textbox .text3 .talk1 { left: -55px; }
    .sub1_1 .contents1 ul li .textbox .text3 .talk2 { right: -55px; }
}
@media (max-width: 1023px) {
    .sub1_1 .contents1 ul { display: block; }
    .sub1_1 .contents1 ul li { width: 100%; }
    .sub1_1 .contents1 ul li .textbox { padding-left: initial; margin-top: 20px; }
    .sub1_1 .contents1 ul li .textbox .text3 { margin-top: 30px; padding-left: 20px; margin-left: initial; }
    .sub1_1 .contents1 ul li .textbox .text3 img { width: 30px }
    .sub1_1 .contents1 ul li .textbox .text3 .talk1 { top: 0; left: -5px; }
    .sub1_1 .contents1 ul li .textbox .text3 .talk2 { bottom: 0; right: 15%; }

    .sub1_1 .contents2 ul { flex-wrap: wrap; }
    .sub1_1 .contents2 ul li { width: 48%; }
    .sub1_1 .contents2 ul li:nth-of-type(n + 3) { margin-top: 4%; }
    .sub1_1 .contents2 ul li .txtbox { margin-top: 5px; }
    .sub1_1 .contents2 ul li .txtbox .txt2 { margin-top: 5px; }
}
@media (max-width: 767px) {
    .sub1_1 .contents1 ul li .textbox .text3 { margin-top: 20px; }
    .sub1_1 .contents1 ul li .textbox .text3 img { width: calc(20px + 1vw); }
    .sub1_1 .contents1 ul li .textbox .text3 br { display: inline-block; }

    .sub1_1 .contents1 .desc1 br { display: none; }
}
@media (max-width: 460px) {
    .sub1_1 .contents1 ul li .textbox .text3 img { width: calc(20px + 1vw); }

    .sub1_1 .contents2 ul li { width: 100%; }
    .sub1_1 .contents2 ul li:nth-of-type(n + 3) { margin-top: initial; }
    .sub1_1 .contents2 ul li:nth-of-type(n + 2) { margin-top: 20px; }
}

/* .sub1_1 personWrap */
.sub1_1 .personWrap { position: relative; overflow: hidden; padding: 110px 0; background-color: #fff; }
.sub1_1 .personWrap .pwrap { position: relative; max-width: 1460px; margin-left: auto; margin-right: auto; }
.sub1_1 .personWrap .contents { display: flex; flex-wrap: nowrap; justify-content: center; margin: -24px; }
.sub1_1 .personWrap .contents > li { width: 20%; padding: 24px; }
.sub1_1 .personWrap .contents > li a { display: block; }
.sub1_1 .personWrap .contents > li .personicon img { display: inline-block; width: 100%; }
.sub1_1 .personWrap .contents > li .textbox { margin-top: 30px; font-size: 18px; color: #666; line-height: 1.65; }
.sub1_1 .personWrap .contents > li .textbox b { font-weight: 700; color: #000; }
.sub1_1 .personWrap .contents > li .textbox span { color: #000; }

/* ver2 */
.sub1_1 .personWrap .contents.ver2 { padding-top: 40px; flex-wrap: wrap; justify-content: initial; }
.sub1_1 .personWrap .contents.ver2 > li a { pointer-events: none; }

@media (max-width: 1560px) {
    .sub1_1 .personWrap .pwrap { width: calc(100% - 100px); }
    .sub1_1 .personWrap .contents > li .textbox { margin-top: 25px; }

    /* ver2 */
    .sub1_1 .personWrap .contents.ver2 { padding-top: 30px; }
}
@media (max-width: 1279px) {
    .sub1_1 .personWrap .contents { flex-wrap: wrap; margin: -20px; justify-content: initial; }
    .sub1_1 .personWrap .contents > li { width: 33.3333%; padding: 20px; }
}
@media (max-width: 1023px) {
    .sub1_1 .personWrap .pwrap { width: calc(100% - 80px); }
    .sub1_1 .personWrap .contents > li { width: 33.3333%; }
    .sub1_1 .personWrap .contents > li .textbox { margin-top: 20px; }

    /* ver2 */
    .sub1_1 .personWrap .contents.ver2 { padding-top: 20px; }
}
@media (max-width: 767px) {
    .sub1_1 .personWrap .pwrap { width: calc(100% - 60px); }
    .sub1_1 .personWrap .contents > li .textbox { margin-top: 15px; }
}
@media (max-width: 724px) {
    .sub1_1 .personWrap .contents { margin: 0 auto; max-width: 400px; justify-content: space-between; }
    .sub1_1 .personWrap .contents > li { width: 48%; padding: initial; }
    .sub1_1 .personWrap .contents > li:nth-of-type(n + 3) { margin-top: 4%; }

    .sub1_1 .personWrap .contents.ver2 { justify-content: space-between; }
}
@media (max-width: 460px) {
    .sub1_1 .personWrap .pwrap { width: calc(100% - 40px); }
}
@media (max-width: 424px) {
    .sub1_1 .personWrap .contents { max-width: 220px; margin: 0 auto; }
    .sub1_1 .personWrap .contents > li { width: 100%; }
    .sub1_1 .personWrap .contents > li:nth-of-type(n + 3) { margin-top: initial; }
    .sub1_1 .personWrap .contents > li:nth-of-type(n + 2) { margin-top: 20px; }
}

/* sub3_1 */
.sub3_1 .contents1 { position: relative; overflow: hidden; padding: 110px 0 220px; background-color: #000; }
.sub3_1 .contents1 .textbox li { padding-top: 120px; border-bottom: 1px solid #292929; }
.sub3_1 .contents1 .textbox li:first-of-type { padding-top: initial; }
.sub3_1 .contents1 .textbox li dl { display: flex; flex-wrap: nowrap; align-items: center; }
.sub3_1 .contents1 .textbox li dl dt { display: flex; flex-wrap: nowrap; align-items: inherit; margin-right: 20px; font-weight: 700; font-size: 60px; color: #fff; line-height: 1.35; }
.sub3_1 .contents1 .textbox li dl dt span { display: inline-block; margin-left: 10px; font-size: 25px; color: #fff; line-height: 1.35; }
.sub3_1 .contents1 .textbox li dl dd { font-size: 18px; color: #9e9e9e; letter-spacing: -0.02em; line-height: 1.35; }

.sub3_1 .contents1 .textbox li:nth-of-type(2n) dl {  flex-direction: row-reverse; }
.sub3_1 .contents1 .textbox li:nth-of-type(2n) dl dt { margin-right: initial; margin-left: 20px; }

.sub3_1 .contents2 { margin-top: 100px; text-align: center; }
.sub3_1 .contents2 img { display: inline-block; width: 1010px; }

@media (max-width: 1535px) {
    .sub3_1 .contents1 .textbox li { padding-top: 100px; }

    .sub3_1 .contents2 img { width: calc(600px + 30vw); }
}
@media (max-width: 1279px) {
    .sub3_1 .contents1 .textbox li { padding-top: 80px; }
}
@media (max-width: 1023px) {
    .sub3_1 .contents1 .textbox li { padding-top: 50px; padding-bottom: 10px; }
    .sub3_1 .contents1 .textbox li dl { display: block; }
    .sub3_1 .contents1 .textbox li dl dt { width: 100%; margin-right: initial; }
    .sub3_1 .contents1 .textbox li dl dt span br { display: none; }
    .sub3_1 .contents1 .textbox li dl dd { width: 100%; margin-top: 10px; }

    .sub3_1 .contents1 .textbox li:nth-of-type(2n) dl {  flex-direction: initial; }
    .sub3_1 .contents1 .textbox li:nth-of-type(2n) dl dt { margin-left: initial; }
}
@media (max-width: 767px) {
    .sub3_1 .contents1 .textbox li { padding-top: 30px; }
    .sub3_1 .contents1 .textbox li dl dt { display: block; }
    .sub3_1 .contents1 .textbox li dl dt span { display: block; margin-left: initial; margin-top: 5px; }
}

/* sub5_1 */
.sub5_1 .contents1 { position: relative; overflow: hidden; padding: 110px 0 220px; background-color: #000; }
.sub5_1 .contents1 .textbox { font-size: 20px; color: #bcbcbc; line-height: 1.35; }
.sub5_1 .contents1 .textbox * { font-size: inherit; color: inherit; line-height: inherit; }
.sub5_1 .contents1 .textbox dl { display: flex; flex-wrap: nowrap; }
.sub5_1 .contents1 .textbox dl:nth-of-type(n + 2) { margin-top: 10px; }
.sub5_1 .contents1 .textbox dl dt { min-width: 90px; width: 90px; font-weight: 700; color: #6f00ff; }
.sub5_1 .contents2 { margin-top: 120px; max-width: 1300px; margin-left: auto; margin-right: auto; }
.sub5_1 .contents2 .mapcont { height: 550px; border: 1px solid #ddd; }
.sub5_1 .contents2 .mapcont iframe { width: 100%; height: 100%; }

.sub5_1 .contents2 .talkwrap { padding-bottom: 70px; text-align: center; }
.sub5_1 .contents2 .talktext { position: relative; display: inline-block; font-weight: 300; font-size: 45px; color: #fff; letter-spacing: -0.03em; line-height: 1.35; }
.sub5_1 .contents2 .talktext br { display: none; }
.sub5_1 .contents2 .talktext span { z-index: 3; position: relative; }
.sub5_1 .contents2 .talktext b { font-weight: 700; color: #6f00ff; }
.sub5_1 .contents2 .talktext img { z-index: 1; position: absolute; top: 30%; transform: translateY(-50%); width: 89px; opacity: 0.3; }
.sub5_1 .contents2 .talktext .talk1 { left: -70px; }
.sub5_1 .contents2 .talktext .talk2 { right: -70px; }

@media (max-width: 1535px) {
    .sub5_1 .contents1 .textbox dl dt { min-width: 80px; width: 80px; }
    .sub5_1 .contents2 .mapcont { height: calc(300px + 15vw); }
}
@media (max-width: 1279px) {
    .sub5_1 .contents1 .textbox dl dt { min-width: 70px; width: 70px; }
    .sub5_1 .contents2 .mapcont { height: calc(260px + 12vw); }

    .sub5_1 .contents2 .talktext img { width: calc(60px + 2.5vw); }
    .sub5_1 .contents2 .talktext .talk1 { left: -55px; }
    .sub5_1 .contents2 .talktext .talk2 { right: -55px; }
}
@media (max-width: 1023px) {
    .sub5_1 .contents1 .textbox dl dt { min-width: 60px; width: 60px; }
    .sub5_1 .contents2 .mapcont { height: calc(200px + 10vw); }

    .sub5_1 .contents2 .talktext img { width: calc(40px + 2vw); }
    .sub5_1 .contents2 .talktext .talk1 { left: -25px; }
    .sub5_1 .contents2 .talktext .talk2 { right: -25px; }
}
@media (max-width: 767px) {
    .sub5_1 .contents2 .talktext img { width: calc(30px + 2vw); }
    .sub5_1 .contents2 .talktext br { display: inline-block; }
    .sub5_1 .contents2 .talktext .talk1 { left: 0px; }
    .sub5_1 .contents2 .talktext .talk2 { right: 0px; }
}
@media (max-width: 460px) {
    .sub5_1 .contents2 .talktext img { width: calc(25px + 1vw); }
}

/* personModal */
.personModal { display: none; z-index: 2050; position: fixed; top: 0; left: 0; width: 100%; height: 100%; }
.personModal.active { display: block; }
.personModal .frame { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); }
.personModal .personbox { display: none; width: 100%; max-width: 1300px; max-height: 90vh; overflow-y: scroll; z-index: 2; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); background-color: #fff; box-shadow: 10px 10px 10px #000; }
.personModal .personbox.active { display: block; }
.personModal .personbox .close { z-index: 5; position: absolute; display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; text-align: center; top: 0; right: 0; width: 45px; height: 45px; background-color: #808080; }
.personModal .personbox .close img { display: inline-block; width: 22px; }
.personModal .personbox .top { padding: 50px; padding-bottom: 0 !important; }
.personModal .personbox .name { display: flex; flex-wrap: nowrap; align-items: center; }
.personModal .personbox .name .name1 { display: inline-block; font-weight: 700; font-size: 50px; color: #000; line-height: 1.25; }
.personModal .personbox .name .name2 { display: inline-block; margin-left: 8px; font-weight: 700; font-size: 48px; color: #e0e0e0; line-height: 1.25; }
.personModal .personbox .info { margin-top: 25px; font-weight: 700; font-size: 32px; color: #4f4f4f; }
.personModal .personbox .info b { display: inline-block; font-family: "CookGothif"; font-size: 40px; color: #6f00ff; }
.personModal .personbox .descp { margin-top: 30px; display: flex; flex-wrap: nowrap; }
.personModal .personbox .descp li { width: 50%; }
.personModal .personbox .descp li .desc1 { font-weight: 500; font-size: 18px; color: #8a8a8a; line-height: 1.7; }
.personModal .personbox .descp li .desc1 * { font-weight: inherit; font-size: inherit; color: inherit; line-height: inherit; }
.personModal .personbox .descp li .desc1 b { font-weight: 700; font-size: 24px; color: #000; }
.personModal .personbox .descp li .desc2 { text-align: right; padding-left: 50px; }

.personModal .personbox .bottom { position: relative; padding: 50px; background-color: #676767; overflow: hidden; }
.personModal .personbox .bottom .back1 { z-index: 1; position: absolute; }
.personModal .personbox .bottom .back1 img { max-width: 70%; max-height: 70%; }
.personModal .personbox .bottom .info { font-weight: 500; font-size: 18px; color: #fff; line-height: 1.65; }
.personModal .personbox .bottom .info * { font-size: inherit; color: inherit; line-height: inherit; }
.personModal .personbox .bottom .info dl { display: flex; flex-wrap: nowrap; }
.personModal .personbox .bottom .info dl dt { min-width: 80px; width: 80px; }
.personModal .personbox .bottom .info dl dd { width: 100%; }
@media (max-width: 1535px) {
    .personModal .personbox { box-shadow: 7px 7px 7px #000; }

    .personModal .personbox .top { padding: 40px; }
    .personModal .personbox .info { margin-top: 20px; }

    .personModal .personbox .close { width: 40px; height: 40px; }
    .personModal .personbox .close img { width: 20px; }

    .personModal .personbox .bottom { padding: 40px; }
    .personModal .personbox .bottom .info dl dt { min-width: 70px; width: 70px; }
}
@media (max-width: 1360px) {
    .personModal .personbox { max-width: calc(100% - 60px); box-shadow: 5px 5px 5px #000; }

    .personModal .personbox .close { width: 30px; height: 30px; }
    .personModal .personbox .close img { width: 15px; }
}
@media (max-width: 1279px) {
    .personModal .personbox { box-shadow: 3px 3px 3px #000; }

    .personModal .personbox .top { padding: 30px; }

    .personModal .personbox .bottom { padding: 30px; }
}
@media (max-width: 1023px) {
    .personModal .personbox { box-shadow: 2px 2px 2px #000; }

    .personModal .personbox .top { padding: 20px; }
    .personModal .personbox .info { margin-top: 0; }

    .personModal .personbox .name { display: block; }
    .personModal .personbox .name .name2 { display: block; margin-left: initial; }

    .personModal .personbox .descp { flex-wrap: wrap; }
    .personModal .personbox .descp li { width: 100%; }
    .personModal .personbox .descp li .desc2 { padding-left: initial; text-align: center; margin-top: 15px; }
    .personModal .personbox .descp li .desc2 img { display: inline-block; width: 100%; max-width: 200px; }

    .personModal .personbox .bottom { padding: 20px; }
    .personModal .personbox .bottom .info dl dt { min-width: 60px; width: 60px; }

    .personModal .personbox .close { width: 25px; height: 25px; }
    .personModal .personbox .close img { width: 14px; }
}
@media (max-width: 767px) {
    .personModal .personbox { max-width: calc(100% - 40px); }
    .personModal .personbox .top { padding: 15px; }

    .personModal .personbox .bottom { padding: 15px; }
}