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


/*-------PC-------*/

body{
    min-width: 960px;
    margin: auto;
}

body section{
    min-width: 960px;
    padding: 80px 0;
}

h1,h2,h3{
    text-align: center;
}

a:hover{
    opacity: 0.8;
}

section h2{
    font-size: 1.57em;
}

section p{
    line-height: 2em;
    margin: auto;
}

section h2{
    margin: auto;
}


section h2::after{
    content: "";
    padding-top: 5px;
    width: 200px;
    background: #7fae1c;
    line-height: 0;
    font-size: 0;
    display: block;
    margin: 25px auto 0px;
}

section h3{
    font-size: 1.57em;
}

/*--header--*/
header{
    min-width: 960px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    z-index: 2;
    width: 100%;
    background: rgba(255,255,255,0.5);
}

header img{
    width: 304px;
}

header ul{
    width: 960px;
    margin: auto;
    margin: 38px auto 37px;
}

header p.logo{
    position: absolute;
    top: 13px;
    left: 50%;
    margin-left: -152px;
}

header ul li{
    display: inline-block;
    text-align: center;
    line-height: 17px;
    padding-bottom: 7px;
    font-size: 16px;
}

header ul li:nth-child(2){
    margin-right: 360px;
}

header ul li:nth-child(1) a,header ul li:nth-child(3) a{
    border-left:1px solid #000;
}

header ul li a{
    width: 146px;
    display: inline-block;
    text-decoration: none;
    color: #7fae1c!important;
    border-right: 1px solid #000;
}


header ul li.on{
    border-bottom: 5px solid #7fae1c;
}



/*--mv--*/
#mv{
    height: 100vh;
    background: url(../img/mv.jpg) top center no-repeat;
    background-size: cover;
    position: relative;
    padding: 0;
}

#mv h1{
    width: 910px;
    height: 125px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

#mv h1 img{
    width: 100%;
}

/*--desc--*/
#desc{
    padding-bottom: 68px;
}

#desc p{
    width: 943px;
    margin: auto;
    font-size: 1.286em;
    margin-top: 33px;
}

#desc h2{
    padding-top: 3px;
}
#desc h2::after{
    margin: 40px auto 0px;
}

/*--mission--*/
#mission{
    background: url(../img/mission_bg.jpg) top center no-repeat;
    background-size: cover;
}

#mission h2 img{
    width: 118px
}

#mission p{
    width: 845px;
    margin: 4px auto 0px; 
}

#mission p img{
    width: 100%;
}

#mission .green_line{
    padding: 22px 20px;
    background: rgba(127,174,28,0.2);
    width: 628px;
    margin: auto;
}

#mission .green_line .policy{
    padding: 42px 63px 30px 65px;
    background: #fff;
    width: 500px;
}

#mission .green_line .policy h3{
    margin-bottom: 26px;
}

#mission .green_line .policy ul.policy_list li{
    font-size: 1.286em;
    line-height: 3.06em;
    vertical-align: middle;
}

#mission .green_line .policy ul.policy_list li::before{
    content: "";
    padding: 1px 5px 1px 0;
    background: #7fae1c;
    margin-right: 20px;
}



/*--group--*/

#group{
    padding-bottom:  30px;
}

#group h2{
    margin-bottom: 95px;
    padding-top: 3px;
}

#group h2::after{
    margin: 18px auto 0;
}

#group h2 img{
    width:  165px;
    margin: auto;
}
#group .group_co{
    width: 960px;
    margin:  0 auto 50px;
    padding-bottom: 16px;
    border-bottom: 1px solid #c4c4c4;
    min-height: 200px;
}

#group .group_co:nth-child(2n-1) .img,
#group .group_co:nth-child(2n-1) a{
    float: right;
}

#group .group_co .img{
    display: inline-block;
    width: 259px;
    margin: 0 17px 0;
}

#group .group_co .img img{
    display: block;
    margin: auto;
}

#group .group_co .txt{
    display: inline-block;
    vertical-align: top;
    margin-left: 25px;
}

