@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に適したフォントを用意しておく*/
    /* "Helvetica Neue" macのsafariの英語、Arial mac windowの英語  "Hiragino Kaku Gothic ProN"はmacの日本語、"Hiragino Sans"は前の文字がなかった場合、Meiryoはwindowの日本語 */
    color: #555;
    /* サイト全体の文字色を定義しておく */
}



ul {
    list-style: none;
    /*   liの装飾を削除する  */
}


a {
    text-decoration: none;
    /*   aタグの初期設定。aタグはでデフォルトで持っている下線を消しておく */
}

img{
    max-width: 100%;
    /* 親要素の大きさ以上大きくならず、かつ、自身の原寸大以上に大きくならない */
    vertical-align: bottom;
    /* imgは、文字と同等扱いなので、必ず下部に余白（デセンダー）が出来てしまうのを防ぐ。他の防ぐ方法としてインライン要素をブロック要素に変える方法もあり */
}




/*-----------------------------------------
    pc max- setting   
-----------------------------------------*/

.container {
    max-width: 960px;
    margin: 0 auto;
}

/*PCの情報コンテンツの最大幅の設定 ------ 各パーツでこのCSSを再利用（マルチクラス）、または流用*/
/*-----------------------------------------
    header setting
------------------------------------------*/


header .header_inner {
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */
    justify-content: space-between;
    /* 横並び対象子要素の両端揃い設定 */
    height: 100px;
    /* 高さ指定 */
    align-items: center;
    /* heightの垂直中央揃えのオプション  */
}

header h1{
    font-size: 26px;
    padding-bottom: 5px;
}

header p{
    font-size: 14px;
}



/*-----------------------------------------
    nav_menu setting
------------------------------------------*/

nav{
    /* background-color:#013088;
    margin-bottom: 5px; */
}


nav ul {
    display: flex ;
    /* 子要素、水平方向の揃えの親要素設定  */   
}

nav li{
    /* width: 25%; */
    border-left: 1px dotted #888;
}

nav li:last-of-type {
    border-right: 1px dotted #888;
}

nav li a {
    display: block;
    padding: 0 25px;
    line-height: 50px;
    /* aの高さを50pxに取得 */
    color: #555;  
}

nav li a:hover {
    color: #fff;
    background-color: #013088;
}



/*-----------------------------------------
    main_image setting
------------------------------------------*/

.main_image{
    background: url(../img/main_back_image.jpg) no-repeat center/cover;
    /* 背景画像を表示去るためのショートカットで、下記4行と同じ意味 */
    /*
     background-image: url(../img/main_back_image.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
     */

    height: 450px;
    /* 背景画像を表示には、高さが必要（450pxに設定） */
}



/*-----------------------------------------
    content slogan
------------------------------------------*/
 .slogan{
    /* width: 600px; */
    max-width: 600px;
    /* スマホ対応の大きな枠を作る際には、必ず指定された幅より小さくなったとき幅が可変するように、max-widthを使うべき */
    margin: 0 auto;
    text-align: center;
    padding: 40px 0 70px;
}

.slogan h2{
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 10px;
}

.slogan p{
    line-height: 1.7;
}




/*-----------------------------------------
    .business（事業内容） setting
------------------------------------------*/

.business{
    margin-bottom: 100px;
}

.business ul{
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */
    justify-content: space-between;
    /*  水平方向の揃えのオプション ( 両端揃い )*/
}

.business li{
    width: 30%;
}

.business h3{
    background-color: #013088;
    padding: 10px 8px; 
    font-size: 20px;  
    color: #fff;
    margin-bottom: 10px; 
}

.business .photo{
    box-shadow: 3px 3px 6px #666;
    margin-bottom: 5px;
}

.business .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;
}


/*-----------------------------------------
    .consultation（開業の相談） setting
------------------------------------------*/
.consultation{
    margin-bottom: 100px;
    /* 次の下のブロックに余白を設定 */
}


.consultation h3{
    background-color: #013088;
    padding: 10px 8px; 
    font-size: 20px;  
    color: #fff;  
    margin-bottom: 15px;  
}

.consultation h4{
    font-size: 18px;  
    margin-bottom: 15px;
}

.consultation .consultation_item{
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */
    justify-content: space-between;
    /*  水平方向の揃えのオプション ( 両端揃い )*/
    margin-bottom: 50px;
     /* 次の下のブロックに余白を設定 */

}

.consultation .consultation_item .consultation_photo{
    width: 30%;
    /* 幅の取得 */
}
.consultation .consultation_item .consultation_text{
    width: 65%;
    /* 幅の取得 */  
}
.consultation .consultation_item .consultation_text p{
    line-height: 1.7;
    /* 一番読みやすい行間は、line-heightの、1.5～2の間とされてる */    
    letter-spacing: 0.05em;
    /* 一番読みやすい文字間は、letter-spacingの、0.05em～0.08emの間とされてる ただし、教科書も含めて多少のデータの前後あり*/
    font-size: 14px;
}

/*-----------------------------------------
    .map_area and info （基本情報）setting
------------------------------------------*/

