@charset "utf-8";

@media (max-width: 1800px) {
	/* footer */
	.scroll-top {right:30px; bottom:90px;}

	/* s6-1 */
	.inquiry figure {max-width: 620px;}
	.inquiry .text-box {padding: 15px 73px 0 60px;}
}

@media (max-width: 1400px) {
	/* header */
	#gnb>ul>li {width: 140px;} 

	/* footer */
	.footer-logo {max-width: 240px;}

	/* s2-1 */
	.invest-area .arti03 .items .title-pc {width: 250px;}

	/* s4-1 */
	.member-list .box-wrap {margin: -20px -15px;}
	.member-list .box {padding: 20px 15px;}
	.member-list .box .inner {padding: 46px 30px 42px;}
	.member-list .box .top .icon:before {top: 5px;}
	.member-list .box .top .icon:after {top: -2px;}

	/* s6-1 */
	.inquiry figure {max-width: 600px;}
	.inquiry .text-box {padding: 15px 30px 0 40px;}
	.inquiry .text-box h3 {font-size: 35px;}
}

@media (max-width: 1200px) {
	/* header */
	#gnb {margin-left: 70px;}
	#gnb>ul>li {width: 110px;} 

	/* main */
	.sec01 .item:nth-child(odd) .text-box {padding-left: 60px;}
	.sec01 .item:nth-child(even) .text-box {padding-right: 80px;}

	/* footer */
	#footer .wrap {flex-wrap: wrap;}
	.footer-policy {max-width: 100%; margin-top: 20px;}

	/* s1-2 */
	.principle .item:nth-child(odd) .text {padding-left: 40px; padding-right: 20px;}
	.principle .item:nth-child(even) .text {padding-right: 70px;}

	/* s2-1 */
	.invest-area .arti03 .items .title-pc {width: 190px;}
	.invest-area .arti03 .item:nth-child(odd) {padding-right: 40px;}
	.invest-area .arti03 .item:nth-child(even) {padding-left: 30px;}
	.invest-area .arti03 .item .text-box ul li br {display: none;}

	/* s4-1 */
	.member-list .box {width: 33.3333%;}

	/* s6-1 */
	.inquiry figure {max-width: 520px;}
	.inquiry .text-box {padding: 5px 0 0 30px;}
	.inquiry .text-box h3 {font-size: 30px;}
}

