// ブレイクポイントの初期設定 $breakpoints: ( 'xs': 'screen and (min-width: 480px)', 'sm': 'screen and (min-width: 600px)', 'md': 'screen and (min-width: 768px)', 'lg': 'screen and (min-width: 1024px)', 'xl': 'screen and (min-width: 1200px)', 'xxl': 'screen and (min-width: 1400px)', 'wd': 'screen and (min-width: 1600px)', ) !default; @mixin mq($breakpoint: md) { @media #{map-get($breakpoints, $breakpoint)} { @content; } } @mixin en-font() { font-family: 'Noto Serif', serif; } // minxin設定 @mixin wrapper($inner: 1140px) { width: 100%; max-width: $inner; margin: 0 auto; } // flex @mixin flex($alin: center, $justyfy: space-between) { display: flex; align-items: $alin; justify-content: $justyfy; } @mixin bg-icon($size: cover) { background-repeat: no-repeat; background-size: $size; background-position: center center; } @mixin shadow-box() { background-color: $white; padding: 1.5rem; box-shadow: $shadow; width: 95%; margin: 0 auto; transform: translateY(-30px ); } // 変数の設定 $white: #fff; $black: #333; $gray: #F2F2F2; $gray2: #efefef; $main: #F0E8DC; $color1: #5AAAC3; $color2: #F0B43C; $color3: #82B446; $red: #E83E24; $shadow: rgba(0, 0, 0, 0.1) 0px 5px 7px; /*=================================== 基本設定 ====================================*/ html { font-size: 62.5%; } body { font-family: 'Zen Kaku Gothic Antique', sans-serif; @include en-font(); margin: 0px; overflow-x: hidden; color: #333; line-height: 1.6; font-size: 1.4rem; letter-spacing: 1.2px; @include mq() { font-size: 1.6rem; } } p { line-height: 1.4; margin-bottom: 1.6rem; @include mq() { line-height: 1.6; } &:last-child { margin-bottom: 0; } } a { display: inline-block; color: $black; text-decoration: none; } a:hover { opacity: .7; transition: all 0.3s ease-in-out; } img { width: 100%; height: auto; object-fit: cover; object-position: top; } h2, h3, h4 { line-height: 1.2; @include mq('md') { line-height: 1.3; } @include mq('lg') { line-height: 1.4; } } /*=================================== common(共通設定) ====================================*/ .en { @include en-font(); } h1, h2, h3, h4, .menu-content #menu-header-menu li, .genre3Box li, .contents-subheading, #toc_container .toc_title, #toc_container ul li, .point li, .ac_title, #menu-footer-menu li, .footer-banner, .btn { @include en-font(); } .section { padding: 3rem 0; &:first-child { padding-top: 3rem; @include mq('md') { padding-top: 6rem; } } &:last-child { padding-bottom: 3rem; @include mq('md') { padding-bottom: 6rem; } } @include mq('md') { padding: 6rem 0; } } .content { margin: 0 auto; padding: 0 4vw; max-width: 650px; margin: 0 auto; @include mq('md') { max-width: 1140px; padding: 0 3rem; } } .time { display: block; font-size: 1.2rem; font-weight: normal; margin-bottom: 1rem; text-align: right; color: $white; span { display: block; } span+span { margin-left: 1.6rem } i { margin-right: .5rem } @include mq() { @include flex(center, end); font-size: 1.4rem } @include mq('lg') { font-size: 2rem } } // サムネイルがない時の画像指定 .noImg { @include flex(center, center); background-color: #ccc; width: 100%; min-width: 100%; height: 200px; @include mq() { height: 350px; } i { font-size: 5rem; color: $white; @include mq() { font-size: 7vw; } @include mq('lg') { font-size: 5rem; } } } .home .genreMid .noImg { height: 250px; @include mq() { height: 350px; } @include mq('lg') { height: 450px; } } // 各セクションのタイトル .section-ttl { font-size: 2rem; color: $black; text-align: center; margin-bottom: 20px; line-height: 1.6; &::after { content: ''; display: block; background-color: $main; width: 150px; height: 5px; border-radius: 5px; margin: 1rem auto 0; @include mq() { height: 6px; border-radius: 50px; } } @include mq('xs') { font-size: 2.4rem; } @include mq() { font-size: 3rem; margin-bottom: 30px; } } .section-sub-ttl { font-size: 2rem; margin-bottom: 2rem; padding-bottom: .5rem; line-height: 1.2; @include mq('md') { font-size: 2.4rem; line-height: 1.3; } @include mq('xl') { font-size: 2.7rem; margin-bottom: 3rem; line-height: 1.4; } } .bg-main { background: $main; } .bg-selection_1 { background: rgba($color1, 80%); } .bg-selection_2 { background: rgba($color2, 80%); } .bg-selection_3 { background: rgba($color3, 80%); } .bg-01 { //メインカラー01 background-color: $color1; } .bg-02 { //メインカラー02 background-color: $color2; } .bg-03 { //メインカラー03 background-color: $color3; } .bg-gray { background-color: $gray; } .bg-black { background-color: $black; } /*=================================== 独自のパーツ(今回のみ使用する共通パーツ) ====================================*/ h3.main-ttl { padding: 1rem 1.5rem; color: $white; justify-content: center; } .img-wrap { position: relative; // h3 { // @include flex(center, normal); // padding: 1rem 1.5rem; // color: $white; // position: absolute; // top: 0; // left: 0; // } } .recommend-ttl_h3 { a { color: $white; } } .icon-wrap { display: block; line-height: 1; } .icon { width: 30px; height: 30px; display: inline-block; margin-right: .5rem; color: $white; } .sns-wrap { .btn { @include flex(center, center); color: $white; border-radius: unset; font-family: unset; img { display: block; margin-right: .7rem; width: 100%; object-fit: contain; height: 30px; } } } .btn.twitter { background-color: #1D9BF0; } .btn.insta { color: $white; background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat; background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat; overflow: hidden; } .btn.youtube { background-color: #ff0000; } .btn.line { background-color: #06c755; } /*=================================== Button(ボタン) ====================================*/ .btn-wrap { @include mq() { @include flex(center, center); } } .single .btn-wrap { margin: 4rem auto; } .btn+.btn { margin-top: 1.6rem; @include mq() { margin: 0 0 0 1rem; } } .btn { display: block; max-width: 100%; width: 100%; font-size: 1.6rem; background-color: $main; color: $black; font-weight: 500; border-radius: 50px; text-align: center; padding: 1.5rem 3rem; transition: all 0.3s; border: 2px solid $black; position: relative; @include mq() { max-width: 350px; } i { position: absolute; top: 50%; right: 15px; transform: translateY(-50%); @include mq() { right: 20px; } } &:hover { opacity: .7; transition: all 0.3s; } } .btn.btn2 { background-color: $red; color: $white; border-color: $main; &:hover { opacity: .7; transition: all 0.3s; } } .btn.btn4 { background-color: $main; max-width: 550px !important; border-radius: 50px; } /*=================================== パンくず ====================================*/ .pankuz { background-color: $main; .inner { font-size: 1.2rem; padding: 0 4vw; max-width: 1140px; margin: 0 auto; @include mq() { font-size: 1.4rem; padding: 0 3rem; } } } /*=================================== PAGER(ページネーション) ====================================*/ .pager { margin: 0 auto; text-align: center; .page-numbers+.page-numbers { margin-right: 1.5rem; } .page-numbers.current { background-color: $main; padding: .5rem 1rem; } .next, .prev { font-size: 30px; vertical-align: -9%; } } /*=================================== BLOG CARD(ブログカード) ====================================*/ .blog-card { background: rgba(110, 115, 130, 0.05); padding: 1rem; @include mq() { padding: 1.5rem; } a { display: flex; cursor: pointer; .blog-card-thumbnail { width: 30%; min-width: 125px; @include mq() { min-width: 150px; } img { width: 100%; height: 100%; margin: 0; } } .blog-card-content { padding: .7rem 0 0 .7rem; @include mq() { padding: 1rem 0 0 1rem; } .blog-card-title { font-size: 1.6rem; font-weight: 500; border-bottom: 3px solid $main; margin-bottom: 1rem; @include mq() { font-size: 2rem; margin-bottom: 1.6rem; } } .blog-card-excerpt { text-decoration: underline; color: blue; font-size: 1rem; @include mq('sm') { font-size: 1.2rem; } @include mq() { font-size: 1.4rem; } } } } } /*=================================== BANNER(フッター固定バナー) ====================================*/ .footer-banner { position: fixed; bottom: 0; left: 0; padding: 4px 0; width: 100%; background: rgb(10 10 10 / 70%); display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; -ms-align-items: center; align-items: center; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; z-index: 99; } .footer-banner-txt { display: block; max-width: 1140px; width: 95%; font-size: 15px; justify-content: space-between; -ms-align-items: center; align-items: center; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; line-height: 1.4; text-align: center; @include mq('md') { width: 85%; } } .footer-banner .btn-wrap { margin: 22px 0 14px; } a.btn-f { font-size: 1.6rem; padding: .5rem 2rem 1rem; color: $white; background: #c52929; -webkit-box-shadow: 0 5px 0 #880e0e; box-shadow: 0 5px 0 #880e0e; width: 100%; position: relative; @include mq('md') { font-size: 2.2rem; padding: 1.5rem 2.5rem; width: 100%; } @include mq('xl') { font-size: 2.2rem; padding: 1.5rem 2.5rem; width: 70%; } span { font-size: 1.2rem; font-weight: 400; position: absolute; top: -15px; left: calc(50% - 38%); display: block; width: 77%; padding: .5rem; color: #c52929; border: 2px solid #c52929; border-radius: 0.5rem; background: $white; -webkit-box-shadow: 0 3px 3px rgb(0 0 0 / 20%); box-shadow: 0 3px 3px rgb(0 0 0 / 20%); @include mq('md') { top: -11px; padding: 1rem; } } i { position: absolute; bottom: 15px; right: 3%; transition: all 0.3s ease-in-out; } } #wpfront-scroll-top-container { background-color: $main; color: $black !important; display: block; font-size: 20px; width: 40px; height: 40px; line-height: 2; position: fixed; bottom: 25% !important; right: 0 !important; text-align: center; z-index: 9999; @include mq('md') { font-size: 30px; width: 60px; height: 60px; } @include mq('lg') { bottom: 0 !important; } } /*=================================== CONTENTS(目次) ====================================*/ #toc_container { background-color: $gray; padding: 1.5rem; box-sizing: border-box; margin: 4rem auto; @include mq('md') { padding: 2rem; } .toc_title { text-transform: uppercase; font-size: 2rem; @include en-font(); font-weight: 600; text-align: center; margin-bottom: 0; margin: 0; margin-bottom: 2rem; &::after { content: ''; display: block; width: 80px; height: 4px; background-color: $main; border-radius: 5px; margin: .5rem auto 0; } @include mq() { font-size: 2.4rem; } @include mq('lg') { font-size: 2.7rem; } } .contents-subheading { font-size: 2rem; font-weight: 500; margin-bottom: 1.5rem; position: relative; display: flex; align-items: center; &::before { content: '\f054'; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 2rem; color: $black; margin-right: .5rem; } } } #toc_container .toc_list { width: 90%; margin: 0 auto; @include mq() { width: 80%; } @include mq('xl') { width: 70%; } } #toc_container .toc_list li { margin-bottom: 1rem; position: relative; } #toc_container ul li:before { content: ''; display: block; width: 3px; height: 3px; background-color: $black; border-radius: 50%; position: absolute; top: 50%; transform: translateY(-50%); left: 0; } #toc_container ul li a { font-size: 1.4rem; line-height: 1.4; padding-left: 1.5rem; text-decoration: underline; @include mq() { font-size: 1.6rem; } } #toc_container .toc_list li a:hover { opacity: .7; text-decoration: underline; transition: all 0.3s; } // TOPページの目次 .home #toc_container { max-width: 800px; margin: 0 auto !important; .toc_inner { width: 95%; margin: 0 auto; @include mq() { width: 80%; } @include mq('lg') { width: 70%; } } .toc_title { font-size: 2.2rem; @include flex(center, center); flex-direction: column; &::after { width: 150px; height: 5px; } @include mq() { font-size: 2.7rem; margin-bottom: 3rem; } @include mq('lg') { font-size: 3.2rem; } } .toc_list { width: 90%; } } .single #toc_container .toc_inner { @include mq() { width: 80%; margin: 0 auto; } } /*=================================== 基本情報 ====================================*/ table.table, table.table tbody, table.table tbody tr th, table.table tbody tr td { display: block; width: 100%; } .table { tbody { tr+tr { margin-top: 1.6rem } tr { @include mq() { @include flex(center, normal); } th { font-size: 1.4rem; width: 100%; color: $black; font-weight: 500; padding: .7rem; text-align: center; background-color: $gray; @include mq() { font-size: 1.6rem; max-width: 150px; min-width: 150px; padding: 1rem; } } td { font-family: unset; padding: .7rem; line-height: 1.4; font-size: 1.2rem; @include mq() { font-size: 1.4rem; padding: 0 0 0 1rem; } } } } } .table.top { //TOPページの基本情報 tbody { tr+tr { margin: 0; } tr { display: flex; flex-direction: column; margin-bottom: 0; th { max-width: 100%; } td { padding: .7rem; } } } } //詳細ページ .single .table { tbody { tr { display: block; width: 100%; @include mq() { display: flex; } th { background-color: $main; color: $black; } } } } //3選詳細ページ .single .selections .table { tbody { tr { th { color: $white; } } } } .table.list { tbody tr { th { font-size: 1.6rem; max-width: 120px; min-width: 120px; } td { text-align: left; font-size: 1.4rem; } } } // クライアント専用職種別テーブル .table.occupation { tbody { display: flex; flex-wrap: wrap; } tr+tr { margin: 0; } tr { border: 1px solid $gray; width: 50%; align-items: normal; } td { padding: 1rem; } } /*=================================== Point(ポイント) ====================================*/ .home .point { background-position: center; background-repeat: no-repeat; background-size: cover; width: 100%; padding: 1.5rem 2rem; position: relative; color: $white; @include mq() { padding: 2rem 3rem; } @include mq('lg') { padding: 2rem 4rem; } &::before { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; } h4 { font-size: 2.4rem !important; font-weight: 500; padding: 0 0 .5rem 0 !important; border-left: none !important; border-bottom: 2px solid $white; position: relative; z-index: 1; @include mq() { font-size: 3.2rem !important; } @include mq('lg') { font-size: 3.8rem !important; } } ul { li { font-size: 1.6rem; font-weight: 500; position: relative; z-index: 1; @include mq() { font-size: 1.8rem; } @include mq('lg') { font-size: 2rem; } i { margin-right: .5rem; } } } } // 軸1 .home .genre01 .point { background-image: url(img/selection_1.jpg); &::before { @extend .bg-selection_1; } } // 軸2 .home .genre02 .point { background-image: url(img/selection_2.jpg); &::before { @extend .bg-selection_2; } } // 軸3 .home .genre03 .point { background-image: url(img/selection_3.jpg); &::before { @extend .bg-selection_3; } } /*=================================== Feature(特徴・強み) ====================================*/ .feature {} /*=================================== 口コミ ====================================*/ .review { .wrap+.wrap { margin-top: 4rem; } .wrap { border: 2px solid; .review_title, .admin_title { //共通タイトル text-align: center; background-color: $main; padding: .7rem; font-size: 1.4rem; position: relative; @include mq() { font-size: 1.6rem; } &::after { content: ''; width: 0; height: 0; border-left: 25px solid transparent; border-right: 25px solid transparent; border-bottom: 15px solid transparent; position: absolute; bottom: 0; left: 50%; transform: translate(-50%, 95%); } } .review_title { &::after { border-top: 15px solid $main; } } .admin_title { //運営者コメントのタイトル background-color: $gray; color: $black; &::after { border-top: 15px solid $gray; } } blockquote { padding: 2rem 1.5rem; font-size: 1.2rem; @include mq() { font-size: 1.4rem; padding: 2rem; } } .quote { text-align: right; font-size: 1.2rem; padding-right: 2rem; @include mq() { font-size: 1.4rem; } a { font-size: 1.2rem; @include mq() { font-size: 1.4rem; } color: blue; } } } .review_comment { border-color: $main; padding-bottom: 2rem; } .admin_comment { border-color: $gray; p { padding: 2rem 1.5rem; font-size: 1.2rem; @include mq() { font-size: 1.4rem; padding: 2rem; } } } } //TOP .review.top { display: block; @include mq() { display: flex; } .wrap+.wrap { @include mq() { margin: 0 0 0 1.5%; } } .wrap { @include mq() { width: 48.5%; } } } /*=================================== Selection_1(軸1) ====================================*/ .genre01 { .section-ttl::after { background-color: $color1; } .genreBox { h3 { background-color: $color1; } h4 { border-left: 5px solid $color1; } } .review { .review_comment { border: 2px solid $color1; } .review_title { background-color: $color1; color: $white; &::after { border-top: 15px solid $color1; } } } } /*=================================== Selection_2(軸2) ====================================*/ .genre02 { .section-ttl::after { background-color: $color2; } .genreBox { h3 { //会社名 background-color: $color2; } h4 { border-left: 5px solid $color2; } } .review { .review_comment { border: 2px solid $color2; } .review_title { background-color: $color2; color: $white; &::after { border-top: 15px solid $color2; } } } } /*=================================== Selection_3(軸3) ====================================*/ .genre03 { .section-ttl::after { background-color: $color3; } .genreBox { h3 { //会社名 background-color: $color3; } h4 { //おすすめポイントのタイトル border-left: 5px solid $color3; } } .review { .review_comment { border: 2px solid $color3; } .review_title { background-color: $color3; color: $white; &::after { border-top: 15px solid $color3; } } } } /*=================================== HEADER(ヘッダー) ====================================*/ .header { display: flex; align-items: center; width: 100%; height: 80px; padding-left:10px; background: $white; // @include mq() { // height: 100px; // } // img { display: block; width:240px; object-fit:unset; } } // .header-inner { // width: 100%; // margin: 0 auto; // padding: 0 4vw; // @include mq('md') { // padding: 0 6rem; // } // a { // display: block; // text-align: left; // } // } /*=================================== MENU(ハンバーガーメニュー) ====================================*/ .burgerBtn_wrapper { background: $black; position: fixed; top: 15px; right: 10px; z-index: 9999; } .burgerBtn { position: relative; /*ボタン内側の基点となるためrelativeを指定*/ width: 50px; height: 50px; cursor: pointer; } /*ボタン内側*/ .burgerBtn { span { display: inline-block; transition: all .4s; /*アニメーションの設定*/ position: absolute; left: 14px; height: 2px; border-radius: 2px; background: $white; &:nth-of-type(1) { top: 15px; width: 45%; } &:nth-of-type(2) { top: 23px; width: 35%; } &:nth-of-type(3) { top: 31px; width: 20%; } } &.active span:nth-of-type(1) { top: 18px; left: 18px; transform: translateY(6px) rotate(-135deg); width: 30%; } &.active span:nth-of-type(2) { opacity: 0; } &.active span:nth-of-type(3) { top: 30px; left: 18px; transform: translateY(-6px) rotate(135deg); width: 30%; } } .menu-content { background: rgba($main, .9); width: 100%; height: 100vh; position: fixed; top: 0%; left: -150%; z-index: 998; transition: all 0.2s ease-in-out; @include mq() { width: 70vw; } &.active { left: 0; transition: all 0.2s ease-in-out; } #menu-header-menu { margin: 0 auto; padding: 3rem 4vw 0; width: 90%; position: relative; @include mq() { padding: 6rem 2rem 0; } @include mq('lg') { padding: 12rem 4rem 0; max-width: 850px; } li { text-align: left; margin-bottom: 2rem; position: relative; padding-left: 4rem; // &:before { // content: ''; // color: $white; // background: $black; // display: inline-block; // width: 30px; // height: 30px; // text-align: center; // vertical-align: -21%; // margin-right: 1rem; // border-radius: 50%; // @include mq() { // font-size: 18px; // margin-right: 3rem; // width: 40px; // height: 40px; // border-radius: 50%; // vertical-align: -9%; // color: $white !important; // } // } &:after { font-family: 'Font Awesome 5 Free'; font-size: 15px; font-weight: 900; color: $white; display: inline-block; position: absolute; top: 10px; left: 15px; transform: translate(-50%, -50%); @include mq('xs') { font-size: 18px; top: 10px; left: 15px; } @include mq() { left: 20px; } } a { font-weight: 600; vertical-align: 20%; &::after { content: ''; display: block; color: $black; height: 1px; background-color: $black; width: 15px; transition: all 0.2s ease-in-out; } &:hover::after { width: 100%; transition: all 0.2s ease-in-out; } } } } } .burger-musk { width: 0; height: 0; position: fixed; opacity: .7; top: 0%; z-index: 997; &.active { width: 100vw; height: 100vh; } } // 各項目ごとのアイコン #menu-header-menu li { &:nth-child(1)::after { content: '\f015'; } &:nth-child(2)::after { content: '\f304'; } &:nth-child(3)::after, &:nth-child(4)::after, &:nth-child(5)::after, &:nth-child(6)::after { content: '\f518'; } &:nth-child(7)::after { content: '\f51c'; } &:nth-child(8)::after { content: '\f3c5'; } &:nth-child(9)::after { content: '\f51c'; } } /*=================================== FOOTER(フッター) ====================================*/ .footer { background: $main; .bg_inner { padding-top: 6rem; max-width: 1140px; margin: 0 auto; padding: 3rem 4vw; box-sizing: border-box; @include mq() { padding: 6rem 3rem; } ul li a i { display: inline-block; margin-right: .5rem; } } a { color: $black; } } #menu-footer-menu { @include mq() { @include flex(); } li { width: 100%; padding: 1rem; border-top: 2px solid $white; text-align: center; &:last-child { border-bottom: 2px solid $white; } @include mq() { border-top: 2px solid $white; border-bottom: 2px solid $white; border-right: 2px solid $white; padding: 3rem; } a { display: block; width: 100%; color: $black; font-weight: 500; font-size: 1.6rem; @include mq('md') { font-size: 2rem; } span { display: block; margin-top: -.5rem; &::after { display: block; color: $black; font-size: 1.2rem; margin-top: 1rem; @include mq('md') { font-size: 1.4rem; } } } } } } // JSでspanタグをその擬似要素として文字を挿入 #menu-footer-menu li:nth-child(1) a span::after { content: "ホーム"; } #menu-footer-menu li:nth-child(2) a span::after { content: "コラム"; } #menu-footer-menu li:nth-child(3) a span::after { content: "運営者情報"; } #menu-footer-menu li:nth-child(4) a span::after { content: "お問い合わせ"; } #menu-footer-menu li:nth-child(5) a span::after { content: "記事一覧"; } // 各記事エリア .footer .selections, .footer .recommend, .footer .list, .footer .colum { h3 { font-size: 2rem; margin-bottom: 1.6rem; background-color: $black; color: $white; padding: 1.5rem; } ul { @include flex(center, static); flex-wrap: wrap; li { padding: 1rem; @include mq('md') { padding: 1rem; } } } } .footer .selections { li { display: block; width: 100%; } } // 免責事項 .disclaimer { font-size: 1.4rem; margin: 6rem 0; h4 { font-size: 1.4; font-weight: 400; background-color: $black; color: $white; padding: .5rem; width: 100%; border-radius: 5px; max-width: 250px; text-align: center; margin: 0 auto; font-size: 2rem; position: absolute; left: 50%; transform: translate(-50%, -50%); z-index: 2; } p { position: relative; color: $black; padding: 3rem 1.5rem 1.5rem; box-sizing: border-box; border: 4px solid $black; border-radius: 5px; } } .footerBtm { margin-bottom: 1rem; text-align: center; a { font-weight: 500; } } // コピーライト .Copyright { text-align: center; font-size: 1.2rem; } /*=================================== MV(メインビジュアル) ====================================*/ .mv { background-position: center 40%; background-repeat: no-repeat; background-size: cover; width: 100%; height: 450px; position: relative; background-image: url(img/mv-bg.jpg); @include mq('xs') { height: 500px; } @include mq() { height: 600px; } } .mv-box { display: inline-block; position: absolute; top: 30px; right: 0; z-index: 2; padding: 2rem 4rem; overflow: hidden; @include mq() { padding: 3rem 5rem; right: 60px; } @include mq('lg') { padding: 4rem 2rem 4rem 7rem; } .copy { font-size: 2rem; font-weight: 500; line-height: 1.2; @include mq() { font-size: 2.2rem; } @include mq('lg') { font-size: 2.7rem; } @include mq('xl') { font-size: 3.2rem; } } .copy_1 { font-size: 3.2rem; padding-bottom: .5rem; margin-bottom: 1.6rem; position: relative; z-index: 3; &::before { content: ''; display: block; width: 45px; height: 45px; background: #FFFF8A; position: absolute; bottom: -6px; left: -12px; z-index: -1; @include mq() { width: 52.5px; height: 52.5px; bottom: -8px; left: -14px; } @include mq('lg') { width: 60px; height: 60px; bottom: -10px; left: -20px; } } &::after { content: ''; display: block; width: 150%; height: 2.5px; background: $black; @include mq() { height: 4px; } } @include mq() { font-size: 4.7rem; } @include mq('lg') { font-size: 5.7rem; } @include mq('xl') { font-size: 7.2rem; } } .number { display: inline-block; font-size: 3.5rem; line-height: 1; @include mq() { font-size: 4.5rem; } @include mq('lg') { font-size: 6rem; } @include mq('xl') { font-size: 7rem; } position: relative; &::after { content: ''; display: block; width: 25px; height: 25px; background: #FFFF8A; position: absolute; bottom: -1px; left: -3px; z-index: -1; @include mq() { width: 35px; height: 35px; bottom: -2px; left: -6px; } @include mq('lg') { width: 45px; height: 45px; bottom: -5px; left: -10px; } } } } .mv.sub { background-image: url(img/mv-bg.jpg); background-position: center center; &::before { content: ''; display: block; width: 100%; height: 100%; background-color: rgba($black, .75); position: absolute; top: 0; left: 0; z-index: 1; } .mv-inner { position: absolute; right: 0; bottom: 60px; z-index: 2; @include mq() { right: 60px; bottom: 30px; } @include mq('lg') { width: 100%; max-width: 80%; } .mv-ttl { font-size: 2.4rem; font-weight: 500; padding-left: 1rem; text-align: right; color: $main; width: 100%; @include mq() { font-size: 3.2rem; } @include mq('lg') { font-size: 4.2rem; } @include mq('xl') { font-size: 5.2rem; } } } } .mv.top { .mv-box { background: rgba($main, .95); top: unset; bottom: 100px; right: 0; @include mq() { min-width: 400px; right: 40%; transform: translateX(50%); } @include mq('lg') { padding: 5rem 3rem 5rem 10rem; } .copy { @include en-font(); @include mq('lg') { font-size: 3.2rem; } @include mq('xl') { font-size: 3.8rem; } } .copy_1 { @include mq() { font-size: 5.2rem; } @include mq('lg') { font-size: 6.4rem; } @include mq('xl') { font-size: 8.2rem; } } } } // 軸1 .mv.sub-bg.genre01 { //TOPのメインビジュアル background-image: url(img/selection_1.jpg); } // 軸2 .mv.sub-bg.genre02 { //TOPのメインビジュアル background-image: url(img/selection_2.jpg); } // 軸3 .mv.sub-bg.genre03 { //TOPのメインビジュアル background-image: url(img/selection_3.jpg); } /*=================================== MAIN CONTENTS(TOPメインエリア上部) ====================================*/ // 導入文 .home { .read { background-color: $white; padding: 2rem; box-sizing: border-box; @include mq() { padding: 3rem; } h1 { // 導入文のタイトル font-size: 2rem; line-height: 1.4; margin-bottom: 1.6rem; border-bottom: 2.5px solid $black; padding-bottom: .5rem; @include mq() { font-size: 2.4rem; border-bottom: 3px solid; } @include mq('lg') { font-size: 3rem; } } } } /*=================================== 3BOX(3軸ボタン) ====================================*/ .genre3Box { ul { display: block; @include mq('lg') { @include flex(static, ); } li { width: 100%; max-width: 100%; margin-bottom: 2rem; transition: all 0.3s; &:last-child { margin-bottom: 0; } @include mq('xs') { margin-bottom: 3rem; } @include mq('lg') { max-width: 380px; margin-bottom: 0; margin-right: 2rem; &:last-child { margin-right: 0; } } a { padding: 1.5rem; font-size: 1.6rem; color: $white; min-height: 200px; line-height: 1.4; @include bg-icon(cover); width: 100%; height: 100%; overflow: hidden; position: relative; &::before { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 2; } @include mq() { min-height: 250px; } >div { padding-left: 5rem; position: absolute; top: 50%; transform: translateY(-50%); right: 0; z-index: 5; width: 350px; @include mq('xs') { width: unset; } @include mq('lg') { top: 6rem; transform: translateY(0); } .copy { font-size: 2.4rem; margin-bottom: .7rem; @include mq() { font-size: 4rem; margin-bottom: 1rem; } @include mq('lg') { font-size: 2.7rem; } &::after { content: ''; display: block; width: 100%; height: 2px; background-color: $white; margin-top: .5rem; } span { .slush { display: inline-block; margin: 0 .5rem; } } } .title { font-size: 1.6rem; @include mq() { font-size: 2.7rem; } @include mq('lg') { font-size: 2rem; } } } .btn_more { background-color: $black; color: $white; padding: .7rem 1.2rem; font-size: 1.4rem; position: absolute; bottom: 0; right: 0; z-index: 5; @include mq() { font-size: 1.6rem; } } } } } } .genre3Box.sp { ul { flex-direction: column; li { width: 100%; max-width: 100%; } } } // 軸1 .genre3Box ul li:nth-of-type(1) a { background-image: url(img/selection_1.jpg); &::before { @extend .bg-selection_1; } } // 軸2 .genre3Box ul li:nth-of-type(2) a { background-image: url(img/selection_2.jpg); &::before { @extend .bg-selection_2; } } // 軸3 .genre3Box ul li:nth-of-type(3) a { background-image: url(img/selection_3.jpg); &::before { @extend .bg-selection_3; } } /*================================================ TOP・詳細ランキングボックス内タイトル =================================================*/ .recommend-ttl_h3 { font-size: 2rem; font-weight: 400; line-height: 1.2; @include mq('md') { @include flex(center, flex-start); font-size: 2.7rem; } @include mq('lg') { font-size: 3.2rem; } } .recommend-ttl_h4 { font-size: 1.8rem; line-height: 1.4; padding: .5rem .5rem .5rem 1rem; font-weight: 500; border-left: 5px solid $main; width: 100%; margin-bottom: 1.6rem; @include mq('sm') { font-size: 2.2rem; } @include mq('lg') { font-size: 1.8rem; } } /*================================================ MAIN CONTENTS(TOPメインエリアランキングボックス内) =================================================*/ .genreMid { .genreBox { //各社の大枠 padding: 1.5rem; background-color: $white; box-sizing: border-box; margin-bottom: 3rem; @include mq('md') { padding: 4rem; max-width: 750px; margin: 0 auto 6rem; } @include mq('xl') { max-width: 100%; padding: 2rem; } } .genreBox:last-child { margin-bottom: 0 } // 基本情報 table { tbody { @include mq() { @include flex(normal, space-between); flex-wrap: wrap; } tr { @include mq() { width: 49% } td { @include mq() { padding: 1rem 0.7rem 1.5rem !important; } } } } } } // 下層ページのコンテンツ #bottom-content h2:not(.section-ttl), .sentence h3 { font-size: 1.85rem; background-color: $main; padding: 1.2rem 1rem; margin-bottom: 1.6rem; @include mq() { font-size: 2rem } @include mq('lg') { font-size: 2.4rem } } #bottom-content h3, .sentence h4 { display: inline-block; border-bottom: 2px solid $black; padding-bottom: .5rem; font-size: 1.6rem; margin-bottom: 1.6rem; @include mq() { font-size: 1.8rem } @include mq('lg') { font-size: 2rem } } #bottom-content h4, .sentence h5 { font-weight: 500; border-left: 3px solid $main; padding-left: .5rem; margin-bottom: 1.2rem; } #bottom-content, .sentence { p, ul { margin-bottom: 1.6rem; &:last-child { margin-bottom: 0; } } picture { display: block; margin-bottom: 3rem; @include mq('md') { margin-bottom: 6rem; } } ul { li.trigger { span {} } } } /*=================================== アコーディオン形式の基本設定 ====================================*/ .ac_list { @include mq() { @include flex(normal, ); flex-wrap: wrap; } .ac-item { margin-top: 1.6rem; @include mq() { margin: 1%; } } .ac_item { @include mq() { width: 49%; } .img-wrap { img, .noImg { height: 300px; object-fit: cover; } } .ac_box { box-shadow: $shadow; background-color: $white; @include mq('sm') { max-width: 100%; } } .ac_title { line-height: 1.4; width: 100%; cursor: pointer; @include flex(center, flex-start); flex-direction: column; position: relative; padding: 2rem 2.5rem; @include mq('sm') { max-width: 100%; padding: 2.5rem 4rem; font-size: 1.8rem; } &::after { content: ""; display: block; width: 100px; height: 5px; border-radius: 50px; background-color: $main; margin: 1rem auto 0; } &::before { //アイコン[矢印] content: ""; background-image: url(img/arrow.png); @include bg-icon(); width: 25px; height: 25px; position: absolute; top: 50%; right: 1rem; transform: translateY(-50%) rotate(0); transition: all 2.8s; } } .ac_contents { padding: 2rem 2.5rem; @include mq('sm') { padding: 2.5rem 4rem } display: none; width: 100%; height: 0; } } } // クリックイベント .ac_item.open { .ac_title::before { //矢印アイコンの回転 top: 55%; transform: translateY(-50%) rotate(180deg); transition: all 0.3s; } .ac_contents { display: block; height: 100%; } } /*=================================== FAQ(よくある質問) ====================================*/ #faq { .ac_title { padding-right: 4.6rem; padding-left: 4.6rem; position: relative; @include mq() { padding-right: 6rem; padding-left: 6rem; } } .ac_contents { //スライドするコンテンツ padding-left: 4.6rem; @include mq() { padding-left: 6rem; } p { line-height: 1.4; padding-left: 2.5rem; @include mq('md') { line-height: 1.6; padding-left: 4rem; } } } .ac_title::before, .ac_contents::before { font-size: 28px; font-weight: 500; line-height: 1; font-family: 'Noto Sans JP', sans-serif; position: absolute; left: 1.5rem; @include mq() { left: 2rem; } } .ac_title::before { //アイコン[Q] content: "Q"; color: #4EBFE4; top: 50%; transform: translateY(-50%); } .ac_contents::before { //アイコン[A] content: "A"; color: #FBA337; top: .8rem; @include mq() { top: .4rem; } } } /*=================================== SINGLE CONTENT(記事詳細ページ) ====================================*/ .flex { @include mq('xl') { @include flex(normal, ); } } .contentsMain { //記事本文 width: 100%; max-width: 100%; @include mq('xl') { max-width: 750px; } } /*=================================== 一覧ページ ====================================*/ .archive { .contentsMain { ul { li { margin-bottom: 1rem; @include mq() { margin-bottom: 4rem; @include flex(normal, start); background-color: $white; padding: 1.5rem; box-shadow: $shadow; } .thumbnail { //記事のサムネイル画像 img, .noImg { width: 100%; height: 150px; @include mq() { width: 250px; height: 180px; } @include mq('lg') { margin-bottom: 0; min-width: 250px; } } } .text { //記事のテキスト部分 width: 100%; @media screen and (max-width: 768px) { @include shadow-box(); } @include mq() { position: relative; padding: 1.5rem; } h3 { //記事のタイトル font-size: 1.6rem; line-height: 1.4; font-weight: 400; margin-bottom: 1.6rem; text-align: center; @include mq() { text-align: left; border-left: 5px solid $main; padding: .5rem; } &::after { content: ''; display: block; margin: .5rem auto 0; width: 80px; height: 3px; background: $main; @include mq() { display: none; } } @include mq() { line-height: 1.5; font-size: 2rem; } } } } } } } /*=================================== SIDEBAR(サイドバーページ) ====================================*/ .contentsSidebar { max-width: 100%; margin-top: 6rem; @include mq('xl') { display: block; max-width: 340px; margin: 0 0 0 5rem; } } .sidebarPost-wrapper { h4 { background-color: $main; border: 1px solid $black; font-size: 2rem; padding: 1rem; position: relative; span { display: inline-block; padding-right: 3rem; @include mq() { padding-right: 0; } } } ul { li { border-bottom: 1px solid $black; padding: 1rem 0.5rem; a { display: block; position: relative; i { font-size: 10px; display: block; position: absolute; right: 0; top: 50%; transform: translateY(-50%); } } } } } .ac-list { margin: 0 0 2rem; } .ac-list.close { display: none; height: 0; visibility: hidden; } /*=================================== 3選記事詳細の共通設定 ====================================*/ .single .selections { .caption { h3 { // 3選記事詳細のリード文 font-size: 2.7rem; margin-bottom: 3rem; line-height: 1.4; font-weight: 400; } } .read { padding: 2rem; border: 4px solid; border-radius: 5px; box-sizing: border-box; margin-bottom: 3rem; @include mq('xs') { margin-bottom: 6rem; } @include mq('md') { padding: 3rem; } p { margin-bottom: 0 } } #toc_container { background-color: $white !important; border: 3px solid; } .tag { display: block; width: 100%; @include mq('xl') { @include flex(); flex-wrap: nowrap; } li { background: $main; font-size: 1.4rem; width: 100%; color: $white; text-align: center; border-bottom: 2px solid $white; @include mq('xl') { max-width: 350px; border-bottom: 0px; border-right: 2px solid $white; } &:last-child { border-right: 0; } } } .genreBox { background-color: $white; border: 3px solid; padding: 4vw; box-sizing: border-box; margin-bottom: 6rem; @include mq('md') { padding: 3rem; } &:last-child { margin-bottom: 0 } h3 { font-size: 2rem; background-color: $main; color: $white; padding: 1rem; line-height: 1.3; font-weight: normal; margin-bottom: 1.6rem; @include mq('md') { font-size: 2.4rem; } } h4 { font-size: 1.6rem; padding: .5rem 1rem; margin-bottom: 1rem; color: $white; @include mq('md') { font-size: 2rem; } } .caption { //特徴と会社名 text-align: center; h3 { font-size: 2rem; @include mq() { font-size: 2.4rem; } span { display: block; font-size: 1.2rem; margin-bottom: 1rem; } } } } .point { li+li { margin-top: 2rem; } } } // 軸1 .single .genre01 { .read, #toc_container { border-color: $color1; } #toc_container { .toc_title::after { background-color: $color1; } .contents-subheading { &::before { color: $color1; } a { text-decoration: underline; } } } .genreBox { border-color: $color1; .tag li { background-color: $color1; } .table tbody tr th { background-color: $color1; } h3 { background-color: $color1; } h4 { color: $black; } } } // 軸2 .single .genre02 { .read, #toc_container { border-color: $color2; } #toc_container { .toc_title::after { background-color: $color2; } .contents-subheading { &::before { color: $color2; } a { text-decoration: underline; } } } .genreBox { border-color: $color2; .tag li { background-color: $color2; } .table tbody tr th { background-color: $color2; } h3 { background-color: $color2; } h4 { color: $black; } } } // 軸3 .single .genre03 { .read, #toc_container { border-color: $color3; } #toc_container { .toc_title::after { background-color: $color3; } .contents-subheading { &::before { color: $color3; } a { text-decoration: underline; } } } .genreBox { border-color: $color3; .tag li { background-color: $color3; } .table tbody tr th { background-color: $color3; } h3 { background-color: $color3; } h4 { color: $black; } } } /*=================================== 記事の詳細ページ共通設定 ====================================*/ .mainImg { //記事詳細のメイン画像の共通設定 position: relative; img { height: 250px; @include mq('md') { height: 300px; } @include mq('xl') { height: 400px; } } } .article { .mainImg { //記事詳細のメイン画像の設定 img { margin-bottom: 2rem; @include mq('md') { margin-bottom: 3rem; } } } h3 { @extend .section-sub-ttl; } p { margin-bottom: 2rem; } .sentence { margin-top: 3rem; @include mq('md') { margin-top: 6rem; } p a { margin: 4rem auto; @include mq('md') { margin: 6rem auto; } } } } /*=================================== PAGE(固定ページ) ====================================*/ .page { h3 { @extend .section-sub-ttl; } p { margin-bottom: 3rem; } } /*=================================== 230524新サイトマップページ用CSS ====================================*/ .sitemap { &-home { display: block; position: relative; padding: 1rem 1rem 1rem 4rem; background: rgba($main, 0.05); font-weight: 500; &:before { position: absolute; top: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 32px; height: 100%; margin: auto; padding: 0.5rem; background: $main; color: $white; font-family: "Font Awesome 5 free"; font-weight: 900; line-height: 1; content: "\f015"; } &:after { position: absolute; top: 0; bottom: 0; right: 0; display: inline-block; width: 16px; height: 16px; margin: auto; font-family: "Font Awesome 5 free"; font-weight: 900; line-height: 1; content: "\f105"; } } &-ul { &>li { &>a { position: relative; padding-left: 3rem; font-weight: 500; &:before { position: absolute; top: 0; bottom: 0; left: 0; display: inline-block; width: 20px; height: 20px; color: $main; margin: auto; font-size: 2rem; font-family: "Font Awesome 5 free"; font-weight: 900; line-height: 1; content: "\f07c"; } } } a { padding: 1rem; border-bottom: 1px solid #eeeeee; } ul { padding-left: 3rem; li {} a { display: block; position: relative; border-bottom: 1px solid #eeeeee; &:after { position: absolute; top: 0; bottom: 0; right: 0; display: inline-block; width: 16px; height: 16px; margin: auto; font-family: "Font Awesome 5 free"; font-weight: 900; line-height: 1; content: "\f105"; } } } } &-pages { li {} a { display: block; position: relative; border-bottom: 1px solid #eeeeee; padding: 1rem; &:before { content: "\f15c" !important; } &:after { position: absolute; top: 0; bottom: 0; right: 0; display: inline-block; width: 16px; height: 16px; margin: auto; font-family: "Font Awesome 5 free"; font-weight: 900; line-height: 1; content: "\f105"; } } } } /*=================================== CONTACT(お問い合わせフォーム) ====================================*/ .wpcf7-form p { margin-bottom: 2rem; &:last-child { margin-bottom: 0; } } input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required { width: 100% !important; padding: .5rem; box-sizing: border-box; border: solid 1px #CCC; } input.wpcf7-form-control.wpcf7-text.wpcf7-email.wpcf7-validates-as-required.wpcf7-validates-as-email { width: 100% !important; padding: .5rem; box-sizing: border-box; border: solid 1px #CCC; } input.wpcf7-form-control.wpcf7-text { width: 100% !important; padding: .5rem; box-sizing: border-box; border: solid 1px #CCC; } textarea.wpcf7-form-control.wpcf7-textarea { width: 100% !important; border: solid 1px #CCC; } input.wpcf7-form-control.wpcf7-submit { display: block; margin: 0 auto; letter-spacing: 2; border: 1px solid $black; width: 199px; height: 50px; background-color: $black; color: $white; text-align: center; margin-top: 3rem; transition: all 0.3s ease-in-out; @include mq('md') { margin-top: 6rem; } &:hover { background-color: $white; color: $black; transition: all 0.3s ease-in-out; } } .searchandfilter input[type="checkbox"], input[type="radio"], input[type="text"], select, .meta-range, .chosen-container { margin-left: 0px !important; } .wpcf7-form label::before { content: ''; display: inline-block; width: 3px; height: 16px; background-color: $main; vertical-align: -9%; margin-right: .5rem; } /*=================================== 404ステータス ====================================*/ .notFound { h3 { @extend .section-sub-ttl; } p { span { display: block; margin-bottom: 3rem; &:last-child { margin-bottom: 0; } } } } /*=================================== RELATED POST(おすすめ関連記事) ====================================*/ .rl_post { ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-gap: 1.6rem; margin-left: 0 !important; @include mq() { grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); grid-gap: 3rem; } li { @include mq() { max-width: 550px; } &:hover img { transform: scale(1.1); opacity: .7; transition: all .3s ease-in; } a { width: 100%; .img-wrap { width: 100%; overflow: hidden; position: relative; .category { display: inline-block; background-color: $main; padding: .5rem; font-size: 1rem; letter-spacing: .1em; position: absolute; top: 0; left: 0; } img, .noImg { width: 100%; height: 180px; object-fit: cover; object-position: center; transition: all .3s ease-in; @include mq() { height: 220px; } @include mq('lg') { height: 250px; } } } .text-wrap { @include flex(center, center); @include shadow-box(); min-height: 80px; @include mq() { min-height: 100px; } h4 { font-size: 16px; text-align: center; line-height: 1.2; &::after { content: ''; display: block; margin: .5rem auto 0; width: 80px; height: 3px; background: $main; } } } } } } } /*=================================== TABLE(TOP横並びテーブル) ====================================*/ // 簡易版テーブル .table_row { .tablepress { width: 100% !important; } table { tbody { text-align: center; border: 1px solid $gray; max-width: 1800px; width: 100%; tr { img { width: 100%; } .column-1 { img { width: 100%; height: 50px; object-fit: contain; } } td:first-child { padding: 1rem; text-align: center; vertical-align: middle; color: #fff; background: $main; font-size: 12px; box-sizing: border-box; border: 0; border: 1px solid $gray; width: 150px; min-width: 150px; text-align: left; @media screen and (min-width: 1180px) { width: 250px; min-width: 250px; } } td { font-weight: normal; width: 250px; min-width: 250px; text-align: left; @media screen and (min-width: 1180px) { width: 120px; min-width: 120px; } a { padding: 1.2rem; } } td.column-4 a { background-color: $red; color: $white; } } } } .horizonal-scroll::after { @media screen and (min-width: 1180px) { display: none; } } } // ジャンル別記事 .genre-box { border: 3px solid $main; padding: 4vw; @include mq() { padding: 3rem; } .title { text-align: center; font-size: 1.8rem; margin-bottom: 1.6rem; @include mq() { font-size: 2.4rem; } } }