.map_area{ 
        display: flex;
        /* 子要素、水平方向の揃えの親要素設定  */        
        justify-content: space-between;
        /*  水平方向の揃えのオプション ( 両端揃い )*/        
        margin-bottom: 100px;
    }
    
.map_area h3{
    background-color: #013088;
    padding: 10px 8px;  
    color: #fff;
    font-size: 20px;  
    margin-bottom: 15px;  
} 
.map_area .info{
    width: 40%;
    font-size:14px;
}
.map_area .map{
    width: 50%;
}

.map_area .info dl{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
}
.map_area .info dt{
    width: 30%;
    line-height: 30px;
    border-bottom: 1px solid #ccc;
    font-weight: bold;
}
.map_area .info dd{
    width: 70%;
    line-height: 30px;
    border-bottom: 1px solid #ccc;
}

.map_area iframe{
    width: 100%;
    height: 300px;
}


/*-----------------------------------------
    footer setting
------------------------------------------*/

footer{
    background-color: #013088;
}


.footer_inner p{
    text-align: right;
    line-height: 100px;
}
.footer_inner small{
    color: #fff;
}

@media (max-width:768px){


 /*-----------------------------------------
    header　responsive setting
------------------------------------------*/   

header .header_inner{
        display: block;
        /* 子要素、水平方向の揃えの親要素設定を無効(block)にする  */
        height: auto;
        /* 高さ指定を初期値 */

        /* 全体設定で指定された値をなしにしても、その値が残るのである条件の時には、初期設定(auto)にする */


    }

    .logo{
        padding: 25px 0;
        text-align: center;
        /* h1,pを囲むプロックの上下にpaddingの設定と、子要素のh1,pのテキストを中央揃いさせる */
        background-color: #ff0;
    }

    header h1{
    }

    header p{

    }

/*-----------------------------------------
nav_menu responsive setting
------------------------------------------*/

    /* nav{    } */
    
    nav ul {
        display: block;
        /* 子要素、水平方向の揃えの親要素設定を無効(block)にする  */  
    }

    nav li{
        border-left: 0;
        /* border-left: 1px dotted #fff; */
        /* ある条件の時だけ、無しにしても全体設定の内容が消えるわけではないので、0にして初期化する */

        /* 新たに、border-bottomの設定をk加えてみる */
    }

    nav li:last-of-type {
        border-right: 0;
        /* border-right: 1px dotted #fff; */
        /* ある条件の時だけ、無しにしても全体設定の内容が消えるわけではないので、0にして初期化する */
    }

    nav li a {
        padding: 0;
        text-align: center;
    }

 /*-----------------------------------------
    main_image responsive setting
------------------------------------------*/

    .main_image{
        /* background: url(../img/main_back_image.jpg) no-repeat center/cover; */
        /* 背景画像を表示去るためのショートカットで、下記4行と同じ意味 */
        /*
        background-image: url(../img/main_back_image.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        */
    height: 300px;
        /* 背景画像を表示には、高さが必要（300pxに設定） */
        /* スマホは、表示領域が狭いので、高さを適宜微調整が必要かも */

    } 

/*-----------------------------------------
main responsive setting
------------------------------------------*/  

    main{
        padding: 0 30px;
        /* スマホ時、メインコンテンツの左右に余白が必要→読みやすいね */
    }

/*-----------------------------------------
    .business（事業内容）responsive setting
------------------------------------------*/
    .business ul{
        /* display: flex; */
        display: block;
        /* 子要素、水平方向の揃えの親要素設定を無効(block)にする  */  
    }

    .business li{
        width: auto;
        /* ブロックボックスの幅の初期設定(auto)が、100%を指定 */
        margin-bottom: 30px;
        /* 次のブロックとの外が余白を設定した方がベターかも */
    }


        
/*-----------------------------------------
    .consultation（開業の相談）responsive setting
------------------------------------------*/

    .consultation .consultation_item{
        display: block;
        /* 子要素、水平方向の揃えの親要素設定を無効(block)にする  */  
    }
    .consultation .consultation_item .consultation_photo{
        width: auto;
        /* ブロックボックスの幅の初期設定(auto)が、100%を指定 */
        margin-bottom: 16px;
        /* 次のブロックとの外が余白を設定した方がベターかも */
    }
    .consultation .consultation_item .consultation_text{
        width: auto;
        /* ブロックボックスの幅の初期設定(auto)が、100%を指定 */ 
    }

/*-----------------------------------------
.map_area and info （基本情報） responsive setting
------------------------------------------*/
    .map_area{ 
        display: block;
        /* 子要素、水平方向の揃えの親要素設定を無効(block)にする  */     
    }
    .map_area .info{
        width: auto;
        /* ブロックボックスの幅の初期設定(auto)が、100%を指定 */
        margin-bottom: 80px;
        /* 次のブロックとの外が余白を設定した方がベターかも */
    }
    .map_area .map{
        width: auto;
        /* ブロックボックスの幅の初期設定(auto)が、100%を指定 */
    }

/*-----------------------------------------
footer responsive setting
------------------------------------------*/

    .footer_inner p{
        text-align: center;
        line-height: 100px;
    }    


}



