@charset "utf-8";
/* Google font Icon */
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);

/*-- common --*/

body{
  overflow-x: hidden;
}

div.dx_wrapper{
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #2d2d2d;
  box-sizing: border-box;
  font-size:1.6rem;
  /*all:inherit;*/
}

div.dx_wrapper h2,
div.dx_wrapper h2::after{
  all:unset;
  font-size:3.0rem;
  color:#2843b6;
  font-weight: bold;
}

div.dx_wrapper h2 span{
 color:#2d2d2d;
 font-size:2.2rem;
 padding:16px;
}

div.dx_wrapper h3{
  all:unset;
  font-size:2.4rem;
  font-weight: bold;
  display: block;
  border-left:5px solid #2843b6;
  padding-left:16px;
  margin:30px 0;

}

/*---first_view---*/

div.first_view{
  height:calc(30vh);
  background-image: url(img/main.jpg);
  background-repeat: no-repeat;
  background-position:center center;
  background-size:cover;
  display: flex;
  align-items: center;
}

div.first_view_text{
  width:100%;
  max-width:1000px;
  margin:0 auto;
  background:linear-gradient(to right, rgba(77, 178, 225, 0.7), rgba(40, 67, 182, 0.9), rgba(77, 178, 225, 0.7));
  padding:30px;
}

div.first_view_text p{
  font-size: 3.0rem;
  text-align: center;
  color:#fff;
  font-weight: bold;
  margin:0;
  padding:0;
}

/*---news----*/
div.dx_news{
  width:90%;
  max-width:1000px;
  margin:0 auto;
  padding:60px 0;
}

div.news_list dl{
display: flex;
flex-wrap: wrap;
margin:30px 0 0 0;
padding:0;
}

div.news_list dl dt{
  font-weight: normal;
  width:15%;
  margin:0;
  padding:8px 0;
}

div.news_list dl dd{
  width:75%;
  margin:0;
  padding:8px 0;
}

/*--efforts--*/

div.efforts{
  background:#f4f7fb;
  padding:60px 0;
}

div.effors_innner{
  width:90%;
  max-width:1000px;
  margin:0 auto;
}