#group .group_co .img img.co_img{
    width: 259px;
}

#group .group_co a{
    margin: 5px 51px 0 54px;
}

#group .group_co a img{
    width: 181px;
}



#group .group_co .txt p.logo{
    font-size: 1.57em;
    line-height: 1.57em;
    font-weight: bold;
}

#group .group_co .txt p.logo img{
    width: 47px;
    vertical-align: middle;
    margin: 0 10px 0 4px;
}

#group .group_co .txt p.capital{
    font-weight: bold;
    line-height: 1em;
    margin: 17px auto 10px; 
}

#group .group_co .txt p.about{
    width: 583px;
}



/*--outline--*/
#outline{
    background-color: #ecf3dd;
    background: url(../img/outline_bg.jpg) bottom center no-repeat;
    background-size: cover;
    padding-bottom: 62px;
}

#outline h2{
    margin-bottom: 100px;
}

#outline h2 img{
    width:  116px;
    margin: auto;
}

#outline .about_table{
    background: #fff;
    text-align: center;
}

#outline .about_table table{
    margin: 0 15px;
    padding: 14px 0 55px;
    display: inline-block;
    vertical-align: top;
}

#outline .about_table table tr{
    width: 345px;
    border-bottom: 1px solid #c4c4c4;
    display: block;
    padding: 40px 0 39px 55px;
}

#outline .about_table table tr:nth-child(2n){
    min-height: 70px;
    padding-bottom: 30px;
}

#outline .about_table table th,#outline .about_table table td{
    text-align: left;
}

#outline .about_table table th{
    width: 75px;
    position: relative;
    line-height: 20px;
}

#outline .about_table table td{
    line-height: 1.64em;
    padding-left: 20px;
}

#outline .about_table table th::after{
    content: "";
    padding: 10px 5px 10px 0px;
    background: #7fae1c;
    position: absolute;
    right: 0;
    
}


/*history*/

#outline h3{
    border-bottom: 1px solid #7fae1c;
    width: 520px;
    margin: auto;
    padding: 60px 0 25px;
}

#outline .history h3 img{
    width:  56px;
    margin: auto;
}

#outline .history{
}

#outline .history dl{
    width: 520px;
    margin: 42px auto 20px;
    
}

#outline .history dl dt{
    width: 177px;
    margin-right: 30px;
    display: inline-block;
    text-align: right;
    padding-bottom: 46px;
    border-right: 1px solid #7fae1c;
}

#outline .history dl dt:last-of-type{
    padding-bottom: 0;
}

#outline .history dl dt::after{
    content: "";
    padding: 3px 5px 3px 0px;
    background: #7fae1c;
    margin-left: 23px;
    margin-right: -3px;
    
}

#outline .history dl dd{
    display: inline-block;
    width: 312px;
}



/*access*/
#outline .access h3 img{
    width:  109px;
    margin: auto;
}

#outline .access .access_more{
    width: 410px;
    margin: auto;
    padding: 34px 55px 35px;
}

#outline .access .access_more .company{
    font-weight: bold;
}

#outline .access .access_more .company::before{
    content: "";
    padding: 3px 5px 3px 0;
    background: #7fae1c;
    margin-right: 14px;
}

#outline .access iframe{
    width: 100%;
    height: 510px;
}

/*--footer--*/

footer{
    height: 70px;
    background: #000000;
}

footer p{
    text-align: center;
    line-height: 70px;
    color: #fff;
}






