.main_ctt {  }
.main_ctt .visual_wrap { border-top: 1px solid #dadada; box-sizing:border-box; overflow:hidden; }
.main_ctt .visual_wrap .visual { background-repeat:no-repeat; background-size:cover; background-position:center center; }
.main_ctt .visual_wrap .visual .inner_flex { display:flex; height:800px; padding-top: 16.6rem; box-sizing:border-box; }
.main_ctt .visual_wrap .visual .inner_flex .num { font-size:2.4rem; color:#fff; font-family: var(--mont); font-weight: 600; padding-top: 7px; margin-right: 7rem; }
.main_ctt .visual_wrap .visual .inner_flex .txt_box {  }
.main_ctt .visual_wrap .visual .inner_flex .txt_box .company { display:inline-flex; background:var(--main_c1); font-size:2rem; color:#fff; font-weight: 600; height:40px; align-items:center; border-radius:5px; padding: 0 1.5rem; box-sizing:border-box; }
.main_ctt .visual_wrap .visual .inner_flex .txt_box .tit { font-size:4rem; line-height: 4.8rem; color:#fff; font-weight: 400; margin: 1.8rem 0 6.6rem; }
.main_ctt .visual_wrap .visual .inner_flex .txt_box .tit strong { font-weight: 600; color:var(--main_c2); }
.main_ctt .visual_wrap .visual .inner_flex .txt_box .txt { font-size:1.8rem; color:#fff; line-height: 2.8rem; font-weight: 500; }
.main_ctt .visual_wrap .visual .inner_flex .txt_box .more { margin-top: 4.4em; transition:all 0.5s; overflow:hidden; position:relative; width:200px; height:56px; display:block; border-radius:100px; border:1px solid transparent; box-sizing:border-box; }
.main_ctt .visual_wrap .visual .inner_flex .txt_box .more i { display:flex; width:100%; height:100%; border-radius:100px; font-size:1.8rem; color:#fff; font-weight: 600; align-items:center; text-align: center; justify-content:center; font-style: normal; position:relative; z-index:2; transition:all 0.5s; }
.main_ctt .visual_wrap .visual .inner_flex .txt_box .more:before { content:""; display:block; background: linear-gradient(to right, var(--main_c1), var(--main_c3)); position:absolute; width:2px; height:2px; top:50%; margin-top: -1px; left:-3px; border-radius:50%; transform:scale(104); transform-origin:left center; transition:all 0.5s; z-index:1; }


.main_ctt .visual_wrap .visual .inner_flex .txt_box .more:hover { border: 1px solid rgba(255, 255, 255, 0.5); box-sizing:border-box; }
.main_ctt .visual_wrap .visual .inner_flex .txt_box .more:hover i {  }
.main_ctt .visual_wrap .visual .inner_flex .txt_box .more:hover:before { transform:scale(0); }


.main_ctt .visual_wrap .visual .inner_flex.black .num { color:#000; }
.main_ctt .visual_wrap .visual .inner_flex.black .txt_box .tit { color:#000; }
.main_ctt .visual_wrap .visual .inner_flex.black .txt_box .txt { color:#3a3a3a; }
.main_ctt .visual_wrap .visual .inner_flex.black .txt_box .more:hover i { color:#3a3a3a; }

.main_ctt .visual_wrap .visual01 { background-image:url(../img/visual01.png); }
.main_ctt .visual_wrap .visual02 { background-image:url(../img/visual02.png); }
.main_ctt .visual_wrap .visual03 { background-image:url(../img/visual03.png); }
.main_ctt .visual_wrap .visual04 { background-image:url(../img/visual04.png); }
.main_ctt .visual_wrap .visual05 { background-image:url(../img/visual05.png); }

.main_ctt .aorrw_rela { position:relative; }
.main_ctt .side_arrow { background:#fff; width:255px; height:94px; position:absolute; right:3rem; bottom:0; z-index:10; display:flex; align-items:center; padding: 0 4.5rem; box-sizing:border-box; }
.main_ctt .side_arrow > div {  }
.main_ctt .side_arrow .arrow { display:inline-block; width:33px; height:9px; background-position: center center; background-repeat:no-repeat; cursor:pointer; }
.main_ctt .side_arrow .prev { background-image:url(../img/visual_prev.png); }
.main_ctt .side_arrow .next { background-image:url(../img/visual_next.png); }
.main_ctt .side_arrow .pagination1 { display:flex; align-items:center; justify-content:center; text-align: center; width:calc(100% - 66px); }
.main_ctt .side_arrow .num { font-family: var(--mont); font-size:12px; font-weight: 600; font-style: normal; }
.main_ctt .side_arrow .count { color:#3a3a3a; }
.main_ctt .side_arrow .total { color:#bbb; }
.main_ctt .side_arrow .slash { display:inline-block; width:1px; height:13px; background:#e5e5e5; margin: 0 10px; }

.main_ctt .side_arrow .pagination2 { position:absolute; width:calc(100% - 9rem); left:4.5rem; top:73px; height:2px; background:#eee; }
.main_ctt .side_arrow .pagination2 .swiper-pagination-progressbar-fill { background:#000; }



.main_ctt .section .more { font-size:14px; color:#000; }
.main_ctt .section .more i { display:inline-flex; width:34px; height:34px; border-radius:50%; text-align: center; justify-content:center; align-items:center; background:#d2ecea; color:#000; line-height: 34px; margin-left: 10px; }
.main_ctt .section .more i:before { content:"\f061"; font-family: "Font Awesome 5 Free"; font-weight: 600; font-style: normal; font-size:11px; }

.main_ctt .section .more.rgreen i { background:var(--main_c2); color:#fff; }
.main_ctt .section .more.green i { background:var(--main_c1); color:#fff; }


.main_ctt .section01 { background:#fafafa; padding: 13.6rem 0 15rem; box-sizing:border-box; }
.main_ctt .section01 .tit_box { text-align: center; margin-bottom: 10rem; }
.main_ctt .section01 .tit_box .tit { font-size:4.8rem; color:#000; font-weight: 600; display:flex; justify-content:center; }
.main_ctt .section01 .tit_box .tit .cir { display:inline-block; width:30px; height:30px; border-radius:50%; background:var(--main_c2); margin-right: -15px; margin-top: -6px; flex-shrink:0; }
.main_ctt .section01 .tit_box .txt { font-size:1.8rem; color:#000; font-weight: 400; line-height: 3.4rem; margin-top: 3.8rem; }
.main_ctt .section01 .tit_box .txt strong { font-weight: 600; }

.main_ctt .section01 .icon_box { display:flex; }
.main_ctt .section01 .icon_box li { flex:1; border-left: 1px solid rgba(0, 79, 74, 0.15); box-sizing:border-box; }
.main_ctt .section01 .icon_box li:first-child { border-left:0; }
.main_ctt .section01 .icon_box li a { display:flex; width:100%; height:237px; justify-content:center; align-items:center; flex-direction:column; }
.main_ctt .section01 .icon_box li a img {  }
.main_ctt .section01 .icon_box li a .txt { font-family: var(--mont); font-size:2.6rem; color:#666; font-weight: 700; margin-top: 2.6rem; transition:all 0.5s; text-align: center; }
.main_ctt .section01 .icon_box li a .more { margin-top: 0; height:0; opacity:0; overflow:hidden; transition:all 0.5s; }
.main_ctt .section01 .icon_box li a .more i {  }

.main_ctt .section01 .icon_box li a:hover .txt { color:var(--main_c1); }
.main_ctt .section01 .icon_box li a:hover .more { margin-top: 2rem; height:34px; opacity:1; }



.main_ctt .section02 {  }
.main_ctt .section02 .prd_wrap { display:flex; padding: 7rem 0 11.5rem; box-sizing:border-box; }
.main_ctt .section02 .prd_wrap .box { display:flex; flex:1; justify-content:space-between; box-sizing:border-box; align-items:center; }
.main_ctt .section02 .prd_wrap .box .txt_box {  }
.main_ctt .section02 .prd_wrap .box .txt_box .etit { font-size:2rem; color:#aaa; font-weight: 700; letter-spacing: 5px; }
.main_ctt .section02 .prd_wrap .box .txt_box .tit { font-size:4.4rem; color:var(--main_c1); font-weight: 600; margin-top: 2px; }
.main_ctt .section02 .prd_wrap .box .txt_box .txt { font-size:2rem; color:#3a3a3a; line-height: 2.8rem; margin: 3.4rem 0 12.2rem; }
.main_ctt .section02 .prd_wrap .box .txt_box .more {  }
.main_ctt .section02 .prd_wrap .box .img { box-sizing:border-box; }

.main_ctt .section02 .prd_wrap .box.left { padding-right: 8.2rem; }

.main_ctt .section02 .prd_wrap .box.right { border-left: 2px dotted #dadada; flex-direction:row-reverse; padding-left: 10.3rem; }
.main_ctt .section02 .prd_wrap .box.right .txt_box { text-align: right; }



.main_ctt .section03 { background:var(--main_c1); padding: 15rem 0; box-sizing:border-box; }
.main_ctt .section03 .container { display:flex; justify-content:space-between; }
.main_ctt .section03 .left_box { padding-left: 15px; box-sizing:border-box; }
.main_ctt .section03 .left_box .etit { font-size:4rem; color:#dadada; font-weight: 700; font-family: var(--mont); letter-spacing: -0.0325em; }
.main_ctt .section03 .left_box .etit i { display:block; width:30px; height:30px; border-radius:50%; background:var(--main_c2); margin-left: -15px; margin-bottom: -20px; }
.main_ctt .section03 .left_box .tit { font-size:5.2rem; color:#fff; font-weight: 700; font-family: var(--mont); margin: 5rem 0 22.2rem; }
.main_ctt .section03 .left_box .more { color:#fff; }

.main_ctt .section03 .right_list { width:100%; max-width:900px; padding-top: 15px; box-sizing:border-box; }
.main_ctt .section03 .right_list li { border-bottom: 2px solid #eaeaea; box-sizing:border-box; }
.main_ctt .section03 .right_list li:first-child { border-top: 2px solid #eaeaea; }
.main_ctt .section03 .right_list li a { display:block; padding: 4.8rem 3rem; box-sizing:border-box; }
.main_ctt .section03 .right_list li .empty { display:block; padding: 4.8rem 3rem; box-sizing:border-box; color:#aaa; text-align: center; }
.main_ctt .section03 .right_list li a span { display:block; text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; width:100%; overflow:hidden; }
.main_ctt .section03 .right_list li a .tit { font-size:2.4rem; color:#fff; font-weight: 600; }
.main_ctt .section03 .right_list li a .txt { font-size:1.6rem; color:#fff; font-weight: 600; margin: 1.68rem 0 1.2rem; }
.main_ctt .section03 .right_list li a .date { font-size:1.6rem; color:#aaa; font-weight: 700; font-family: var(--mont); }



.main_ctt .section04 { box-sizing:border-box; padding: 11rem 0 15rem; }
.main_ctt .section04 .tit_box { padding-left: 15px; box-sizing:border-box; }
.main_ctt .section04 .tit_box .etit { font-size:3.2rem; color:#666; font-weight: 700; line-height: 5.6rem; }
.main_ctt .section04 .tit_box .etit i { display:block; width:30px; height:30px; border-radius:50%; background:var(--main_c2); margin-left: -15px; margin-bottom: -30px; }
.main_ctt .section04 .tit_box .tit { font-size:5.2rem; color:#000; font-weight: 700; font-family: var(--mont); margin: 5rem 0 9.5rem; }

.main_ctt .section04 .box { display:flex; }
.main_ctt .section04 .box li { flex:1; width:25%; }
.main_ctt .section04 .box li * { transition:all 0.5s; }
.main_ctt .section04 .box li a { display:block; width:100%; position:relative; }
.main_ctt .section04 .box li a .img {  }
.main_ctt .section04 .box li a .img img {  }
.main_ctt .section04 .box li a .txt_box { position:absolute; left:0; top:0; width:100%; height:100%; padding: 6rem 4rem 6.8rem; box-sizing:border-box; display: flex; flex-direction: column; justify-content: space-between; z-index:3; }
.main_ctt .section04 .box li a .txt_box .txt { font-size:2rem; color:#fff; font-weight: 500; font-family: var(--mont); display: inline-block; writing-mode: vertical-rl; transform: rotate(180deg); }
.main_ctt .section04 .box li a .txt_box .tit { font-size:4.6rem; color:#fff; font-weight: 600; line-height: 6rem; }
.main_ctt .section04 .box li a:before { content:""; display:block; width:100%; height:100%; background-repeat:no-repeat; background-position:center center; background-size:cover; position:absolute; left:0; top:0; z-index:2; opacity:0; transition:all 0.5s; }
.main_ctt .section04 .box li a .txt_box:after { content:""; background:#fff url(../img/section04_arrow.png) center center no-repeat; width:64px; height:64px; position:absolute; right:0; bottom:-2rem; opacity:0; transition:all 0.5s; }

.main_ctt .section04 .box li.box01 a:before { background-image:url(../img/section04_img01_over.png); }
.main_ctt .section04 .box li.box02 a:before { background-image:url(../img/section04_img02_over.png); }
.main_ctt .section04 .box li.box03 a:before { background-image:url(../img/section04_img03_over.png); }
.main_ctt .section04 .box li.box04 a:before { background-image:url(../img/section04_img04_over.png); }

.main_ctt .section04 .box li a:hover { margin-top: -5rem; }
.main_ctt .section04 .box li a:hover:before { opacity:1; }
.main_ctt .section04 .box li a:hover .txt_box:after { bottom:0; opacity:1; }
