@charset "UTF-8";

.fv_wrap {
	background: linear-gradient(#FFFFFF 14%, #FFFFFF 14%, #00aecb 5%, #00aecb);
	text-align:center;
}
.fv-container {
	position:relative;
}
.fv_wrap .swiper-pagination {
}
.fv_wrap .swiper-pagination-bullet {
	background-color:#FFFFFF;
	opacity:1;
}
.fv_wrap .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color:#0196af;
}
.fv_inner {
	height:750px;
	position:relative;
}
.fv_inner::before {
	content:'';
	display:block;
	width:calc(100% - 240px);
	height:100%;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
.fv_inner.slide1::before {
	background-image:url(../img/top/mainimg1.jpg);
}
.fv_inner.slide2::before {
	background-image:url(../img/top/mainimg2.jpg);
}
.fv_inner.slide3::before {
	background-image:url(../img/top/mainimg3.jpg);
}
.fv_inner h1 {
    position:absolute;
    bottom:60px;
    right: 240px;
    transform:translateX(50%);
    background:#FFFFFF;
    box-sizing:border-box;
    padding:50px 60px;
    padding:40px 30px 20px;
}
.fv_inner h1 img {
	width:170px;
}
.fv_inner h1 span {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;    
    text-align: left;
    margin: 0 auto;
    display: block;
    display:none;
}
.fv_inner h1 .fv_cpy1 {
    font-size:5.0rem;
    display:block;
    letter-spacing:.1em;
    line-height:1;
    width: 2em; 
	height:8em;
    display:none;
}
.fv_inner h1 .fv_cpy2 {
    font-size:3.0rem;
    display:block;
    font-weight:500;
    box-sizing:border-box;
    padding-top:.2em;
    line-height:1;
    margin-right:.3em;
    display:none;
}

/**NEWS**/
.news_wrap {
	width:calc(100% - 60px);
	max-width:1300px;
	box-sizing:border-box;
	padding:30px 0;
}
.news_wrap h2 {
	font-size:3.0rem;
	line-height:1;
	color:#FFFFFF;
	font-weight:500;
	letter-spacing:.1em;
	box-sizing:border-box;
	padding-right:1em;
	margin-right:1em;
	border-right:1px solid #0196af;
}
.news_wrap dl {
    font-size:1.6rem;
    margin-right:auto;
    text-align:left;
}
.news_wrap dd {
	color:#FFFFFF;
	width:6em;
	line-height:1.3;
}
.news_wrap dt a {
	color:#FFFFFF;
	line-height:1.3;
}
.news_wrap > a {
	font-size:1.3rem;
	color:#FFFFFF;
	box-sizing:border-box;
	padding-bottom:.8em;
	padding-right:2.5em;
	position:relative;
	transition:.3s;
}
.news_wrap > a::before {
	content:'';
	display:block;
	width:100%;
	height:1px;
	background:#FFFFFF;
	position:absolute;
	right:0;
	bottom:0;
	transition:.3s;
}
.news_wrap > a::after {
	content:'';
	display:block;
	width:1em;
	height:1px;
	background:#FFFFFF;
	position:absolute;
	right:0;
	bottom:0;
	transform-origin:bottom right;
	transform:rotate(45deg);
	transition:.3s;
}
.news_wrap > a:hover {
	opacity:.75;
}
.news_wrap > a:hover::before {
	transform:translateX(5px);
}
.news_wrap > a:hover::after {
	transform:rotate(30deg) translate(3px,-3px);
}


.contents h2 {
    font-size:5.4rem;
    font-weight:500;
    letter-spacing:.1em;
    line-height:1;
}


/**use**/
#use .wrap {
	padding:75px 0 150px;
}
#use .contents {
	text-align:center;
}
#use .contents h2 {
	margin-bottom:1em;
}
.use_wrap {
    max-width:1200px;
}
.use_wrap a {
	width:calc(100%/3);
	background-color:#1c4388;
	box-sizing:border-box;
	padding:65px 0;
	transition:.3s;
}
.use_wrap a:hover {
	background-color:#163469;
	background-color:#4472c3;
}
.use_wrap a:nth-child(even):hover {
	background-color:#1c4388;
	background-color:#4472c3;
}
.use_wrap a:nth-child(even) {
	background-color:#163469;
}
.use_wrap a img {
	width:84px;
	margin-bottom:15px;
	transition:.3s;
}
.use_wrap a:hover img {
	transform:scale(1.2);
}
.use_wrap a .use_txt {
	width:100%;
	color:#FFFFFF;
	font-size:2.4rem;
	line-height:1.3;
}
.use_wrap a .use_txt span {
	font-size:3.6rem;
}


