@charset "UTF-8";


/* 基本設定:　ページ全体　*/
body {  margin: 0;
 	    font-family: 'メイリオ',
        'Hiragino kaku Gothic Pro',
        sans-serif;
}


/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/

#splash {
    /*fixedで全面に固定*/
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
	background:#333;
	text-align:center;
	color:#fff;
}

/* Loadingバー中央配置　*/
#splash_text {
	position: absolute;
	top: 50%;
	left: 50%;
    z-index: 999;
	width: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
}

/*IE11対策用バーの線の高さ*/
#splash_text svg{
    height: 2px;
}


/*=======  PC大きい画面設定=============*/

@media(min-width: 768px){

/*ヘッダー-------*/
        
header {
    position: absolute;
    top: 0;
    left: 0;
    z-index:100;
    width: 100%;
    background-color: rgba(255,255,255,1.0);
    
}
    
/*ヘッダーを画面上部に固定*/
    
.head-fixed{
    position: fixed;
} 
    
    
/*ヘッダー サイト名　ナビを左右に表示*/
    
    header .container01{
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        height: 60px; 
        padding-top: 16px;
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
        background: #fff;
    }
    
      .headC{
        display: none;
    }
    
    .headB{
        display: block !important;
    }
    
    
    .headB ul{
        display: flex;
    }  


/*ヘッダーA: サイト名*/
.headA{
    display: inline-block;
    line-height: 60px;
    padding-left: 20px;
    padding-right: 20px;
    /*background-color: #2c3850;*/
    color: #65646E;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    text-decoration: none;
    
}

/*ヘッダーB: ナビケーションメニュー*/
.headB ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

.headB a{
    display: block;
    padding: 16px;
    color: #65646E;
    font-size: 16px;
    text-decoration: none;
}

.headB a:hover{
    background-color: rgba(0,0,0,0.4);
    color: #fff;  
    
}


/*コンテンツA:ヒーローイメージ*/
.conA{
    display:flex;
    align-items: center;
    justify-content: center;
    height: 90vh;
    min-height: 300px;
    background-image: linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0.2)),url(../img/top_img01_01.jpg);
    background-position: center;
    background-size: cover;
    color: #fff;
    text-align: center;
        
}


/*アニメーション設定----*/

  @keyframes changeTiming02{
        0%{   
            background-image: url(../img/top_img01_01.jpg);
        
        }
    
        50%{
            background-image: url(../img/top_img02_01.jpg);
           
        }
        
        100%{
            background-image: url(../img/top_img01_01.jpg);
        
        }
    }

.conA{ 
    animation-name: changeTiming02;
    animation-duration: 12s;
    animation-delay: 5s;
    animation-iteration-count :infinite;  
}  

/*アニメーション設定ここまで―――*/

.conA h1{
    margin-top:115px;
    margin-bottom: 10px;
    font-family:'Montserrat', sans-serif;
    font-size: 43px;
    letter-spacing: 0.15em;
    margin-left: 0.2em;
}

.conA p{
    margin-top: 40px;
    margin-bottom: 0;
    font-size: 24px;
}

.headerzone {
  width:  100%;
  height: 160px;
  margin-top: 30px; 
  padding-top: 10px;
  text-align: left;
  font-size: 15px;
  background: #fff; 
  color: #404142;
  border-top: 1px solid #b9b6b6;
  border-bottom:1px solid #b9b6b6 ;
  
}  


.headerzone p{
 margin-left: 20%;
 font-size: 16px;
 font-family: 'Times New Roman';
 color: #3e3e3f;
 line-height: 150%;
}     

  main{
        height: auto;
        margin-bottom: 30px;
    }   
.greet {
    max-width: 1000px;
    width:85%;
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 50px;
    padding: 15px;
    line-height: 1.8;
    text-align: left;
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
}

.greet h2{
    margin-left: 10%;
    padding-left: 5px;
    font-size: 18px;
    color: #3e3e3f;
    border-left: 10px solid #404142;
    }
    
 .greet p{
    font-size: 15px;
    margin-left: 10%;
    color: #3e3e3f;
}    

    .contents{
        display: none;
    }
    
    .conB {
        width: 80%;
        margin: 0 auto;
    }
    

    
      .conB .container{
        display: flex;
        margin: 0 auto;
        max-width:  1000px;
        /*max-width:  var(--large-width);*/
        height: 260px;
        margin-top: 40px;
        margin-left: 10%;
        margin-right: auto;
        background: #fff;
        text-align: center;
    }
    
 
    .conB .text{
        /*flex:1;*/
        height: 220px;
        width: 60%;
         border:1px solid #b9b6b6;
        color: #3e3e3f;
    }
    
    .conB h2{
        margin-top: 40px;
   
    }
    .conB p{
         color: #3e3e3f;
    }
    
    .conB a{
    display: inline-block;
    margin-top: 0px;
    padding:  15px 30px;
    border:solid 3px currentColor;
    border-radius: 6px;
    background: #9d9f99;
    color: #fff;
    font-size: 18px;
    text-decoration: none;
    
}
    
   
    .photo a{
       padding: 0;
    }
    
   	.photo img{
        height: 223px;
        width: auto;
 	} 
    


footer{
       padding: 40px 20px;
        color: #fff;
        height: 200px;
        background:#ccc;
        border-top: 1px solid #ccc;
    }
    
        
    .footA h2{
        font-size: 26px;
        color: #fff;
        text-align: center;
        font-family: 'Montserrat', sans-serif;
    }
   
    .footC p{
        font-size: 18px;
        color: #fff;
        text-align: center;
    }

}



/*======  モバイル画面の設定  ==================*/