@media only screen and (max-width:960px) and (min-width:769px){
/*--header--*/
header{
    min-width: auto;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 95px;
    width: 100%;
}

header img{
    width: 371px;
}

header ul{
    width: 100%;
    margin: auto;
    margin: 38px auto 37px;
}

header p.logo{
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 3%;
    margin-top: 2.5%;
}

header ul li{
    display: inline-block;
    text-align: center;
    line-height: 17px;
    padding-bottom: 7px;
    font-size: 16px;
}

header ul li:nth-child(2){
    margin-right: 0;
}

header ul li:nth-child(1) a,header ul li:nth-child(3) a{
    border-left:none;
}

header ul li a{
    width: 100%;
    display: block;
    text-decoration: none;
    color: #7fae1c!important;
    border-right: none;
}


header ul li.on{
    border-bottom: dotted 1px #7fae1c;
}
    
    

    #navToggle {
    display:none;
    position:absolute;
    right:2.8vw;
    top:20px;
    width:68px;
    height:auto;
    cursor:pointer;}
#navToggle div {position:relative;}
#navToggle span {
    display:block;
    position:absolute;
    width:100%;
    border-bottom:solid 5px #7fae1c;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    }
#navToggle span:nth-child(1) {top:0;}
#navToggle span:nth-child(2) {top:22px;}
#navToggle span:nth-child(3) {top:46px;;}
    
header nav {
	position:absolute;
	right:-100%;
    top:94px;
	background:rgba(255,255,255,1);
    width:94%;
	padding:0 3%;
	-webkit-transition:.5s ease-in-out;
	-moz-transition:.5s ease-in-out;
	-o-transition:.5s ease-in-out;
	transition:.5s ease-in-out;
	text-align:left}
header ul {margin:0}
header ul li {display:block;margin:0;border-bottom:dotted 1px #7fae1c; line-height:3}
header ul li a {display:block}
header ul li::after {content:''}
header ul li:last-child {border-bottom:none}
    
#navToggle {display: block}
    
.openNav #navToggle span:nth-child(1) {
	top: 24px;
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	transform:rotate(-45deg)}
.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
	top: 24px;
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	transform:rotate(45deg)}
    
.openNav nav {
    -moz-transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}
    
}


/*------SP------*/
@media only screen and (max-width:768px) {
    
body{
    min-width: 100%;
    margin: auto;
}

body section{
    min-width: 100%;
    padding: 9% 0;
}

h1,h2,h3{
    text-align: center;
}

section h2{
    font-size: 2.14em;
    letter-spacing: -0.01em;
}

section p{
    font-size: 1.71em;
    line-height: 1.75em;
    margin: auto;
    letter-spacing: -0.055em;
}

section h2{
    margin: auto;
}


section h2::after{
    content: "";
    padding-top: 5px;
    width: 149px;
    background: #7fae1c;
    line-height: 0;
    font-size: 0;
    display: block;
    margin: 25px auto 0px;
}

section h3{
    font-size: 1.57em;
}

/*--header--*/
header{
    min-width: auto;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 12.5vw;
    width: 100%;
}

header img{
    width: 53.75%;
}

header ul{
    width: 100%;
    margin: auto;
    margin: 38px auto 37px;
}

header p.logo{
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 3%;
    margin-top: 2.5%;
}

header ul li{
    display: inline-block;
    text-align: center;
    line-height: 17px;
    padding-bottom: 7px;
    font-size: 16px;
}

header ul li:nth-child(2){
    margin-right: 0;
}

header ul li:nth-child(1) a,header ul li:nth-child(3) a{
    border-left:none;
}

header ul li a{
    width: 100%;
    display: block;
    text-decoration: none;
    color: #7fae1c!important;
    border-right: none;
}


header ul li.on{
    border-bottom: dotted 1px #7fae1c;
}
    
    

    #navToggle {
    display:none;
    position:absolute;
    right:2.8vw;
    top:2.8vw;
    width:9%;
    height:auto;
    cursor:pointer;}
#navToggle div {position:relative;}
#navToggle span {
    display:block;
    position:absolute;
    width:100%;
    border-bottom:solid 5px #7fae1c;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    }
#navToggle span:nth-child(1) {top:0;}
#navToggle span:nth-child(2) {top:2.9vw;}
#navToggle span:nth-child(3) {top:6vw;}
    