/**case**/
#case .wrap {
	padding-top: 450px;
	padding-bottom:80px;
}
#case .wrap::before {
	content:'';
	display:block;
	width:calc(100% - (50% - 650px));
	height: 400px;
	position:absolute;
	top:0;
	left:0;
	background:url(../img/top/img_case.jpg) no-repeat center center;
	background-size:contain;
	z-index:2;
}
#case .wrap::after {
	content:'';
	display:block;
	width:calc(100% - (50% - 650px));
	height:calc(100% - 80px);
	position:absolute;
	bottom:0;
	right:0;
	z-index:1;
    background-color:#e3e9f1;
}
#case .contents {
	z-index:3;
}
#case .contents h2 {
	letter-spacing:.1em;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
  -webkit-box-ordinal-group: 1;
             -ms-flex-order: 2;
                      order: 2;
}
.case_wrap {
	width:calc(100% - 200px);
	box-sizing:border-box;
	margin-left:80px;
	padding-top:10px;
}
.case_wrap h3 {
	font-size:3.0rem;
	font-weight:500;
	line-height:1.3;
	margin-bottom:1em;
}
#main .case_wrap p {
	font-size: 1.8rem;
}
.case_link_wrap {
    width:100%;
    box-sizing:border-box;
    padding-top:50px;
}
.case_link_wrap li {
	width:calc(25% - 15px);
	background-color:#1c4388;
	position:relative;
}
.case_link_wrap li::before {
	content:'';
	display:block;
	width:100%;
	padding-top:100%;
}
.case_link_wrap li > div {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}
.case_link_wrap li > div img {
	width:70px;
	margin-bottom: 15px;
}
#main .case_link_wrap li > div p {
	font-size:2.6rem;
	letter-spacing:.05em;
	color:#FFFFFF;
	line-height:1;
	width:100%;
	text-align:center;
	margin-bottom:30px;
}
#main .case_link_wrap li > div p.font_en {
	font-size:3.2rem;
}
.case_link_wrap li > div a {
	font-size: 1.6rem;
	color:#1c4388;
	background-color:#FFFFFF;
	font-weight:500;
	line-height: 2.0;
	width: 9em;
	text-align:center;
	border-radius:1.4em;
	box-sizing:border-box;
	border:2px solid #FFFFFF;
	transition:.3s;
}
.case_link_wrap li > div a:hover {
	background-color:#1c4388;
	color:#FFFFFF;
}


/**strength**/
#strength .wrap {
	padding-top:210px;
	padding-bottom:80px;
}
#strength .wrap::before {
	content:'';
	display:block;
	width:calc(100% - (50% - 650px));
	height:calc(100% - 240px);
	position:absolute;
	bottom:0;
	left:0;
	z-index:1;
    background-color:#e3e9f1;
}
#strength .wrap::after {
	content:'';
	display:block;
	width:calc(100% - (50% - 150px));
	height:540px;
	position:absolute;
	bottom:-100px;
	right:0;
	background:url(../img/top/img_strength.png) no-repeat 90px center,url(../img/top/img_strength.jpg) no-repeat center center;
	background-size:auto 70%,cover;
	z-index:2;
}
#strength .contents {
	z-index:3;
}
#strength .contents h2 {
	margin-bottom:1.5em;
}
.strength_wrap {
	max-width:420px;
}
#strength .contents h3 {
	font-size:3.0rem;
	font-weight:500;
	margin-bottom:.5em;
}
#strength .contents h3 span {
	display:inline-block;
	background-color:#FFFFFF;
	line-height:1.4;
	box-sizing:border-box;
	padding:0 .3em;
	margin-bottom:.2em;
	letter-spacing:.2em;
}
#main #strength .contents p {
    line-height:2.4;
    margin-bottom:2.5em;
}
#main #strength .contents .btn_detail {
	display:block;
	font-size: 1.6rem;
	color:#000000;
	background-color:#FFFFFF;
	font-weight:500;
	line-height:2.8;
	width:13em;
	text-align:center;
	border-radius:1.4em;
	box-sizing:border-box;
	transition:.3s;
}
#main #strength .contents .btn_detail:hover {
	background-color:#1c4388;
	color:#FFFFFF;
}

