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

/*==================================================
下層ページ共通
================================================== */

.mainimg-page{
    width: 100%;
    height: 25vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    line-height: 1;
    position: relative;
    border-bottom: 5px solid #c35826;
}

#mainimg-news.mainimg-page,
#mainimg-contribution.mainimg-page{
    width: 100%;
    height: 25vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    line-height: 1;
    position: relative;
    border-bottom: 5px solid #c35826;
}

#mainimg-sustainability{background-image: url("../images/mainimg_sustainability.jpg");}
#mainimg-about{background-image: url("../images/mainimg_about.jpg");}
#mainimg-service{background-image: url("../images/mainimg_service.jpg");}
#mainimg-news{background-image: url("../images/mainimg_news.jpg");}
#mainimg-contribution{background-image: url("../images/mainimg_contribution.jpg");}

.mainimg-title{
    color: #fff;
    font-size: 48px;
    font-weight: normal;
    z-index: 1;
    letter-spacing: 0.1em;
}

.mainimg-page .contents-area{
    position: absolute;
    bottom: 50px;
    left: 50%;
    margin-left: -512px;
}

@media (max-width: 767px) {
.mainimg-page{
    height: 40vw;
}

.mainimg-title{
    font-size: 20px;
}

.mainimg-page .contents-area{
    bottom: 20px;
    left: 50%;
    margin-left: -45%;
} 
 
}

.page-comingsoon{padding:100px 0 ;}
.page-comingsoon .title-contents{width: 60%;}

.y-01{text-align: center;}
.y-01 span{display: inline-block; width: 0; height: 0; border-style: solid; border-width: 20px 23px 0 23px; border-color: #cccccc transparent transparent transparent;}


/*パンくずリスト*/
#topic-path{background:#f5f5f5;  padding: 3px 0; font-size: 12px; border-bottom: 1px solid #ccc; margin-bottom: 80px;}
#topic-path ul{list-style: none;}
#topic-path li{display: inline-block; padding-right: 5px;}
#topic-path li a:after{content: ">"; padding-left: 8px;}

@media (max-width: 767px) {
.page-comingsoon{padding:50px 0 0 ;}    
.y-01 span{border-width: 15px 20px 0 20px;}   
/*パンくずリスト*/
#topic-path{margin-bottom: 40px;}
}

/*==================================================
サステナビリティ
================================================== */

#sustainability-01{
    padding: 100px 0;
    text-align: center;
}

div.s01-img{
    position: relative;
    margin: 100px 0 0;
    text-align: center;
}

div.s01-img img{
    width: 100% !important;
}

div.s01-img h5{
    display: block;
    position: absolute;
    width: 100%;
    font-size: 32px;
    bottom: 50px;
    color: #fff;
    font-weight: normal;
    z-index: 2;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    
#sustainability-01{
    padding: 40px 0 50px;
}
    
#sustainability-01 .title-basic{
    margin-bottom: 40px;
}

div.s01-img{
    margin: 40px 0 0;
}

div.s01-img h5{
    font-size: 20px;
    bottom: 20px;
}    
  
}

#sustainability-02,
#sustainability-03{
    padding: 0 0 100px;
    text-align: center;
}

#sustainability-02 .txt-lead,
#sustainability-03 .txt-lead{
    font-size: 28px;
}

#sustainability-02 > p,
#sustainability-03 > p{
    text-align: left;
}

#sustainability-02 .line1{
    margin-top: 50px;
    margin-bottom: 20px;
}

.img-sustainability02{
    width: 100%;
    vertical-align: bottom;
}

#sustainability-03 > article{
    padding: 40px;
    background: #fcf5f0;
    position: relative;
    margin: 0 auto 40px;
    text-align: left;
}

#sustainability-03 > article > h5{
    display: block;
    width: 510px;
    float: left;
    font-size: 20px;
    font-weight: normal;
    margin: 30px 0 ;
}

