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

/*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: 35px;
left: 20px;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
width: 200px;
display: none;
}

.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;
}

.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---------------*/
#dot {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
min-height: 700px;
background: url(../images/com/dot.png),rgba(0,0,0,0.3);
z-index: 1000;
}


#mv {
width: 100%;
overflow: hidden;
height: 100%;
position: absolute;
min-width: 1200px;
z-index: 1;
top: 0;
left: 0;
}

.slider_logo {
position: absolute;
z-index: 6;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 350px;
height: 59px;
margin: auto;
visibility: hidden;
opacity: 0;
text-align: center;
margin-bottom: 50px;
}

#mv video {
filter: brightness(50%);
position: absolute;
top: 0;
left: 0;
width: auto;
height: auto;
min-width: 100%;
min-height: 100%;
max-width: inherit;
}
.main_mv { width: 100%; height: 100%; }


.m-kv__scroll {
position:absolute;
left:0;
right: 0;
margin: auto;
bottom:65px;
opacity:1;
transition:.5s;
letter-spacing:.4rem;
cursor:pointer;
transform-origin:left center;
transition-delay: 0s;
color: #fff;
z-index: 1000;
text-align: center;
}

.m-kv__txt {
font-family:Lato,sans-serif;
font-size:1rem;
font-weight:700;
}

.m-kv__line {
 position:absolute;
 width:50px;
 height:1px;
 top: 100px;
 background:#fff;
 left:0;
 right: 0;
 margin: auto;
 display: block;
 bottom:8px;
 transform:rotate(-90.1deg);
}
.m-kv__line:before {
 position:absolute;
 content:"";
 width:5px;
 height:5px;
 background:#fff;
 border-radius:50%;
 left:45px;
 bottom:-2px;
 opacity:0;
 transform:translate(0);
 animation:scrollMark 3.6s cubic-bezier(.645,.045,.355,1) infinite
}

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

.idx_tit { font-size: 28px; color: #333; margin-bottom: 30px; font-weight: bold; letter-spacing: 0.07em; }
.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: #333; font-size: 15px; text-align: left; line-height: 2.5em; margin-bottom: 50px; }
.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; background: url(../images/index/main_bg.png),url(../images/com/gnav_contents_bg2.jpg) ; background-position: bottom 50px right 10% ,top left; background-size: 358px 268px,1000px 800px; background-repeat:no-repeat,repeat; }*/
/*#idx_box00 { width: 100%; margin: 0 auto; padding: 100px 0px; background: url(../images/index/main_bg2.png),url(../images/com/gnav_contents_bg2.jpg) ; background-position: bottom 0px right 0% ,top left; background-size: 350px 511px,1000px 800px; background-repeat:no-repeat,repeat; }*/
#idx_box00 { width: 100%; margin: 0 auto; padding: 100px 0px; background:url(../images/com/gnav_contents_bg2.jpg) ; background-position: top left; background-size:1000px 800px; background-repeat:repeat; overflow: hidden; }

.idx_box00::after { position: absolute; display: block; content: ""; bottom: -100px; right: -30%; background: url(../images/index/main_bg2.png); width: 350px; height: 511px; background-repeat: no-repeat; }
.idx_box00 { width: 65%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; position: relative; }
.idx_box00_titbox { width: 20%; margin: 0 auto; }
.idx_box00_txtbox { width: 75%; }
.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: #765635; display: inline-block; font-weight: bold; }
.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: 3.5em; display: inline-block; }


/*--------------idx_box01-----------------*/
#idx_box01 { margin-bottom: 100px; margin-top: 100px; }
#idx_box01 .com_btn { margin: auto auto auto 0; margin-top: 30px; }
.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_box02-----------------*/
#idx_box02 { margin-bottom: 100px; }
.idx_box02_txtbox { width: 100%; height: 100%; background: url(../images/com/gnav_contents_bg.jpg)center center; background-size: cover; padding: 100px 100px; box-sizing: border-box; min-height: 600px; display: table; }
.idx_box02_txtbox_in { display: table-cell; vertical-align: middle; }
.idx_box02_img { width: 100%; background: url("../images/index/idx_box02_img01.jpg") center center no-repeat;
background-size: cover; height: 100%; min-height: 600px;}
/*--------------idx_box03-----------------*/