/**other**/
#other .wrap {
	padding-top:300px;
	padding-bottom:150px;
}
#other .contents {
	max-width:1500px;
}
.other_wrap > div {
	width:50%;
	background-color:#1c4388;
	box-sizing:border-box;
	padding-bottom:60px;
}
.other_wrap > div:last-child {
	background-color:#163469;
}
.other_wrap > div img {
	width:54%;
	display:block;
	transform:translateY(-60px);
}
.other_wrap > div h2 {
	font-size:3.5rem;
	color:#FFFFFF;
	width:100%;
	text-align:center;
	letter-spacing:normal;
	margin-bottom:1.2em;
	margin-top:-.75em;
}
.other_wrap > div a {
	font-size:1.6rem;
	color:#1c4388;
	background-color:#98bdf0;
	font-weight:500;
	line-height:3;
	width:18em;
	text-align:center;
	border-radius:1.5em;
	box-sizing:border-box;
	transition:.3s;
}
.other_wrap > div a:hover {
	background-color:#ffffff;
}


/**company**/
#company .wrap {
	padding:0;
}
#company .contents {
	width:100%;
	max-width:100%;
}
#company .contents a {
	position:relative;
	overflow:hidden;
	background-color:#000000;
}
#company .contents a::before {
	content:'';
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	transition:.3s;
	z-index:1;
}
#company .contents a:hover::before {
	transform:scale(1.1);
	opacity:.66;
}
#company .contents > a {
	width:40%;
	box-sizing:border-box;
	padding:300px 120px;
}
#company .contents > a::before {
	background:url(../img/top/fimg1.jpg) no-repeat center center;
	background-size:cover;
}
#company .contents > div {
	width:60%;
}
#company .contents > div a {
	width:100%;
	padding-right:60px;
	padding-left:30px;
}
#company .contents > div a:first-child::before {
	background:url(../img/top/fimg2.jpg) no-repeat center center;
	background-size:cover;
}
#company .contents > div a:last-child::before {
	background:url(../img/top/fimg3.jpg) no-repeat center center;
	background-size:cover;
}
#company .contents > div a h2 {
	text-align:right;
}
#main #company .contents > div a p {
	width: auto;
	margin-right: 0;
	margin-left: auto;
}
#company .contents a h2 {
	font-size:3.6rem;
	color:#FFFFFF;
	width:100%;
	text-align:left;
	line-height:1;
	margin-bottom:1.2em;
	position:relative;
	z-index:2;/*
	text-shadow:1px 1px 2px rgba(0,0,0,1),2px 2px 3px rgba(0,0,0,.5),2px 2px 3px rgba(0,0,0,.5),2px 2px 3px rgba(0,0,0,.5);*/
	text-shadow:0px 0px 2px rgba(0,0,0,1),0px 0px 3px rgba(0,0,0,1),0px 0px 4px rgba(0,0,0,1),0px 0px 5px rgba(0,0,0,1);
}
#main #company .contents p {
	width:100%;
	text-align:left;
	color:#FFFFFF;
	line-height:2.4;
	/* margin-bottom:4em; */
	position:relative;
	z-index:2;
	/*
	text-shadow:1px 1px 2px rgba(0,0,0,1),1px 1px 3px rgba(0,0,0,1),1px 1px 2px rgba(0,0,0,1),1px 1px 3px rgba(0,0,0,1);*/
	text-shadow:0px 0px 2px rgba(0,0,0,1),0px 0px 3px rgba(0,0,0,1),0px 0px 4px rgba(0,0,0,1),0px 0px 5px rgba(0,0,0,1);
}
#main #company .contents span {
	width:80px;
	position:relative;
	z-index:2;
	margin-right:auto;
	display:none;
}
#main #company .contents span::before {
	content:'';
	display:block;
	width:100%;
	height:1px;
	background:#FFFFFF;
	position:absolute;
	right:0;
	bottom:0;
	transition:.3s;
}
#main #company .contents span::after {
	content:'';
	display:block;
	width:12px;
	height:1px;
	background:#FFFFFF;
	position:absolute;
	right:0;
	bottom:0;
	transform-origin:bottom right;
	transform:rotate(45deg);
	transition:.3s;
}


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


