/*各ワイヤーフレームがわかりやすいように色をつけておく

.header {
    background: red;
}

.main {
    background: blue;
}

.side {
    background: green;
}

.footer {
    background: pink;
}
*/

/*-------------------------ココから----------------------------------*/
/*-------------------------全体-------------------------*/
body {
    background: #d2d2d2;
}

.container {
    width: 1200px;
    background-color: white;
    margin: 0 auto;
}

.contents {
    padding: 24px;
    /*■■■■footerでclear:both設定前は、これがないと表示が崩れる■■■■
    height: 1600px;*/
}

.main {
    float: left;
    width: 70%;
}


/*音声にはないが、リンク部分の青をグレーにするに必要？*/
a {
    color: #666;
}

/*-------------------------ヘッダー部分-------------------------*/
/*-------------タイトルの設定-------------*/
/*親要素*/
.h-title {
    height: 100px;
    border-top: 5px solid blue;
    /*識別のための色分け
    background-color: plum;*/
    /*ポジションリレイティブ（相対）*/
    position: relative;
}

/*子要素*/
.h-title .h-logo {
    width: 300px;
    /*識別のための色分け
    background-color: salmon;*/
    /*ポジションアブソリュート（絶対）*/
    position: absolute;
    top: 50%;
    left: 4%;
    transform: translateY(-50%);
}

/*-------------ナビバーの設定-------------*/
/*識別のための色分け
.h-list .h-1-top {
    background-color: seagreen;
}

.h-list .h-1-bottom {
    background-color: teal;
}*/

/*ここからがコード*/
/*ナビバーを横並び、６等分の配置に（カラム落ちしてる）*/
.h-list {
    display: inline-block;
    width: calc(100%/6);
    /*親要素、位置合わせのためにポジションを相対位置に*/
    position: relative;
    /*ｈ−menu（ulのこと）で改行字幅を小さくしたことによって、
    字幅をノーマルに改めて設定*/
    letter-spacing: normal;
    /*absolute指定で親要素の高さが０になるため、改めて高さ設定*/
    height: 64px;
    /*境界（左側）に線を引く*/
    border-right: 1px solid #d2d2d2;
    /*線を引くと再びカラム落ちしてしまうため、線を要素の内側に引くように指定*/
    box-sizing: border-box;
}

/*h-listを親として子要素の配置の指定*/
.h-1-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.h-menu {
    /*カラム落ちの修正（li同士の改行が、６等分に影響を与えない字幅にする設定）*/
    letter-spacing: -.4em;
}

/*ナビバーの上端に線を引く*/
.h-nav {
    border-top: 1px solid #d2d2d2;
    border-bottom: 1px solid #d2d2d2;
}
/*ナビバー（上段）の文字調整*/
.h-1-top {
    font-size: 15px;
    color: #666;
    margin-bottom: 4px;
}

/*ナビバー（下段）の文字調整*/
.h-1-bottom {
    font-size: 10px;
    color: #bababa;
    /*中央寄せ*/
    text-align: center;
}

/*----ナビにカーソルを当てた時の動作-----*/
/*①字が青くなる
.h-list:hover .h-1-top {
    color: #0e36ca;
}*/
/*②ボックスの背景がグレーになる*/
.h-list:hover {
    background-color: #e6ebfa;
}
/*③左側に青の縦線（例１：単純なやり方）
.h-list:hover .h-1-box{
    border-left: 3px solid #103de4;
}*/
/*④青の縦線が左端に*/
.h-1-box {
    width: 90%;
    text-align: center;
}

/*-----カーソルを当てた時にブレるのを防ぐやり方-----*/
/*③左側に青の縦線　を↓入れ替える（例２）*/
.h-list:hover .h-1-box:before {
    content: "";
    width: 3px;
    height: 100%;
    position: absolute;
    background-color: #0e36ca;
    left: 4px;
}

