@charset 'UTF-8';
#header {
    margin-bottom: 0px;
}
.mainimg_wrap{
    margin-bottom: 150px;
}
.mainimg{
    text-align: center;
    background: none;
    padding: 200px 0 165px;
}
.mainimg .title{
    margin-bottom: 70px;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
}
.mainimg .en{
    font-size: 3.4rem;
    line-height: 1.59;
    letter-spacing: 0.35em;
}
.mainimg .en span{
    font-size: 3.2rem;
    margin: 0 20px;
}

.mainimg .ja{
    font-size: 9.2rem;
    line-height: 1.1;
    letter-spacing: 0.08em;
    display: inline-block;
    margin-top: 10px;
    border-bottom: 9px solid #000;
}
.mainimg .text{
    font-size: 1.6rem;
    line-height: 2.625;
    letter-spacing: 0.15em;
}
.main{
    padding: 0;
}
/*---------------------------*/
.index-news{
    background: #F1F1F1;
    position: fixed;
    width: 100%;
    padding: 0 50px;
    z-index: 10;
    bottom: 0px;
}
.index-news.stop {
	position: absolute;
}
.index-news .news-box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 50px;
}
.index-news .news{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.index-news .news .date{
    margin-right: 10px;
}
.index-news .button a{
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0.15em;
    padding-right: 15px;
    text-decoration: none;
    display: inline-block;    
    background: url("../image/icon_news.svg") right 5px center no-repeat;
	-webkit-transition: 1.0s ;
	-o-transition: 1.0s ;
	transition: 1.0s ;
}
.index-news .button a:hover{
    opacity: 0.6;
    background: url("../image/icon_news.svg") right center no-repeat;
}


/*---------------------------*/
.index-about{
    position: relative;
    z-index: 9;
}
.index-about:before{
    position: absolute;
    content: '';
    width: 1060px;
    height: 601px;
    background: url("../image/bg01.jpg") center no-repeat;
    right: -460px;
    top:80px;
    z-index: -9;
}
.index-about .title{
    font-weight: bold;
    font-size: 4.4rem;
    line-height: 1.2;
    margin-bottom: 30px;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0.18em;
}
.index-about .box{
    padding: 30px 0 0;
    max-width: 440px;
}


.index-about h4{
    margin-bottom: 40px;
    font-size: 2rem;
    max-width: 235px;
    line-height: 1.8;
    padding-left: 20px;
    background: url("../image/icon01.png")left center repeat-y;
}

.index-about .button{
    margin-top: 40px;
}
.index-about .button a{
    width: 300px;
    display: block;
    background: #000;
    text-decoration: none;
    color: #fff;
    padding: 2px  30px 0;
    line-height: 50px;
    text-align: left;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0.15em;
    -webkit-transition: 1.0s ;
    -o-transition: 1.0s ;
    transition: 1.0s ;
}
.index-about .button a:hover{
    opacity: 0.6;
}


/*---------------------------*/
.index-service{
    position: relative;
    z-index: 9;
    margin-bottom: 230px;
}
.index-service:before{
    position: absolute;
    content: '';
    width: 1037px;
    height: 650px;
    background: url("../image/bg02.jpg") center no-repeat;
    left: -460px;
    top:245px;
    z-index: -9;
}
.index-service .box{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.index-service .box .article{
    width: 300px;
    background: #F1F1F1;
    padding: 55px 30px 60px;
}

.index-service .box .title{
    width: 300px;
    padding-left: 33px;
    font-size: 4.4rem;
    letter-spacing: 0.18em;
    line-height: 1.2;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    position: relative;
    z-index: 9;
}
.index-service .box .title:before{
    font-family: 'Roboto', sans-serif;
    font-size: 30rem;
    line-height: 0.85;
    content: '5';
    position: absolute;
    right: -20px;
    top:-50px;
    color: #F1F1F1;
    z-index: -9;
}
.index-service .box .article:nth-child(3n-1){
    margin-top: 50px;
}
.index-service .box .article:nth-child(3n){
    margin-top: 100px;
}
.index-service .box h4{
    font-size: 2.2rem;
    line-height: 1.9;
    font-weight: bold;
    margin-bottom: 15px;
}
.index-service .box .text{
    line-height: 2.14;
    margin-bottom: 23px;
}
.index-service .box .button a{
    display: block;
    background: #fff;
    letter-spacing: 0.15em;
    font-family: 'Roboto', sans-serif;
    text-align: left;
    text-decoration: none;
    line-height: 47px;
    padding: 0 20px;
    position: relative;
}
.index-service .box .button a:after{
    position: absolute;
    content: '';
    width: 20px;
    height: 2px;
    background: #000;
    bottom: 0;
    left: 20px;
}
.index-service .box .button a:before{
    position: absolute;
    content: '';
    width: calc(100% - 40px);
    height: 2px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
    background: #000;
    bottom: 0;
    left: 20px;
}
.index-service .box .button a:hover:before{
    transform: scale(1, 1);
}



/*---------------------------*/
.index-point{
    background: url("../image/bg03.svg") right top 80px no-repeat;
}
.index-point .box{
    width: 920px;
    margin-left: 80px;
}
.index-point .title{
    font-weight: bold;
    font-size: 4.4rem;
    line-height: 1.2;
    margin-bottom: 70px;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0.18em;
}

.index-point dl+dl{
    margin-top: 50px;
}
.index-point  dt{
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.5;
    padding-left: 20px;
    padding-right: 120px;
    border-left: 2px solid #000;
    margin-bottom: 20px;
}




/*--------------------------*/
.index-gallery{
    background: #F1F1F1;
    padding: 100px 0 30px;
}
.index-gallery .big-title {
    text-align: center;
    margin-bottom: 40px;
    font-weight: bold;
    font-size: 4.4rem;
    line-height: 1.2;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0.18em;
}
.index-gallery .title{
    font-size: 2.2rem;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 25px;
}
.index-gallery .title span{
    font-size: 2.6rem;
    font-family: 'Roboto', sans-serif;
    margin-right: 5px;
}

.index-gallery .box{
    width: 1000px;
    margin: 0 auto 70px;
}
.index-gallery .box .inner{

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.index-gallery .box .article {
    width: 320px;
    position: relative;
    margin-bottom: 40px;
}

.index-gallery .box .info {
    position: absolute;
    display: none;
    left: 0;
    top: 0;
}

.index-gallery .box .article:hover .info {
    display: block;
    width: 320px;
    height: 320px;
    background: rgba(0, 0, 0, 0.8);
    padding: 75px 40px 85px;
    color: #fff;
}

.index-gallery .box .article:hover h4{
    line-height: 1.625;
    font-size: 1.6rem;
    padding-bottom: 55px;
    border-bottom: 1px solid #808080;
    margin-bottom: 8px;
}
.index-gallery .box .article:hover h4 a{
    color: #fff;
    font-weight: bold;
}

.index-gallery .button a{
    width: 250px;
    display: block;
    background: #000;
    text-decoration: none;
    color: #fff;
    margin: 0 0 0 auto;
    padding: 2px  30px 0;
    line-height: 50px;
    text-align: left;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0.15em;
    -webkit-transition: 1.0s ;
    -o-transition: 1.0s ;
    transition: 1.0s ;
}

.index-gallery .button a:hover{
    opacity: 0.6;
}