/**company**/
#company .contents > a {
	padding-left: 7vw;
	padding-right: 2vw;
}
#company .contents > div a {
	padding-left: 7vw;
	padding-right: 2vw;
}

/**case**/
#case .wrap::before {
	width:calc(100% - 100px);
}

/**strength**/
#strength .wrap::before {
	width:calc(100% - 80px);
}

}

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

/**fv**/
.fv_inner {
	height:600px;
}
.fv_inner h1 {
	bottom:40px;
	padding:30px 50px;
	padding:20px 20px 10px;
}
.fv_inner h1 img {
	width:140px;
}
.fv_inner h1 .fv_cpy1 {
    font-size:4.5rem;
}
.fv_inner h1 .fv_cpy2 {
    font-size:2.5rem;
}

.contents h2 {
    font-size:4.5rem;
}

/**use**/
#use .wrap {
	padding-bottom:100px;
}
.use_wrap a .use_txt {
	font-size:2.1rem;
}
.use_wrap a .use_txt span {
	font-size:3.2rem;
}

/**case**/
#case .wrap {
	padding-top: 300px;
}
#case .wrap::before {
	height: 300px;
}
#case .wrap::after {
	width:100%;
}
.case_wrap {
	width:calc(100% - 100px);
	margin-left:15px;
}
#main .case_link_wrap li > div p {
	margin-bottom:20px;
}

/**strength**/
#strength .wrap {
	padding-top:100px;
}
#strength .wrap::after {
	width:calc(100% - 450px);
}
#strength .wrap::before {
	height:calc(100% - 130px);
}

/**other**/
#other .wrap {
	padding-top:240px;
	padding-bottom:120px;
}

/**company**/
#company .contents > a {
	width:40%;
	box-sizing:border-box;
	padding:200px 50px;
}
#company .contents > div a {
	padding-left:50px;
}
#company .contents a h2 {
	font-size:3.0rem;
	margin-bottom:1.0em;
}
#main #company .contents p {
	font-size:1.4rem;
	line-height:2.0;
	/* margin-bottom:3em; */
}

}

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

}

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

/**company**/
#company .contents a::before {
	opacity:.5;
}

}

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

/**fv**/
.fv_wrap {
	background: linear-gradient(#FFFFFF 8%, #FFFFFF 8%, #00aecb 5%, #00aecb);
}
.fv_inner {
	height:420px;
}
.fv_inner::before {
	width:calc(100% - 30px);
	margin-left:30px;
}
.fv_inner.slide1::before {
    background-position:20% center;
}
.fv_inner.slide2::before {
    background-position:17% center;

}
.fv_inner.slide3::before {
    background-position:40% center;
}
.fv_inner h1 {
	bottom:auto;
	top:16%;
	right:auto;
	left:0;
	transform:translateX(0);
	padding:20px 40px;
	top:24%;
	padding:15px 15px 10px;
}
.fv_inner h1 img {
	width:105px;
}
.fv_inner h1 .fv_cpy1 {
    font-size:3.1rem;
}
.fv_inner h1 .fv_cpy2 {
    font-size:2.0rem;
}

/**NEWS**/
.news_wrap {
	width:calc(100% - 30px);
	padding: 15px 0;
}
.news_wrap.fbox {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.news_wrap h2 {
	font-size:1.8rem;
	text-align:left;
	padding-right:0;
	margin-right:15px;
	width:90px;
	border:none;
}
.news_wrap dl {
    font-size:1.4rem;
    width:100%;
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 2;
	order: 2;
	box-sizing:border-box;
	padding-top:15px;
}
.news_wrap dt {
	width:calc(100% - 6em);
}
.news_wrap dd {
	width:6em;
}
.news_wrap > a {
	font-size:1.1rem;
	padding-bottom:5px;
	margin-top:0;
	padding-right:1.2em;
	margin-left:auto;
}


.contents h2 {
    font-size:3.0rem;
}


/**use**/
#use .wrap {
	padding:30px 0 45px;
}
#use .contents {
	text-align:center;
	width:100%;
}
#use .contents h2 {
    margin-bottom: 0.75em;
}
.use_wrap a {
	width:calc(100%/2);
	background-color:#1c4388;
	padding:20px 0;
}
.use_wrap a:hover {
	background-color:#1c4388;
}
.use_wrap a:nth-child(even):hover {
	background-color:#1c4388;
}
.use_wrap a:nth-child(even) {
	background-color:#1c4388;
}
.use_wrap a:nth-child(2),
.use_wrap a:nth-child(3),
.use_wrap a:nth-child(6) {
	background-color:#163469;
}
.use_wrap a:nth-child(2):hover,
.use_wrap a:nth-child(3):hover,
.use_wrap a:nth-child(6):hover {
	background-color:#163469;
}
.use_wrap a img {
	width:50px;
	margin-bottom: 10px;
}
.use_wrap a .use_txt {
	font-size:1.4rem;
	line-height:1.5;
}
.use_wrap a .use_txt span {
	font-size:1.8rem;
}