#idx_box03 { margin: 0 100px; margin-bottom: 100px; }
.idx_box03_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; margin-top: 50px; }
.idx_box03_list li { width: 48%; margin-right: 4%; }
.idx_box03_list li:nth-child(2n+2) { margin-right: 0px; }
.idx_box03_list_img { width: 100%; margin: 0 auto; }
.idx_box03_list_img img { width: 100%; height: auto; }
.idx_box03_list_tit { font-size: 20px; text-align: center; margin-top: 15px; color: #765635;  }


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

.photo_hover_wrap {
display: block;
height: 20vw;
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_box03_list li a:hover .photo_hover_wrap {
text-decoration: none;
cursor: pointer;
}
.idx_box03_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_box04----------*/

#idx_box04 { width: 100%; margin: 0 auto 100px; padding-top: 100px; position: relative; }
#idx_box04::before { position: absolute; display: block; height: 400px; background: url(../images/com/gnav_contents_bg2.jpg); top: 0; left: 0; content: ""; width: 100%; z-index: -1; }
#idx_box04 .com_btn { margin: auto auto auto 0; margin-top: 30px; }

/*----------idx_box05----------*/
#idx_box05 { margin-bottom: 100px; }
.idx_box05_box { width: 100%; margin: 0 auto; position: relative; padding: 50px 0px; }
.idx_box05_box::before { position: absolute; content: ""; width: 180px; height: 224px; background: url(../images/com/gnav_contents_bg_icon.png)0 0 no-repeat; top: 30px; left: -50px; display: block; background-size: 100%; opacity: .5; }
.idx_box05_box::after { position: absolute; content: ""; width: 180px; height: 224px; background: url(../images/com/gnav_contents_bg_icon.png)0 0 no-repeat; bottom: 30px; right: -80px; display: block; background-size: 100%; opacity: .5; }

span.line { position: absolute; background: rgba(118,86,53,0.3); }
span.top { height: 5px; width: calc(100% + 20px); top: 0; left: -10px; }
span.bottom { height: 5px; width: calc(100% + 20px); bottom: 0; left: -10px; }
span.left { width: 5px; height: calc(100% + 20px); top: -10px; left: 0; }
span.right { width: 5px; height: calc(100% + 20px); top: -10px; right: 0; }

#idx_box05 .idx_subtit { text-align: center; }
#idx_box05 .idx_txt { text-align: center; margin-bottom: 30px; }

.idx_box05_detail { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.idx_box05_detail_txtbox { flex-basis: 45%; margin-right: 5%; }
.idx_box05_contactbox { flex-basis: 50%; }


.idx_box05_detail_list { width: 100%; margin: 0 auto; } 
.idx_box05_detail_list li { position: relative; padding-left: 20px; line-height: 1.8em; font-size: 15px;}
.idx_box05_detail_list li:nth-child(n+2) { margin-top: 10px; }
.idx_box05_detail_list li::before { content: "□"; position: absolute; left: 0; top: 0px; font-size: 16px; color: #765635; }
.idx_box05_contact { width: 100%; border: 2px solid rgba(118,86,53,0.3);  margin-bottom: 30px; }
.idx_box05_contact a { padding: 50px; display: block; }
.idx_box05_contact a span.text { display: block; font-size: 16px; text-align: center; color: #765635; margin-top: 10px; }
.idx_box05_contact a span.icon { display: block; text-align: center; font-size: 20px; color: rgba(118,86,53,0.3);  }
.idx_box05_contact a:hover { background: rgba(118,86,53,0.3); color: #fff; }
.idx_box05_contact a:hover span.text { color: #fff; }
.idx_box05_contact a:hover span.icon { color: #fff; }
.idx_box05_tel { font-size: 16px; text-align: center; line-height: 2em; }

/*-----------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; }

.mix_s {
position: relative;
overflow: hidden;
height: 28vw;
}

.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/index/b_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/index/b_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
}  





}





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



@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: 35px;
left: 20px;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
width: 200px;
display: none;
}

.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; }



/*---------mv---------------*/
#dot {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(../images/com/dot.png),rgba(0,0,0,0.3);
z-index: 1000;
}


#mv {
width: 100%;
overflow: hidden;
height: 600px;
position: absolute;
z-index: 1;
top: 0;
left: 0;
right: 0;
margin: auto; 
}

.slider_logo {
position: absolute;
z-index: 6;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 350px;
height: 59px;
margin: auto;
visibility: hidden;
opacity: 0;
text-align: center;
margin-bottom: 50px;
}

#mv video {
filter: brightness(50%);
position: absolute;
top: 0;
left: 0;
width: 500px;
height: 600px;
/*min-width: 100%;
min-height: 100%;
max-width: inherit;*/
}
.main_mv { width: 100%; height: 100%; display: table; height: 600px!important; overflow: hidden!important; margin-top: -60px; position: relative; }


.m-kv__scroll {
position:absolute;
left:0;
right: 0;
margin: auto;
bottom:65px;
opacity:1;
transition:.5s;
letter-spacing:.4rem;
cursor:pointer;
transform-origin:left center;
transition-delay: 0s;
color: #fff;
line-height: 1em;
z-index: 10;
text-align: center;
}

.m-kv__txt {
font-family:Lato,sans-serif;
font-size:10px;
font-weight:700;
}

.m-kv__line {
 position:absolute;
 width:30px;
 height:1px;
 top: 70px;
 background:#fff;
 left:0;
 right: 0;
 margin: auto;
 display: block;
 bottom:8px;
 transform:rotate(-90.1deg);
}
.m-kv__line:before {
 position:absolute;
 content:"";
 width:5px;
 height:5px;
 background:#fff;
 border-radius:50%;
 left:25px;
 bottom:-2px;
 opacity:0;
 transform:translate(0);
 animation:scrollMark 3.6s cubic-bezier(.645,.045,.355,1) infinite
}
@keyframes scrollMark {
 0% {
  opacity:0;
  transform:translate(0)
 }
 20% {
  opacity:1;
  transform:translate(0)
 }
 80% {
  opacity:1;
  transform:translate(-25px)
 }
 to {
  opacity:0;
  transform:translate(-25px)
 }
}

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

.idx_tit { font-size: 22px; color: #333; margin-bottom: 15px; font-weight: bold; letter-spacing: 0.07em; }
.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; margin-bottom: 50px; }
.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: 50px 0px; background: url(../images/index/main_bg2.png),url(../images/com/gnav_contents_bg2.jpg) ; background-position: bottom 0px right 0% ,top left; background-size: 200px 292px,1000px 800px; background-repeat:no-repeat,repeat; }
.idx_box00 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; }
.idx_box00_titbox { width: 100%; margin: 0 auto 15px; }
.idx_box00_txtbox { width: 100%; }
.idx_box00_tit { font-size: 18px; vertical-align: middle; margin: 0 auto; line-height: 1.5em; color: #765635; font-weight: bold; }
.idx_box00_txt { font-size: 14px; line-height: 2em; }

/*--------------idx_box01-----------------*/

#idx_box01 { margin-bottom: 50px; margin-top: 50px; }
#idx_box01 .com_btn { margin: 0 auto; margin-top: 30px; }
.idx_box { width: 100%; margin: 0 auto;  }
.idx_txtbox { width: 100%; margin: 0 auto; }
.idx_imgbox { width: 100%; margin: 0 auto 30px; }

.idx_box01_imgin { width: 100%; margin: 0 auto; }
.idx_box01_img_l { width: 48%; float: left;}
.idx_box01_img_r { width: 48%; float: right; }
.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: 18px; line-height: 1.8em; font-size: 14px;}
.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: 14px; color: #765635; font-family: "Font Awesome 5 Free"; font-weight: bold; display: block; }
.idx_list_txt li span { display: block; color: #765635; font-size: 14px; line-height: 1.5em; margin-top: 5px; }
/*--------------idx_box02-----------------*/
#idx_box02 { margin-bottom: 50px; }
.idx_box02_txtbox { width: 100%; height: 100%; background: url(../images/com/gnav_contents_bg.jpg)center center; background-size: cover; padding: 30px; box-sizing: border-box;  display: table; }
.idx_box02_txtbox_in { display: table-cell; vertical-align: middle; }
.idx_box02_img { width: 100%; background: url("../images/index/idx_box02_img01.jpg") center center no-repeat;
background-size: cover; height: 100%; min-height: 300px;}
/*--------------idx_box03-----------------*/

#idx_box03 { margin: 0 auto; margin-bottom: 50px; }
.idx_box03_list { width: 90%; margin: 0 auto;margin-top: 30px; }
.idx_box03_list li { width: 100%; margin: 0 auto; }
.idx_box03_list li:nth-child(2n+2) { margin-top: 30px; }
.idx_box03_list_img { width: 100%; margin: 0 auto 15px; }
.idx_box03_list_img img { width: 100%; height: auto; }
.idx_box03_list_tit { font-size: 18px; text-align: center; color: #765635; }

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

#idx_box04 { width: 100%; margin: 0 auto 50px; padding-top: 50px; position: relative; }
#idx_box04::before { position: absolute; display: block; height: 400px; background: url(../images/com/gnav_contents_bg2.jpg); top: 0; left: 0; content: ""; width: 100%; z-index: -1; }
#idx_box04 .com_btn { margin: 0 auto; margin-top: 30px; }
#idx_box04 .idx_txt { margin-bottom: 0px; }
/*----------idx_box05----------*/
#idx_box05 { margin-bottom: 50px; }
.idx_box05_box { width: 100%; margin: 0 auto; position: relative; padding: 50px 15px; box-sizing: border-box; }
.idx_box05_box::before { position: absolute; content: ""; width: 180px; height: 224px; background: url(../images/com/gnav_contents_bg_icon.png)0 0 no-repeat; top: 30px; left: -50px; display: block; background-size: 100%; opacity: .5; z-index: 10;  }
.idx_box05_box::after { position: absolute; content: ""; width: 180px; height: 224px; background: url(../images/com/gnav_contents_bg_icon.png)0 0 no-repeat; bottom: 30px; right: -80px; display: block; background-size: 100%; opacity: .5; z-index: 10; }

span.line { position: absolute; background: rgba(118,86,53,0.3); z-index: 0; }
span.top { height: 5px; width: calc(100% + 20px); top: 0; left: -10px; z-index: 0; }
span.bottom { height: 5px; width: calc(100% + 20px); bottom: 0; left: -10px; z-index: 0; }
span.left { width: 5px; height: calc(100% + 20px); top: -10px; left: 0; z-index: 0; }
span.right { width: 5px; height: calc(100% + 20px); top: -10px; right: 0; z-index: 0; }

#idx_box05 .idx_subtit { text-align: center; }
#idx_box05 .idx_txt { text-align: center; margin-bottom: 30px; }

.idx_box05_detail { width: 100%; margin: 0 auto;  }
.idx_box05_detail_txtbox { width: 100%; margin: 0 auto 30px; }
.idx_box05_contactbox { width: 100%; }


.idx_box05_detail_list { width: 100%; margin: 0 auto; } 
.idx_box05_detail_list li { position: relative; padding-left: 18px; line-height: 1.8em; font-size: 14px;}
.idx_box05_detail_list li:nth-child(n+2) { margin-top: 10px; }
.idx_box05_detail_list li::before { content: "\f00c"; position: absolute; left: 0; top: 0px; font-size: 14px; color: #765635; font-family: "Font Awesome 5 Free"; font-weight: bold; display: block; }
.idx_box05_contact { width: 100%; border: 2px solid rgba(118,86,53,0.3);  margin-bottom: 30px; }
.idx_box05_contact a { padding: 50px; display: block; }
.idx_box05_contact a span.text { display: block; font-size: 16px; text-align: center; color: #765635; margin-top: 10px; }
.idx_box05_contact a span.icon { display: block; text-align: center; font-size: 20px; color: rgba(118,86,53,0.3);  }
.idx_box05_contact a:hover { background: rgba(118,86,53,0.3); color: #fff; }
.idx_box05_contact a:hover span.text { color: #fff; }
.idx_box05_contact a:hover span.icon { color: #fff; }
.idx_box05_tel { font-size: 16px; text-align: center; line-height: 2em; }

/*-----------idx_box06--------------*/

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


.mix_s {
position: relative;
overflow: hidden;
height: 28vw;
}

.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/index/b_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/index/b_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
}  




}