@media(max-width:767px){
      
   
/*ヘッダー*/
header {
    position: absolute;
    top: 0;
    left: 0;
    z-index:100;
    width: 100%;
    background-color: rgba(255,255,255,1.0);
    
}


/*ヘッダーを画面上部に固定*/
    .head-fixed{
        position: fixed;
}

    
/*ヘッダーA: サイト名*/
.headA{
    display: inline-block;
    line-height: 60px;
    padding-left: 20px;
    padding-right: 20px;
    color: #65646E;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    text-decoration: none;
    
}

/*ヘッダーB: ナビケーションメニュー*/
    
    header .container01{
         display: inline;
    }

    
    .headB ul{
    display: inline;
    margin: 0;
    padding: 0;
    list-style: none;
}

.headB a{
    display: block;
    padding: 16px;
    color: #65646E;
    font-size: 16px;
    text-decoration: none;
}

.headB a:hover{
    background-color: rgba(0,0,0,0.4);
    color: #fff;
    
    
}
   

     header .container-small{ 
         display: flex;
         align-items: center;
         justify-content :space-between;
         /*width: auto;*/
    }

    
    .headC{
        display: inline;
        margin-right: 10px;
        margin-top: 5px;
        padding:0;
        border:none;
        outline: none;
        background: none;
        font-size: 30px;
        color: #65646E;
       /*opacity: 0.5;*/
        cursor: pointer;
    }
    
    .headC p{
        font-size: 15px;
        margin-top: 2px;
        margin-bottom: 2px
    }
    
    .headC:hover{
        opacity: 0.3;
    }
    
    .headB{
        display: none;
    }


/*コンテンツA:ヒーローイメージ*/
.conA{
    display:flex;
    align-items: center;
    justify-content: center;
    height: 80vh;
    min-height: 300px;
    background-image: linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0.2)),url(../img/top_img01.jpg);
    background-position: center;
    background-size: cover;
    color: #fff;
   /* color: var(--text-bright-color);*/
    text-align: center;
        
}

/*アニメーション設定----*/

@keyframes changeTiming{
    0%{
        background-image: url(../img/top_img01.jpg);

    }
    
    50%{
        background-image: url(../img/top_img02.jpg);
    }
    
    100%{
        background-image: url(../img/top_img01.jpg);
    }
}

.conA{
    animation-name: changeTiming;
    animation-duration: 15s;
    animation-delay: 4s;
    animation-iteration-count :infinite;
}

/*アニメーション設定ここまで―――*/


.conA h1{
    margin-top:87px;
    margin-bottom: 10px;
    font-family:'Montserrat', sans-serif;
    font-size: 7.5vw;
    letter-spacing: 0.15em;
    margin-left: 0.2em;
}

.conA p{
    margin-top: 40px;
    margin-bottom: 0;
    font-size: 18px;
}



.headerzone {
  width:  100%;
  height: 160px;
  margin-top: 20px; 
  text-align: left;
  background-color: #fff; 
  border-top: 1px solid #b9b6b6;
  border-bottom:1px solid #b9b6b6 ;
  
}  


.headerzone p{
 margin-left: 15px;
 margin-right: 15px;     
 font-size: 13px;
 font-family: 'Times New Roman';
 color: #404142;
 line-height: 150%;
}  



/*コンテンツgreet:概要*/
.greet {
    margin:0 auto;
    padding: 30px;
    line-height: 1.8;
    text-align: left;
    border-bottom: 1px solid #b9b6b6;
    background: #fff;
}

.greet h2{
    margin-left: 0px;
    padding-left: 5px;
    font-size: 20px;
    color: #3e3e3f;
    border-left: 10px solid #404142;
    }

.greet p{
    font-size: 15px;
    color: #3e3e3f;
}

.contents {
    height:90px;
    padding-top: 10px;
    margin-bottom: 30px;
    /*background: url(../img/img02.jpg);*/
    border-bottom:1px solid #b9b6b6 ;
}

.contents h2{
    font-size: 32px;
    font-family: 'メイリオ',
        'Hiragino kaku Gothic Pro',
         sans-serif;
    color: #404142;
    text-align: center;
}


/*コンテンツB：（画像+テキスト）*/
.conB{
    margin: 30px auto;
}

.container{
    padding-top:10px;
    padding-bottom: 20px;
    text-align: center;
}


 .text{
    margin-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 50px;
    height: 160px;
   
   font-family: 'メイリオ',
        'Hiragino kaku Gothic Pro',
         sans-serif;
    background: #fff;
    border-bottom:1px solid #b9b6b6;
    
    
}


.conB img{
   /* height: 90px;*/
    width: 80%;
    /*margin: 10px;*/
}

.conB h2{
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 21px;
    color: #504b5f;
}

.conB p{
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.8;
    opacity: 0.8;
    color: #3e3e3f;
}



.conB a{
    display: inline-block;
    margin-top: 0px;
    padding:  15px 30px;
    border:solid 3px currentColor;
    border-radius: 6px;
    background: #9d9f99;
    color: #fff;
    font-size: 18px;
    text-decoration: none;
    
}

.conB a:hover{
   background-image: linear-gradient(rgba(255,255,255,0.2),rgba(255,255,255,0.2));
    
}

 .photo a{
       padding: 0;
       background: #fff;
     
    }

/*フッター　----------------*/
    footer{
        height: 180px;
        padding-top: 40px;
        color: #fff;
        background:#9d9f99;
        border-top: 1px solid #ccc;
        text-align: center;
    }

    
    
    .footA h2{
    margin-top: 10px;
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    letter-spacing: 0.2em;
    }    
    
    .footC p {
        font-size: 16px;
        text-align: center;
        font-family: 'Montserrat', sans-serif;
        margin-bottom: 20px;
    }
}
  





  
 





