@charset "utf-8";
/*------------------------------------------------------------
	Reset
------------------------------------------------------------*/
*{
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,p,ul,li,form,figure,header,footer{
	margin: 0;
	padding: 0;
	outline: 0;
	list-style: none;
	font-size: 17px;
}
body{
	color: #333;
	background: #01396E;
	margin: 0;
	padding: 0;
}
header{
	position: relative;
	width: 100%;
	height: 100px;
	top:0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content:flex-end;
	padding:0 15px;
	z-index: 1;
	background: #FFF;
	color: #333;
}
#top header{
	background:none;
	position: absolute;
}
.center{
	text-align: center;
}
.mb50{
	margin-bottom: 50px;	
}
.pc{display: block;}
.sp{display: none}
.hdr_logo{
	margin-right: auto
}
.hdr_logo img{
	width: 100%;
	height: auto
}
.hdr_nav{
	display: flex;
	margin-right: 30px;
}
.hdr_nav li{
	border-left: 1px solid #ccc;
}
#top .hdr_nav li{
	border-left: 1px solid #FFF;
}
.hdr_nav li:first-child{
	border: none;
}
.hdr_nav a{
	display: block;
	text-decoration: none;
	color: #333;
	padding: 3px 20px;
	font-size: 18px;
	line-height: 1
}
#top .hdr_nav a {
	color: #FFF;
}
.btn1{
	width: 220px;
	height: 50px;
	border-radius: 10px;
	background: linear-gradient(120deg, #888 0%, #ddd 30%, #eee 50%, #ddd 70%, #888 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: #000;
	font-weight: bold;
	text-decoration: none
}
header .btn1{
	width: 170px !important;
}
nav{
	display: none;	
}
.mv{
	background-image: url("../img/mv_bg.webp");
	background-size:100% auto ;
	height:61vw;
	position: absolute;
	background-repeat: no-repeat;
	left: 0;
	top:0;
	width: 100%;
	z-index: 0
}
.mv img{
	width: 100%;
	height: auto
}
.mv_item1{
	width: 40%;
	height: auto;
	position: absolute;
	left: 13%;
	top: 33%;
}
.mv_item2{
	width: 80%;
	height: auto;
	position: absolute;
	left: 3%;
	top: 69%;
}
.mv_item3{
	width:44%;
	height: auto;
	position: absolute;
	right: 0%;
	bottom:-4%;
}
/* */

.mv_item1,
.mv_item2,
.mv_item3 {
  opacity: 0;
  position: absolute;
}

.mv_item1 {
  top: 28%;
  left: 13%;
  transform: translateY(-20px);
}

.mv_item2 {
  top: 69%;
  left: 3%;
  transform: translateX(-50px); /* ← 左から登場 */
}

.mv_item3 {
  right: 0%;
  bottom: -4%;
  transform: scale(0.9);
}

.mv {
  position:absolute;
  background-image: url("../img/mv_bg.webp");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  height: 61vw;
  z-index: 0;
  overflow: hidden;
}

/* ぼかしレイヤー */
.mv::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: inherit;
  background-repeat: inherit;
  background-position: inherit;
  filter: blur(10px);
  opacity: 1;
  transition: opacity 2.2s ease;
  z-index: 1;
  pointer-events: none;
}

.mv.bg-clear::before {
  opacity: 0;
}
/* TOP　ABOUT --------------------*/
.top_about{
	padding-top:61vw;
	background:#01396E;
	background-image: url("../img/bg_top1.jpg");
	background-size: 100% auto;
	background-position: center bottom;
	background-repeat: no-repeat;
	padding-bottom: 3vw;
}
.top_title{
	margin-bottom: 40px;
	text-align: center;
	padding-top: 30px;
}
.top_title p{
	color: #FFF;
	font-size: 20px;
	margin-bottom: 0px;
	line-height: 210%;
}
.top_title h1{
	color: #FFF;
	font-size: 70px;
	line-height: 1;
	margin-bottom: 20px;
	font-style: italic;
}
.top_title div{
	color: #FFF;
	font-size: 36px;
	line-height: 1;
}
.top1_1{
	color: #FFF;
	line-height: 210%;
	font-size: 17px;
	width: 82%;
	margin: 0 auto 40px auto;
}
.top_about .btn1{
	margin: 0 auto;
}
.inner{
	max-width:1100px;
	margin: 0 auto;
	position: relative;
}
.solor_panel{
	padding-top: 50px
}
.solor_panel img{
	width: 490px;
	height: auto
}


/* TOP　事業内容 --------------------*/
.top_business{
	background: #fff;
	padding-top: 40px;
}
.top_box1{
	display: flex;
	justify-content: space-between;
	margin-bottom:0;

}
.top_box1 .item1{
	width: 55%;
}
.top_box1 .item1 p{
	font-size: 17px;
	margin-bottom: 0px;
	line-height: 210%;
}