ul.effors_list{
  list-style:none;
  margin:30px 0 0 0;
  padding:0;
  display: grid;
  gap:30px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

ul.effors_list li a{
  text-decoration: none;
}

ul.effors_list li a:hover{
    opacity: 0.8;
}

img.efforts_thum{
  width:100%;
  border:1px solid #eee;
}

p.efforts_title{
  margin:8px 0;
  padding:0;
  font-weight: bold;
  color:#2843b6;
  font-size:1.8rem;
}

p.efforts_text{
  font-size:1.4rem;
}


div.link-button-area{
  text-align:center;
  margin-top:30px;
}

a.link-button{
  background:#2843b6;
  display: inline-block;
  min-width:320px;
  line-height: 48px;
  border-radius: 20px;
  color:#fff;
  text-decoration: none;
}

a.link-button:hover{
  opacity: 0.8;
}

/*---reports---*/

div.reports_box{
  width:90%;
  max-width:1000px;
  margin:0 auto;
  padding:60px 0;
}

ul.reports{
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin:30px 0 0 0;
  padding:0;
  list-style:none;
  column-gap: 30px;
  row-gap: 16px;;
}

ul.reports li a{
  font-size:1.8rem;
}


/*---business----*/
div.business{
  background:#f4f7fb;
  padding:60px 0;
}

div.business_innner{
  width:90%;
  max-width:1000px;
  margin:0 auto;
}

ul.business_list{
 list-style:none;
 margin:30px 0 0 0;
 padding:0;
 display: flex;
 overflow-x: scroll;
}

ul.business_list li{
 width:220px;
 padding:16px;
 background: #fff;
 flex-shrink:0;
 margin-right:16px;
}

.bl_title{
 margin-bottom:8px;
 text-align: center;
 font-size:1.4rem;
 font-weight: bold;
}

.bl_title a{
 text-decoration: none;
}

.bl_title a:hover{
  color:#000;
  text-decoration: underline;
}

.bl_sub_title{
  margin:8px 0px;
  font-weight: bold;
}

.bl_sub_title a{
    color:#2843b6;
    text-decoration: none;
}

.bl_sub_title a:hover{
    color:#2843b6;
    text-decoration: underline;
}

.bl_text{
  font-size:1.4rem;
}

.bl_img{
  width:100%;

}

.bl_img:hover{
    opacity: 0.8;
}

img.bottom_banner{
  width:100%;
  border:1px solid #eee;
  margin-top:60px;
}

img.bottom_banner:hover{
     opacity: 0.8;
}

/*--link_box--*/

div.link_box{
  width:90%;
  max-width:1000px;
  margin:0 auto;
  padding:30px 0;
}

ul.link_list{
  list-style:none;
  margin:30px 0 0 0;
  padding:0;
 display: flex;
 flex-wrap:wrap;
 gap:16px;
 justify-content: space-around;
}

ul.link_list li{
  max-width:160px;
  width:100%;
}

ul.link_list li img{
  width:100%;
  border:1px solid #eee;
}

ul.link_list li a:hover{
  opacity: 0.8;
}


/*--------下層ページ-----------*/


div.efforts_wrapper{
  width:90%;
  max-width:1000px;
  margin:0 auto;
  padding:30px 0;
}

/*---記事--*/

/*--記事及び中央画像--*/
div.efforts_article01{

}

div.article_img_center{
  text-align: center;
  margin:30px 0 0 0;
}

div.article_img_center img{
  max-width: 800px;
  width:100%;
  border: 1px solid #eee;
}

p.a-cation{
  text-align: center;
}

/*--記事及び画像　左右--*/
div.efforts_article02{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;

}

div.article_text{
  margin-right:30px;
}

div.efforts_article02 ul{
  list-style:none;
  margin:0;
  padding:0;
}

div.efforts_article02 ul li{
  width:320px;
}

div.efforts_article02 ul li img{
  width:100%;
  border:1px solid #eee;
}

div.efforts_article02 ul li{
   margin-bottom:30px;
}

.reverse{
  flex-direction: row-reverse;
}

.reverse .article_text{
  margin-right:0px;
  margin-left:30px;
}

table.company_details{

}

table.company_details tr th,
table.company_details tr td{
  padding:8px;
}

table.company_details tr th{
  width:20%;
  background-color: #dce8f9;
}

p.pro_img{
  padding:8px 0 0 0;
}

p.pro_img img{
  max-width:300px;
  width:100%;
  border:1px solid #eee;
}

/*-----------
           -------------*/
@media (max-width:800px){

div.dx_wrapper h2,
div.dx_wrapper h2::after{
  all:unset;
  font-size:2.6rem;
  color:#2843b6;
  font-weight: bold;
}

div.dx_wrapper h2 span{
 color:#2d2d2d;
 font-size:2.0rem;
 padding:16px;
}

div.first_view_text p{
  font-size: 2.6rem;

}

div.read_box_inner{
  display: block;
}

/*--news--*/
div.news_list dl{
display: block;
}

div.news_list dl dt,
div.news_list dl dd{
  width:100%;
}

/*--efforts--*/
ul.effors_list{
  display: block;
}

ul.effors_list li{
  width:100%;
  padding:16px 0;
  border-top:1px solid #eee;
}

div.list_box{
  display: flex;
}

div.list_box_img{
  width:40%;
  margin-right:16px;
}

div.list_box_text{
  width:60%;
}


ul.reports{
  grid-template-columns: 1fr;
}

/*--business--*/

/*--------下層ページ-----------*/


ul.effort_list{
  grid-template-columns: 1fr;
}

/*記事*/
/*--記事及び画像　左右--*/
div.efforts_article02{
  display: block;
}

div.article_text{
  margin-right:0px;
}


.reverse .article_text{
  margin-left:0px;
}


div.efforts_article02 ul li{
  width:100%;
}


}