#sustainability-03 > article > p{
    display: block;
    float: left;
    width: 500px;
    font-size: 16px;
    line-height: 1.8em;
    padding-left: 10px;
}

#sustainability-03 > article > img{
    width: 360px;
    height: 360px;
    object-fit: cover;
    float: right;
}

@media (max-width: 767px) {
    
#sustainability-02,
#sustainability-03{
    padding: 0 0 40px;
}

#sustainability-02 .txt-lead,
#sustainability-03 .txt-lead{
    font-size: 18px;
    margin-bottom: 40px;
    text-align: justify;
}

#sustainability-02 .line1{
    margin-top: 40px;
    margin-bottom: 10px;
}

#sustainability-03 > article{
    padding: 20px;
    margin: 0 auto 30px;
}

#sustainability-03 > article > h5{
    width: 100%;
    float: none;
    font-size: 18px;
    margin: 0 0 15px ;
}

#sustainability-03 > article > p{
    width: 100%;
    float: none;
    font-size: 14px;
    line-height: 1.8em;
    padding-left: 0;
    text-align: justify;
}

#sustainability-03 > article > img{
    width: 100%;
    height: 300px;
    float: none;
    margin: 0 0 15px;
}
    
#sustainability-03 .title-basic{
    margin-bottom: 40px;
}
  
}

@media (max-width: 320px) {
    
    div.s01-img h5{
        font-size: 18px;
    }

#sustainability-02 .txt-lead,
#sustainability-03 .txt-lead{
    font-size: 16px;
    margin-bottom: 30px;
}

#sustainability-03 > article > h5{
    font-size: 16px;
}

#sustainability-03 > article > img{
    height: 245px;
}
}

/*==================================================
韋駄天について
================================================== */

#about-01{
    padding: 100px 0;
    text-align: center;
}

#about-01 .txt-lead{
    font-size: 28px;
    margin-bottom: 100px;
    letter-spacing: 0.1em;
}

#message{
    text-align: left;
}

.txt-message{
    width: 750px;
    float: left;
    line-height: 1.8;
    padding-top: 30px;
}

.pic-message{
    width: 200px;
    float: right;
    text-align: right;
    padding-top: 30px;
}

.pic-message span{
    display: block;
    font-size: 80%;
}

.img-pic{
    width: 100%;
}

.president{
    text-align: right;
}

@media (max-width: 767px) {
    
#about-01{
    padding: 50px 0;
}

#about-01 .txt-lead{
    font-size: 22px;
    margin-bottom: 50px;
    letter-spacing: 0.1em;
}

.txt-message{
    width: 100%;
    float: none;
    padding-top: 0;
}
    
.txt-message p{
    margin-bottom: 25px;
    text-align: justify;
}

.president{
    margin-bottom: 0 !important;
    text-align: right !important;
}

.pic-message{
    width: 100%;
    float: right;
    text-align: right;
    padding-top: 10px;
}

.pic-message span{
    display: inline-block;
    font-size: 80%;
    padding-right: 20px;
}

.img-pic{
    width: 35%;
}    
}

@media (max-width: 320px) {

#about-01 .txt-lead{
    font-size: 18px;
}
    
}

#about-02{
    padding: 50px 0 190px;
    text-align: center;
    position: relative;
}

.title-history{
    position: relative;
    margin-bottom: 90px;
}

.img-about01{
    width: 100%;
    height: 420px;
    object-fit: cover;
    vertical-align: bottom;
}

.img-about02{
    position: absolute;
    top: 110px;
    right: 100px;
    width: 150px;
    z-index: 2;
}

.title-history p{
    position: absolute;
    width: 620px;
    border-bottom: 2px solid #c35826;
    text-align: right;
    right: 100px;
    top: 280px;
    font-size: 18px;
    color: #fff;
    padding: 5px 10px;
}

.title-history h5{
    display: block;
    position: absolute;
    width: 100%;
    font-size: 32px;
    bottom: 50px;
    color: #fff;
    font-weight: normal;
    z-index: 2;
    letter-spacing: 0.1em;
}

