/* sub_visual */
.sub_visual { position: relative; height: 410px; overflow: hidden; }
.sub_visual .bg { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform-origin: center; }
.sub_visual .bg { animation: suv_bg forwards linear 5s; }
@keyframes suv_bg {
    0% { transform: scale(1.1); }
    100% { transform: scale(1); }
}
.sub_visual.sub1 .bg { background: url(/image/sub/subcommon/subtop_bg1.jpg) no-repeat center/cover; }
.sub_visual.sub2 .bg { background: url(/image/sub/subcommon/subtop_bg2.jpg) no-repeat center/cover; }
.sub_visual.sub3 .bg { background: url(/image/sub/subcommon/subtop_bg3.jpg) no-repeat center/cover; }
.sub_visual.sub4 .bg { background: url(/image/sub/subcommon/subtop_bg4.jpg) no-repeat center/cover; }
.sub_visual.sub5 .bg { background: url(/image/sub/subcommon/subtop_bg5.jpg) no-repeat center/cover; }
.sub_visual.sub6 .bg { background: url(/image/sub/subcommon/subtop_bg6.jpg) no-repeat center/cover; }

.sub_visual .frame { z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); }

.sub_visual .txtbox { z-index: 3; position: relative; top: 100px; height: calc(100% - 100px); padding: 0 20px; }
.sub_visual .txtbox .texts { position: relative; top: 50%; transform: translateY(-50%); text-align: center; }
.sub_visual .txtbox .text1 { font-size: 50px; color: #fff; }
@media (max-width: 1535px) {
    .sub_visual { height: 380px; }
    .sub_visual .txtbox { top: 90px; height: calc(100% - 90px); }
}
@media (max-width: 1279px) {
    .sub_visual { height: 300px; }
    .sub_visual .txtbox { top: 80px; height: calc(100% - 80px); }
}
@media (max-width: 1023px) {
    .sub_visual { height: 240px; }
    .sub_visual.sub1 .bg { background-position-x: 90%; }
    .sub_visual .txtbox { top: 70px; height: calc(100% - 70px); }
}
@media (max-width: 767px) {
    .sub_visual { height: 200px; }
    .sub_visual.sub4 .bg { background-position-x: 70%; }
}

/* sub common */
.sub_sect { position: relative; padding: 75px 0; }
.sub_sect .sub_tit1 { padding-bottom: 60px; text-align: center; font-weight: 700; font-size: 35px; color: #000; }

/* sub scrbox */
.scrbox { }
.scrbox ul { display: flex; flex-wrap: nowrap; padding: 30px 0; border-top: 1px solid #efefef; }
.scrbox ul:first-of-type { border-top: none; }
.scrbox ul li:first-of-type { width: 100px; min-width: 100px; font-weight: 600; font-size: 30px; color: #303c92; }
.scrbox ul li:last-of-type { font-size: 18px; color: #6f6f6f; line-height: 1.3; }
.scrbox ul li:last-of-type * { font-size: inherit; color: inherit; line-height: inherit; }
.scrbox ul li dl { display: flex; flex-wrap: nowrap; }
.scrbox ul li dl:nth-of-type(n + 2) {margin-top: 15px; }
.scrbox ul li dl dt { min-width: max-content; margin-right: 10px; }
.scrbox ul li dl dt span { display: inline-block; width: 10px; height: 10px; background-color: #c1bebf; border-radius: 50%; }
.scrbox ul li dl dd span { color: #053585 !important; text-decoration: underline; }
@media (max-width: 1535px) {
    .scrbox ul { padding: 25px 0; }
    .scrbox ul li:first-of-type { width: 90px; min-width: 90px; }
    .scrbox ul li dl dt { margin-right: 8px; }
    .scrbox ul li dl dt span { width: 8px; height: 8px; }
}
@media (max-width: 1279px) {
    .scrbox ul { padding: 20px 0; }
    .scrbox ul li:first-of-type { width: 80px; min-width: 80px; }
}
@media (max-width: 1023px) {
    .scrbox ul { display: block; padding: 15px 0; }
    .scrbox ul li:first-of-type { width: 100%; min-width: initial; }
    .scrbox ul li:last-of-type { margin-top: 10px; }
    .scrbox ul li dl dt { margin-right: 6px; }
    .scrbox ul li dl dt span { width: 6px; height: 6px; }
}

/* sub1_1 */
.sub1_1 { padding: 0 !important; }
.sub1_1 .contents1 { position: relative; overflow: hidden; background-color: #858692; }
.sub1_1 .contents1 .contwrap { position: initial; }
.sub1_1 .contents1 .cont1ul {  display: flex; flex-wrap: nowrap; justify-content: space-between; }
.sub1_1 .contents1 .cont1ul > li { width: 39%; }
.sub1_1 .contents1 .cont1ul > li:first-of-type { width: 60%; padding: 120px 0; }
.sub1_1 .contents1 .cont1ul > li .img1 { position: absolute; bottom: 0; max-height: 90%; }
.sub1_1 .contents1 .textbox .text1 { font-size: 60px; color: #fff; line-height: 1.2; }
.sub1_1 .contents1 .textbox .text1 b { font-weight: 600; font-size: inherit !important; }
.sub1_1 .contents1 .textbox .text2 { font-size: 26px; color: #fff; line-height: 1.34; }
.sub1_1 .contents1 .contul { display: flex; flex-wrap: nowrap; align-items: center; padding: 30px 0; }
.sub1_1 .contents1 .contul > li:first-of-type { min-width: max-content; margin-right: 30px; }
.sub1_1 .contents1 .contul > li:last-of-type { width: 100%; }
.sub1_1 .contents1 .contul > li table { width: 100%; border-collapse: collapse; border-spacing: 0; font-size: 18px; color: #fff; line-height: 1.65; }
.sub1_1 .contents1 .contul > li table * { font-size: inherit; color: inherit; line-height: inherit; }
.sub1_1 .contents1 .contul > li table th { font-weight: 600; }

.sub1_1 .contents2 { padding: 50px 0; background-color: #707070; }
.sub1_1 .contents2 .contul { display: flex; flex-wrap: nowrap; }
.sub1_1 .contents2 .contul > li:first-of-type { min-width: max-content; margin-right: 30px; }
.sub1_1 .contents2 .contul > li:last-of-type { width: 100%; }
.sub1_1 .contents2 .contul > li .scrbox ul li:first-of-type { color: #fff; }
.sub1_1 .contents2 .contul > li .scrbox ul li:last-of-type { color: #fff; }
.sub1_1 .contents2 .contul > li .scrbox ul li dl dd span { color: #accfff !important; }

.sub1_1 .contents2 .contul > li .scrbox ul:first-of-type { padding-top: 0; }

.sub1_1 .circlebox { display: flex; align-items: center; justify-content: center; width: 100px; height: 100px; border: 1px dashed #fff; border-radius: 50%; }
.sub1_1 .circlebox p { text-align: center; font-weight: 600; font-size: 22px; color: #fff; line-height: 1.3; }

@media (max-width: 1535px) {
    .sub1_1 .contents1 .cont1ul > li:first-of-type { padding: 100px 0; }
    
    .sub1_1 .contents1 .contul > li:first-of-type { margin-right: 25px; }

    .sub1_1 .contents2 .contul > li:first-of-type { margin-right: 25px; }

    .sub1_1 .circlebox { width: 90px; height: 90px; }
}
@media (max-width: 1279px) {
    .sub1_1 .contents1 .cont1ul > li:first-of-type { padding: 80px 0; }

    .sub1_1 .contents1 .contul > li:first-of-type { margin-right: 20px; }

    .sub1_1 .contents2 .contul > li:first-of-type { margin-right: 20px; }

    .sub1_1 .circlebox { width: 80px; height: 80px; }
}
@media (max-width: 1023px) {
    .sub1_1 .contents1 .cont1ul { display: block; }
    .sub1_1 .contents1 .cont1ul > li { width: 100%; text-align: center; }
    .sub1_1 .contents1 .cont1ul > li:first-of-type { width: 100%; padding-top: 40px; padding-bottom: 0; }
    .sub1_1 .contents1 .cont1ul > li .img1 { position: relative; bottom: 0; max-height: initial; width: 100%; max-width: 300px; }

    .sub1_1 .contents1 .contul { display: inline-block; }
    .sub1_1 .contents1 .contul > li:first-of-type { text-align: center; min-width: inherit; margin-right: initial; margin-bottom: 20px; width: 100%; }

    .sub1_1 .contents2 .contul { display: block; }
    .sub1_1 .contents2 .contul > li:first-of-type { text-align: center; min-width: inherit; margin-right: initial; margin-bottom: 20px; width: 100%; }
    
    .sub1_1 .contents1 .contul > li table { text-align: left; }
    .sub1_1 .contents1 .contul > li table th { padding-right: 15px; }

    .sub1_1 .circlebox { display: inline-flex; width: 70px; height: 70px; }
}

/* sub2_1 */
.sub2_1 .text1 { font-weight: 600; font-size: 30px; color: #303c92; }
.sub2_1 .contents1 { margin-top: 22px; border-top: 2px solid #303c92; }

/* sub3_1 */
.sub3_1 .imgbox { text-align: center; }

/* sub4_1 */
.sub4_1 article { position: relative; }
.sub4_1 article strong { display: block; padding-bottom: 35px; text-align: center; font-weight: 600; font-size: 35px; color: #1f3d8a; }
.sub4_1 .cont1wrap { max-width: 1170px; margin: 0 auto; }
.sub4_1 .contents1 { position: relative; margin: -45px; display: flex; flex-wrap: wrap; }
.sub4_1 .contents1 li { width: 25%; padding: 45px; }
.sub4_1 .contents1 li a { display: block; pointer-events: none; }
.sub4_1 .contents1 li a .imgbox { border: 1px solid #ddd; }
.sub4_1 .contents1 li a .imgbox img { width: 100%; }
.sub4_1 .contents1 li a .txtbox { margin-top: 13px; text-align: center; }
.sub4_1 .contents1 li a .txtbox .txt1 { font-weight: 600; font-size: 28px; color: #424242; line-height: 1.42; }
.sub4_1 .contents1 li a .txtbox .txt2 { font-size: 18px; color: #909090; line-height: 1.42; }
.sub4_1 .contents2 table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #0f4d7d; border-left: 1px solid #d7d7d7; font-size: 18px; color: #747474; line-height: 1.35; }
.sub4_1 .contents2 table * { font-size: inherit; color: inherit; line-height: inherit; }
.sub4_1 .contents2 table th, .sub4_1 .contents2 table td { padding: 15px 10px; text-align: center; border-bottom: 1px solid #d7d7d7; border-right: 1px solid #d7d7d7; }
.sub4_1 .contents2 table th { font-weight: 500; color: #1f3d8a; background-color: #fbfbfb; }
.sub4_1 .contents2 table td:last-of-type { text-align: left; }
@media (max-width: 1535px) {
    .sub4_1 .contents1 { margin: -40px; }
    .sub4_1 .contents1 li { padding: 40px; }
    .sub4_1 .contents1 li a .txtbox { margin-top: 10px; }
    .sub4_1 .contents2 table th, .sub4_1 .contents2 table td { padding: 12px 8px; }
}
@media (max-width: 1279px) {
    .sub4_1 .contents1 { margin: -30px; }
    .sub4_1 .contents1 li { padding: 30px; }
    .sub4_1 .contents2 table th, .sub4_1 .contents2 table td { padding: 11px 7px; }
}
@media (max-width: 1023px) {
    .sub4_1 .contents1 { margin: -20px; }
    .sub4_1 .contents1 li { padding: 20px; }
}
@media (max-width: 767px) {
    .sub4_1 .contents1 li { width: 33.3333%; }
    .sub4_1 .contents1 li a .txtbox { margin-top: 8px; }
    .sub4_1 .contents2 { overflow-x: scroll; padding-bottom: 10px; }
    .sub4_1 .contents2 table { width: 780px; }
    .sub4_1 .contents2 table th, .sub4_1 .contents2 table td { padding: 10px 6px; }
}
@media (max-width: 580px) {
    .sub4_1 .contents1 { margin: initial; justify-content: space-between; }
    .sub4_1 .contents1 li { width: 47%; padding: initial; }
    .sub4_1 .contents1 li:nth-of-type(n + 3) { margin-top: 6%; }
}