@charset "utf-8";
/* CSS Document */
/* メインテキスト上部の動く装飾　*/
@keyframes boxMove {
	0% {
		top: 0;
	}
	40% {
		top: 41px;
	}
	60% {
		top: 41px;
	}
	80% {
		top: 0;
	}
	100% {
		top: 0;
	}
}
/*PC*/
@media print, screen and (min-width: 768px) {
#header {
z-index: 10000;
/*background-color: rgba(255,255,255,0.70)*/
}


#menu li a { color: #fff!important;}
.subMenu li a { color: #fff!important;}

.logo_com { display: none; }
header.smaller #menu li a { color: #333!important;}

#header {
z-index: 10000;
/*background-color: rgba(255,255,255,0.70)*/
}
.logo_Hed { display: none; }

.logo_Hed_index {
-moz-transition: all 0.3s;
position: absolute;
top: 30px;
left: 20px;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
width: 230px;
}

.logo_Hed_index img {
width: 100%;
height: auto;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.logo_Hed_index a {
display: block;
width: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

header.smaller .logo_Hed {
opacity: 1!important;
width: 180px;
display: block;
position: absolute;
left: 15px;
top: 18px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

header.smaller .logo_Hed_index {
display: none;
}

header.smaller .logo_Hed img {
width: 100%;
height: auto;
}
header.smaller .subMenu li a { color: #333!important;}

header.smaller .menuWrap .menu__line { background: #000; }
header.smaller .menuWrap .menu { margin-top: 25px; }
header.smaller .menuWrap .menu__line.active { background: #000; }
.menuWrap .menu__line { background: #fff; }
.menuWrap .menu__line.active { background: #000; }
/*--------------------*/

/*.headerWrap:before {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 71.4%;
height: 400px;
background: #dd0012;
}*/

.hedTitWrap {
height: calc(100% - 60px);
padding: 0;
}

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

.idxHedTitIn {
width: 55%;
z-index: 1000;
margin: 0 auto;
}
.hedTitWrap {
height: 100%;
position: relative;
}
.idx_logo { width: 430px; margin: 0 auto; }
.idx_logo span.logo_en { display: block; color: #fff; font-size: 22px; font-family: 'Open Sans', sans-serif; font-weight: 400; text-align: center; margin-top: 15px; }
.idx_logo img { width: 100%; height: auto; }
.idx_Hed_tit { font-size: 1.8vw; font-weight: 300; margin-bottom: 30px; color: #fff; text-align: center; }
.idx_Hed_txt { color: #fff; font-weight: 200!important; text-align: center; line-height: 2em; letter-spacing: 0.06em; font-size: 14px; }



/*---------mv---------------*//**********************************
slider
**********************************/
.hed_slider {
width:100%;
position:relative;
margin:70px auto 0;
}

.slider_btn {
position:absolute;
width:270px;
top:14%;
right:1%;
z-index:100;
}

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

#photograph {
position:relative;
width: 100%;
height:2000px;
margin:-100px 0 0
}

.catchArea {
bottom: 100px;
display: block;
left: 0;
position: absolute;
right: 0;
text-align: center;
z-index: 2;
}

.inner {
border: 3px solid #fefefe;
display: inline-block;
margin: 0 auto;
padding: 50px 70px;
}

.catchArea h2 {
color: #fff;
font-size: 35px;
letter-spacing: 2px;
line-height: 1;
text-align: center;
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
/*text-shadow: 0 0 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.2), 0 -1px 1px rgba(255, 255, 255, 0.2);*/
}

.catchArea h2 span {
font-size:20px;
}

.catchArea h3 {
color: #fff;
font-size: 14px;
letter-spacing: 0.15em;
margin-top: 30px;
font-weight: normal; 
line-height: 1.8em;
text-align: center;
}

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

.scroll { position: relative; margin-top: -80px; z-index: 100; font-weight: normal; }
.scroll::before {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	width: 9px;
	height: 9px;
	border-radius: 9px;
	margin-left: -4px;
	background-color: #fff;
	animation-name: boxMove;
	animation-duration: 3s;
	animation-timing-function: ease;
	animation-iteration-count: infinite;
}
.scroll::after {
	content: '';
	display: block;
	position: absolute;
	top: 0px;
	left: 50%;
	width: 1px;
	height: 50px;
	background-color: #fff;
}

.scroll p { text-align: center; color: #fff; font-weight: bold; padding-top: 50px;  }

/*----------------index共通------------------------------------*/

.idx_tit { font-size: 16px; color: #333; margin-bottom: 30px; font-weight: 500; letter-spacing: 0.07em;  }
.idx_tit span.en { font-size: 35px; font-weight: 300; display: block; }


.idx_tit_C { font-size: 28px; color: #333; margin-bottom: 30px; font-weight: bold; letter-spacing: 0.07em; text-align: center; }
.idx_subtit { font-size: 21px; color: #765635; margin-bottom: 30px; font-weight: bold; }
.idx_txt { color: #999; font-size: 14px; text-align: left; line-height: 2.5em; margin-bottom: 30px; }
.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: 55%; float: left; }
.idx_txtbox_40r { width: 45%; float: right; }

/*--------------idx_box00---------------------------*/

#idx_box00 { width: 100%; margin: 0 auto; padding: 100px 0px;  }

.idx_box00 { width: 50%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; position: relative; }
.idx_box00_titbox { width: 15%;  }
.idx_box00_txtbox { width: 55%; }
.idx_box00_tit { writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; text-orientation: upright; text-align: left; font-size: 28px; vertical-align: middle; margin: 0 auto; line-height: 2em; color: #000; display: inline-block; font-weight: bold; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif; }
.idx_box00_txt { writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; text-orientation: upright; text-align: left; font-size: 18px; margin: auto 0 auto auto; line-height: 4.5em; display: inline-block; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif; }


/*--------------idx_box01-----------------*/
#idx_box01 { margin-bottom: 100px;  }
#idx_box01 .com_btn { margin: auto auto auto 0;  }
.idx_box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; }
.idx_txtbox { flex-basis: 43%; margin-right: 5%; }
.idx_imgbox { flex-basis: 52%; }

.idx_box01_imgin { width: 100%; margin: 0 auto; }
.idx_box01_img_l { width: 50%; float: left;  }
.idx_box01_img_r { width: 50%; float: right; margin-top: 100px; }
.idx_box01_img_l img,.idx_box01_img_r img { width: 100%; height: auto; }

.idx_list_txt { width: 100%; margin: 0 auto; }
.idx_list_txt li { position: relative; padding-left: 23px; line-height: 1.8em; font-size: 16px;}
.idx_list_txt li:nth-child(n+2) { margin-top: 10px; }
.idx_list_txt li::before { content: "\f00c"; position: absolute; left: 0; top: 0px; font-size: 16px; color: #765635; font-family: "Font Awesome 5 Free"; font-weight: bold; display: block; }
.idx_list_txt li span { display: block; color: #765635; font-size: 15px; line-height: 1.5em; margin-top: 5px; }


.idx_box01 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap;  }
.idx_box01_titbox { width: 40%; }
.idx_box01_txtbox { width: 55%; }

.idx_box01_slider { width: 100%; margin: 0 auto; margin-top: 50px; }

.slider{
margin: 0 auto; 
width: 100%;
padding: 0px;
}

.slider li { margin-right: 70px;  width: 900px; }

.slider img{
height: auto;
width: 100%;
}
/*slick setting*/
.slick-prev:before,
.slick-next:before {
color: #000;
}

/*----------idx_box02--------------*/

#idx_box02 { margin: 0 auto; position: relative; margin-bottom: 100px; padding-bottom: 100px; }
#idx_box02::before { content: ""; display: block; width: 100%; height: 35vw; background: #000; position: absolute; bottom: 0;  left: 0; right: 0; z-index: -1; }
#idx_box02 .com_btn2 { margin: 0 auto; }

.voice_btn { width: 100%; margin: 0 auto; margin-top: 50px; }
.voice_btn a { display: block; padding: 30px; background: #fff; text-align: center; position: relative; font-weight: 300; font-size: 20px; }
.voice_btn a::before { font-family: "Font Awesome 5 Free"; content: "\f054"; position: absolute; top: 32px; right: 150px; color: #000; font-weight: bold; -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; }
.voice_btn a:hover::before { right: 140px; -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; }


.voice_list { width: 100%; margin: 0 auto; margin-top: 100px; }
.voice_list li { width: 32%; float: left; margin-right: 2%; position: relative; }
.voice_list li:nth-child(3n+3) { margin-right: 0px; }
.voice_list li:nth-of-type(2) { margin-top: 100px; }

.voice_titbox { position: absolute; left: 15px; bottom: 15px; color: #fff;  }
.voice_name {}
.voice_name span.en { font-size: 30px; font-weight: 300; display: block; letter-spacing: 0.1em; }
.voice_name span.jp { font-size: 16px; font-weight: 500; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif; }
.voice_type { font-size: 14px; font-weight: 300; }

.voice_department { position: absolute; top: 0; right: 0;  }
.voice_department span { background: #000; color: #fff; padding: 3px 10px; display: block; font-size: 14px; }


.voice_s {
position: relative;
overflow: hidden;
height: 35vw;
}

.voice_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.voice_s a .voice_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}

.voice_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.voice_01::before {
background: url("../images/voice/v_img01.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.voice_02::before {
background: url("../images/voice/v_img02.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.voice_04::before {
background: url("../images/voice/v_img04.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

/*----------idx_box03----------*/
#idx_box03 { margin-bottom: 100px; }
.message_list { width: 100%; margin: 0 auto; }
.message_list li { width: 48%; float: left; margin-right: 4%; }
.message_list li:nth-child(2n+2) { margin-right: 0px; }
.message_list li:nth-of-type(2) { margin-top: 100px; }
.message_titbox { padding: 15px; position: relative; z-index: 1; width: 40%; background: #fff; margin: auto 0 auto auto; margin-top: -30px; font-size: 20px; }

.message_s {
position: relative;
overflow: hidden;
height: 25vw;
}

.message_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

/*.message_s a .voice_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}
*/
.message_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.message_01::before {
background: url("../images/index/message_01.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.message_02::before {
background: url("../images/index/message_02.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
} 
/*--------------idx_box04-----------------*/

.idx_box04_titbox { padding: 50px 50px 0px 50px; background: #fff; position: relative; margin-top: -100px; }
.idx_box04_img { width: 100%; background: url("../images/index/idx_box04_img.jpg") center center; background-size: cover; height: 500px; }

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

#idx_box05 { width: 100%; margin: 0 auto 100px; padding-top: 100px; position: relative; }

#idx_box05 { margin-bottom: 100px; }
#idx_box05 .idx_tit { text-align: center; }

#idx_box05 .com_btn { margin: auto 0 auto auto; margin-top: 30px;  }


.idx_box05 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.idx_box05_imgbox { width: 50%; }
.idx_box05_img { width: 100%; background: url("../images/index/idx_box05_img.jpg") center center; background-size: cover; height: 100%; }

.idx_box05_txtbox { padding: 50px; background: #fff; width: 50%; box-sizing: border-box; }




.idx_box05_list { width: 100%; margin: 0 auto; }
.idx_box05_list li:nth-child(n+2) { margin-top: 50px;   }
.idx_box05_list_box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }

.mix_s { width: 40%; }
.idx_box05_list_txtbox { width: 55%; color: #999; }


.mix_s {
position: relative;
overflow: hidden;
height: 10vw;
}
/*
.mix_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.mix_s a .mix_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}*/
.mix_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.mix_01::before {
background: url(../images/contribution/w01_img01.jpg) center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.mix_02::before {
background: url(../images/contribution/w02_img01.jpg) center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}
/*-----------idx_box06--------------*/

#idx_box06 { margin-bottom: 100px; }
.idx_box06_img { width: 100%; margin: 0 auto; background: url(../images/index/idx_box06_img.jpg) center center; height: 400px; background-size: cover; margin-bottom: 100px; }
#idx_box06 .idx_subtit { text-align: center; }






}





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



@keyframes scrollMark {
 0% {
  opacity:0;
  transform:translate(0)
 }
 20% {
  opacity:1;
  transform:translate(0)
 }
 80% {
  opacity:1;
  transform:translate(-45px)
 }
 to {
  opacity:0;
  transform:translate(-45px)
 }
}


/*sp*/
@media only screen and (max-width: 767px) {#header {
z-index: 10000;
/*background-color: rgba(255,255,255,0.70)*/
}

.mainMenu { height: 0px; }

#menu li a { color: #fff!important;}
.subMenu li a { color: #fff!important;}

.logo_com { display: none; }
header.smaller #menu li a { color: #333!important;}

#header {
z-index: 10;
/*background-color: rgba(255,255,255,0.70)*/
}
.logo_Hed { display: none; }

.logo_Hed_index {
-moz-transition: all 0.3s;
position: absolute;
top: 18px;
left: 10px;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
width: 150px;
}

.logo_Hed_index img {
width: 100%;
height: auto;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.logo_Hed_index a {
display: block;
width: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

header.smaller .logo_Hed {
opacity: 1!important;
width: 180px;
display: block;
position: absolute;
left: 15px;
top: 16px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

header.smaller .logo_Hed_index {
display: none;
}

header.smaller .logo_Hed img {
width: 100%;
height: auto;
}
header.smaller .subMenu li a { color: #333!important;}

header.smaller .menuWrap .menu__line { background: #000; }
header.smaller .menuWrap .menu { margin-top: 25px; }
header.smaller .menuWrap .menu__line.active { background: #000; }
.menuWrap .menu__line { background: #fff; }
.menuWrap .menu__line.active { background: #000; }
/*--------------------*/

/*.headerWrap:before {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 71.4%;
height: 400px;
background: #dd0012;
}*/

.hedTitWrap {
/*height: calc(100% - 60px);*/
padding: 0;
position: relative;
display: table-cell;
vertical-align: middle;
margin-top: -60px;
}

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

.idxHedTitIn {
width: 80%;
z-index: 10;
margin: 0 auto;
}
.idx_logo { width: 200px; margin: 0 auto; }
.idx_logo span.logo_en { display: block; color: #fff; font-size: 12px; font-family: 'Open Sans', sans-serif; font-weight: 400; text-align: center; margin-top: 15px; }
.idx_logo img { width: 100%; height: auto; }
.idx_Hed_tit { font-size: 3.8vw; font-weight: 300; margin-bottom: 30px; color: #fff; text-align: center; }
.idx_Hed_txt { color: #fff; font-weight: 200!important; text-align: center; line-height: 2em; letter-spacing: 0.06em; font-size: 10px; }


/*---------------------------スライダー----------------------------------------------*/


/**********************************
slider
**********************************/
.hed_slider {
width:100%;
position:relative;
margin:0 auto 0;
}

.slider_btn {
position:absolute;
width:120px;
top:14%;
right:1%;
z-index:100;
}

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

#photograph {
width: 100%;
height:2000px;
}

.main_catch {
position:absolute;
top:30%;
left:5%;
margin-left:0;
z-index:200;
width:90%;
}

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

.catchArea {
bottom: 100px;
display: block;
left: 3%;
position: absolute;
right:3%;

text-align: center;
z-index: 2;
}

.inner {
border: 3px solid #fefefe;
display: inline-block;
margin: 0 auto;
padding: 20px 5%;
}

.catchArea h2 {
color: #fff;
font-size: 20px;
letter-spacing: 2px;
text-align: center;
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
line-height: 1.8em;
}

.catchArea h2 span {
font-size:14px;
}

.catchArea h3 {
color: #fff;
font-size: 12px;
font-weight: 500;
letter-spacing: 0.1em;
margin-top: 25px;
line-height: 1.5em; 
text-align: center;
}



.scroll { position: relative; margin-top: -80px; z-index: 10; font-weight: normal; }
.scroll::before {
content: '';
display: block;
position: absolute;
left: 50%;
width: 9px;
height: 9px;
border-radius: 9px;
margin-left: -4px;
background-color: #fff;
animation-name: boxMove;
animation-duration: 3s;
animation-timing-function: ease;
animation-iteration-count: infinite;
}
.scroll::after {
content: '';
display: block;
position: absolute;
top: 0px;
left: 50%;
width: 1px;
height: 50px;
background-color: #fff;
}

.scroll p { text-align: center; color: #fff; font-weight: bold; padding-top: 50px;  }



/*----------------index共通------------------------------------*/

.idx_tit { font-size: 16px; color: #333; margin-bottom: 30px; font-weight: 500; letter-spacing: 0.07em; }
.idx_tit span.en { font-size: 25px; font-weight: 300; display: block; }

.idx_tit_C { font-size: 21px; color: #333; margin-bottom: 15px; font-weight: bold; letter-spacing: 0.07em; text-align: center; }
.idx_subtit { font-size: 18px; color: #765635; margin-bottom: 15px; font-weight: bold; }
.idx_txt { color: #333; font-size: 14px; text-align: left; line-height: 2.5em;  }
.idx_txtbox_35l { width: 100%; margin: 0 auto; }
.idx_imgbox_60r { width: 100%; margin: 0 auto; }
.idx_txtbox_35r { width: 100%; margin: 0 auto; }
.idx_imgbox_60l { width: 100%; margin: 0 auto; }
.idx_txtbox_40r { width: 100%; margin: 0 auto; }


/*--------------idx_box00---------------------------*/

#idx_box00 { width: 100%; margin: 0 auto; padding: 70px 0px;  }

.idx_box00 { width: 100%; margin: 0 auto;  }
.idx_box00_titbox { width: 100%; margin: 0 auto 30px; }
.idx_box00_txtbox { width: 100%; }
.idx_box00_tit {  text-align: left; font-size: 20px; vertical-align: middle; margin: 0 auto; color: #000; display: inline-block; font-weight: bold; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif; }
.idx_box00_txt { text-align: left; font-size: 16px; margin: auto 0 auto auto; line-height: 2.5em; display: inline-block; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif; }

/*--------------idx_box01-----------------*/
#idx_box01 { margin-bottom: 70px;  }
#idx_box01 .com_btn { margin: auto auto auto 0;  margin-top: 30px; }

.idx_box01 { width: 100%; margin: 0 auto;  }
.idx_box01_titbox { width: 100%; margin: 0 auto 30px; }
.idx_box01_img { width: 100%; margin: 0 auto 30px; }
.idx_box01_img img { width: 100%; height: auto; }
.idx_box01_txtbox { width: 100%;  margin: 0 auto; }

.idx_box01_slider { width: 100%; margin: 0 auto; margin-top: 50px; }

.slider{
margin: 0 auto; 
width: 100%;
padding: 0px;
}

.slider li { margin-right: 70px;  width: 100%!important; height: 300px!important; padding: 0px!important;}

.slider img{
height: auto;
width: 100%;
}
/*slick setting*/
.slick-prev:before,
.slick-next:before {
color: #000;
}
.slick-track { width: 100%!important; height: 300px!important; }



/*----------idx_box02--------------*/

#idx_box02 { margin: 0 auto; position: relative; margin-bottom: 70px; padding-bottom: 70px; }
#idx_box02::before { content: ""; display: block; width: 100%; height: 125vw; background: #000; position: absolute; bottom: 0;  left: 0; right: 0; z-index: -1; }
#idx_box02 .com_btn2 { margin: 0 auto; }

.voice_btn { width: 100%; margin: 0 auto; margin-top: 50px; }
.voice_btn a { display: block; padding: 15px; background: #fff; text-align: center; position: relative; font-weight: 300; font-size: 16px; }
.voice_btn a::before { font-family: "Font Awesome 5 Free"; content: "\f054"; position: absolute; top: 18px; right: 30px; color: #000; font-weight: bold; -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; }
.voice_btn a:hover::before { right: 20px; -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; }


.voice_list { width: 100%; margin: 0 auto; margin-top: 50px; }
.voice_list li { width: 100%;  position: relative; }
.voice_list li:nth-child(n+2) { margin-top: 30px;  }

.voice_titbox { position: absolute; left: 15px; bottom: 15px; color: #fff;  }
.voice_name {  }
.voice_name span.en { font-size: 20px; font-weight: 300; display: block; letter-spacing: 0.1em; }
.voice_name span.jp { font-size: 16px; font-weight: 500; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif; }
.voice_type { font-size: 14px; font-weight: 300; }

.voice_department { position: absolute; top: 0; right: 0;  }
.voice_department span { background: #000; color: #fff; padding: 3px 10px; display: block; font-size: 12px; }
.voice_s {
position: relative;
overflow: hidden;
height: 100vw;
}

.voice_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.voice_s a .voice_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}

.voice_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.voice_01::before {
background: url("../images/voice/v_img01.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.voice_02::before {
background: url("../images/voice/v_img02.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.voice_04::before {
background: url("../images/voice/v_img04.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

/*----------idx_box03----------*/
#idx_box03 { margin-bottom: 70px; }
.message_list { width: 100%; margin: 0 auto; }
.message_list li { width: 100%;  }
.message_list li:nth-child(n+2) { margin-top: 30px;  }
.message_titbox { padding: 15px; position: relative; z-index: 1; width: 50%; background: #fff; margin: auto 0 auto auto; margin-top: -30px; font-size: 16px; }

.message_s {
position: relative;
overflow: hidden;
height: 50vw;
}

.message_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

/*.message_s a .voice_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}
*/
.message_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.message_01::before {
background: url("../images/index/message_01.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}


.message_02::before {
background: url("../images/index/message_02.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
} 

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

.idx_box04_titbox { padding: 50px 50px 0px 50px; background: #fff; position: relative; margin-top: -100px; }
.idx_box04_img { width: 100%; background: url("../images/index/idx_box04_img.jpg") center center; background-size: cover; height: 300px; }


#idx_box04 .com_btn { margin-top: 30px; }

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

#idx_box05 { width: 100%; margin: 0 auto 70px; padding-top: 70px; position: relative; }

#idx_box05 { margin-bottom: 70px; }
#idx_box05 .idx_tit { text-align: center; }

#idx_box05 .com_btn { margin: auto 0 auto auto; margin-top: 30px;  }


.idx_box05 { width: 100%; margin: 0 auto;  }
.idx_box05_imgbox { width: 100%; }
.idx_box05_img { width: 100%; background: url("../images/index/idx_box05_img.jpg") center center; background-size: cover; height: 300px; }

.idx_box05_txtbox { padding: 5%; background: #fff; width: 80%; margin: 0 auto; margin-top: -70px; position: relative; z-index: 10; }




.idx_box05_list { width: 100%; margin: 0 auto; }
.idx_box05_list li:nth-child(n+2) { margin-top: 50px;   }
.idx_box05_list_box { width: 100%; margin: 0 auto; }

.mix_s { width: 100%;  margin: 0 auto 15px; }
.idx_box05_list_txtbox { width: 100%; color: #999; }


.mix_s {
position: relative;
overflow: hidden;
height: 30vw;
}
/*
.mix_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.mix_s a .mix_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}*/
.mix_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}


.mix_01::before {
background: url(../images/contribution/w01_img01.jpg) center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.mix_02::before {
background: url(../images/contribution/w02_img01.jpg) center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}









}