#history{
    text-align: left;
}

@media (max-width: 767px) {
    
#about-02{
    padding: 20px 0 130px;
}

.title-history{
    margin-bottom: 50px;
}

.img-about01{
    height: 320px;
}

.img-about02{
    top: 50px;
    right: inherit;
    width: 140px;
    left: 50%;
    margin-left: -70px;
}

.title-history p{
    width: 88%;
    right: 0;
    top: 230px;
    font-size: 14px;
    padding: 5px;
}

.title-history h5{
    font-size: 20px;
    bottom: 20px;
} 
    
#history .title-basic{
    margin-bottom: 30px;
}
    
}

#about-03{
    background: #dadbdb;
    padding: 100px 0;
}

.img-com{
    width: 250px;
    float: right;
}

#com-outline{
    line-height: 2.4;
}

#com-service{
    clear: right;
    padding: 80px 0 0;
    line-height: 2.2;
}

#com-service strong{
    font-weight: normal;
}

@media (max-width: 767px) {
  
#about-03{
    padding: 60px 0;
}
    
#about-03 .title-basic{
    margin-bottom: 30px;
}
    
.img-com{
    width: 30%;
}

#com-outline{
    line-height: 2.0;
}

#com-service{
    padding: 40px 0 0;
    line-height: 2.0;
}
    
#com-service p{
    margin-bottom: 25px;
    text-align: justify;
}
    
}

#about-04{
    padding: 50px 0;
}

@media (max-width: 767px) {
    
#about-04{
    padding: 30px 0;
}   
    
}



#g-map iframe{
    width: 100%;
    height: 450px;
    vertical-align: bottom;
}

@media (max-width: 767px) {
    
#g-map iframe{
    height: 260px;
}    
    
}

/*==================================================
事業紹介
================================================== */

#service-01{
    padding: 100px 0 10px;
    text-align: center;
}

#service-01 .txt-lead{
    font-size: 28px;
    margin-bottom: 100px;
    letter-spacing: 0.1em;
}

#service-01 .txt-lead span{
    display: block;
    font-size: 13px;
    padding-top: 10px;
}

#service-02{
    padding: 0 0 100px;
    text-align: center;
}

#service-02 .title-basic,
#service-03 .title-basic,
#service-04 .title-basic{
    margin-bottom: 0;
}

.img-service img{
    width: 100%;
    vertical-align: bottom;
}

#service-02 .contents-area,
#service-03 .contents-area,
#service-04 .contents-area{
    text-align: left;
}

#service-02 .txt-lead{
    font-size: 24px;
    margin: 50px 0;
    letter-spacing: 0.1em;
}

.box-service{
    padding: 50px 0;
    border-top: 1px solid #898989;
}

.box-service.last{
    border-bottom: 1px solid #898989;
    margin-bottom: 100px;
}

.box-service h5{
    display: block;
    width: 670px;
    float: left;
    font-weight: normal;
    margin: 0 0 10px;
    font-size: 16px;
}

.box-service p{
    display: block;
    width: 670px;
    float: left;
    margin: 0 0 30px;
    line-height: 2.0;
}

.box-service a{
    display: block;
    width: 670px;
    float: left;
    margin: 0;
}

.img-pf{
    width: 280px;
    float: right;
}

.img-pf img{
    width: 100%;
}

#service-02 #copy > div,
#service-03 #copy > div,
#service-04 #copy > div{
    font-size: 22px;
}

#service-03{
    padding: 0 0 100px;
    text-align: center;
}

#service-03 .txt-lead{
    font-size: 22px;
    margin: 50px 0 80px;
    letter-spacing: 0.1em;
}

.ul-check{
    list-style: none;
    margin: 60px 0 80px;
    border-bottom: 1px solid #898989;
}

.ul-check li{
    margin: 0 0 50px;
}

.ul-check li strong{
    display: block;
    font-weight: normal;
    font-size: 28px;
    margin-bottom: 15px;
}