@media (max-width: 1024px) {
	/* header */
	#header {height:80px;}
	#header.hide {transform:translateY(0);}
	#header .sitelogo a {background-size: 130px auto;}
	
	#gnb {display:none;}

	/* main */
	.main-visual .item .text-box h2 {font-size: 55px; margin-bottom: 25px;}
	.main-visual .item .text-box p {font-size: 22px; margin-bottom: 65px;}
	.main-visual .controler button {width: 50px; height: 50px;}

	.main-visual .scroll-down {bottom: 60px;}

	/* section01 */
	.sec01 {padding: 80px 0 100px;}
	.sec01 .item {margin-bottom: 100px;}
	.sec01 .item:nth-child(odd) .text-box {padding-left: 40px; padding-right: 0;}
	.sec01 .item:nth-child(even) .text-box {padding-right: 40px;}
	.sec01 .item .text-box b {font-size: 20px; margin-bottom: 15px;}
	.sec01 .item .text-box h3 {font-size: 48px; margin-bottom: 25px;}
	.sec01 .item .text-box p {font-size: 18px; margin-bottom: 45px;}
	.sec01 .item .text-box a {width: 180px; font-size: 16px; line-height: 55px; padding: 0 20px;}
	.sec01 .item .text-box a:after {right: 25px;}
	.sec01 .item .text-box a:hover:after {right: 20px;}

	/* section02 */
	.sec02 .item a {height: 380px; padding: 0 20px;} 
	.sec02 .item .text-box h3 {font-size: 44px; margin-bottom: 15px;}
	.sec02 .item .text-box p {font-size: 18px;}
	
	/* footer */
	#footer {padding:60px 0;}
	.footer-logo {max-width: 180px;}
	.footer-logo img {width: 130px;}
	.footer-info {width: 1%; flex: 1 1 auto;}
	.footer-info p {font-size: 16px;}
	.footer-info ul {margin: 0 -8px;}
	.footer-info li {padding: 0 8px; font-size: 16px;}
	.footer-policy ul {margin: 0 -12px;} 
	.footer-policy ul li {padding: 0 12px;}
	.footer-policy ul li a {font-size: 16px;}

	/* sub */
	.sub-visual-wrap {margin: 80px auto 0;}
	.sub-visual {height:280px;}
	.sub-visual h2 {font-size: 45px; margin-top: 15px; margin-bottom: 20px;}
	.sub-visual p {font-size: 22px;}

	#lnb {height: 55px;}
	#lnb > div {padding: 0 20px;}
	#lnb .depth {max-width: 200px;}
	#lnb .depth button {font-size: 16px; line-height: 55px;}
	#lnb .depth ul {top: 54px; padding: 20px 20px 18px;}
	#lnb .depth ul li:not(:last-child) {margin-bottom: 16px;}
	#lnb .depth ul li a {font-size: 16px;}
	#lnb .depth ul li a:after {left: 150px;}

	.sub-cont {padding:80px 0 100px;}
	.page-title {padding-bottom: 70px; margin-bottom: 30px;}
	.page-title:after {height: 40px;}
	.page-title h3 {font-size: 40px; margin-bottom: 20px;}
	.page-title p {font-size: 18px;}

	/* s1-1 */
	.company .arti01 ul {margin: 0 -15px;}
	.company .arti01 ul li {flex: 1; padding: 0 15px;}
	.company .arti01 ul li figure {margin-bottom: 20px;}
	.company .arti01 ul li b {font-size: 26px; margin-bottom: 10px;}
	.company .arti01 ul li p {font-size: 18px; margin-bottom: 40px;}
	.company .arti02 .footnote {font-size: 16px; padding: 25px 40px; margin-top: 30px;} 
	.company .arti02 .footnote b {margin-right: 4px;}

	/* s1-2 */
	.principle .item:not(:last-child) {margin-bottom: 100px;}
	.principle .item:nth-child(odd) .text {padding-left: 40px; padding-right: 0;}
	.principle .item:nth-child(even) .text {padding-right: 30px;}
	.principle .item .text b {font-size: 36px; margin-bottom: 20px;}
	.principle .item .text p {font-size: 18px;}
	.principle .item .text p:not(:last-child) {margin-bottom: 25px;}

	/* s1-3 */
	.location .map {margin-bottom: 20px;}
	.location .map iframe {height:350px;}
	.location .info-wrap {display: block;}
	.location .info dl {font-size: 18px; margin-bottom: 6px;}
	.location .info dt {max-width: 55px;}
	.location .btn-wrap {justify-content: flex-end; margin-top: 20px;}
	.location .btn-wrap a {width: 150px; height: 55px; font-size: 16px; line-height: 55px; padding: 0 20px;} 
	.location .btn-wrap a:after {right: 20px;}
	.location .btn-wrap a:hover:after {right: 15px;}

	/* s2-1 */
	article:not(:last-child) {margin-bottom: 80px;}
	article h4 {font-size: 32px; margin-bottom: 15px;}
	article h4.mb-47 {margin-bottom: 40px;}
	article p {font-size: 18px; margin-bottom: 25px;}
	article p:not(:last-child) {margin-bottom: 25px;}
	article .img-box {height: 300px; margin-top: 40px;}

	.invest-area .arti03 .items .title-mob {display: block;}
	.invest-area .arti03 .items .title-pc {display: none;}
	.invest-area .arti03 .item {display: flex; width: 50%; min-height: auto;}
	.invest-area .arti03 .item:nth-child(1),
	.invest-area .arti03 .item:nth-child(2) {padding: 25px 0 30px;}
	.invest-area .arti03 .item:nth-child(3),
	.invest-area .arti03 .item:nth-child(4) { padding: 30px 0 25px;}
	.invest-area .arti03 .item:nth-child(odd) {padding-right: 20px;}
	.invest-area .arti03 .item:nth-child(even) {padding-left: 20px;}
	.invest-area .arti03 .item .icon {max-width: 110px; height: 110px; background-size: 90px auto;}
	.invest-area .arti03 .item:nth-child(odd) .icon {padding-right: 20px;}
	.invest-area .arti03 .item:nth-child(even) .icon {padding-left: 20px;}
	.invest-area .arti03 .item .text-box {width: 1%; flex: 1 1 auto;}
	.invest-area .arti03 .item .text-box h6 {font-size: 24px; margin-bottom: 11px;}
	.invest-area .arti03 .item .text-box ul li {font-size: 16px;}
	.invest-area .arti03 .item:nth-child(odd) .text-box ul li {padding-left: 11px;}
	.invest-area .arti03 .item:nth-child(odd) .text-box ul li:before {top: 11px;}

	/* s3-1 */
	.moral .item {padding: 30px 20px 30px 0;}
	.moral .item .icon {max-width: 130px; height: 100px; background-size: 100px auto;}
	.moral .item .text b {font-size: 26px; margin-bottom: 10px;}
	.moral .item .text p {font-size: 18px;}
	.moral .item table col:nth-child(1) {width: 23%;}
	.moral .item table thead th {font-size: 18px; padding: 10px 0;} 
	.moral .item table tbody th {font-size: 18px; padding: 15px 20px;}
	.moral .item table tbody td {padding: 15px 20px;}
	.moral .item table tbody td li {font-size: 18px; padding-left: 12px;}
	.moral .item table tbody td li:before {top: 13px;}

	/* s4-1 */
	.member-list .box-wrap {margin: -15px -10px;}
	.member-list .box {width: 33.333%; padding: 15px 10px;}
	.member-list .box .inner {min-height: 290px; padding: 35px 25px;}
	.member-list .box .top {padding-bottom: 15px;}
	.member-list .box .top .name {margin-bottom: 4px;}
	.member-list .box .top .name h4 {font-size: 28px; margin-right: 15px;}
	.member-list .box .top .name p {font-size: 20px;}
	.member-list .box .top .job {font-size: 18px;}
	.member-list .box .top .icon {position: absolute; top: 14px; right: 0; width: 16px; height: 16px;}
	.member-list .box .top .icon:before {top: 2px;}
	.member-list .box .top .icon:after {top: -5px;}

	.member-list .box .bottom .eng {margin-top: 15px;}
	.member-list .box .bottom .eng p {font-size: 16px;}
	.member-list .box .bottom .career {margin-top: -25px;}
	.member-list .box .bottom .career h5 {font-size: 16px; margin-bottom: 6px;}
	.member-list .box .bottom .career ul:not(:last-child) {margin-bottom: 11px;}
	.member-list .box .bottom .career li {font-size: 16px; padding-left: 8px;}
	.member-list .box .bottom .career li:before {top: 12px;}

	/* s6-1 */
	.inquiry figure {max-width: 520px;}
	.inquiry .text-box {padding: 5px 0 0 30px;}
	.inquiry .text-box h3 {font-size: 30px;}

	/* s6-1 */
	.inquiry figure {max-width: 380px;}
	.inquiry .text-box {width: 1%; flex: 1 1 auto; padding: 0 0 0 30px; margin-top: -10px;}
	.inquiry .text-box h3 {font-size: 26px; margin-bottom: 20px;}
	.inquiry .text-box h3 br {display: none;}
	.inquiry .text-box a {font-size: 26px; padding: 15px 60px; margin-bottom: 20px;}
	.inquiry .text-box a:before {margin-top: -9px; left: 20px;}
	.inquiry .text-box ul li {font-size: 18px; padding-left: 14px;}
	.inquiry .text-box ul li:before {top: -1px; font-size: 18px;}
	.inquiry .text-box ul li br {display: none;}
}

