@charset "utf-8";
/* CSS Document */

/*---------scrollアイコン-----------*/
.arrowWrap {
position: absolute;
right: 0;
bottom: 0px;
z-index: 10;
width: 80px;
}

.arrowInner p {
  font-size: 12px;
  text-align: end;
  width: 100px;
  line-height: 1em;
  color: #000;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
/*  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;*/
}

.arrow {
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #eee;
  position: relative;
  overflow: hidden;
}

.arrow::before {
  content: '';
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #000;
  position: absolute;
  top: -150px;
  left: 0;
  -webkit-animation: arrow 2.5s ease 0s infinite normal;
  animation: arrow 2.5s ease 0s infinite normal;
}

.arrowInner { position: absolute; bottom: 0px; right: -10px; }

@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  60% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }

  100% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}
/*PC*/
@media print, screen and (min-width: 768px) {


/*--------------------*/

#dot {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
height: 900px;
background: url(../images/index/dot.png) ,rgba(255,255,255,0.05);
z-index: 1;
}

.hedTitWrap {
width: calc(100% - 80px);
height: 900px;
position: relative;
}

.headerslider {
width: 100%;
position: relative;
height: 900px;
}

.w1100s {
position: relative;
margin: 0 auto;
padding: 17vw 0px;
padding-left: 100px;
}