.ul-check li strong i{
    display: inline-block;
    padding-right: 7px;
}

.ul-check li strong i img{
    width: 30px;
}

.ul-check li span{
    display: block;
    line-height: 2.0;
    text-align: justify;
}

#service-04{
    padding: 0 0 100px;
    text-align: center;
}

#service-04 .txt-lead{
    font-size: 22px;
    margin: 50px 0 80px;
    letter-spacing: 0.1em;
}

#service-04 .title-contents{
    margin-top: 80px;
}

@media (max-width: 767px) {
    
#service-01{
    padding: 50px 0 10px;
}

#service-01 .txt-lead{
    font-size: 22px;
    margin-bottom: 70px;
}

#service-01 .txt-lead span{
    font-size: 12px;
}

#service-02{
    padding: 0 0 10px;
}

#service-02 .title-basic,
#service-03 .title-basic,
#service-04 .title-basic{
    margin-bottom: 20px;
}

#service-02 .txt-lead{
    font-size: 18px;
    margin: 30px 0 50px;
    text-align: justify;
}

.box-service{
    padding: 35px 0;
}

.box-service.last{
    margin-bottom: 50px;
}

.box-service h5{
    width: 100%;
    float: none;
    margin: 0 0 15px;
    font-size: 14px;
    line-height: 2.0;
}

.box-service p{
    width: 100%;
    float: none;
    margin: 0 0 15px;
    line-height: 2.0;
    text-align: justify;
}

.box-service a{
    display: block;
    width: 100%;
    float: none;
    margin: 0;
}

.img-pf{
    width: 80%;
    float: none;
    margin: 0 auto 10px;
}

#service-02 #copy > div,
#service-03 #copy > div,
#service-04 #copy > div{
    font-size: 18px;
    text-align: justify;
    padding-left: 15px;
    padding-right: 15px;
}

#service-03{
    padding: 0 0 10px;
}

#service-03 .txt-lead{
    font-size: 18px;
    margin: 30px 0 50px;
    letter-spacing: 0.1em;
    text-align: justify;
}

.ul-check{
    margin: 40px 0 50px;
}

.ul-check li{
    margin: 0 0 30px;
}

.ul-check li strong{
    font-size: 22px;
    line-height: 1.8;
}

.ul-check li strong i img{
    width: 26px;
}

#service-04{
    padding: 0;
}

#service-04 .txt-lead{
    font-size: 18px;
    margin: 30px 0 50px;
    text-align: justify;
}

#service-04 .title-contents{
    margin-top: 40px;
}    
    
}

#service-02 #copy > div,
#service-03 #copy > div,
#service-04 #copy > div {
    font-size: 14px;
}

/*==================================================
個人情報保護方針
================================================== */

#privacy{
	padding: 50px 0;
}

#privacy .title-basic{
	text-align: center;
}

#privacy p{
	margin-bottom: 50px;
}

.dl-privacy dt{
	border-left: 3px solid #c35826;
	font-size: 20px;
	margin: 0 0 20px;
	padding-left: 8px;
}

.dl-privacy dd{
	margin: 0 0 35px 12px;;
}

.contact-privacy{
	text-align: center;
	background: #dadbdb;
	padding: 50px 30px ;
	margin-bottom: 50px;
}

.contact-privacy p{
	margin-bottom: 25px !important;
}

.contact-privacy a{
	display: block;
	font-size: 24px;
	margin-bottom: 25px;
}

.contact-privacy span{
	display: inline-block;
	padding:0 3px 5px;
	border-bottom: 1px dashed #333;
}

@media (max-width: 767px) {
	
#privacy{
	padding: 50px 0;
}

#privacy p{
	text-align: justify;
}

.contact-privacy{
	text-align: left;
	padding: 50px 20px ;
	margin-bottom: 40px;
}
	
.contact-privacy .title-basic{
    text-align: center;
}

.contact-privacy p{
	margin-bottom: 25px !important;
}

.contact-privacy a{
	text-align: center;
	font-size: 18px;
}