/**case**/
#case .wrap {
	padding-top:0;
	padding-bottom:30px;
}
#case .wrap::before {
	width:100%;
	height: 26vw;
	top:55px;
	right:0;
	left:auto;
}
#case .wrap::after {
	height:calc(100% - 90px);
}
.case_wrap {
	width:100%;
	margin-left:0;
}
#case .contents h2 {
	width:100%;
	text-align:center;
	writing-mode:initial;
	-webkit-writing-mode: initial;
	-ms-writing-mode: initial;
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 0;
	order: 0;
	margin-bottom: 38vw;
}
.case_wrap h3 {
	font-size:1.8rem;
}
#main .case_wrap p {
	font-size:1.3rem;
}
.case_link_wrap {
    padding-top:20px;
}
.case_link_wrap li {
	width:calc(50% - 8px);
	margin-bottom:16px;
}
.case_link_wrap li > div img {
	width:11vw;
	margin-bottom: 3vw;
}
#main .case_link_wrap li > div p {
	font-size:4.5vw;
	margin-bottom:5vw;
}
#main .case_link_wrap li > div p.font_en {
	font-size:5.5vw;
}
.case_link_wrap li > div a {
	font-size:3.6vw;
	line-height:1.8;
	width:8.5em;
	border-radius:0.9em;
	border:1px solid #FFFFFF;
}

/**strength**/
#strength .wrap {
	padding-top:75px;
	padding-bottom:230px;
}
#strength .wrap::before {
	width:calc(100% - 20px);
	height:calc(100% - 90px);
}
#strength .wrap::after {
	width:calc(100% - 30px);
	height:280px;
	bottom:-90px;
	right:0;
	background:url(../img/top/img_strength.png) no-repeat 40px center,url(../img/top/img_strength.jpg) no-repeat center center;
	background-size:auto 85%,cover;
}
#strength .contents h2 {
	margin-bottom:1.0em;
}
.strength_wrap {
	max-width:100%;
}
#strength .contents h3 {
	font-size:2.4rem;
	margin-bottom:0.8em;
}
#strength .contents h3 span {
    line-height: 1.6;
    box-sizing: border-box;
    margin-bottom: .3em;
}
#main #strength .contents p {
    line-height:1.8;
    margin-bottom:2em;
    font-size:1.3rem;
}
#main #strength .contents .btn_detail {
    font-size: 1.4rem;
    line-height: 2.6;
}

/**other**/
#other .wrap {
	padding-top:160px;
	padding-bottom:30px;
}
.other_wrap > div {
	width:100%;
	padding-bottom:45px;
}
.other_wrap > div:first-child {
	margin-bottom:45px;
}
.other_wrap > div img {
	width:70%;
	max-width:235px;
	transform:translateY(-35px);
}
.other_wrap > div h2 {
	font-size:2.4rem;
	line-height:1.5;
	margin-bottom:1em;
}
@media screen and (max-width:350px){
.other_wrap > div h2 {
	font-size:2.2rem;
}
}
.other_wrap > div a {
	line-height:2.6;
	font-size:1.4rem;
	width:14em;
}


/**company**/
#company .contents > a {
	width:100%;
	padding:60px 20px;
}
#company .contents > div {
	width:100%;
}
#company .contents > div a {
	width:100%;
	padding:60px 20px;
}
#company .contents a h2 {
	font-size:2.4rem;
	margin-bottom:0.75em;
	text-shadow:none;
}
#main #company .contents p {
	line-height:1.8;
	text-shadow:none;
	/* margin-bottom:6em; */
}
#company .contents > div a h2,
#main #company .contents > div a p {
	text-align:left;
	text-shadow:none;
	width:100%;
}

}
	
@media screen and (max-width:480px){

}
	
@media screen and (max-width:360px){

}