@charset "UTF-8";


*{
    margin: 0 ;
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
    /* 幅を指定した要素（タグ）にborder、paddingを設定した際に要素が広がってしまうことを防ぐため */
}


body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    /*   ここまでフォントファミリー  各OSに適したフォントを用意しておく*/
    color: #555;
    /* サイト全体の文字色を定義しておく */
}



ul {
    list-style: none;
    /*   liの装飾を削除する  */
}


a {
    text-decoration: none;
    /*   aタグの初期設定。aタグはでデフォルトで持っている下線を消しておく */
}

img{
    max-width: 100%;
    /* 親要素の大きさ以上大きくならず、かつ、自身の原寸大以上に大きくならない */
    height: auto;
    /* タグのほうでの高さ指定を調整 */
    vertical-align: bottom;
    /* imgは、文字と同等扱いなので、必ず下部に余白（デセンダー）が出来てしまうのを防ぐ。他の防ぐ方法としてインライン要素をブロック要素に変える方法もあり */
}




/*-----------------------------------------
    pc max- setting   
-----------------------------------------*/

.container {
    max-width: 960px;
    margin: 0 auto;
}

/*PCの情報コンテンツの最大幅の設定 ------ 各パーツでこのCSSを再利用（マルチクラス）、または流用*/
/*-----------------------------------------
    header setting
------------------------------------------*/

.header_inner {
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */
    height: 100px;
    /* 高さ指定 */
    align-items: center;
    /* heightの垂直中央揃えのオプション  */
}


header h1{
    font-size: 24px;
    color: #555;
    padding: 0 0 5px 30px;
    background-image: url(../img/logo.svg);
    background-repeat: no-repeat;
    background-position: left -2px;
    background-size: 26px;

}

header p{
    font-size: 14px;
    padding-left: 30px;
}



/*-----------------------------------------
    main_image setting
------------------------------------------*/

.main_image{
    background: url(../img/main_back_image.jpg) no-repeat center top/cover;
    /* 背景画像を表示去るためのショートカットで、下記4行と同じ意味 */
    /*
     background-image: url(../img/main_back_image.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
     */

    height: 500px;
    /* 背景画像を表示には、高さが必要（500pxに設定） */
    margin-bottom: 3px;
}

/*-----------------------------------------
    nav_menu setting
------------------------------------------*/

nav{
    background-color:#40805E;
    margin-bottom: 50px;
}


nav ul {
    display: flex ;
    /* 子要素、水平方向の揃えの親要素設定  */   
}

nav li{
    width: 25%;
    border-left: 1px dotted #fff;
}

nav li:last-child {
    border-right: 1px dotted #fff;
}

nav li a {
    display: block;
    text-align: center;
    line-height: 65px;
    /* aの高さを65pxに取得 */
    color: #fff;
    transition:0.3s;
}

nav li a:hover {
    color: #444;
    background-color: #eee;
}


/*-----------------------------------------
   .wrap setting
------------------------------------------*/
    .wrap{
        display: flex;
        justify-content: space-between;

    }



/*-----------------------------------------
   main setting
------------------------------------------*/
    main{
        width: 70%;
    }


/*-----------------------------------------
   aside setting
------------------------------------------*/

    aside{
        width: 26%;

    }



/*-----------------------------------------
    .guide setting
------------------------------------------*/

.guide{
    margin-bottom: 100px;
}

.guide ul{
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */
    justify-content: space-between;
    /*  水平方向の揃えのオプション ( 両端揃い )*/
}

.guide li{
    width: 47%;
}

.guide h2{
    border-left: 5px solid #40805E;
    background-color:#eee;
    padding: 8px 0 8px 10px; 
    font-size: 20px;  
    margin-bottom: 15px; 
}

.guide .photo{
    box-shadow: 3px 3px 6px #666;
    margin-bottom: 5px;

    overflow:hidden;
    background-color:#000;
}

.guide .photo img{
    cursor: pointer;
    transition:0.3s;
}

.guide .photo img:hover{
transform: scale(1.1);
opacity:0.8;
}

.guide .text{
    line-height: 1.7;
    /* 一番読みやすい行間は、line-heightの、1.5～2の間とされてる */
    letter-spacing: 0.05em;
    /* 一番読みやすい文字間は、letter-spacingの、0.05em～0.08emの間とされてる */
    padding: 8px 0 ;
    /* 内側の余白の調整 */
    font-size: 14px;
}


/*-----------------------------------------
    .info setting
------------------------------------------*/
.info{
    margin-bottom: 200px;
    /* 次の下のブロックに余白を設定 */
}


.info h2{
    border-left: 5px solid #40805E;
    background-color:#eee;
    padding: 8px 0 8px 10px; 
    font-size: 20px;  
    margin-bottom: 15px; 
}

.info h3{
    font-size: 18px;  
    margin-bottom: 15px;
}

.info .info_item{
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */
    justify-content: space-between;
    /*  水平方向の揃えのオプション ( 両端揃い )*/
    margin-bottom: 70px;
     /* 次の下のブロックに余白を設定 */

}

.info .info_item .photo{
    width: 30%;
    /* 幅の取得 */
}

.info .info_item .content{
    width: 65%;
    /* 幅の取得 */  
}

.info .info_item .category{
    display: inline-block;
    background-color: #40805E;
    padding: 5px 10px;
    color:#fff;
    margin: 0 15px 10px 0;
    font-size: 14px;
    font-weight: bold;
}

.info .info_item time{
    font-size: 13px;
}

.info .info_item .text{
    line-height: 1.7;
    /* 一番読みやすい行間は、line-heightの、1.5～2の間とされてる */    
    letter-spacing: 0.05em;
    /* 一番読みやすい文字間は、letter-spacingの、0.05em～0.08emの間とされてる ただし、教科書も含めて多少のデータの前後あり*/
    font-size: 14px;
}

/*-----------------------------------------
    .recent and .bsnner setting
------------------------------------------*/

.recent{ 
        margin-bottom: 40px;
}

.recent h3{
    font-size: 18px;  
    padding: 8px 0 8px 6px;
    margin-bottom: 15px;
}



.recent ul a{
    display: block;
    line-height: 40px;
    padding-left: 15px;
    font-size: 14px;
    text-decoration: underline;
    color: inherit;
}

/*-----------------------------------------
    top
------------------------------------------*/

#top{
    position:fixed;
    right:5%;
    bottom:100px;
    width:60px;
    height:60px;
    display: block;
    background-color: #14875e;
    text-align: center;
    line-height: 60px;
    font-size: 14px;
    color: #ffffff;
    display: none;
}



/*-----------------------------------------
    footer setting
------------------------------------------*/

footer{
    background-color: #40805E;
}


.footer_inner p{
    text-align: right;
    line-height: 100px;
}
.footer_inner small{
    color: #fff;
}