.contact-privacy span{
	border-bottom:none;
}	

.dl-privacy dt{
	font-size: 16px;
}

.dl-privacy dd{
    text-align: justify;
}
	
}

/*==================================================
お問い合わせ
================================================== */

#contact{
	padding: 50px 0;
}

#contact .title-basic{
	text-align: center;
}

.contact-txt{
    background: #f0f0f0;
    padding: 25px ;
    margin: 35px 0 0;
	text-align:center;
}

.contact-txt span{
    display: block;
    text-align: right;
}

#contact .btn-area{
    margin: 40px 0;
}

@media (max-width: 767px) {
    
.contact-txt{
    padding: 15px ;
    margin: 25px 0 0;
    text-align: justify;
}

#contact .btn-area{
    margin: 40px 0;
}    
    
}




/*==================================================
新着情報
================================================== */


#news-list{
    text-align: center;
    padding: 70px 0 50px;
    position: relative;
}
/*
#news-list .contents-area,
#news-detail .contents-area{
    width: 800px;
}
*/

.news-list-title{
    display: block;
    font-size: 16px;
    margin: 0 0 12px;
}

.summery{
    display: block;
    font-size: 90%;
    color: #999;
}

@media (max-width: 767px) {
    
/*
#news-list .contents-area,
#news-detail .contents-area{
    width: 94%;
}  
*/
#news-list{
    padding: 40px 0 20px;
}
    
.summery{
    text-align: justify;
}    
    
}

#news-detail{
    padding: 50px 0;
}

#news-detail .title-basic{
    text-align: center;
}

.news-article{
    margin: 50px auto;
    padding: 50px 0;
    border-top: 5px #f0f0f0 solid;
    border-bottom: 5px #f0f0f0 solid;
}


.news-title{
	display: block;
	font-size: 24px;
	line-height: 1.4em;
}

.news-date{
    /*padding: 25px 10px;*/
    padding: 25px 0;
}

.news-body{
	margin: 0 10px;
}

.news-mainimg{
    margin: 0 0 25px;
    text-align: center;
}

.news-mainimg img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

@media (max-width: 767px) {

.news-article{
    margin: 30px auto;
    padding: 30px 0;
}


.news-title{
	font-size: 18px;
}

.news-body{
	margin: 0;
    text-align: justify;
}

.news-mainimg{
    margin: 0 0 25px;
}
	
}



/*==================================================
韋駄天の取り組みについて
================================================== */

#project-list{
    padding: 40px 0 ;
    text-align: center;
}

#project-detail{
    padding: 40px 0 100px;
}

#project-detail .contents-area{
    width: 800px;
}

.project-meta{
    /*padding:25px 10px;*/
    padding:25px 0;
}

.project-category{
    background:#dadbdb;
    display: inline-block;
    padding: 1px 5px;
    font-size: 12px;
    margin-left: 10px;
}

#project-detail img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

.project-title{
    display: block;
    margin: 0 ;
    font-size: 24px;
}

.project-body{
    line-height: 2.0;
}

.project-body p{
    margin-bottom: 30px;
}

.project-mainimg{
    text-align: center;
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    
#project-detail .contents-area{
    width: 94%;
}   
    
#project-list{
    padding: 20px 0 ;
}    
    
#project-detail{
    padding: 20px 0 50px;
}

.project-title{
    font-size: 18px;
}

.project-body p{
    margin-bottom: 20px;
}
	
}



/*==================================================
フォーム画面
================================================== */

