// ヘッダー共通部分 header { position: relative; width: 100%; height: 100vh; overflow: hidden; // メインテキストを囲っている要素 .top_view { width: 100%; height: 100%; } &::before { content:''; position:fixed; top:0; left:0; z-index:-1; width:100%; height: 100vh; background:url("../image/top/mainvisual.png") no-repeat center;/*背景画像設定※オリジナル画像を設定してください*/ background-size:cover; } // 黒い背景を薄くまとわせる &::after { content: ''; position: absolute; top: 0; left: 0; background: rgba($color: #000, $alpha: 0.3); width: 100%; height: 100%; z-index: 0; } nav { // background: #574747; width: 60%; position: absolute; right: 0; top: 50px; z-index: 5; overflow: hidden; ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; li { padding: 1em 2em; // フォントカラー a { color: #fff; font-size: 20px; } } } } } // デスクトップ用のサイズ変更 @media screen and (min-width: 1620px) { header { nav { width: 70%; position: absolute; right: 0; top: 50px; z-index: 5; overflow: hidden; ul { li { padding: 2em 4em; // フォントカラー a { color: #fff; font-size: 40px; } } } } } } // ヘッダーレスポンシブ @include tab { header { nav { ul { li { // フォントカラー a { font-size: 16px; } } } } } } // スマホ版レスポンシブ @include sp { header { &::before { content:''; background:url("../image/top/sp_mainvisual.png") no-repeat center;/*背景画像設定※オリジナル画像を設定してください*/ } nav { position: fixed; z-index: 99; width: 100%; top: 0; ul { li { // カラーサイズ a { font-size: 16px; } } } } } } // ============================================= // トップメインビジュアル共通スクロールダウン要素 // ============================================= .sdl { a { display: inline-block; position: absolute; transform: translate(-50%, 0); right: 3%; bottom: 3%; z-index: 2; padding: 10px 10px 110px; overflow: hidden; color: #fff; font-size: 14px; line-height: 1; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; writing-mode: vertical-lr; &::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 1px; height: 100px; background: #fff; animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite; } } } // レスポンシブ @include tab { .sdl { a { right: 0; font-size: 12px; } } } // スマホ版レスポンシブ @include sp { .sdl { a { display: none; } } } // 下に向かって下がる要素CSSアニメーション @keyframes sdl { 0% { transform: scale(1, 0); transform-origin: 0 0; } 50% { transform: scale(1, 1); transform-origin: 0 0; } 50.1% { transform: scale(1, 1); transform-origin: 0 100%; } 100% { transform: scale(1, 0); transform-origin: 0 100%; } } // フッター共通 .footer_wrapper { background: #574747; text-align: center; z-index: 10; // ページトップボタン .footer_btn { position: absolute; top: -55px; left: 50%; transform: translate(-50%, 0); text-align: center; overflow: hidden; line-height: 1.1; width: 220px; height: 60px; z-index: 10; &::before { content: ''; position: absolute; top: 0; left: 0; transform-origin: right top; background: #574747; transform: skewY(-30deg); width: 50.1%; height: 200%; } &::after { content: ''; position: absolute; top: 0; right: 0; transform-origin: left top; background: #574747; transform: skewY(30deg); width: 50.1%; height: 200%; } a { display: block; position: relative; z-index: 25; text-decoration: none; color: #fff; padding: 1em; i { font-size: 26px; } } } ul { display: flex; justify-content: center; align-items: center; padding: 5em 0; li { margin: 0 2em; a { font-size: 18px; color: #fff; } } } // フッターCopyright部分の文字 small { color: #fff; } } // デスクトップ用 @media screen and (min-width: 1620px) { .footer_wrapper ul li a { font-size: 26px; } } @include sp { .footer_wrapper { // ページトップボタン .footer_btn { a { font-size: 16px; i { font-size: 24px; } } } ul { li { margin: 0 1em; a { font-size: 16px; } } } small { font-size: 10px; } } }