@charset "utf-8";

.group-txt h2 {line-height: 1; margin-bottom: 20px; font-size: 2.5rem; font-weight: bold; }
.group-txt ul {line-height: 2;  margin-bottom: 40px; list-style-type: '・'; padding-left: 30px;}
.group-txt ul li {padding-left: 10px;}
.group-txt .btn-blue {line-height: 1; border-radius: 50px; border: 1px solid #056fa6; padding: 20px 20px; color: #056fa6; text-align: center; display: block; font-weight: bold; transition: all 0.2s;}
.group-txt .btn-blue:hover {background: #056fa6; color: #fff;}





.home {position: relative;}
.home h1 {position: absolute; top: 30px; left: 50px;}
.home .txt {margin-top: 35vh; width: 50%; max-width: 900px; line-height: 1; }
.home .txt h2 {padding-left: 13%; border-bottom: 1px solid #000; font-size: 8.3rem; font-weight: bold; margin-bottom: 20px; padding-bottom: 20px;}
.home .txt p {padding-left: 13%; font-size: 2.4rem; font-weight: bold;}
.home .news {padding: 20px 20px 20px 50px; width: 47%; background: #e1e5ea; position: absolute; bottom: 40px; left: 0; border-top-right-radius: 20px; border-bottom-right-radius: 20px; box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.7);-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.7);-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.7);}
.home .news .common-txt {font-size: 1.4rem;}
.home .news .news-tit {width: 100px;}
.home .news .news-tit h3 {font-size: 2.4rem; font-weight: bold; text-decoration: underline; line-height: 1; }
.home .news .news-list {width: calc(100% - 100px); height: 100%;}
.home .news .news-list ul li:not(:last-of-type) {margin-bottom: 15px;}
.home .news .news-list ul li .date {width: 130px;}
.home .news .news-list ul li .news-txt {width: calc(100% - 130px);}
.home .news .news-list ul li .news-txt a {color: #056fa6; text-decoration: underline;}
.home .news .news-list ul li .news-txt a:hover {opacity: 0.8;}
.home .news .news-list .cont-hide {display: none;}
.home .news .news-list .btnMore {padding-left: 130px; margin-top: 10px;}
.home .news .news-list .btnMore a {display: inline-block; text-decoration: underline; cursor: pointer;}
.home .news .news-list .btnMore a:hover {color: #056fa6;}
.home .news .btnClose {display: none; position: absolute; top: -20px; right: -20px; width: 40px; height: 40px; background: url(../img/common/ic_close.png) no-repeat; background-size: cover;}
.home .active {height: 80%;}
.home .active .news-list {overflow-y: scroll;}
.home .active .btnClose {display: block;}




.business .inner {width: 100%; height: 100%; background: url(../img/top/img2.webp) no-repeat center left; background-size: auto 100%; align-items: center;}
.business .inner .inner-txt {margin-left: 45%;}
.business .inner .inner-txt h2 {padding-left: 30px; line-height: 1; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #000; font-size: 3.5rem; font-weight: bold; }
.business .inner .inner-txt ol {padding-left: 50px; list-style-type: decimal; list-style-position: inside; line-height: 2; }
.business .inner .inner-txt ol li ul {list-style-type: '・'; padding-left: 37px;}
.business .inner .inner-txt ol li ul li {padding-left: 10px;}


.development .inner {width: 100%; height: 100%; background: url(../img/top/img3.webp) no-repeat center right; background-size: auto 100%; align-items: center;}
.development .inner .inner-txt {margin-left: 10%;}


.web .inner {width: 100%; height: 100%; background: url(../img/top/img4.webp) no-repeat center left; background-size: auto 100%; align-items: center;}
.web .inner .inner-txt {margin-left: 45%;}



.corporate .inner {width: 100%; height: 100%; background: url(../img/top/img5.webp) no-repeat top left; background-size: 32.91% auto; align-items: center; position: relative;}
.corporate .inner > h2 {color: #fff; font-size: 4rem; font-weight: bold; position: absolute; top: 45%; left: 10%;}
.corporate .inner .inner-txt {margin-left: 45%; max-width: 655px;}
.corporate .inner .inner-txt h2 {padding-left: 30px; line-height: 1; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #000; font-size: 3.5rem; font-weight: bold; }
.corporate .inner .inner-txt p {margin-bottom: 30px; line-height: 2; }




.map {padding: 120px 40px 40px;}
.map .inner {height: 100%}
.map .inner .row {width: 100%; height: 100%;}
.map .inner .row .col {width: 49%; height: 100%;}
.map .inner .row .col:nth-of-type(1) {display: flex; flex-direction: column;}
.map .inner .row .col:nth-of-type(1) .row-box {height: calc(100% - 220px);}
.map .inner .row .col:nth-of-type(2) .row-box {height: 100%;}
.map .inner .row .row-box {padding: 20px 30px; border-radius: 20px; background: #f0f0f0; box-shadow: 0px 0px 25px 0px rgba(156,156,156,1); -webkit-box-shadow: 0px 0px 25px 0px rgba(156,156,156,1); -moz-box-shadow: 0px 0px 25px 0px rgba(156,156,156,1);}
.map .inner .row .row-box h3 {font-size: 2rem; font-weight: bold;}
.map .inner .row .row-box table {width: 100%; line-height: 1.6; margin-bottom: 15px;}
.map .inner .row .row-box table tr td {padding: 2px 0; vertical-align: top;}
.map .inner .row .row-box table tr td:nth-of-type(1) {width: 20%; padding-left: 20px;}
.map .inner .row .row-box table tr td:nth-of-type(2) {width: 80%;}
.map .inner .row .row-box-2 table tr td:nth-of-type(1) {width: 26%;}
.map .inner .row .row-box-2 table tr td:nth-of-type(2) {width: 74%;}
.map .inner .row .row-box-2 table:nth-of-type(2) td:nth-of-type(1) {width: 50%;}
.map .inner .map-embed {margin-top: 20px; overflow: hidden; line-height: 1; border-radius: 40px; box-shadow: 0px 0px 25px 0px rgba(156,156,156,1); -webkit-box-shadow: 0px 0px 25px 0px rgba(156,156,156,1); -moz-box-shadow: 0px 0px 25px 0px rgba(156,156,156,1);}



.intro {padding: 120px 40px 40px;}
.intro .inner {height: 100%; position: relative;}
.intro .inner .titH2 {padding-left: 0;}
.intro .inner h3 {font-size: 2.5rem; margin-bottom: 10px;}
.intro .inner .common-txt {font-size: 1.4rem;}
.intro .inner .col {width: 49%; padding: 20px 30px; border-radius: 20px; background: #f0f0f0; box-shadow: 0px 0px 25px 0px rgba(156,156,156,1); -webkit-box-shadow: 0px 0px 25px 0px rgba(156,156,156,1); -moz-box-shadow: 0px 0px 25px 0px rgba(156,156,156,1);}
.intro .inner .col .col-in {width: 95%; margin: 0 auto;}
.intro .inner .col1 .col-in {max-width: 600px; width: 100%; margin: 0 auto;}
.intro .inner .col1 .col-in figure {margin: 0 auto 20px; background: #fff; padding: 20px; text-align: center;}
.intro .inner .col1 .col-in figure img {display: block; max-width: 450px; width: 100%; margin: 0 auto;}
.intro .inner .col1 .col-in ul {margin-bottom: 30px;}
.intro .inner .col1 .col-in ul li {width: 32%; line-height: 2;}
.intro .inner .col2 .col-in {position: relative;}
.intro .inner .col2 .col-in > figure {position: absolute; bottom: -10%; right: 0; width: 19%;}
.intro .inner .col2 .col-in ul li {margin-bottom: 15px; position: relative;}
.intro .inner .col2 .col-in ul li figure {position: absolute; top: 0; right: 0;}
.intro .inner .col2 .col-in ul li .img1 {width: 22%;}
.intro .inner .col2 .col-in ul li .img2 {width: 18%; top: -10%;}
.intro .inner .col2 .col-in ul li .img3 {width: 15%; top: -74%;}
.intro .inner .col2 .col-in ul li .img4 {width: 12%; right: 1%;}



.partners {padding: 120px 40px 40px;}
.partners .inner {padding-top: 106px; height: 100%; border-radius: 40px; background: #f0f0f0; padding: 20px 70px; box-shadow: 0px 0px 25px 0px rgba(156,156,156,1); -webkit-box-shadow: 0px 0px 25px 0px rgba(156,156,156,1); -moz-box-shadow: 0px 0px 25px 0px rgba(156,156,156,1);}
.partners .inner .titH2 {font-size: 3rem;}
.partners .inner .col {width: 49%;}
.partners .inner .col .common-txt  {font-size: 1.4rem;}
.partners .inner .col > ul > li {margin-bottom: 20px;}
.partners .inner .col > ul > li h3 {font-size: 1.6rem; font-weight: bold;}
.partners .inner .col > ul > li > ul > li {width: 32%;}
.partners .inner .col > ul > li p {line-height: 1.7;}
.partners .inner .col > ul > li .cap {text-align: right; font-size: 1.2rem;}








/* MEDIA */
@media only screen and (max-width: 1800px) {
	.home .txt h2 {font-size: 6rem;}

	.business .inner .inner-txt {margin-left: 55%;}

	.development .inner .inner-txt {margin-left: 5%;}

	.web .inner .inner-txt {margin-left: 55%;}	
}


@media only screen and (max-width: 1600px){

	.business .inner {background-position: center left -40%;}
	.business .inner .inner-txt {margin-left: 50%;}

	.development .inner {background-position: center right -80%;}
	.development .inner .inner-txt {margin-left: 5%;}

	.web .inner {background-position: center left -50%;}
	.web .inner .inner-txt {margin-left: 50%;}

	
	.corporate .inner > h2 {top: 36%; left: 8%; font-size: 2.8vw;}
	.corporate .inner .inner-txt {margin-left: 50%; max-width: 530px; font-size: 12px;}
	.corporate .inner .inner-txt p br {display: none;}

	.map .titH2 {font-size: 2rem !important;}
	.map .inner .row .row-box {padding: 10px 20px;}	
	.map .inner .row .row-box h3 {font-size: 1.8rem; margin: 10px 0 5px 0;}
	.map .inner .row .row-box table {line-height: 1.6; margin-bottom: 0;}
	.map .inner .row .row-box table tr td:nth-of-type(1) {width: 120px; padding-left: 0;}
	.map .inner .row .row-box table tr td:nth-of-type(2) {width: calc(100% - 120px);}
	.map .inner .row .row-box-2 table tr td:nth-of-type(1) {width: 155px;}
	.map .inner .row .row-box-2 table tr td:nth-of-type(2) {width: calc(100% - 155px);}
	.map .inner .row .row-box-2 table tr td:nth-of-type(2) br {display: none;}	
	.map .inner .row .row-box-2 table:nth-of-type(2) td:nth-of-type(1) {width: 50%;}
	.map .inner .row .row-box-2 table:nth-of-type(2) td:nth-of-type(2) {width: 50%;}
	.map .inner .map-embed {margin-top: 20px;}
	.map .inner .map-embed iframe {height: 200px;}

	
	.intro .inner h3 {font-size: 2rem;}
	.intro .inner .common-txt {font-size: 1.2rem;}
	.intro .inner .col1 .col-in figure img {width: 45%;}
	.intro .inner .col2 .col-in ul li {margin-bottom: 5px;}

	.partners .inner {padding: 30px 20px;}
	.partners .inner .col > ul > li .cap {font-size: 1rem;}

}

@media only screen and (max-width: 1440px){

	.titH2 {margin-bottom: 10px; padding-bottom: 10px;}

	.intro .inner .common-txt {font-size: 1rem;}
	
	.corporate .inner .inner-txt p {margin-bottom: 10px;}

	.partners .inner .col .common-txt {font-size: 1rem !important;}
	.partners .inner .col > ul > li {margin-bottom: 5px;}
	.partners .inner .col > ul > li h3 {font-size: 12px;}

	.intro .inner .col2 .col-in > figure {bottom: -20%;}
}


@media only screen and (max-width: 1300px){
	.map .inner .row .row-box {padding: 10px;}	
	.map .inner .row .row-box h3 {font-size: 1.5rem; margin: 10px 0 5px 0;}
	.map .inner .row .row-box-2 table tr td:nth-of-type(1) {width: 130px;}
	.map .inner .row .col:nth-of-type(1) .row-box {height: calc(100% - 180px);}
	.map .inner .map-embed iframe {height: 150px;}	
	.intro .inner .row h3 {font-size: 1.5rem;}
}



@media only screen and (max-width: 1120px){

	


	.home .txt h2 {font-size: 2.4rem;}
	.home .txt p {font-size: 1.4rem;}
	.home .news .news-tit h3 {font-size: 1.4rem;}
	.home .news .common-txt { font-size: 1rem; }

	.group-txt h2 {font-size: 2rem;}

	.business .inner .inner-txt h2 {font-size: 2rem;}
	
	.development .inner {background-position: center right -230%;}


	
	.corporate .inner {background-position: center left;}
	.corporate .inner > h2 {top: 50%; font-size: 2rem;}
	.corporate .inner .inner-txt h2 {font-size: 2rem;}

	.map {padding: 80px 40px 40px;}
	.map .titH2 {font-size: 1.4rem !important;}

	.intro {padding: 80px 40px 40px;}
	.intro .inner h3 {font-size: 1.2rem;}
	.intro .inner .col {padding: 10px;}
	.intro .inner .col2 .col-in > figure {width: 15%; bottom: 0}

	.partners {padding: 80px 40px 40px;}
	.partners .inner {padding: 10px 20px;}
}



@media only screen and (max-width:1079px){	
	
	.group-txt h2 {font-size: 5vw;}
	.group-txt .btn-blue {display: block; width: 80%; max-width: unset; margin: 0 auto;}


	.home {padding-top: 40%;}
	.home h1 {display: none;}
	.home .txt {margin: 0 auto 100px; width: 100%; padding: 0 20px;}
	.home .txt h2 {font-size: 5vw; padding-left: 10px; text-align: center; padding: 0 0 20px 0;}
	.home .txt p {font-size: 3vw; text-align: center; padding: 0;}
	.home .news {width: 100%; margin: 0 auto; position: relative; padding: 20px; border-radius: 0 !important; box-shadow: none; background: none;}	
	.home .news .news-tit {width: 100%; margin-bottom: 20px;}
	.home .news .news-tit h3 {font-size: 4vw; text-align: center;}
	.home .news .news-list {width: 100%;}
	.home .news .news-list ul li .date {width: 100%;}
	.home .news .news-list ul li .news-txt {width: 100%;}
	.home .news .news-list .btnMore {padding: 0; text-align: center;}
	.home .active .btnClose {right: 20px; top: 20px; width: 25px; height: 25px;}


	.business {padding-top: 60px;}
	.business .inner {background: none;}
	.business .inner .inner-txt {width: 100%; margin: 0 auto 20px; padding: 0 20px;}
	.business .inner .inner-txt h2 {font-size: 5vw; padding: 0 0 20px;}
	.business .inner .inner-txt ol {padding-left: 0;}
	.business .inner .inner-txt ol li ul {padding-left: 7vw;}


	.development {padding-top: 60px;}
	.development .inner {background: none;}
	.development .inner .inner-txt {margin: 0 auto 40px; padding: 0 20px; width: 100%; max-width: 100%;}
	.home .active {height:300px;}
	.home .active .news-list {overflow-y: scroll;}

	.web {padding-top: 60px;}
	.web .inner {background: none;}
	.web .inner .inner-txt {width: 100%; margin: 0 auto 20px; padding: 0 20px;}


	.corporate {padding-top: 60px;}
	.corporate .img-top {position: relative;}
	.corporate .img-top figcaption {color: #fff; font-size: 5vw; font-weight: bold; position: absolute; top: 45%; left: 0; width: 100%; text-align: center; }
	.corporate .inner {background: none;}
	.corporate .inner .inner-txt {width: 100%; margin: 0 auto 20px; padding: 0 20px; max-width: unset;}
	.corporate .inner .inner-txt h2 {padding: 0 0 20px; font-size: 5vw;}
	.corporate .inner .inner-txt p {line-height: 1.7;}
	.corporate .inner .inner-txt p br {display: none;}	


	.map {padding: 40px 20px 20px;}
	.map .titH2 {font-size: 5vw !important;}
	.map .common-txt {font-size: 3vw !important;}
	.map .inner {background: none; padding-top: 0; margin: 0 auto;}
	.map .inner .inner-txt {width: 100%; margin: 0 auto 20px; padding: 0 20px;}
	.map .inner .row .col {width: 100%; height: auto; margin-bottom: 40px;}
	.map .inner .row .row-box {width: 100%; margin-bottom: 40px;}
	.map .inner .row .row-box table tr td {display: block; width: 100% !important; padding: 5px 10px !important;}
	.map .inner .row .row-box table tr td:nth-of-type(1) {background: #e8e8e8;}	
	.map .inner .map-embed {margin-top: 0; border-radius: 20px;}
	.map .inner .map-embed iframe {height: 350px;}	

	.intro {padding: 0 20px 20px;}
	.intro .inner {margin: 0 auto; padding: 0;}
	.intro .inner h3 {font-size: 4vw;}
	.intro .inner .col {width: 100%; margin-bottom: 40px;}
	.intro .inner .col .col-in  {width: 100%;}
	.intro .inner .col1 .col-in figure {width: 100%; padding: 5px;}
	.intro .inner .col1 .col-in ul {margin-bottom: 20px;}
	.intro .inner .col1 .col-in ul li {width: 45%;}
	.intro .inner .col1 .col-in ul li:nth-child(2n) {width: 53%;}
	.intro .inner .col2 .col-in ul li figure {position: static; width: 100% !important; text-align: center; margin-top: 20px;}

	.partners {padding: 60px 20px 20px;}
	.partners .inner {margin: 0 auto; padding: 30px 20px;}	
	.partners .inner .col1 {width: 100%;}
	.partners .inner .col2 {width: 100%;}
	.partners .inner .col > ul > li {margin-bottom: 20px;}
	.partners .inner .col > ul > li h3 {font-size: 3.5vw;}
	.partners .inner .col > ul > li > ul > li {width: 100%;}
	.partners .inner .col > ul > li > ul > li p {line-height: 1.7;}
	.partners .inner .col > ul > li .cap {font-size: 2.5vw;}
}



@media only screen and (max-width:767px){
	.group-txt ul {margin-bottom: 20px;}

}