@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: 100vh;
background: url(../images/index/dot.png) ,rgba(255,255,255,0.05);
z-index: 1;
}

.hedTitWrap {
width: calc(100% - 80px);
height: 100vh;
position: relative;
}

.headerslider {
width: 100%;
position: relative;
height: 100vh;
}

.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: 5vw; }
.idxHedTitIn h2 span.sp02 { display: block; font-size: 25px;   }

.idxHedTit_txt { font-size: 18px; text-align: left; color: #fff; font-weight: bold; letter-spacing: 0.02em; line-height: 2em;  }

.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%; max-width: 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%; max-width: 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 #d0121b; 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 #d0121b; 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: #d0121b; 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: #d0121b; position: relative; text-align: right; padding-right: 50px; margin-top: 30px; }
.read_btn a { color: #d0121b; 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: #d0121b; 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: 40px; font-weight: bold; font-family: 'Open Sans', sans-serif; color: #d0121b; display: block; }
.idx_tit span.jp { font-size: 20px; 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: #dd0012; margin-bottom: 15px;  }

/*-------idx_box01-------------*/

#idx_box01 { margin: 0 auto 150px; }
.idx_box01 { width: 100%; margin: 0 auto; position: relative; }
.idx_box01_txtbox { width: 65%; margin:  auto 0 auto auto; }
.idx_box01_tit { font-size: 25px; font-weight: bold; line-height: 2em; color: #dd0012;text-align: left; margin-bottom: 50px;}
.idx_box01_txt { font-size: 16px; text-align: left; line-height: 2em; }
.idx_box01_imgbox { position: absolute; top: -30px; left: -100px; }
.idx_box01_img { background: url(../images/index/r_logo.png) 0 0 ; width: 500px; height: 500px; background-size: 100%; z-index: -1; }


/*-------idx_box02-------------*/
#idx_box02 { margin: 0 80px 70px;  background: rgba(221,0,18,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: 100px; font-weight: 900; color: #ecd7d8; margin-top: -150px; 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%; max-width: 48%; }
.idx_box02_imgbox { flex-basis: 48%; max-width: 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_box03-------------*/

#idx_box03 { margin: 0 auto; margin-bottom: 20px;  }
#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%; max-width: 48%; }
.idx_box03_imgbox { flex-basis: 48%; max-width: 48%; } 
.idx_box03_img { width: 900px; margin: 0 auto; margin-right: -380px;  }
.idx_box03_img img { width: 100%; height: auto; }


/*-------idx_box04-------------*/

#idx_box04 { width: 100%; margin: 0 auto; position: relative; margin-bottom: 100px;  }
#idx_box04::before { position: absolute; left: 0; right: 0; top: 0%; margin-top: -50px; background: url(../images/index/idx_box04_bgimg.png) ; width: 1200px; height: 697px; background-repeat: repeat-x; content: ""; display: block; background-size: 100%; z-index: -10; }
#idx_box04::after { position: absolute;  right: 0; bottom: -50px; margin-top: -70px; background: url(../images/index/idx_box04_bgimg.png) ; width: 1200px; height: 697px; background-repeat: repeat-x; content: ""; display: block; background-size: 100%; z-index: -10; }
#idx_box04 .idx_txt { text-align: center; }
.idx_box04_list { width: 100%; margin: 0 auto; margin-top: 100px; display: flex; flex-wrap: wrap; justify-content: space-between; }
.idx_box04_list li { width: 32%; margin-right: 2%; position: relative; }
.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(4) { margin-top: -50px; }
.idx_box04_list li:nth-of-type(5),.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;  box-shadow: 0 32px 16px -16px rgba(27,27,27,.1);  }
.idx_box04_list_type { position: absolute; top: 0; right: 0; z-index: 10; }
.idx_box04_list_type  span { background: #dd0012; padding: 5px 10px; color: #fff; font-size: 14px; font-weight: bold; box-sizing: border-box;  }
.idx_box04_list_type_sub { font-size: 14px; font-weight: bold; margin-bottom: 10px;  }
.idx_box04_list_year { font-size: 14px;  }
.idx_boc04_list_name { font-size: 16px; font-weight: 500; }
.idx_boc04_list_name span { color: #dd0012; font-weight: 500; display: block; }


.photo_hover_wrap img {
width: 100%;
height: auto;
}

.photo_hover_wrap {
display: block;
height: 380px;
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: 200px;  }
.idx_box05_list { width: 90%; margin: 0 auto; }
.idx_box05_list li { width: 100%; margin: 0 auto; position: relative; }
.idx_box05_list li::before {
content: "";
display: block;
position: absolute;
width: 100%;
height: 100%;
background: #dd0012;
z-index: -1;
top: 50px;
left: 50px;
}
.idx_box05_list li::after {
content: "Read More  \f061";
position: absolute;
color: #fff;
display: block;
bottom: -35px;
font-weight: bold;
 font-family: "Font Awesome 5 Free";
right: 10px;
}
.idx_box05_list li:nth-child(2n+2) { margin-right: 0px; }
.read_btn2 { position: absolute; bottom: -30px; right: 0; vertical-align: middle; z-index: 10; }
.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: 515px;
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: #d0121b; }
.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%; margin: 0 auto; }
.message_img img { width: 100%; height: auto; }
.message_txtbox { flex-basis: 60%; max-width: 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: 50px;
}

.idxHedTitIn h2 span.sp01 { display: block; font-weight: bold; font-size: 5vw; }
.idxHedTitIn h2 span.sp02 { display: block; font-size: 16px;   }

.idxHedTit_txt { font-size: 14px; text-align: left; color: #fff; font-weight: bold; letter-spacing: 0.02em; line-height: 2em;  }

.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 #d0121b; 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 #d0121b; 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: #d0121b; 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: #d0121b; position: relative; text-align: right; padding-right: 50px; margin-top: 30px; }
.read_btn a { color: #d0121b; 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: #d0121b; 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: 40px; font-weight: bold; font-family: 'Open Sans', sans-serif; color: #d0121b; display: block; }
.idx_tit span.jp { font-size: 20px; 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: #dd0012; margin-bottom: 15px;  }

/*-------idx_box01-------------*/

#idx_box01 { margin: 0 auto 70px; }
.idx_box01 { width: 100%; margin: 0 auto; position: relative; }
.idx_box01_txtbox { width: 100%; margin: 0 auto; }
.idx_box01_tit { font-size: 20px; font-weight: bold; line-height: 2em; color: #dd0012;text-align: left; margin-bottom: 30px; }
.idx_box01_txt { font-size: 16px; text-align: left; line-height: 2em; }
.idx_box01_imgbox { position: absolute; bottom: -30px; left: -100px; }
.idx_box01_img { background: url(../images/index/r_logo.png) 0 0 ; width: 500px; height: 500px; background-size: 100%; z-index: -1; }


/*-------idx_box02-------------*/
#idx_box02 {  background: rgba(221,0,18,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: #ecd7d8; 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_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_box04-------------*/

#idx_box04 { width: 100%; margin: 0 auto; position: relative; margin-bottom: 100px;  }
#idx_box04::before { position: absolute; left: 0; right: 0; top: 0%; margin-top: -50px; background: url(../images/index/idx_box04_bgimg.png) ; width: 1200px; height: 697px; background-repeat: repeat-x; content: ""; display: block; background-size: 100%; z-index: -10; }
#idx_box04::after { position: absolute;  right: 0; bottom: -50px; margin-top: -70px; background: url(../images/index/idx_box04_bgimg.png) ; width: 1200px; height: 697px; background-repeat: repeat-x; content: ""; display: block; background-size: 100%; z-index: -10; }
.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); position: relative; }
.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 { }
.idx_box04_list_type  span { background: #dd0012; padding: 5px 10px; color: #fff; font-size: 14px; font-weight: bold; box-sizing: border-box;  position: absolute; top: 0; right: 0; z-index: 10; }
.idx_box04_list_type_sub { font-size: 14px; font-weight: bold; margin-bottom: 10px;  }
.idx_box04_list_year { font-size: 14px;  }
.idx_boc04_list_name { font-size: 16px; font-weight: 500; }
.idx_boc04_list_name span { display: block; color: #dd0012; font-weight: 500; }



/*-------idx_box05-------------*/
#idx_box05 { width: 100%; margin: 0 auto; position: relative; margin-bottom: 70px;  }
.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: #dd0012;  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: #d0121b; }
.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;
}



}