.top_title2 p{
	font-size: 22px !important;
	font-weight: bold;
}
.top_title2 h2{
	font-size: 34px;
	margin-bottom: 20px;
	color: #004C92;
	line-height: 130%;
}
.top_box1 .item2{

	width: 42%;


}
.top_business .item2 img{
	width: 100%;
	height: auto;
	margin-top: -80px;
}

/* TOP　採用 --------------------*/
.top_recruit{
	background:#EDF2F7;
	background-image: url("../img/bg_top2.jpg");
	background-size: 100% auto;
	background-position: center top;
	background-repeat: no-repeat;
	padding-top: 130px;

}
.top_title3{
	text-align: center;
	position: relative;
	padding-top: 80px;
	margin-bottom: 60px;
}
.top_title3 h2 img{
	width:31%;
	height: auto;
	position: relative
}
.pole{
	width: 280px;
	position: absolute;
	left: 0;
	bottom:-20px;
}
.pole img{
	width: 100%;
	height: auto
}

/* TOP　インタビュー --------------------*/
.intervew_block{
	padding: 50px 0 90px 0;
	border-top: 1px solid #ccc;
	margin-top: 80px;
}
.top_title4{
	display: flex;
	margin-bottom: 10px;
	align-items: center;
}
.top_title4 h2{
	font-size: 50px;
	margin-bottom: 0px;
	margin-right: 15px;
	color: #004C92;
}