/*ナビバーと下の画像との隙間なくす→リストに対して縦の位置を指定*/
.h-list{
    vertical-align: bottom;
}

/*ナビバーで、今いるページの書式を変更する*/
.active  .h-1-top {
    color: #0e36ca;
}
.active {
    background-color: #e6ebfa;
}
.active .h-1-box:before {
    content: "";
    width: 3px;
    height: 100%;
    position: absolute;
    background-color: #0e36ca;
    left: 4px;
}

/*決まった幅の中に画像を収めたい時（ヘッダー画像の幅を収める）*/
.h-image {
    max-width: 100%;
    height: auto;
}

/*-----------------------------------------------------------
                コンテンツ（①ホーム）
------------------------------------------------------------*/

/*-------------------------メイン部分-------------------------*/
/*----------メイン（１つ目のセクション）----------*/

/*日付とコンテンツ部分を整える*/
.m-info-date {
    float:left;
}

/*これは不要なの？
.m-info-content {
    float: left;
}
*/

/*ｈ２の書式設定*/
.m-h2 {
    background: #0f3bda;
    color: #fff;
    padding: 14px 12px 14px 24px;
    border-radius: 4px;
    font-size: 18px;
    margin-bottom: 24px;
}

/*音声では説明なかったような部分？*/
.m-info {
    margin-left: 12px;
    margin-right: 12px;
    font-size: 15px;
}

/*日付とコンテンツ部分を調整*/
.m-info-date {
    padding: 8px 32px 8px 0;
    color: blue;
}

.m-info-content {
    padding: 8px;
    border-bottom: 1px solid #ccc;
}

/*「NEW」部分*/
.m-info-new {
    background: red;
    font-size: 11px;
    color: #fff;
    padding: 2px 4px;
    border-radius: 4px;
}

/*下部の「過去ログ」部分*/
.m-log {
    text-align: right;
    padding-top: 24px;
}

.m-log a {
    color: #666666
}

/*ｈ２の左側の余白と縦線の入れ方*/
.m-h2::first-letter {
    border-left: 3px solid #8e9eef;
    padding-left: 16px;
}

.m-info {
    font-size: 15px;
}

.m-section {
    color: #666666;
    margin-bottom:24px;
    /*■■■■２つ目のセクションを表示させるために入れてみた■■■■*/
    clear:both;
}

/*----------メイン（２つ目のセクション）----------*/
.m-h3 {
    background: #f6f6f6;
    color: #666666;
    padding: 14px 12px 14px 24px;
    border-radius: 4px;
    font-size: 17px;
    border: #ccc 1px solid;
}

.m-p {
    font-size: 15px;
    color: #666666;
    margin: 24px 26px;
    line-height: 2;
}

.m-point {
    color: red;
}

.m-img {
    max-width: 100%;
    height: auto;
}

/*-------------------------サイド部分-------------------------*/
/*----------１つ目の枠（動画「サイド１」）----------*/
/*floatで右寄せに*/
.side {
    float: right;
}

/*フレームを作る*/
.s-framebox {
    padding: 10px;
    border: 1px solid #ccc;
    background: #f4f4f4;
    margin-bottom: 24px;
    color: #666666;
}

/*枠の幅を整える（コンテンツ幅の25％）*/
.side {
    width: 25%;
}

.s-h4 {
    padding: 28px 10px;
    border-top: 5px solid blue;
    background: #eeeeee;
    /*↓承継できる要素なので省略もok*/
    color: #666666;
    border-bottom: 1px solid #d2d2d2;
}

.s-list {
    border-bottom: 1px solid #d2d2d2d2;
    padding: 15px;
}

/*下線をなくす*/
.s-list a {
    text-decoration : none;
    color: #666666;
}

/*マウスを当てると、背景色が白、文字が青く*/
.s-list:hover {
    background: white;
}

.s-list:hover a {
    color: blue;
}

/*----------２つ目の枠----------*/