@media (max-width: 768px) {
	/* header */
	#header {height:60px;}
	#header .sitelogo a {background-size: 100px auto;}

	/* main */
	.main-visual .thumb {margin-top: 25px;}
	.main-visual .item .text-box h2 {font-size: 45px; margin-bottom: 20px;}
	.main-visual .item .text-box p {font-size: 18px; margin-bottom: 60px;}
	.main-visual .controler button {width: 45px; height: 45px;}
	.main-visual .paging ul {margin: 0 -14px;}
	.main-visual .paging ul li {padding: 0 14px;}

	/* section01 */
	.sec01 {padding: 80px 0;}
	.sec01 .item {display: block; margin-bottom: 60px;}
	.sec01 .item > div {width: 100%;}
	.sec01 .item .img-box {margin-bottom: 25px;}
	.sec01 .item:nth-child(odd) .text-box {padding-left: 10px; padding-right: 0;}
	.sec01 .item:nth-child(even) .text-box {padding-right: 0; padding-left: 10px;}
	.sec01 .item .text-box b {font-size: 18px; margin-bottom: 10px;}
	.sec01 .item .text-box h3 {font-size: 36px; margin-bottom: 20px;}
	.sec01 .item .text-box p {font-size: 16px; margin-bottom: 35px;}
	.sec01 .item .text-box a {width: 160px; font-size: 15px; line-height: 50px; padding: 0 15px;}
	.sec01 .item .text-box a:after {right: 15px;}
	.sec01 .item .text-box a:hover:after {right: 10px;}

	/* section02 */
	.sec02 .items {flex-wrap: wrap;}
	.sec02 .item {width: 100%;}
	.sec02 .item a {height: 280px; padding: 0 20px;} 
	.sec02 .item .text-box h3 {font-size: 32px; margin-bottom: 15px;}
	.sec02 .item .text-box p {font-size: 16px;}

	/* footer */
	#footer {padding:40px 0;}
	#footer .wrap {justify-content: center; text-align: center;}
	.footer-logo {max-width: 100%; margin-bottom: 15px;}
	.footer-logo img {width: 100px;}
	.footer-info {width: 100%; flex: auto;}
	.footer-info p {font-size: 15px;}
	.footer-info ul {display: block;}
	.footer-info li {font-size: 15px;}
	.footer-info li:after {display: none;}
	.footer-policy ul {justify-content: center;} 
	.footer-policy ul li a {font-size: 16px;}

	/* sub */
	.sub-visual-wrap {margin: 60px auto 0;}
	.sub-visual {height:240px;}
	.sub-visual h2 {font-size: 38px; margin-top: 15px; margin-bottom: 15px;}
	.sub-visual p {font-size: 18px;}

	#lnb {height: 50px;}
	#lnb > div {padding: 0 20px;}
	#lnb .depth {max-width: 185px;}
	#lnb .depth button {font-size: 15px; line-height: 50px;}
	#lnb .depth ul {top: 49px; padding: 20px 20px 18px;}
	#lnb .depth ul li:not(:last-child) {margin-bottom: 12px;}
	#lnb .depth ul li a {font-size: 15px;}
	#lnb .depth ul li a:after {left: 136px;}

	.sub-cont {padding:60px 0 80px;}
	.page-title {padding-bottom: 60px; margin-bottom: 25px;}
	.page-title:after {height: 40px;}
	.page-title h3 {font-size: 34px; margin-bottom: 15px;}
	.page-title p {font-size: 16px;}

	/* s1-1 */
	.company .arti01 ul {flex-wrap: wrap; margin: 0;}
	.company .arti01 ul li {width: 100%; flex: auto; padding: 0;}
	.company .arti01 ul li figure {margin-bottom: 20px; text-align: center;}
	.company .arti01 ul li .text-box {padding: 0 5px;}
	.company .arti01 ul li b {font-size: 22px; margin-bottom: 8px;}
	.company .arti01 ul li p {font-size: 16px; margin-bottom: 30px;}
	.company .arti02 .footnote {font-size: 15px; padding: 25px 20px; margin-top: 20px;} 
	.company .arti02 .footnote b {margin-right: 4px;}
	
	/* s1-2 */
	.principle .item {flex-wrap: wrap; justify-content: center;}
	.principle .item:nth-child(even) {flex-direction: row-reverse;}
	.principle .item:not(:last-child) {margin-bottom: 30px;}
	.principle .item > div {width: 100%;}
	.principle .item figure {margin-bottom: 25px;}
	.principle .item:nth-child(odd) .text {padding: 0 5px;}
	.principle .item:nth-child(even) .text {padding: 0 5px;}
	.principle .item .text b {font-size: 26px; margin-bottom: 15px;}
	.principle .item .text p {font-size: 16px;}
	.principle .item .text p:not(:last-child) {margin-bottom: 15px;}
	.principle .item .text p br {display: none;}

	/* s1-3 */
	.location .map {margin-bottom: 15px;}
	.location .map iframe {height:280px;}
	.location .info-wrap {display: block;}
	.location .info dl {font-size: 16px;}
	.location .info dt {max-width: 45px;}
	.location .info dd {white-space: normal;}
	.location .btn-wrap {margin-top: 20px;}
	.location .btn-wrap a {width: 130px; height: 50px; font-size: 15px; line-height: 50px; padding: 0 15px;} 
	.location .btn-wrap a:after {right: 15px;}
	.location .btn-wrap a:hover:after {right: 10px;}

	/* s2-1 */
	article:not(:last-child) {margin-bottom: 60px;}
	article h4 {font-size: 24px; margin-bottom: 10px;}
	article h4.mb-47 {margin-bottom: 35px;}
	article p {font-size: 16px; margin-bottom: 20px;}
	article p:not(:last-child) {margin-bottom: 20px;}
	article .img-box {height: 250px; margin-top: 30px;}
	
	.invest-area .arti03 .items .title-mob {font-size: 26px;  margin: 40px 0 5px;}
	.invest-area .arti03 .items .wrap:before {display: none;}
	.invest-area .arti03 .item {flex-wrap: wrap; width: 100%;}
	.invest-area .arti03 .item:nth-child(1),
	.invest-area .arti03 .item:nth-child(2) {padding: 25px 0;}
	.invest-area .arti03 .item:nth-child(3),
	.invest-area .arti03 .item:nth-child(4) { padding: 25px 0;}
	.invest-area .arti03 .item:nth-child(3) {border-bottom: 1px solid #ddd;}
	.invest-area .arti03 .item:nth-child(even) {flex-direction: row; text-align: left;}
	.invest-area .arti03 .item .icon {max-width: 100px; height: 100px; background-size: 80px auto;}
	.invest-area .arti03 .item:nth-child(odd) .icon {padding-right: 20px;}
	.invest-area .arti03 .item:nth-child(even) .icon {padding-left: 0; padding-right: 20px; background-position: left center;}
	.invest-area .arti03 .item .text-box {width: 1%; flex: 1 1 auto;} 
	.invest-area .arti03 .item .text-box h6 {font-size: 20px; margin-bottom: 8px;}
	.invest-area .arti03 .item .text-box ul li {font-size: 16px;}
	.invest-area .arti03 .item:nth-child(odd) .text-box ul li {padding-left: 8px;}
	.invest-area .arti03 .item:nth-child(odd) .text-box ul li:before {top: 11px;}
	.invest-area .arti03 .item:nth-child(even) .text-box ul li {padding-left: 8px;}
	.invest-area .arti03 .item:nth-child(even) .text-box ul li span {position: absolute; top: 11px; left: 0; margin-right: 0; margin-bottom: 0;}

	/* s3-1 */
	.moral .item {display: block; padding: 25px 0; text-align: center;}
	.moral .item .icon {max-width: 80px; height: 80px; background-size: 80px auto; margin: 0 auto 15px;}
	.moral .item .text {width: 100%; flex: auto;}
	.moral .item .text b {font-size: 22px; margin-bottom: 10px;}
	.moral .item .text p {font-size: 16px;}
	.moral .item table thead th {font-size: 16px; padding: 10px 0;} 
	.moral .item table tbody th {font-size: 16px; padding: 10px 20px;}
	.moral .item table tbody td {padding: 10px 20px; text-align: left;}
	.moral .item table tbody td li {font-size: 16px; padding-left: 12px;}
	.moral .item table tbody td li:before {top: 11px;}

	/* s4-1 */
	.member-list .box-wrap {margin: -10px -5px;}
	.member-list .box {width: 50%; padding: 10px 5px;}
	.member-list .box .inner {min-height: 280px; padding: 30px 20px;}
	.member-list .box .top {padding-bottom: 12px;}
	.member-list .box .top .name {margin-bottom: 4px;}
	.member-list .box .top .name h4 {font-size: 24px; margin-right: 15px;}
	.member-list .box .top .name p {font-size: 18px;}
	.member-list .box .top .job {font-size: 16px;}
	.member-list .box .top .icon:before {top: 2px;}
	.member-list .box .top .icon:after {top: -5px;}

	.member-list .box .bottom .eng {margin-top: 12px;}
	.member-list .box .bottom .eng p {font-size: 15px;}
	.member-list .box .bottom .career {margin-top: -25px;}
	.member-list .box .bottom .career h5 {font-size: 15px; margin-bottom: 4px;}
	.member-list .box .bottom .career ul:not(:last-child) {margin-bottom: 11px;}
	.member-list .box .bottom .career li {font-size: 15px;}
	.member-list .box .bottom .career li:before {top: 11px;}
	
	.member-list .box .profile {height: 300px; background-position: 50% 0%;}

	/* s6-1 */
	.inquiry .wrap {display: block; max-width: 680px; width: 100%; margin: 0 auto;}
	.inquiry figure {max-width: none;}
	.inquiry .text-box {width: 100%; flex: auto; padding: 0 5px; margin-top: 20px;}
	.inquiry .text-box h3 {font-size: 22px; margin-bottom: 15px;}
	.inquiry .text-box a {font-size: 22px; padding: 15px 30px; margin-bottom: 20px;}
	.inquiry .text-box a:before {left: 20px;}
	.inquiry .text-box ul li {font-size: 16px; padding-left: 12px;}
	.inquiry .text-box ul li:before {top: 0; font-size: 16px;}
	
	.inquiry .text-box a > br.mo {display: block;}
}

@media (max-width: 480px) {
	/* main */
	.main-visual .item .text-box h2 {font-size: 40px;}
	.main-visual .item .text-box p br {display: none;}

	/* section02 */
	.sec02 .item a {height: 260px;}

	/* sub */
	#lnb > div {padding: 0 15px;}
	#lnb .home {padding-left: 15px;}
	#lnb .depth {max-width: calc((100% - 46px)/2);}
	#lnb .depth button {font-size: 15px; line-height: 50px;}
	#lnb .depth ul {top: 49px; padding: 20px 15px 18px;}
	#lnb .depth ul li:not(:last-child) {margin-bottom: 12px;}
	#lnb .depth ul li a {font-size: 15px;}
	#lnb .depth ul li a:after {left: auto; right: 0;}

	.sub_3 #lnb .depth,
	.sub_4 #lnb .depth, 
	.sub_5 #lnb .depth, 
	.sub_6 #lnb .depth {max-width: calc(100% - 46px);}
	.sub_3 #lnb > .depth01:after,
	.sub_4 #lnb > .depth01:after,
	.sub_5 #lnb > .depth01:after,
	.sub_6 #lnb > .depth01:after {display: none;}
	#lnb > .depth02:after {display: none;}

	.sub_3 #lnb .depth01 ul,
	.sub_4 #lnb .depth01 ul,
	.sub_5 #lnb .depth01 ul, 
	.sub_6 #lnb .depth01 ul {width: calc(100% + 1px);}

	/* s1-3 */
	.location .btn-wrap {margin-top: 25px;}
	.location .btn-wrap a {width: 50%;} 

	/* s4-1 */
	.member-list .box {width: 100%;}
	.member-list .box .inner {min-height: 230px;}
	.member-list .box .profile {height: 350px;}

}