.top_title4 p{
	font-size: 24px;
	margin-bottom: 0px;
	font-weight: bold;
	color: #004C92;
}
.intervew_list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.intervew_list li{
	width: 32%;
}
.intervew_list a{
	text-decoration: none;
	color: #333;
	display: block;

}
.intervew_list figure{
	display: block;
	margin: 0 0px 5px 0px;
	padding: 0;
}
.intervew_list li img{
	width: 100%;
	height: auto;
	
}
.intervew_list p{
	text-align: center;
	font-size: 17px;
}
.intervew_block .btn1{
	margin: 0 auto
}
.txt1{
	font-size: 17px;
	line-height: 200%;
	margin-bottom: 30px;
}
.ftr_cv{
	background-image: url("../img/bg_footer_contact.jpg");
	background-size: cover;
	background-color: #FFF;
}
.ftr_cv_box{
	display: flex;
	width: 51%;
	padding: 30px 0;
	margin: 0 auto;
	text-align: center;
	color: #FFF;
}
.ftr_cv_box .item1{
	width: 50%;
}
.ftr_cv_box .item2{
	width: 50%;
}
.ftr_cv_box p{
	padding-bottom: 8px;
	font-size: 18px;
	font-weight: bold;
}
.ftr_cv_box a{
	width: 260px;
	height: 60px;
	border-radius: 5px;
	background: linear-gradient(120deg, #888 0%, #ddd 30%, #eee 50%, #ddd 70%, #888 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	margin: 0 auto;
	z-index: 2;
	position: relative;
}
.ftr_cv_img{
	position: absolute;
	width: 270px;
	bottom: 0;
	right: 50px;
	z-index: 0;
}
.ftr_cv_img img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
footer{
	padding-bottom: 40px;
}
.ftr_cnt{
	display: flex;
	padding: 25px 0;
	justify-content: space-between
}
.ftr_cnt .item1{
	width: 40%;
}
.ftr_cnt .item2{
	width: 60%;
	overflow: hidden;
}
.ftr_cnt .item1 a{
	display: block;
}
.ftr_cnt .item1 a img{
	width: 300px;
	height: auto
}
.ftr_address{
	font-size: 16px;
	color: #FFF;
	padding-top: 15px;
}
.ftr_cnt ul{
	display: flex;
	margin-left: auto;
	width: auto;
	float: right;
}
.ftr_cnt li{
	border-left: 1px solid #ccc;
}
.ftr_cnt li:first-child{
	border: none;
}
.ftr_cnt li a{
	color: #ccc;
	text-decoration: none;
	font-size: 16px;
	display: block;
	padding: 0 25px;
}
.copyright{
	text-align:right;
	color: #ccc;
	clear: both;
	padding-top: 60px
}
/* 共通パーツ --------------------------*/
.page_title{
	position: relative;
	display: flex;
	align-items: center;
	height: 27vw;
	background: #FFF;
}
.page_title div{
	width: 100%;
	position: relative;
	z-index: 1;
	margin-left: 16%;
	margin-bottom: 4%
}
.page_title figure{
	width: 100%;
	position: absolute;
	left: 0;
	top:0;
	z-index: 0;
}
.page_title h1{
	font-size: 28px;
	line-height: 1;
	color: #FFF;
	margin-bottom: 8px;
}
.page_title p{
	font-size: 60px;
	font-weight: bold;
	line-height: 1;
	color: #FFF;
}
main{
	background: #FFF;
	margin: 0;
	padding: 0 0 60px 0;
}
.h2{
	color:#014C92;
	text-align: center;
	font-size: 38px;
	margin-bottom: 40px;
}
.cbox{
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.cbox .item1{
	width: 65%;
}
.cbox .item2{
	width: 23%;
	text-align: right;
	margin-right: 20px;
}
.cbox .item1 p{
	line-height: 200%;
	font-size: 17px
}
.cbox .item2 img{
	width: 100%;
	height: auto
}

.ta1{
	width: 100%;
	margin-bottom: 40px;
}
.ta1 ty,.ta1 td{
	padding: 10px;
	font-size:17px;
	border-bottom: 1px solid #ccc
}
.ta1 th{
	background: #eee
}
.h3{
	text-align: center;
	font-size: 28px;
	color: #004C92;
	border-top: 2px solid #004C92;
	border-bottom: 2px solid #004C92;
	padding: 12px 0;
	margin-bottom: 30px;
}
.abox{
	background: #F2F9FF;
	padding: 20px;
	text-align: center;
	font-size: 17px;
	line-height: 200%;

}
.abox h4{
	font-size: 22px;
	color:  #004C92;
	margin-bottom: 5px;
}
.tbox{
	line-height: 200%;
	font-size: 17px;
	margin-bottom: 40px;
}
.page_nav{
	display: flex;
	margin-bottom: 80px;
	width: 100%;
}
.page_nav li{
	text-align: center;
	width: 20%;
	border-left: 1px solid #ccc;
}
.page_nav li:first-child{
	border: none;
}
.page_nav li img{
	width: 80%;
	height: auto
}
.page_nav li a{
	display: block;
	font-size: 17px;
	font-weight: bold;
	text-decoration: none;
	color: #004C92;
}
.service_list{
	border-bottom: 1px solid #ccc;

}
.service_list li{
	display: flex;
	justify-content: space-between;
	padding: 30px 0;
	border-bottom: 1px solid #ccc;

}
.service_list .item1{
	width: 50%;
	padding-top: 60px;
}
.service_list .item1 h2{
	font-size: 28px;
	color: #004C92;
	margin-bottom: 20px

}
.service_list .item1 p{
	line-height: 200%;
	font-size: 17px;
	margin-bottom:40px;

}
.service_list .item2{
	width: 50%;
}
.service_list .item2 img{
	width: 100%;
	height: auto;
	border-radius: 20px;
}
.btn2{
	color: #004C92;
	text-decoration: none;
	font-size: 17px;
	width: 200px;
	border-radius: 5px;
	border: 1px solid #004C92;
	text-align: center;
	display: flex;
	align-items: center;
	height: 50px;
	justify-content: center;
}
.wlist{
	display: flex;
	flex-wrap: wrap;
  	gap: 20px;
	justify-content: flex-start;
}
.wlist li{
	width: 32%;
	text-align: center;


	margin-bottom: 50px;
}
.wlist img{
	width: 100%;;
	height: auto;
	border-radius: 10px;
}
.wlist p{
	font-size: 17px;
	padding-top: 5px;
	line-height: 180%;
}
.swiper{
	margin-bottom: 40px;	
}
.swiper-slide img{
	width: 100%;
	height: auto;
	border-radius: 5px;
}
.rlist{
	
}
.rlist li{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #ccc;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
.rlist li .item1{
	width: 45%;
	padding-top: 20px;
}
.rlist li .item2{
	width: 45%
}
.rlist h3{
	font-size: 26px;
	margin-bottom: 20px;
	color: #004C92;
}
.rlist p{
	font-size: 17px;
	padding-top: 5px;
	line-height: 180%;
}.rlist li .item2 img{
	width: 100%;
	height: auto
}
.balloon {
  display: inline-block;
  position: relative;
  background: #004C92;
  color: #fff;
  padding: 7px 40px;
  border-radius: 100px;
  font-weight: bold;
  text-align: center;
	font-size: 18px;
	margin-bottom: 20px;
}

.balloon::after {
  content: '';
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 20px 20px 0 20px;
  border-style: solid;
  border-color: #004C92 transparent transparent transparent;
}
.privacy{
	height: 200px;
	overflow-y: auto;
	margin-bottom: 40px;
	padding: 20px;
	border: 1px solid #ccc;
}
#form .btn1{
	margin: 0 auto 30px auto;
	border: none;
}
#contact .txt1{
	text-align: center
}
input[type=text],input[type=email],input[type=tel],textarea{
	font-size: 18px;
	border: 1px solid #ccc;
	padding: 10px;
	border-radius: 5px;
	width: 100%;
}
.error{
	color: red	
}

@media screen and (max-width: 768px) {
.inner{
	width:100%;
	margin: 0 auto;
	position: relative;
}
	.pc{display: none;}
	.sp{display: block}
}