@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

a {
    color: #000;
    text-decoration: none;
}

.container {
    max-width: 1160px;
    padding: 0 40px;
    margin: 0 auto;
}

/* ヘッダー */
header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

header>.container {
    height: 100px;
    display: flex;
    align-items: center;
    max-width: none;
    padding: 0 60px;
}

/* ロゴ */
.area_logo_header .logo {
    display: block;
}

.area_logo_header img {
    height: 60px;
    vertical-align: bottom;
}

/* ヘッダーナビ */
.nav_header {
    margin: 0 0 0 auto;
}

.list_nav_header {
    display: flex;
    align-items: center;
    margin: 0 -15px;
}

.list_nav_header>li {
    padding: 0 15px;
}

.list_nav_header a {
    color: #fff;
    font: 400 18px/1em 'noto sans japanese', sans-serif;
}

[class*="btn_ico"] {
    color: #fff;
    font: 400 18px/1em 'noto sans japanese', sans-serif;
    display: flex;
    align-items: center;
    height: 36px;
    padding: 0 30px 0 60px;
    background: #0cf;
    box-shadow: 0px 7px 6px -4px rgba(16, 61, 72, .2);
    position: relative;
}

[class*="btn_ico"]:before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
}


/* トップビュー */
.area_top_view {
    background: url(../img/bg/hero-img.png) no-repeat bottom center;
    background-size: cover;
}

.area_top_view>.container {
    height: 700px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.area_top_view img {
    height: 60px;
    vertical-align: bottom;
}

.area_top_view .ttl {
    color: #fff;
    font: 400 27px/1em 'noto sans japanese', sans-serif;
    letter-spacing: .04em;
    margin: 20px 0 0;
    padding: 0 0 0 40px;
    position: relative;
}

/* エリア_ホーム */
[class*="area_home"] {
    padding: 80px 0 120px;
}

/* ヘッド */
.head_home {
    margin: 0 0 100px;
    display: flex;
    justify-content: center;
}

.head_home .ttl {
    font: 500 56px/1em 'Goldman', 'noto sans japanese', sans-serif;
    padding: 0 0 12px;
    position: relative;
}

.ttl-red {
    color: #FF0000;
}
.ttl-blue {
    color: #0000FF;
}

.head_home .ttl:after {
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    /* background: #0cf; */
    position: absolute;
    bottom: 0;
    left: 0;
}


/* 2分割レイアウト */
.layout_2_div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 -40px;
}

.layout_2_div>div {
    width: 50%;
    padding: 0 40px;
}

/* テキスト_ホーム */
.text_home .ttl {
    font: 500 32px/1em 'noto sans japanese', sans-serif;
    margin: 0 0 20px;
}

.text_home .description {
    font: 300 20px/1.8em 'noto sans japanese', sans-serif;
}

.text_home .btnarea {
    margin: 30px 0 0;
    display: flex;
    align-items: center;
}


/* 特徴 */
.list_feature {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px;
}

.list_feature>li {
    width: 33.3333%;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.list_feature .img {
    margin: 0 0 40px;
    position: relative;
    z-index: 1;
}

.list_feature .img:before {
    content: "";
    display: block;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: #000043;
    box-shadow: 0px 2px 12px 2px rgba(0, 204, 255, 1);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    transform: translate(-50%, -50%);
}

.list_feature img {
    width: 80px;
    height: 80px;
    vertical-align: bottom;
}

.list_feature .ttl {
    font: 500 28px/1em 'noto sans japanese', sans-serif;
    margin: 0 0 30px;
}

.list_feature .description {
    font: 200 16px/2em 'noto sans japanese', sans-serif;
}




/* フッター */
footer>.container {
    padding: 0 0 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* バックグラウンド */
.bg_darkblue {
    color: #fff;
    background: #000043;
}

.copyright {
    font: 300 14px/1em  'noto sans japanese', sans-serif;
    margin: 30px 0 0;
}