.idxHedTit {
width: 100%;
height: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.idxHedTitIn h2 {
color: #fff;
letter-spacing: 0.02em;
margin-bottom: 20px;
font-weight: 800;
margin-bottom: 50px;
}

.idxHedTitIn h2 span.sp01 { display: block; font-weight: bold; font-size: 1.2em; text-shadow: 0px 0px 2px #666;}
.idxHedTitIn h2 span.sp02 { display: block; font-size: 46px; line-height:1.4;text-shadow: 0px 0px 2px #666;}

.idxHedTit_txt { font-size: 19px; text-align: left; color: #fff; font-weight: bold; line-height: 1.7em; text-shadow: 0px 0px 2px #666; }

.slider_btn { width: 350px; margin: 50px auto auto 0;}
.slider_btn a { padding: 30px; background: rgba(208,18,27,0.7); color: #fff; width: 100%; box-sizing: border-box; display: block; text-align: center; position: relative; font-weight: bold; font-size: 16px; font-family: 'Open Sans', sans-serif; letter-spacing: 0.1em; }
.slider_btn a::before {position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right: 50px;  font-size: 18px; top: 30px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.slider_btn a:hover::before {right: 40px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

/*----------------index------------------------------------*/


.idx_txtbox_35l { width: 35%; float: left; }
.idx_imgbox_60r { width: 60%; float: right; }
.idx_txtbox_35r { width: 35%; float: right; }
.idx_imgbox_60l { width: 60%; float: left; }

/*-------idx_main-----------*/

.idx_main { width: 100%; margin: 0 auto 50px; display: flex; flex-wrap: wrap; align-items: center; }
.idx_main_tit { flex-basis: 47%; margin-right: 3%; font-size: 100px;  font-family: 'Open Sans', sans-serif; font-weight: 800; color: rgba(208,18,27,0.1); line-height: 1.2em; }
.idx_main_tit2 { flex-basis: 47%; margin-right: 3%; font-size: 80px;  font-family: 'Open Sans', sans-serif; font-weight: 800; color: rgba(208,18,27,0.1); line-height: 1em; }
.idx_main_txt { flex-basis: 49%; font-size: 20px;  color: #333; line-height: 2.5em; }

.idx_img_r { width: 90%; position: relative; margin: auto 0 auto auto; }
.idx_img_r img { width: 100%; height: auto; }
.idx_img_r::before { content: ""; position: absolute; top: 35px; right: 13px; width: 100%; height: 96%; border: 1px solid #1a6bb5; z-index: -1; }
.idx_img_l { width: 90%; position: relative; margin: auto auto auto 0; }
.idx_img_l img { width: 100%; height: auto; }
.idx_img_l::before { content: ""; position: absolute; top: 35px; left: 13px; width: 100%; height: 96%; border: 1px solid #1a6bb5; z-index: -1; }

.idx_tit_sub { font-size: 25px; color: #333; margin-bottom: 30px; text-align: left; }
.idx_tit_sub_white { font-size: 25px; color: #fff; margin-bottom: 30px; text-align: left; font-weight: bold; }

.idx_btn01 { width: 250px; position: relative; background: #1a6bb5; padding: 30px; box-sizing: border-box;  margin-top: 50px; }
.idx_btn01 a::after { position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right: 20px; top: 38%; font-size: 18px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.idx_btn01 a:hover::after { right: 10px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.idx_btn01 a { display: block; }
.idx_btn_tit { font-family: 'Open Sans', sans-serif; font-weight: normal!important; color: #fff; font-weight: 400; letter-spacing: 0.2em;  }

.b_img { width: 100%; margin: 0 auto; }
.b_img img { width: 100%; height: auto; }

.read_btn { font-size: 16px; color: #1a6bb5; position: relative; text-align: right; padding-right: 50px; margin-top: 30px; }
.read_btn a { color: #1a6bb5; font-size: 16px; font-weight: bold; display: block; }
.read_btn a::before {position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #1a6bb5; font-weight: bold; right: 20px;  font-size: 18px; top: 2px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.read_btn a:hover::before {right: 10px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

.idx_tit { text-align: center; margin-bottom: 50px; }
.idx_tit span.en {  font-size: 55px; font-weight: bold; font-family: 'Open Sans', sans-serif; color: #1a6bb5; display: block; line-height:1.2;}
.idx_tit span.jp { font-size: 18px; font-weight: bold; display: block; }
.idx_txt_c { text-align: center; }
.idx_txt { text-align: left; line-height: 2em;  }
.idx_subtit { font-size: 18px; font-weight: bold; color: #1a6bb5; margin-bottom: 15px;  }


/*-------idx_box03-------------*/

#idx_box03 { margin: 0 auto; margin-bottom: 120px;  }
#idx_box03 .idx_tit { text-align: left; }
#idx_box03 .com_btn { margin: auto auto auto 0; margin-top: 50px;  }
.idx_box03 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.idx_box03_txtbox { flex-basis: 48%; margin-right: 4%; }
.idx_box03_imgbox { flex-basis: 48%; } 
.idx_box03_img { width: 900px; margin: 0 auto; margin-right: -380px;  }
.idx_box03_img img { width: 100%; height: auto; }

.idx_box03_02 { width:100%; display:flex; flex-wrap:wrap; margin:60px auto; border:1px solid #1a6bb5; padding:20px; box-sizing:border-box;}
.idx_box03_02_01 { width:48%; margin-right:4%;}
.idx_box03_02_02 { width:48%;}

.idx_box03_02_01 img,
.idx_box03_02_02 img{ width:40%; float:left; margin:0 2% 2% 0;}


/*-------idx_box02-------------*/
#idx_box02 { margin: 0 80px 120px;  background: rgba(26,107,181,0.05);  padding: 70px 0px; border-radius: 10px; min-height: 470px; }
#idx_box02 .idx_tit { text-align: left; }
#idx_box02 .com_btn { margin: auto auto auto 0; margin-top: 50px;  }
.idx_box02_tit { font-size: 140px; font-weight: 900; color: #c0defa; margin-top: -180px; text-align: center; letter-spacing: 0.03em; }
.idx_box02 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.idx_box02_txtbox { flex-basis: 48%;  }
.idx_box02_imgbox { flex-basis: 48%; margin-right: 4%; position: relative; }
.idx_box02_img { position: absolute; left: -380px; width: 900px; visibility: visible; }
.idx_box02_img img { width: 100%; height: auto; }




/*-------idx_box01-------------*/
#idx_box01 { margin: 0 auto; margin-bottom: 100px;  }
#idx_box01 .idx_tit { text-align: left; }
#idx_box01 .com_btn { margin: auto auto auto 0; margin-top: 50px;  }
.idx_box01 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.idx_box01_txtbox { flex-basis: 48%; margin-right: 4%; }
.idx_box01_imgbox { flex-basis: 48%; } 
.idx_box01_img { width: 900px; margin: 0 auto; margin-right: -380px;  }
.idx_box01_img img { width: 100%; height: auto; }

.idx_box01_02 { width:100%; display:flex; flex-wrap:wrap; margin:60px auto; border:1px solid #1a6bb5; padding:20px; box-sizing:border-box;}
.idx_box01_02_01 { width:48%; margin-right:4%;}
.idx_box01_02_02 { width:48%;}

.idx_box01_02_01 img,
.idx_box01_02_02 img{ width:40%; float:left; margin:0 2% 2% 0;}



/*-------idx_box04-------------*/

#idx_box04 { width: 100%; margin: 0 auto; position: relative; margin-bottom: 100px;  }
.idx_box04_list { width: 100%; margin: 0 auto; margin-top: 100px; }
.idx_box04_list li { width: 32%; margin-right: 2%; box-shadow: 0 32px 16px -16px rgba(27,27,27,.1); float: left; margin-bottom: 100px;  }
.idx_box04_list li:nth-child(3n+3) { margin-right: 0px; }
.idx_box04_list li:nth-of-type(2) { margin-top: -50px; }
.idx_box04_list li:nth-of-type(5) { margin-top: -50px; }
.idx_box04_list li:nth-of-type(4),.idx_box04_list li:nth-of-type(5),.idx_box04_list li:nth-of-type(6) { margin-bottom: 0px; }
.idx_box04_list_txtxbox { padding: 30px; position: relative; background: #fff; }
.idx_box04_list_type { position: absolute; left: 0; top: -15px; }
.idx_box04_list_type span { background: #1a6bb5; padding: 5px 15px; color: #fff;  }
.idx_box04_list_year { font-size: 16px; margin-bottom: 10px; }
.idx_boc04_list_name { font-size: 20px; font-weight: bold; }
.idx_boc04_list_name span { padding-left: 15px; color: #1a6bb5; font-weight: 500; }


.read_txt {
	font-size:1.4em;
	letter-spacing:1px;
	text-align:center;
	color:#1a6bb5;
	margin:30px auto 40px;
}

.photo_hover_wrap img {
width: 100%;
height: auto;
}

.photo_hover_wrap {
display: block;
height: 450px;
overflow: hidden;
position: relative;
text-decoration: none;
z-index: 0;
}
.photo_hover_wrap .photo {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}
.idx_box04_list li a:hover .photo_hover_wrap {
text-decoration: none;
cursor: pointer;
}
.idx_box04_list li a:hover .photo_hover_wrap .photo {
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

/*-------idx_box05-------------*/
#idx_box05 { width: 100%; margin: 0 auto; position: relative; margin-bottom: 100px;  }
.idx_box05_list { width: 90%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.idx_box05_list li { width: 30.66%; margin-right: 4%; position: relative; }
.idx_box05_list li:nth-child(3n+3) { margin-right: 0px; }
.read_btn2 { position: absolute; bottom: 0; right: 0; width: 50px; height: 50px; background: #1a6bb5;  vertical-align: middle; }
.read_btn2 span { font-size: 16px; color: #fff; position: relative; padding-right: 50px; margin-top: 30px; z-index: 10;}
.read_btn2 span{ color: #fff; font-size: 16px; font-weight: bold; }
.read_btn2 span::before { position: absolute; display: block; content: "\f061"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right: 0; left: 0; margin: auto; font-size: 18px; top:12px;  -webkit-transition: all 0.3s ease-out; text-align: center; 
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }

.idx_box05_list li a:hover .read_btn2 span::before {right: -5px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}


.idx_box05_list_tit { font-size: 20px; font-weight: bold; margin-bottom: 15px;  }
.idx_box05_list_txt {  margin-bottom: 15px;}
.idx_box05_list_txtbox {padding-top: 20px;   }


.photo_hover_wrap2 img {
width: 100%;
height: auto;
}

.photo_hover_wrap2 {
display: block;
height: 300px;
overflow: hidden;
position: relative;
text-decoration: none;
z-index: 0;
}
.photo_hover_wrap2 .photo2 {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}
.idx_box05_list li a:hover .photo_hover_wrap2 {
text-decoration: none;
cursor: pointer;
}
.idx_box05_list li a:hover .photo_hover_wrap2 .photo2 {
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}


/*--------idx_box03---------*/


.message_list { width: 100%; margin: 50px auto 0px; }
.message_list li { width: 70%; background: #1a6bb5; }
.message_list li:nth-of-type(1) { margin: auto auto auto 0; }
.message_list li:nth-of-type(2) { margin: auto 0 auto auto; margin-top: 50px; }

.message_box { width: 100%; display: flex; flex-wrap: wrap; align-items: center; }

.message_img { width: 100%; }
.message_img img { width: 100%; height: auto; }
.message_txtbox { flex-basis: 60%; padding: 30px; box-sizing: border-box; color: #fff; }


.message_list li a .read_btn_list { font-size: 16px; color: #fff; position: relative; text-align: right; padding-right: 50px; margin-top: 30px; font-weight: bold; }
.message_list li a .read_btn_list::before {position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right: 20px;  font-size: 18px; top: 2px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.message_list li a:hover .read_btn_list::before {right: 10px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}



}





/*----------------------------------------------------*/





/*sp*/
@media only screen and (max-width: 767px) {
#dot {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
height: 900px;
background: url(../images/index/dot.png) ,rgba(255,255,255,0.05);
z-index: 1;
}

.headerWrap { position: absolute; top: 0; }


.hedTitWrap {
width: calc(100% - 64px);
height: 500px;
position: relative;
}

.headerslider {
width: 100%;
position: relative;
height: 500px;
}

.w1100s {
position: relative;
margin: 0 auto;
padding-left: 30px;
padding-right: 30px;
padding-top: 100px;
}


.idxHedTit {
width: 100%;
height: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.idxHedTitIn h2 {
color: #fff;
letter-spacing: 0.02em;
margin-bottom: 20px;
font-weight: 800;
margin-bottom: 30px;
}

.idxHedTitIn h2 span.sp01 { display: block; font-weight: bold; font-size: 12px;text-shadow: 0px 0px 2px #666; }
.idxHedTitIn h2 span.sp02 { display: block; font-size: 22px; line-height:1.4;text-shadow: 0px 0px 2px #666; }

.idxHedTit_txt { font-size: 14px; text-align: left; color: #fff; font-weight: bold; letter-spacing: 0.02em; line-height: 1.6em;text-shadow: 0px 0px 2px #666; }

.slider_btn { width: 350px; margin: 50px auto auto 0;}
.slider_btn a { padding: 30px; background: rgba(208,18,27,0.7); color: #fff; width: 100%; box-sizing: border-box; display: block; text-align: center; position: relative; font-weight: bold; font-size: 16px; font-family: 'Open Sans', sans-serif; letter-spacing: 0.1em; }
.slider_btn a::before {position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right: 50px;  font-size: 18px; top: 30px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.slider_btn a:hover::before {right: 40px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

/*----------------index------------------------------------*/


.idx_txtbox_35l { width: 35%; float: left; }
.idx_imgbox_60r { width: 60%; float: right; }
.idx_txtbox_35r { width: 35%; float: right; }
.idx_imgbox_60l { width: 60%; float: left; }

/*-------idx_main-----------*/

.idx_main { width: 100%; margin: 0 auto 50px; display: flex; flex-wrap: wrap; align-items: center; }
.idx_main_tit { flex-basis: 47%; margin-right: 3%; font-size: 100px;  font-family: 'Open Sans', sans-serif; font-weight: 800; color: rgba(208,18,27,0.1); line-height: 1.2em; }
.idx_main_tit2 { flex-basis: 47%; margin-right: 3%; font-size: 80px;  font-family: 'Open Sans', sans-serif; font-weight: 800; color: rgba(208,18,27,0.1); line-height: 1em; }
.idx_main_txt { flex-basis: 49%; font-size: 20px;  color: #333; line-height: 2.5em; }

.idx_img_r { width: 90%; position: relative; margin: auto 0 auto auto; }
.idx_img_r img { width: 100%; height: auto; }
.idx_img_r::before { content: ""; position: absolute; top: 35px; right: 13px; width: 100%; height: 96%; border: 1px solid #1a6bb5; z-index: -1; }
.idx_img_l { width: 90%; position: relative; margin: auto auto auto 0; }
.idx_img_l img { width: 100%; height: auto; }
.idx_img_l::before { content: ""; position: absolute; top: 35px; left: 13px; width: 100%; height: 96%; border: 1px solid #1a6bb5; z-index: -1; }

.idx_tit_sub { font-size: 25px; color: #333; margin-bottom: 30px; text-align: left; }
.idx_tit_sub_white { font-size: 25px; color: #fff; margin-bottom: 30px; text-align: left; font-weight: bold; }

.idx_btn01 { width: 250px; position: relative; background: #1a6bb5; padding: 30px; box-sizing: border-box;  margin-top: 50px; }
.idx_btn01 a::after { position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right: 20px; top: 38%; font-size: 18px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.idx_btn01 a:hover::after { right: 10px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.idx_btn01 a { display: block; }
.idx_btn_tit { font-family: 'Open Sans', sans-serif; font-weight: normal!important; color: #fff; font-weight: 400; letter-spacing: 0.2em;  }

.b_img { width: 100%; margin: 0 auto; }
.b_img img { width: 100%; height: auto; }

.read_btn { font-size: 16px; color: #1a6bb5; position: relative; text-align: right; padding-right: 50px; margin-top: 30px; }
.read_btn a { color: #1a6bb5; font-size: 16px; font-weight: bold; display: block; }
.read_btn a::before {position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #1a6bb5; font-weight: bold; right: 20px;  font-size: 18px; top: 2px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.read_btn a:hover::before {right: 10px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

.idx_tit { text-align: center; margin-bottom: 20px; }
.idx_tit span.en {  font-size: 26px; font-weight: bold; font-family: 'Open Sans', sans-serif; color: #1a6bb5; display: block; }
.idx_tit span.jp { font-size: 16px; font-weight: bold; display: block; }
.idx_txt_c { text-align: center; }
.idx_txt { text-align: left; line-height: 2em;  }
.idx_subtit { font-size: 16px; font-weight: bold; color: #1a6bb5; margin-bottom: 15px;  }



/*-------idx_box03-------------*/

#idx_box03 { margin: 0 auto; margin-bottom: 70px; }
#idx_box03 .idx_tit { text-align: left; }
#idx_box03 .com_btn { margin: 0 auto; margin-top: 30px; }
.idx_box03 { width: 100%; margin: 0 auto; }
.idx_box03_txtbox { width: 100%; margin-bottom: 30px;  }
.idx_box03_imgbox { width: 100%;  position: relative; }
.idx_box03_img { width: 100%; margin: 0 auto; }
.idx_box03_img img { width: 100%; height: auto; }

.idx_box03_02 { width:100%; margin:30px auto; border:1px solid #1a6bb5; padding:20px; box-sizing:border-box;}
.idx_box03_02_01 { width:100%; margin-bottom:20px;}
.idx_box03_02_02 { width:100%;}

.idx_box03_02_01 img,
.idx_box03_02_02 img{ width:100%; margin:0 auto 20px;}




/*-------idx_box02-------------*/
#idx_box02 {  background:rgba(26,107,181,0.05);  padding: 50px 0px; margin-bottom: 70px;  }
#idx_box02 .idx_tit { text-align: left; }
#idx_box02 .com_btn { margin: 0 auto; margin-top: 30px; }
.idx_box02_tit { font-size: 50px; font-weight: 900; color: #c0defa; margin-top: -25px; text-align: center; letter-spacing: 0.03em; }
.idx_box02 { width: 100%; margin: 0 auto; }
.idx_box02_txtbox { width: 100%; margin-bottom: 30px;  }
.idx_box02_imgbox { width: 100%;  position: relative; }
.idx_box02_img {  width: 100%; margin: 0 auto; }
.idx_box02_img img { width: 100%; height: auto; }




/*-------idx_box03-------------*/

#idx_box01 { margin: 0 auto; margin-bottom: 70px; }
#idx_box01 .idx_tit { text-align: left; }
#idx_box01 .com_btn { margin: 0 auto; margin-top: 30px; }
.idx_box01 { width: 100%; margin: 0 auto; }
.idx_box01_txtbox { width: 100%; margin-bottom: 30px;  }
.idx_box01_imgbox { width: 100%;  position: relative; }
.idx_box01_img { width: 100%; margin: 0 auto; }
.idx_box01_img img { width: 100%; height: auto; }

.idx_box01_02 { width:100%; margin:30px auto; border:1px solid #1a6bb5; padding:20px; box-sizing:border-box;}
.idx_box01_02_01 { width:100%; margin-bottom:20px;}
.idx_box01_02_02 { width:100%;}

.idx_box01_02_01 img,
.idx_box01_02_02 img{ width:100%; margin:0 auto 20px;}


/*-------idx_box04-------------*/

#idx_box04 { width: 100%; margin: 0 auto; position: relative; margin-bottom: 100px;  }
.idx_box04_list { width: 100%; margin: 0 auto; margin-top: 30px; }
.idx_box04_list li { width: 100%;  box-shadow: 0 32px 16px -16px rgba(27,27,27,.1); }
.idx_box04_list li:nth-child(n+2) { margin-top: 30px;  }
.idx_box04_list_txtxbox { padding: 30px; position: relative; background: #fff; }
.idx_box04_list_type { position: absolute; left: 0; top: -15px; }
.idx_box04_list_type span { background: #1a6bb5; padding: 5px 15px; color: #fff;  }
.idx_box04_list_year { font-size: 16px; margin-bottom: 10px; }
.idx_boc04_list_name { font-size: 20px; font-weight: bold; }
.idx_boc04_list_name span { padding-left: 15px; color: #1a6bb5; font-weight: 500; }

.read_txt {
	font-size:1.1em;
	letter-spacing:0px;
	text-align:center;
	color:#1a6bb5;
	margin:30px auto 10px;
}

/*-------idx_box05-------------*/

.idx_box05_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.idx_box05_list li { width: 100%; }
.idx_box05_list li:nth-child(n+2) { margin-top: 30px;  }
.read_btn2 { position: absolute; bottom: 0; right: 0; width: 50px; height: 50px; background: #1a6bb5;  vertical-align: middle; }
.read_btn2 span { font-size: 16px; color: #fff; position: relative; padding-right: 50px; margin-top: 30px; z-index: 10;}
.read_btn2 span{ color: #fff; font-size: 16px; font-weight: bold; }
.read_btn2 span::before { position: absolute; display: block; content: "\f061"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right: 0; left: 0; margin: auto; font-size: 18px; top:12px;  -webkit-transition: all 0.3s ease-out; text-align: center; 
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }

.idx_box05_list li a:hover .read_btn2 span::before {right: -5px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}


.idx_box05_list_tit { font-size: 20px; font-weight: bold; margin-bottom: 15px;  }
.idx_box05_list_txt {  margin-bottom: 15px;}
.idx_box05_list_txtbox {padding-top: 20px;   }

.photo_hover_wrap2 { position: relative; }


/*--------idx_box03---------*/


.message_list { width: 100%; margin: 50px auto 0px; }
.message_list li { width: 70%; background: #1a6bb5; }
.message_list li:nth-of-type(1) { margin: auto auto auto 0; }
.message_list li:nth-of-type(2) { margin: auto 0 auto auto; margin-top: 50px; }

.message_box { width: 100%; display: flex; flex-wrap: wrap; align-items: center; }

.message_img { width: 100%; }
.message_img img { width: 100%; height: auto; }
.message_txtbox { flex-basis: 60%; padding: 30px; box-sizing: border-box; color: #fff; }


.message_list li a .read_btn_list { font-size: 16px; color: #fff; position: relative; text-align: right; padding-right: 50px; margin-top: 30px; font-weight: bold; }
.message_list li a .read_btn_list::before {position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #fff; font-weight: bold; right: 20px;  font-size: 18px; top: 2px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.message_list li a:hover .read_btn_list::before {right: 10px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}



}