input[type="text"],
input[type="number"], 
input[type="email"], 
input[type="password"] , 
input[type="tel"] ,
input[type="date"] ,
input[type="time"] ,
input[type="search"]  {
	width: 100%;
    box-sizing: border-box;
	height:46px;
	font-size:100%;
	border:1px solid #ccc;
	padding:2px 8px;
	border-radius:6px;
	background:#fff;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="search"]:focus,
textarea:focus {
background: #faf8f4;    
}

.zip1,
.zip2{
    width: 15% !important;
}

.addr1{
    width: 35% !important;
}
.addr2,
.addr3{
    width: 50% !important;
}

.addr4{
    width: 60% !important;
}

.tel{
    width: 15% !important;
}

textarea{
	min-height:160px;
	border:1px solid #ccc;
	padding:2px 8px;
	width:100%;
    box-sizing: border-box;
	border-radius:6px;
	background:#fff;
}

input[type="checkbox"]{
    display: inline-block; 
    width: 22px; 
    height: 22px; 
    background:#f5f5f5; 
    vertical-align: bottom;
    margin-right: 5px;
}

input[type="radio"]{
    display: inline-block; 
    width: 22px; 
    height: 22px; 
    background:#fff; 
    vertical-align: bottom;
    margin-right:3px;
}


select {
cursor: pointer;
	border-radius:6px;
text-indent: 0.01px;
text-overflow: ellipsis;
border: 1px solid #ccc !important;
outline: none;
background: #fff;
background-image: none;
box-shadow: none;
height: 46px;
box-sizing: border-box;
    font-size: 14px;
}

.required{
    display: inline-block; 
    border-radius: 4px; 
    margin-left: 10px; 
    color: #fff; 
    font-size: 10px; 
    background: #e30000; 
    padding:3px 10px; 
    line-height: 1em;
}

#contact-confirm .required{
    display: none;
}

#contact-confirm tr.tr-emailcheck{
    display: none;
}

.btn-area{
    margin: 25px auto;
    text-align: center;
}

.btn-form{
    display: inline-block;
    color: #fff;
    cursor: pointer;
    background:#000 !important;
    padding: 15px 0;
    text-decoration: none;
    border:1px solid #000;
    text-align: center;
    width: 320px;
    -webkit-appearance:none;
    margin: 0 10px;
}

.btn-form:hover{
    background:#fff !important;
    color: #000;
    text-decoration: none;
}

.btn-reset{
    display: inline-block;
    background: #fff  !important;
    border:1px solid #000;
    color: #000;
    padding: 15px 0;
    width: 200px;
    -webkit-appearance:none;
    cursor: pointer;
    margin: 0 10px;
}

.btn-reset:hover{
    background:#eee !important;
    text-decoration: none;
    border-color: #eee;
}

label{
    display: inline-block;
    margin: 5px 30px 5px 0;
}


@media (max-width: 767px) {

input[type="text"], 
input[type="number"], 
input[type="email"], 
input[type="password"] , 
input[type="tel"] ,
input[type="date"] ,  
input[type="time"] ,     
input[type="search"]  {
	height: 42px;
	font-size: 16px;
}

.zip1, .zip2{
    width: 30% !important;
}

.addr1{
    width: 100% !important;
}
.addr2,
.addr3,
.addr4{
    width: 100% !important;
}

.tel{
    width: 26% !important;
}

textarea{
	min-height: 120px;
	font-size: 16px;
}


    
.btn-form{
    width: 50%;
}

.btn-reset{
    width: 35%;
}

select {
width: 100%;
height: 42px;
	font-size: 14px;
} 
    


label{
    display: inline-block;
    margin: 5px 20px 5px 0;
}    
    
	
}


/*追加お問い合わせ*/

.contact_buttons {
display: flex;
    margin: 3rem 0;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.contact_buttons a {
	padding:10px;
	border:1px solid #262626;
	text-decoration:none;
	text-align:center;
	display:block;
	margin:1.5rem 0;
	max-width:500px;
	width:80%;
	border-radius:6px;
}

.contact_buttons a:hover {
	background:#000;
	color:#FFF;
}

.freedial .number {
	font-size:2rem;
	position:relative;
	font-weight:600;
}

.freedial .number span {
	position:relative;
	display:block;
	font-size:1rem;
}

.freedial .number a {
	display:block;
	text-decoration:none;
	color:#262626;
}

.freedial .number a:link,
.freedial .number a:visited {
	color:#262626;
	text-decoration:none;
}