.s-box {
    margin-bottom: 24px;
    color: #666666;
    /*paddingがあると、印象が揃わないのでpaddingの設定はしない*/
}

/*-------３つ目、４つ目の枠（動画「サイド２」）-------*/
 /*画像の調整 float、サイズ*/
.s-img {
    float: left;
    width: 20%;
    margin-right: 5px;
}

/*上の文字*/
.s-l-title {
    color: blue;
    font-size: 11px;
}

/*下の文字*/
.s-l-description {
    font-size: 11px;
}

/*画像と文字の配置を調整。画像にfloatかけたため*/
/*floatをかけている画像（img class=.s-img）の親である（li class=.s-list）を調整*/
.s-list {
    overflow: hidden;
}

/*----------５つ目の枠（動画「サイド３」）----------*/
.s-company-title {
    font-weight: bold;
    text-align: center;
    font-size: 15px;
    padding: 10px 0;
}

.s-company-info {
    font-size: 11px;
    text-align: center;
    line-height: 1.5;
}

/*--------------------------フッター部分-----------------------------------*/
/*上段の小さな文字は、HTMLでsmallタグの使用で実現されているが、実際の使用は微妙なようだ*/
footer .pr {
    display: block;  /*２段にする*/
}

.footer {
    text-align: center;  /*センタリング*/
    font-size: 13px;
/*floatの解除。bothは、floatのrightとleftの両方に効く*/
    clear: both;
    background: blue;
    color: #ffffff;
    padding: 16px 0;
    line-height:2;
}

.footer a {
    text-decoration: none; /*下線なし。ただの「footer」では効かない*/
    /*この設定しておかないと、リンク部分の色が見えなくなる*/
    color: #ffffff;
}

.footer a:hover {
    color: blue;
}


/*-----------------------------------------------------------
                コンテンツ（②会社概要）
------------------------------------------------------------*/

th,td {
    border: 1px solid #666666;
    line-height: 2;
    padding: 10px 15px;
}

th {
    width: 25%;
    text-align: center;
}

td {
    text-align: left;
}

td a {
    color: #666666;
}


/*-----------------------------------------------------------
                コンテンツ（③サービス）
------------------------------------------------------------*/
.card {
    border: 1px solid #666666;
}

/*カードの中のimg*/
.card img {
    width: 25%;
    float: left;
}

.card {
    overflow: hidden;
    padding: 20px;
}

.card img {
    margin-right: 20px;
}

.card {
    background-color: #ece4e4;
}

a {
    text-decoration: none;
    color: rgb(49, 49, 49);
}


/*-----------------------------------------------------------
                コンテンツ（⑥お問い合わせ）
------------------------------------------------------------*/
/*「お問い合わせ詳細」を縦方向に中央寄せ*/
th {
    vertical-align: middle;
}
/*「input」「textarea」の幅*/
input {
    width: 60%;
}
textarea {
    width: 90%;
}

/*「内容を確認する」送信ボタンに「input」タグ指定がついてしまって幅広なので*/
.button {
    width: 20%;
}

/*送信ボタンを少し下、中央に移動*/
table {
    margin-bottom: 24px;
}

/*formタグの中を中央寄せに（.buttonへの指定ではない）*/
form {
    text-align: center;
}

/*-------------------------------------------------------
    ハンバーガーメニュー
--------------------------------------------------------*/

/*ハンバーガーメニュー（３本横線）を作る
ヘッダーのロゴの右辺りに表示されるように、htmlのロゴの下に追加記入していく。
チェックボックスにチェックが入った時に、
入らない時はまるまるのイメージで作成*/

/*３本線のマークを作る*/
#nav-open span, #nav-open span:before, #nav-open span:after {
    /*場所を指定*/
    position: absolute;
}
#nav-open span {
    /*上から38pxの位置に線を引く
    ※ヘッダー画像までの間が100pxなので、３本線の真ん中を50pxに
    ※そこから、一番上は12px上の38px（基本となる）*/
    top: 38px;
    right: 30px;
}