header nav {
	position:absolute;
	right:-100%;
    top:12.5vw;
	background:rgba(255,255,255,1);
    width:94%;
	padding:0 3%;
	-webkit-transition:.5s ease-in-out;
	-moz-transition:.5s ease-in-out;
	-o-transition:.5s ease-in-out;
	transition:.5s ease-in-out;
	text-align:left}
header ul {margin:0}
header ul li {display:block;margin:0;border-bottom:dotted 1px #7fae1c; line-height:3}
header ul li a {display:block}
header ul li::after {content:''}
header ul li:last-child {border-bottom:none}
    
#navToggle {display: block}
    
.openNav #navToggle span:nth-child(1) {
	top: 11px;
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	transform:rotate(-45deg)}
.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
	top: 11px;
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	transform:rotate(45deg)}
    
.openNav nav {
    -moz-transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

    

/*--mv--*/
#mv{
    height: 100vh;
    background-size: cover;
    position: relative;
    padding: 0;
}

#mv h1{
    width: 75%;
    height: 0.75vw;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding-bottom: 20%;
}

#mv h1 img{
    width: 100%;
}

/*--desc--*/
#desc{
    padding-bottom: 9%;
}

#desc p{
    width: 88%;
    margin: auto;
    font-size: 1.71em;
    margin-top: 33px;
}

#desc h2{
    padding-top: 0;
    line-height: 1.5em;
}
#desc h2::after{
    margin: 40px auto 0px;
}

/*--mission--*/
#mission{
}

#mission h2 img{
    width: 153px;
}

#mission p{
    width: 100%;
    margin: 4px auto 0px; 
}

#mission p img{
    width: 100%;
}

#mission .green_line{
    padding: 5% 4.69%;
    background: rgba(127,174,28,0.2);
    width: 77.5%;
    margin: auto;
}

#mission .green_line .policy{
    padding: 6.25% 4.3% 6.25% 4.7%;
    background: #fff;
    width: 91%;
}

#mission .green_line .policy h3{
    margin-bottom: 26px;
    font-size: 2.14em;
    padding-top: 1.75%;
}

#mission .green_line .policy ul.policy_list li{
    font-size: 1.714em;
    line-height: 1.25em;
    vertical-align: middle;
    letter-spacing: -0.05em;
    text-indent: -24px;
    padding-left: 24px;
    margin-bottom: 8%;
}

#mission .green_line .policy ul.policy_list li::before{
    content: "";
    padding: 0px 6px 0px 0;
    background: #7fae1c;
    margin-right: 20px;
}



/*--group--*/

#group{
    padding-bottom:  7.14%;
}

#group h2{
    margin-bottom: 6.25%;
    padding-top: 0;
}

#group h2::after{
    margin: 18px auto 0;
}

#group h2 img{
    width:  218px;
    margin: auto;
}
#group .group_co{
    width: 87.5%;
    margin:  0 auto 16%;
    padding-bottom: 0;
    border-bottom: 1px solid #c4c4c4;
    min-height: 0;
}
    
    #group .group_co:nth-child(3){
    margin:  0 auto 7.14%;
}

    #group .group_co:nth-child(4){
    margin:  0 auto 7.14%;
        padding-bottom: 7.14%;
}
    
    #group .group_co:nth-child(5){
        border-bottom: none;
        margin-bottom: 0;
}
    

#group .group_co:nth-child(2n-1) .img,
#group .group_co:nth-child(2n-1) a{
    float: none;
    clear: right;
}

#group .group_co .img{
    display: inline-block;
    width: 100%;
    margin: 0 auto 0;
}

#group .group_co .img img{
    display: block;
    margin: auto;
}

#group .group_co .txt{
    display: block;
    vertical-align: top;
    margin-left: 0;
}

#group .group_co .img img.co_img{
    width: 100%;
}

#group .group_co a{
    margin: 7.14% auto;
        width: 75%;
        display: block;
}
    
#group .group_co a img{
    width: 100%;
}
    
    

#group .group_co .txt p.logo{
    font-size: 2.14em;
    line-height: 1.57em;
    font-weight: bold;
    text-align: left;
    margin: 5.9% auto 4.7%;
    text-indent: -61px;
    padding-left: 61px;
}

