@charset "utf-8";
.body-main {position:relative; background: #222;}
section {position:relative; padding: 110px 0 150px;}

.main__title {text-align: center;}
.main__title h2 {font-size: 60px; font-weight: 300; color: #fff;}
.main__title h2 span {vertical-align: baseline; font-weight: 800;}
.main__title h2 .logo_gd {vertical-align: middle; transform: translateY(-7px); display: inline-block; font-size: 0; width: 140px; height: 48px; background: url('../images/main/logo_gd.png') no-repeat center / contain;}
.main__title p {margin-top: 30px; font-size: 18px; font-weight: 500; color: #fff; letter-spacing: -0.025em; line-height: 1.4;}

@media only screen and (max-width: 768px) {
	.main__title h2 {font-size: 40px;}
	.main__title h2 .logo_gd {width: 105px; height: 35px; transform: translateY(-2px);}
	.main__title p {margin-top: 10px; font-weight: 400;}
}

@media only screen and (max-width: 480px) {
	.main__title h2 {font-size: 30px;}
	.main__title h2 .logo_gd {width: 80px;}
	.main__title p {font-size: 16px;}
}


/* section01 */
.main__visual {width: 100%; position:relative; padding: 0;}

.main__visual-item {position: relative; transform: skew(0.0001deg) !important; overflow: hidden;}
.main__visual-item .bg {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: calc(100% + 2px); height: calc(100% + 2px); overflow: hidden;}
.main__visual-item .bg .main__visual-img {width: 100%; height: 100%; transform:scale(1.2); transition: all 6s ease-in-out;}
.main__visual-item .bg .main__visual-img.is-scale {transform:scale(1);}

.main__visual-item.nth-1 .main__visual-img {background: url('../images/main/main-visual01.jpg') no-repeat center / cover;}
.main__visual-item.nth-2 .main__visual-img {background: url('../images/main/main-visual02.jpg') no-repeat center / cover;}

.main__visual-inner {padding: 180px 0 40px; position: relative; z-index: 1;}
.main__visual-copy {padding: 12% 0 20%; text-align: center;}
.main__visual-copy h2 {font-size: 85px; font-weight: 700; color: #fff; font-style: italic;}
.main__visual-copy span {vertical-align: baseline; color: #13489d; font-weight: 800;}
.main__visual-copy p {margin-top: 10px; font-size: 25px; font-weight: 700; color: #fff; letter-spacing: -0.025em; line-height: 1.4; font-style: italic;}

.main__visual-control {position: absolute; left: 50%; bottom: 30%; transform: translateX(-50%);}
.main__visual-control .slick-dots {display: flex; justify-content: center;}
.main__visual-control .slick-dots li+li {margin-left: 30px;}
.main__visual-control .slick-dots li button {font-size: 0; width: 9px; height: 9px; border-radius: 50%; border: 0; background: #fff;}
.main__visual-control .slick-dots li.slick-active button {background: #13489d;}

.main__visual-scroll {position:absolute; bottom:0; left:50%; transform:translateX(-50%); transition: all 0.3s ease-in-out; z-index:4;}
.main__visual-scroll a {display: block; width: 3px; height: 77px; background: rgba(255, 255, 255, 0.35); position: relative;}
.main__visual-scroll a::after {display: block; content: ""; width: 100%; height: 0; background: #fff; position: absolute; top: 0; left: 0; animation-duration:3s; animation-iteration-count:infinite; animation-name:is-scroll;}

@keyframes is-scroll {
	0% {top: 0; height: 0;}
	30% {top: 0; height: 100%;}
	60% {top: auto; bottom: 0; height: 100%;}
	100% {top: auto; bottom: 0; height: 0;}
}

@media only screen and (max-width: 1440px) {
	.main__visual-copy h2 {font-size: 70px;}
	.main__visual-copy p {font-size: 20px;}

	.main__visual-control {bottom: 200px;}
}

@media only screen and (max-width: 1024px) {
	.main__visual-inner {padding: 100px 0;}
	.main__visual-copy h2 {font-size: 55px;}
}

@media only screen and (max-width: 768px) {
	.main__visual-copy h2 br,
	.main__visual-copy p br {display: none;}

	.main__visual-control {bottom: 150px;}
}

@media only screen and (max-width: 640px) {
	.main__visual-copy h2 {font-size: 45px;}
	.main__visual-copy p {font-size: 18px; font-weight: 400;}
}

@media only screen and (max-width: 480px) {
	.main__visual-copy h2 {font-size: 30px;}
	.main__visual-copy p {font-size: 16px;}

	.main__visual-control {bottom: 100px;}
}


/* section02 */
.main__business {background: url('../images/main/section-bg01.png') no-repeat center / cover;}
.main__business .inner {position: relative;}
.main__business .inner::before {display: block; content: ""; width: 190px; height: 96px; background: url('../images/main/business-deco01.png') no-repeat right top; position: absolute; right: 0; top: 100px;}
.main__business .inner::after {display: block; content: ""; width: 347px; height: 206px; background: url('../images/main/business-deco02.png') no-repeat right top; position: absolute; left: -60px; bottom: -10px;}

.main__business .business-list {margin-top: 70px; width: 140%; position: relative; z-index: 1;}
.main__business .business-list .slick-track {display: flex !important;}
.main__business .business-item {display: flex !important; align-items: flex-end; height: 500px; margin-right: 40px; margin-bottom: 70px; padding: 10px; position: relative;}
.main__business .business-item a {display: flex; align-items: flex-end; height: 450px; width: 100%; background: url('../images/main/business-item01.png') no-repeat center bottom; transition: all .3s ease-in-out; position: relative;}
.main__business .business-item::after {display: block; content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0;}
.main__business .business-item.nth-2 a {background: url('../images/main/business-item02.png') no-repeat center bottom;}
.main__business .business-item.nth-3 a {background: url('../images/main/business-item03.png') no-repeat center bottom;}
.main__business .business-item.nth-4 a {background: url('../images/main/business-item04.png') no-repeat center bottom;}
.main__business .business-item h2 {display: inline-block; width: 244px; padding: 15px 10px; font-size: 22px; font-weight: 700; color: #13489d; letter-spacing: -0.025em; text-align: center; background: rgba(0, 0, 0, 0.85); transition: all .3s ease-in-out;}
.main__business .business-item p {position: absolute; top: calc(100% + 24px); left: 46px; font-size: 18px; font-weight: 700; color: #fff; letter-spacing: -0.025em; line-height: 1.3; display: none;}

.main__business .business-item.slick-current::after {display: none;}
.main__business .business-item.slick-current a {height: 100%; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);}
.main__business .business-item.slick-current h2 {background: #13489d; padding: 20px 40px 20px 50px; text-align: left; line-height: 1.3; font-size: 35px; color: #fff; border-radius: 0 30px 0 0;}
.main__business .business-item.slick-current p {display: block;}

.main__business .nav {display: flex; position: absolute; bottom: -8px; left: 32.5%; z-index: 2;}
.main__business .nav .nav_arrow {width: 45px; height: 32px; background: url('../images/main/business-deco03.png') no-repeat center; cursor: pointer;}
.main__business .nav .nav_arrow.prev {transform: rotate(180deg); margin-right: 30px;}

@media only screen and (max-width: 1440px) {
	.main__business .business-item.slick-current+.business-item {padding-left: 0;}
}

@media only screen and (max-width: 1240px) {
	.main__business .inner::before {top: 0;}
	.main__business .business-item.slick-current h2 {font-size: 24px;}
	.main__business .nav {left: 40%;}
}

@media only screen and (max-width:  768px) {
	.main__business .inner::after {left: -130px;}
	.main__business .business-list {width: 160%;}
	.main__business .business-item.slick-current h2 {padding: 20px;}
	.main__business .business-item p {left: 20px; font-weight: 500; font-size: 16px;}
}

@media only screen and (max-width:  640px) {
	.main__business .main__title p br {display: none;}
	.main__business .inner::before {top: -20px; right: -10px;}
	.main__business .inner::after {left: -16px; bottom: -55px;}
	.main__business .business-list {width: 100%;}
	.main__business .business-item {margin: 0 20px 70px 0; height: 450px;}
	.main__business .business-item a {height: 400px;}
	.main__business .business-item h2 {font-size: 18px;}
	.main__business .business-item p {top: calc(100% + 16px);}
	.main__business .business-item.slick-current h2 {font-size: 18px; font-weight: 500;}
	.main__business .nav {left: 20px;}
}

@media only screen and (max-width:  480px) {
	.main__business .business-list {margin-top: 40px;}
	.main__business .business-item {margin-right: 0; height: 350px;}
	.main__business .business-item a {height: 300px;}
	.main__business .business-item h2 {width: auto;}
	.main__business .nav {bottom: -25px;}
}


/* section03 */
.main__management {background: url('../images/main/section-bg02.png') no-repeat center / cover;}
.main__management .management-wrap {display: flex; margin-top: 30px; align-items: flex-start;}
.main__management .management-item {width: 20%; margin-right: 6%;}
.main__management .management-item.nth-2 {margin-top: 180px;}
.main__management .management-item.nth-3 {margin-top: 50px;}
.main__management .management-item.nth-4 {margin-top: -75px;}

.main__management .management-item a {display: block; width: 100%; height: 100%; background: #fff; padding: 50px 0 60px; text-align: center; position: relative;}
.main__management .management-item .img {width: 108px; height: 102px; margin: 0 auto; background: url('../images/main/management-item01.png') no-repeat center / contain;}
.main__management .management-item.nth-2 .img {background: url('../images/main/management-item02.png') no-repeat center / contain;}
.main__management .management-item.nth-3 .img {background: url('../images/main/management-item03.png') no-repeat center / contain;}
.main__management .management-item.nth-4 .img {background: url('../images/main/management-item04.png') no-repeat center / contain;}
.main__management .management-item h2 {display: inline-block; margin-top: 35px; font-size: 22px; font-weight: 800; color: #13489d; letter-spacing: -0.025em; padding: 15px 0; border-top: 2px solid #13489d; border-bottom: 2px solid #13489d;}
.main__management .management-item p {font-size: 16px; font-weight: 400; color: #666; letter-spacing: -0.025em; line-height: 1.4; margin-top: 30px;}

.main__management .management-item .text-box.nth-2 {padding: 30px 10px 30px 50px; width: 100%; min-height: 210px; background: #000 url('../images/main/management-item-bg.png') no-repeat right bottom; text-align: left; position: absolute; left: 44px; top: 234px; opacity: 0; transition: all 0.3s ease-in-out;}
.main__management .management-item .text-box.nth-2::after {display: block; content: ""; width: 41px; height: 32px; background: url('../images/common/arrow03.png') no-repeat center; position: absolute; top: 135px; right: 50px;}
.main__management .management-item .text-box.nth-2 h2 {padding-top: 0; border-top: 0; margin-top: 0;}
.main__management .management-item .text-box.nth-2 p {margin-top: 15px; color: #fff;}

.main__management .management-item:hover a {background: #1950a8 url('../images/main/management-item_hover.png') no-repeat center / cover; border-radius: 0 25px 0 0;}
.main__management .management-item:hover a::after {display: block; content: ""; width: 39px; height: 35px; background: url('../images/main/management-item-deco.png') no-repeat right top; position: absolute; top: -15px; right: -15px;}

.main__management .management-item.nth-1:hover .img {background: url('../images/main/management-item01_hover.png') no-repeat center / contain;}
.main__management .management-item.nth-2:hover .img {background: url('../images/main/management-item02_hover.png') no-repeat center / contain;}
.main__management .management-item.nth-3:hover .img {background: url('../images/main/management-item03_hover.png') no-repeat center / contain;}
.main__management .management-item.nth-4:hover .img {background: url('../images/main/management-item04_hover.png') no-repeat center / contain;}

.main__management .management-item:hover .text-box.nth-1 {opacity: 0;}
.main__management .management-item:hover .text-box.nth-2 {opacity: 1;}

@media only screen and (max-width: 1440px) {
	.main__management .management-item {width: 22%; margin-right: 3%;}
	.main__management .management-item .text-box.nth-2 {padding: 30px; left: 30px; top: 190px;}
}

@media only screen and (max-width: 1240px) {
	.main__management .management-item a {padding: 50px 20px 60px;}
	.main__management .management-item .text-box.nth-2 {width: auto; padding-bottom: 50px;}
	.main__management .management-item .text-box.nth-2::after {top: auto; bottom: 20px; right: 20px;}
	.main__management .management-item p {font-size: 15px;}
	.main__management .management-item p br {display: none;}
}

@media only screen and (max-width: 1024px) {
	.main__management .management-wrap {flex-wrap: wrap;}
	.main__management .management-item,
	.main__management .management-item.nth-3 {width: calc(50% - 15px); margin: 0 30px 30px 0;}
	.main__management .management-item.nth-2,
	.main__management .management-item.nth-4 {width: calc(50% - 15px); margin: 0 0 30px;}
	.main__management .management-item a {padding: 30px 50px;}
	.main__management .management-item p {margin-top: 20px;}

	.main__management .management-item .text-box.nth-1 {width: 100%;}
	.main__management .management-item .text-box.nth-2 {min-height: 165px; width: calc(100% - 100px); padding: 20px 20px 70px; top: 140px; left: auto; right: 30px;}
}

@media only screen and (max-width: 768px) {
	.main__management .management-item h2 {font-size: 18px;}

	.main__management .management-item .text-box.nth-2 {width: calc(100% - 20px);}
}

@media only screen and (max-width: 640px) {
	.main__management .management-item,
	.main__management .management-item.nth-2,
	.main__management .management-item.nth-3,
	.main__management .management-item.nth-4 {width: 100%; margin: 0 0 30px;}

	.main__management .management-item .text-box.nth-2 {padding: 30px 50px; text-align: center;}
}

@media only screen and (max-width: 480px) {
	.main__management .main__title p br {display: none;}
}


/* section04 */
.main__story {background: url('../images/main/section-bg03.png') no-repeat center / cover;}
.main__story .story-wrap {margin-top: 110px; display: flex; position: relative;}
.main__story .story-wrap::before {display: block; content: ""; width: 105px; height: 102px; background: url('../images/main/story-deco.png') no-repeat right top; position: absolute; top: -60px; right: -54px;}

.main__story .story-menu {width: 50%; font-size: 0;}
.main__story .story-item {display: inline-block; width: 50%;}
.main__story .story-item a {display: flex; border: 2px solid #000; min-height: 250px; transition: all .3s ease-in-out;}
.main__story .story-item.nth-1 a {background: url('../images/main/story-item01.png') no-repeat center; justify-content: flex-end; align-items: flex-end; border-bottom: 0;}
.main__story .story-item.nth-2 a {background: url('../images/main/story-item02.png') no-repeat center; align-items: flex-end; border-bottom: 0; border-left: 0;}
.main__story .story-item.nth-3 a {background: url('../images/main/story-item03.png') no-repeat center; justify-content: flex-end;}
.main__story .story-item.nth-4 a {background: url('../images/main/story-item04.png') no-repeat center; border-left: 0;}

.main__story .story-item p {width: 100px; height: 100px; background: #000; border: 2px solid #000; font-size: 18px; font-weight: 800; color: #437cd7; letter-spacing: -0.025em; text-align: center; line-height: 100px; transition: all .3s ease-in-out;}
.main__story .story-item.nth-1 p {border-bottom: 0; border-right: 0;}
.main__story .story-item.nth-2 p {border-bottom: 0; border-left: 0;}
.main__story .story-item.nth-3 p {border-top: 0; border-right: 0;}
.main__story .story-item.nth-4 p {border-top: 0; border-left: 0;}

.main__story .story-item.nth-1:hover a {background: #fff url('../images/main/story-item01_hover.png') no-repeat center; justify-content: flex-end; align-items: flex-end;}
.main__story .story-item.nth-2:hover a {background: #fff url('../images/main/story-item02_hover.png') no-repeat center; align-items: flex-end;}
.main__story .story-item.nth-3:hover a {background: #fff url('../images/main/story-item03_hover.png') no-repeat center; justify-content: flex-end;}
.main__story .story-item.nth-4:hover a {background: #fff url('../images/main/story-item04_hover.png') no-repeat center;}
.main__story .story-item:hover p {background: #13489d; color: #fff;}

.main__story .news-wrap {width: 50%; padding: 0 60px; background: rgba(0, 0, 0, 0.8); position: relative; z-index: 1;}
.main__story .news-wrap .title {display: flex; flex-wrap: wrap; align-content: center; height: 50%; border-bottom: 1px solid rgba(19, 72, 157, 0.5);}
.main__story .news-wrap .title h2 {width: 100%; font-size: 30px; font-weight: 800; color: #437cd7;}
.main__story .news-wrap .title p {font-size: 16px; font-size: 500; color: #437cd7; letter-spacing: -0.025em; margin-top: 10px;}

.main__story .nav {position: absolute; top: 0; right: 0; display: flex;}
.main__story .nav div+div {margin-left: 1px;}
.main__story .nav div {width: 60px; height: 60px; cursor: pointer;}
.main__story .nav-arrow {background: #13489d url('../images/common/arrow02.png') no-repeat center;}
.main__story .nav-arrow.next {transform: rotate(180deg);}
.main__story .more a {display: block; width: 60px; height: 60px; background: #fff url('../images/common/plus01.png') no-repeat center;}

.news-list {padding-top: 30px;}
.news-item a {display: block; padding: 15px 100px 15px 0; position: relative;}
.news-item p {font-size: 18px; font-weight: 500; color: #fff; letter-spacing: -0.025em; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
.news-item span {vertical-align: baseline; font-size: 16px; color: #4d7fcf; position: absolute; top: 50%; right: 0; transform: translateY(-50%);}

@media only screen and (max-width: 1440px) {
	.main__story .news-wrap {padding: 0 30px;}
}

@media only screen and (max-width: 1240px) {
	.main__story .story-wrap {flex-wrap: wrap;}
	.main__story .story-menu,
	.main__story .news-wrap {width: 100%;}

	.main__story .story-item {width: 25%;}
	.main__story .story-item.nth-2 a,
	.main__story .story-item.nth-3 a,
	.main__story .story-item.nth-4 a {justify-content: flex-end; align-items: flex-end; border-left: 0;}

	.main__story .news-wrap .title,
	.news-list {height: auto; padding: 30px 0;}
}

@media only screen and (max-width: 1024px) {
	.main__story .story-wrap {margin-top: 70px;}

	.main__story .story-item a {min-height: 200px;}
	.main__story .story-item.nth-1 a,
	.main__story .story-item.nth-2 a,
	.main__story .story-item.nth-3 a,
	.main__story .story-item.nth-4 a {background-position: center 40%; border-bottom: 0;}
	.main__story .story-item p {width: 100%; height: auto; line-height: 1.4; padding: 10px; border: 0;}
}

@media only screen and (max-width: 768px) {
	.main__story .nav div,
	.main__story .more a {width: 40px; height: 40px;}
}

@media only screen and (max-width: 480px) {
	.main__story .story-item {width: 100%; }
	.main__story .story-item.nth-1 a, .main__story .story-item.nth-2 a, .main__story .story-item.nth-3 a, .main__story .story-item.nth-4 a {border-left: 2px solid #222;}

	.news-item a {padding: 15px 0 40px;}
	.news-item span {top: auto; bottom: 5px;}
}