/*2番目は、そこから12px下がるので△12px
「：」の後ろにスペース入れない！*/
#nav-open span:before {
    bottom: -12px;
}

/*※3番目は、さらに12px下がるので△24pxとする。*/
#nav-open span:after {
    bottom: -24px;
}

/*ハンバーガーマークの書式設定*/
#nav-open span, #nav-open span:before, #nav-open span:after {
    height: 3px;
    width:30px;
    background: #666;
    /*文字はなし*/
    content:"";
    /*カーソルあたった時に指のマークに*/
    cursor: pointer;
}

/*最初、形作る時はいったん非表示にするために記載。
最終的には、クリック時に必要なので、消す
#nav-contents {
    display: none;
}
*/

/*チェックボックスを非表示に*/
.nav-invisible {
    display: none;
}

/*ハンバーガーメニュークリック時の表示*/
#nav-contents {
    /*場所を指定*/
    position: absolute;
    /*動画通りの100pxだと透過しているハンバーガーメニューが邪魔してナビバーがクリック不可のｍため*/
    top: 165px;
    /*要素の重なり順序を指定するプロパティ。大きいほど前面。*/
    z-index: 100;
    width: 100%;
    height: auto;
    background: black;
    /*ゆっくり表示される*/
    transition: .3s;
    /*表示されない。0（透明）〜１（不透明）*/
    opacity: 0;
}

/*擬似クラスでチェックが入った状態を指定*/
/*チェックされた時に、指定したところまでの、同じ階層にある行までをまとめて指定する*/
#nav-input:checked ~ #nav-contents {
    opacity: .8;
}

/*ハンバーガークリック時に出現するメニューの書式設定*/
.sp-menu-list {
    border-bottom: 1px solid white;
    text-align: left;
    line-height: 2.0;
    padding: 16px;
}

.sp-menu-list a {
    color: white;
    text-decoration: none;
}

.sp-menu-top {
 font-size: 18px;   
}

.sp-menu-bottom {
    font-size: 11px;
}



/*--------------------------------------------------------
    レスポンシブ化（メディアクエリ）
---------------------------------------------------------*/
/*----------「side」を縦並びにする--------*/
@media screen and (max-width: 780px) {
    body {
        font-size: 12px;
        line-height: 1.5;
    }
    .main {
        float: none;
        width: auto;
    }
    .side {
        float: none;
        width: auto;
    }
}

/*------縦並びになったところで調整していく-------*/
/*コンテナの1200pxが大きすぎるので小さく*/
@media screen and (max-width: 780px) {
    /*container幅の調整*/
    .container {
        width: 98%;
    }
    /*contentsの横幅調整*/
    .contents {
        padding: 2%;
    }
    /*ロゴサイズ*/
    .h-title .h-logo {
        width: 60%;
    }
    /*h2、h3見出しのサイズ、パディング*/
    .m-h2, .m-h3 {
        font-size: 16px;
        padding: 7px 6px 7px 8px;
    }
    /*h2テキストと縦棒の間のスペースが16pxで広すぎる*/
    .m-h2::first-letter {
        padding-left: 8px;
    }
    /*表？の文字を８pxに*/
    .m-info-date {
        font-size: 8px;
    }
    .m-info-content {
        font-size: 8px;
    }
    /*「NEW」が大きすぎる*/
    .m-info-new {
        font-size: 8px;
        padding: 1px 2px;
    }
    /*表？の行間がつまりすぎ？*/
    .m-info-content {
        line-height: 1.5;
    }
    /*「過去ログ」が大きすぎ*/
    .m-log a {
        font-size: 12px;
    }
}

/*レスポンシブの時にはナビバーを非表示に*/
@media screen and (max-width: 780px) {
    .h-nav {
        display: none;
    }
}