#group .group_co .txt p.logo img{
    width: 47px;
    vertical-align: middle;
    margin: 0 10px 0 4px;
}

#group .group_co .txt p.capital{
    font-weight: bold;
    line-height: 1.46em;
    margin: 17px auto 10px; 
    font-size: 1.71em;
}

#group .group_co .txt p.about{
    width: 100%;
    line-height: 1.46em;
}



/*--outline--*/
#outline{
    padding-bottom: 6.25%;
}

#outline h2{
    margin-bottom: 6.25%;
    padding-top: 1.07%;
}

#outline h2 img{
    margin: auto;
}

#outline .about_table{
    background: #fff;
    text-align: center;
    font-size: 1.71em;
}

#outline .about_table table{
    margin: 0 5.625vw;
    width: 88.75vw;
    padding: 14px 0 0;
    display: block;
    vertical-align: top;
}

#outline .about_table table tr{
    width: 100%;
    border-bottom: 1px solid #c4c4c4;
    display: block;
    padding: 9% 0;
}

    #outline .about_table table:nth-child(2) tr:last-child{
        border-bottom: none;
    }
    
    #outline .about_table table:nth-child(2) tr:last-child th{
        letter-spacing: -0.1em;
    }

#outline .about_table table tr:nth-child(2n){
    min-height: 0;
    padding-bottom: 9%;
}

#outline .about_table table th,#outline .about_table table td{
    text-align: left;
}

#outline .about_table table th{
    width: 26.6vw;
    position: relative;
    line-height: 1.25em;
    padding-left: 3%;
}

#outline .about_table table td{
    line-height: 1.64em;
    padding-left: 5%;
    width: 62.15vw;
}

#outline .about_table table th::after{
    content: "";
    padding: 13px 5px 13px 0px;
    background: #7fae1c;
    margin-right: -10px;
}


/*history*/

#outline h3{
    border-bottom: 1px solid #7fae1c;
    width: 78%;
    margin: auto;
    padding: 60px 0 25px;
}

#outline .history h3 img{
    width:  56px;
    margin: auto;
}

#outline .history{
}

#outline .history dl{
    width: 90%;
    margin: 42px 5% 20px;
    font-size: 1.71em;
}

#outline .history dl dt{
    width: 30%;
    margin-right: 0;
    margin-left: 1%;
    display: inline-block;
    text-align: right;
    padding-bottom: 46px;
    padding-right: 3.4%;
    border-right: 1px solid #7fae1c;
    vertical-align: top;
    line-height: 1.25em;
}

#outline .history dl dt span{
    display: inline-block;
    }

#outline .history dl dt:last-of-type{
    padding-bottom: 0;
}

#outline .history dl dt::after{
    content: "";
    padding: 2px 5px 3px 0px;
    background: #7fae1c;
    margin-left: 8%;
    margin-right: -13.5%;
    vertical-align: top;
}

#outline .history dl dd{
    display: inline-block;
    width: 55%;
    margin-left: 4.3%;
    margin-right: 1%;
    line-height: 1.25em;
}



/*access*/
#outline .access h3 img{
    width:  118px;
    margin: auto;
}

#outline .access .access_more{
    width: 80%;
    margin: auto;
    padding: 34px 10% 35px;
}

#outline .access .access_more .company{
    font-weight: bold;
}

#outline .access .access_more .company::before{
    content: "";
    padding: 3px 5px 3px 0;
    background: #7fae1c;
    margin-right: 14px;
}

#outline .access iframe{
    width: 100%;
    height: 420px;
}

/*--footer--*/

footer{
    height: auto;
    background: #000000;
    position: relative;
}

footer p{
    text-align: center;
    line-height: 1.5em;
    color: #fff;
    font-size: 1.428em;
    padding: 3% 0;
}
    
}

@media only screen and (min-width:450px) {
    .only_sp3{
        display: none!important;
    }
}

