// ブレイクポイントの初期設定 $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)', 'cw': 'screen and (min-width: 1140px)', 'xl': 'screen and (min-width: 1200px)', 'wd': 'screen and (min-width: 1600px)', ) !default; @mixin mq($breakpoint: md) { @media #{map-get($breakpoints, $breakpoint)} { @content; } } // 変数の設定 $white: #fff; $black: #1e1e1e; $base: #434D54; $base2: #F25120; $toc-bg: #f5f5f5; $btn1: #67D3FB; $btn2: #eb6100; $btn3: #32b16c; $btn4: #67D3FB; $btn5: #CC0000; $bg1: #EFF5FB; $bg2: #eee; $gray: #efefef; $gray2: #f5f5f5; $gray3: #f5f4f4; // minxin設定 @mixin wrapper($inner: 1140px) { width: 100%; max-width: $inner; margin: 0 auto; padding: 0 4vw; @include mq() { padding: 0 3rem; } } @mixin flex($align: center, $justify: space-between) { display: flex; align-items: $align; justify-content: $justify; } @mixin font-zenkaku { font-family: 'Zen Kaku Gothic Antique', sans-serif; } @mixin font-gothic { font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; } @mixin font-notSans { font-family: 'Noto Sans JP', sans-serif; } @mixin font-anton { font-family: 'Anton', sans-serif; } @import url("reset.css" ); /********************************* 基本設定 *********************************/ html { box-sizing: border-box; font-size: 62.5%; overflow-x: hidden; } body { margin: 0px; overflow-x: hidden; color: #1e1e1e; line-height: 1.6; font-size: 16px; } h1, h2, h3, h4, h5 { line-height: 1.35; } body#rb_design1 { @include font-zenkaku(); } body#rb_design2 { @include font-gothic(); } body#rb_design3 { @include font-notSans(); } a { display: inline-block; color: #1e1e1e; text-decoration: none; } img { max-width: 100%; height: auto; } iframe { width: 100%; } p { word-break: break-all; } /********************************* 共通設定 *********************************/ .inner { padding: 3rem 0; @include mq() { padding: 4.5rem 0; } } .spacer { @include wrapper; } .mt-1 { margin-top: 1rem; } .mb-1 { margin-bottom: 1rem; } .mt-2 { margin-top: 2rem; } .mb-2 { margin-bottom: 2rem; } .mt-4 { margin-top: 4rem; } .mb-4 { margin-bottom: 4rem; } .mt-6 { margin-top: 6rem; } .mb-6 { margin-bottom: 6rem; } .bg-base { background-color: $base; } .bg-base2 { background-color: $base2; } .bg-gray { background-color: $gray; } // スクロールエリア .scrollArea { display: flex; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2rem; &::-webkit-scrollbar { height: 8px; border-radius: 50px; } &::-webkit-scrollbar-track { background-color: $gray; border-radius: 50px; } &::-webkit-scrollbar-thumb { border-radius: 50px; } } .section.bg-base { .scrollArea::-webkit-scrollbar-thumb { background-color: #ccc; } } .widgetImg-wrap { a { display: block; width: 100%; } .quote { font-size: 1.4rem; margin-top: 1rem; text-align: right; } } .recommend-img { a { display: block; width: 100%; } } .sec-3box .img-wrap .quote { margin: .5rem .5rem .5rem auto !important; } .sidebar-list .img-wrap .quote { font-size: 9px; } .cat-list .img-wrap .quote { white-space: nowrap; font-size: 9px; } /********************************* SECTION TITLE(セクションタイトルH2) *********************************/ .sectionTtl-wrap { margin-bottom: 2rem; @include mq() { margin-bottom: 2.4rem; } @include mq('lg') { margin-bottom: 3.2rem; } } .sectionTtl-h2 { font-size: 2.2rem; font-weight: 600; @include mq() { font-size: 2.7rem; } @include mq('lg') { font-size: 3.2rem; } } // デザイン1 .sectionTtl-wrap.design1 { margin-bottom: 2.5rem; @include mq() { margin-bottom: 2.9rem; } @include mq('lg') { margin-bottom: 3.7rem; } .sectionTtl-h2 { text-align: center; &:after { content: ""; display: block; width: 150px; height: 5px; margin: .5rem auto 0; } } } // デザイン2 .sectionTtl-wrap.design2 { margin-bottom: 0; overflow: hidden; .sectionTtl-h2 { overflow: hidden; position: relative; line-height: 1.3; color: $white; padding: 1.75rem; padding-left: 33%; font-size: 2rem; @include mq() { font-size: 2.4rem; padding: 2.5rem; padding-left: 33%; } @include mq('lg') { font-size: 2.7rem; } } span { position: absolute; top: 0; left: -5%; width: 30%; height: 101%; padding: 0 4rem; display: flex; align-items: center; justify-content: flex-end; transform: skewX(-8deg) translateX(10px); @include mq('xs') { transform: skewX(-8deg); } @include mq() { width: 35%; } img { display: block; margin: 0 !important; height: 40px; object-fit: contain; transform: skewX(8deg); @include mq() { height: 50px; } @include mq('lg') { height: 55px; } } } } // デザイン3 .sectionTtl-wrap.design3 { background: $white; border-radius: 6rem; border: solid 0.3rem #525252; display: block; flex-wrap: wrap; font-weight: 600; letter-spacing: 0.05em; margin: 0 auto 5rem auto !important; max-width: 80rem; padding: 1.5rem 3rem; position: relative; width: 100%; @include mq() { min-height: 5rem; padding: 1.5rem 4.5rem; } @include mq('lg') { min-height: 8rem; padding: 1.5rem 6.5rem; } &::before { content: ''; border: solid 2.4rem transparent; border-top: solid 2.4rem #525252; position: absolute; top: 100%; left: 50%; padding: 0 !important; transform: translateX(-50%); -webkit-transform: translateX(-50%); } &::after { content: ''; border: solid 3rem transparent; border-top: solid 3rem #FFF; margin-top: -1rem; position: absolute; top: 100%; left: 50%; padding: 0 !important; transform: translateX(-50%); -webkit-transform: translateX(-50%); } .en-copy { display: block; font-size: 1.4rem; text-align: center; font-weight: 500; text-transform: capitalize; } .sectionTtl-h2 { text-align: center; font-size: 1.8rem; font-weight: 500;; @include mq() { font-size: 2rem; } @include mq('lg') { font-size: 2.4rem; } } } /********************************* TITLE(各タイトル) *********************************/ .home .recommend-ttl_h3, .single .recommend-ttl_h2 { position: relative; font-size: 2.2rem; @include mq('xs') { font-size: 2.8rem; } } .home .recommend-ttl_h3 a { position: relative; display: block; } .home .recommend-ttl_h4, .single .recommend-ttl_h3 { font-size: 1.8rem; line-height: 1.25; margin-bottom: 2rem; position: relative; @include mq() { font-size: 2rem; } @include mq('lg') { font-size: 2.2rem; } } /********************************* POINTS(おすすめポイント) *********************************/ .point-list { li { background-color: $white; @include mq('sm') { @include flex(center, normal); } p { margin: 0 !important; padding: 1rem; width: 100%; line-height: 1.4; } } } // 詳細ページ // .single .point-list .point-item .point-icon { // margin-right: 1rem; // } // 縦並び .point-list.column { li+li { margin-top: .5rem; } li { @include mq('sm') { @include flex(center, normal); } p { padding: 1rem; } } } //横並び(横2列) .point-list.row_2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); @include mq('sm') { grid-gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); } } //横並び(横3列) .point-list.row_3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); @include mq('sm') { grid-gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); } @include mq('cw') { grid-gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); } .point-item.design1 .point-icon { min-width: 10rem; } } // 横並びの場合の指定 #recommend .point-list.row_2 .point-item.design2+.point-item.design2, #recommend .point-list.row_3 .point-item.design2+.point-item.design2 { margin-top: 1.6rem; @include mq('sm') { margin: 0 } } // ポイントデザイン1 .point-list .point-item.design1 { align-items: unset; .point-icon { @include flex(center, center); padding: 1rem; color: $white; font-size: 1.8rem; text-align: center; width: 100%; font-weight: 600; @include mq('sm') { min-width: 12rem; padding: 1rem 1rem; width: unset; } @include mq() { min-width: 15rem; } i { margin-right: .5rem; } } p { display: flex; align-items: center; } } // ポイントデザイン2 .point-list .point-item.design2 { @include flex(center, normal); border-radius: 60px; .point-icon { @include flex(center, center); border-radius: 50%; width: 45px; height: 45px; min-width: 45px; color: $white; font-size: 1.6rem; font-weight: 600; @include mq('sm') { width: 50px; height: 50px; min-width: 50px; font-size: 1.8rem; } @include mq() { width: 60px; height: 60px; min-width: 60px; font-size: 2rem; } } p { padding: .5rem 1rem; } } // ポイントデザイン3 .point-list .point-item.design3 { display: block; padding: 3.5rem 1.5rem 1.5em; border-radius: 10px; text-align: center; position: relative; margin-top: 3.5rem; @include mq('sm') { margin-top: 3rem; padding: 4.5rem 2rem 2em; } .point-icon { padding: 1rem 1.75rem; min-width: 135px; text-align: center; border-radius: 50px; font-size: 1.8rem; text-transform: uppercase; color: $white; line-height: 1; font-weight: 600; position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); @include mq('sm') { min-width: 150px; font-size: 2rem; padding: 1rem 2rem; } } .number { display: inline-block; margin-left: .5rem; } p { padding: 0; } } // 横並びの場合はテキストも横並び .point-list.row_2 .point-item.design3, .point-list.row_3 .point-item.design3 { text-align: center; } // ポイント3,4の感覚を狭める .point-list.row_2 .point-item.design3:nth-of-type(3), .point-list.row_2 .point-item.design3:nth-of-type(4) { @include mq('sm') { margin-top: 2.5rem; } } /********************************* TABLE(基本情報) *********************************/ .table table, .table table tbody, .table table tbody tr, .table table tbody th, .table table tbody td { display: block; width: 100%; } .table { table { width: 100%; tbody { tr { border: none !important; &:last-child td { border-bottom: 1px solid #efefef; } } th { display: block; width: 100%; text-align: center; font-weight: 400; color: $white; padding: 1rem; line-height: 1.4; border: 1px solid $white !important; border-bottom: 0; font-size: 1.4rem; @include mq('xs') { display: table-cell; vertical-align: middle; width: 150px; min-width: 150px; } } td { background-color: $white; display: block; width: 100%; padding: .5rem; font-size: 1.2rem; border: 1px solid $gray; border-bottom: 0; @include mq('xs') { display: table-cell; vertical-align: middle; padding: .7rem; line-height: 1.4; font-size: 1.4rem; } } tr:last-child { border-bottom: 1px solid $gray; } } } } /********************************* REVIEW(口コミ) *********************************/ .reviews.mb-4+.reviews.mb-4 { margin-top: -2rem; } .reviews { .review-title { font-weight: 600; font-size: 1.6rem; @include mq() { font-size: 1.8rem; } .name { display: inline-block; margin-left: 1rem; font-size: 1.2rem; @include mq() { font-size: 1.4rem; } } } blockquote { font-size: 1.4rem; padding: 1rem; @include mq() { font-size: 1.6rem; } } } .review-box .quote { margin-bottom: 0; } .admin-box { .admin-title { font-weight: 600; font-size: 1.6rem; @include mq() { font-size: 1.8rem; } } .admin-text { line-height: 1.4; p { margin: 0 !important; } p+p { margin-top: 10px !important; } } } // 縦一列 .reviews.column { .review-box+.review-box { margin-top: 2rem; } } // 横2列 .reviews.row_2 { display: grid; grid-gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); @include mq() { grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); } } //デザイン1 .reviews.design1 { .review-box { padding: 1.5rem; p { margin-left: 0 !important; margin-right: 0 !important; } } .review-title { color: $black; line-height: 1.4; padding: 0.5rem 0 1rem 4.5rem; position: relative; &::before { content: '\f4ff'; font-weight: 900; font-family: 'Font Awesome 5 Free'; font-size: 2.5rem; position: absolute; top: -1px; left: 0; } } .admin-box { padding: 1.5rem; .admin-title { display: inline-block; transform: translateX(-20px) rotate(-6deg); padding: .5rem 1rem; } .admin-text { margin-top: 2rem; } } } //デザイン2 .reviews.design2 { margin-top: 4rem; .review-box { width: 98%; padding: 4rem 2rem 1.5rem; position: relative; margin-left: auto; // margin-right: auto; } .img-wrap { img { display: block; margin: 0 auto; } span { display: block; margin-top: .5rem; text-align: center; } } .review-title { position: absolute; top: 0; left: -20px; transform: translateY(-50%); span { display: inline-block; color: $black; padding: 1rem 1.5rem; color: $white; position: relative; &::before { content: ''; position: absolute; top: 100%; left: 0; border-bottom: solid 10px transparent; } } } blockquote { padding: 0; } .admin-box { margin-top: 3.5rem; padding: 1.5rem; position: relative; .admin-title { padding: .5rem 1rem; position: absolute; top: 0; left: -3px; transform: translateY(-50%); } .admin-text { font-size: 1.4rem; margin-top: 2rem; } } } #recommend.rb_design1 .recommend-box .reviews.design2 .review-box { width: 100%; } .reviews.design2.column { .review-box+.review-box { margin-top: 5rem; } .review-box { position: relative; @include mq() { @include flex(center, normal); } } .img-wrap { @include mq() { width: 30%; max-width: 120px; min-width: 120px; } img { width: 80px; height: auto; @include mq('xs') { width: 110px; } @include mq() { width: 100%; } } } .text-wrap { padding-top: 2rem; @include mq() { padding: 0 0 0 2rem; } } } .reviews.design2.row_2 { grid-gap: 5rem; @include mq() { grid-gap: 4rem; } .img-wrap { margin-bottom: 1.2rem; img { object-fit: contain; width: 80px; height: auto; @include mq('xs') { width: 100px; } @include mq() { width: 120px; height: 120px; } } } } // 詳細ページ .single .reviews.design2+.reviews.design2 { margin-top: 6rem } /********************************* BUTTON(ボタン) *********************************/ .btn-wrap { @include mq() { @include flex(flex-end, center); } .btn+.btn { margin-top: 1.6rem; @include mq() { margin: 0 0 0 1.6rem; } } .btn { width: 100%; max-width: 350px; min-width: 150px; margin: 0 auto; @include mq() { margin: unset; } .btn-copy { display: block; text-align: center; margin-bottom: .5rem; font-size: 1.4rem; font-weight: 600; transition: 0.3s; } a { display: block; position: relative; text-align: center; color: $white; padding: 2rem 3.25rem; border-radius: 100px; border: 2px solid; transition: 0.3s; width: 100%; font-weight: 600 !important; letter-spacing: 0.06em; line-height: 1.4; i { position: absolute; top: 0; bottom: 0; right: 1.6rem; height: 16px; margin: auto; } } } } // 一覧ページボタン .btn-wrap.wide { .btn.btn_top { max-width: 550px; a { color: $white; padding: 1.5rem 4rem; @include mq() { padding: 2rem 4rem; } } } } .btn-wrap.full { flex-wrap: wrap; margin-left: auto; margin-right: auto; @include mq() { max-width: 800px; } .btn:nth-of-type(3) { @include mq() { margin-left: 0; } } .btn:nth-of-type(3), .btn:nth-of-type(4) { @include mq() { margin-top: 1.6rem; } } } .btn-wrap.mt-6 { .btn:nth-of-type(3), .btn:nth-of-type(4) { @include mq() { margin-top: 4.5rem; } } } .btn-wrap+.btn-wrap { margin-top: 4rem; } .btn-wrap+.btn-wrap.mt-6 { .btn:nth-of-type(3), .btn:nth-of-type(4) { @include mq() { margin-top: 2.2rem; } } } .btn-wrap+.mb-4, .btn-wrap+.recommend-ttl_h4, .btn-wrap+.design1, .btn-wrap+.design2, .btn-wrap+.design3 { margin-top: 4rem; } // 詳細ページ .single .recommend-box .btn-wrap { margin-top: 4rem; margin-bottom: 4rem; } .btn.copy+.btn.copy { margin-top: 2rem; @include mq() { margin: 2rem 0 0 1.6rem; } } .btn.copy+.btn.design2.copy { margin-top: 4rem; @include mq() { margin: 2rem 0 0 1.6rem; } } .btn.copy:nth-child(3) { margin-top: 2rem; } // レイアウト1 .btn.design1 { .btn-copy { @include flex(center, center); &::before, &::after { content: ""; display: inline-block; width: 20px; height: 3px; border-radius: 5px; } &::before { margin-right: .6rem; -webkit-transform: rotate(50deg); transform: rotate(50deg); } &::after { margin-left: .6rem; -webkit-transform: rotate(-50deg); transform: rotate(-50deg); } } a { &:hover { background: $white; } } } // カラーオプション2×レイアウトオプション1 .btn.btn2.design1 { .btn-copy { &::before, &::after { background-color: $btn2; } } a { background-color: $btn2; border-color: $btn2; &:hover { background: $white; color: $btn2; } } } // カラーオプション3×レイアウトオプション1 .btn.btn3.design1 { .btn-copy { &::before, &::after { background-color: $btn3; } } a { background-color: $btn3; border-color: $btn3; &:hover { background: $white; color: $btn3; } } } // カラーオプション4×レイアウトオプション1 .btn.btn4.design1 { .btn-copy { &::before, &::after { background-color: $btn4; } } a { background-color: $btn4; border-color: $btn4; &:hover { background: $white; color: $btn4; } } } // カラーオプション5×レイアウトオプション1 .btn.btn5.design1 { .btn-copy { &::before, &::after { background-color: $btn5; } } a { background-color: $btn5; border-color: $btn5; &:hover { background: $white; color: $btn5; } } } .btn.design2 { position: relative; .btn-copy { width: 80%; padding: 0.2rem 0; border: 2px solid; border-radius: 0.5rem; background: $white; -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); position: absolute; top: 0; left: 50%; transform: translate(-50%, -70%); z-index: 5; transition: 0.3s; } a { display: inline-block; line-height: 1.5; border: none; border-radius: 0.5rem; position: relative; color: $white; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; text-align: center; vertical-align: middle; transition: all 0.3s; } &:hover { .btn-copy { transform: translate(-50%, calc(-70% + 5px)); transition: 0.3s; } a { transform: translateY(5px); transition: 0.3s; } } } // カラーオプション2×レイアウトオプション2 .btn.btn2.design2 { .btn-copy { color: $btn2; border: 2px solid $btn2; } a { background: $btn2; -webkit-box-shadow: 0 5px 0 #d44114; box-shadow: 0 5px 0 #d44114; } &:hover { a { box-shadow: 0 2px 0 #d44114; } } } // カラーオプション3×レイアウトオプション2 .btn.btn3.design2 { .btn-copy { color: $btn3; border: 2px solid $btn3; } a { background: $btn3; -webkit-box-shadow: 0 5px 0 #2c9d60; box-shadow: 0 5px 0 #2c9d60; } &:hover { a { box-shadow: 0 2px 0 #2c9d60; } } } // カラーオプション4 × レイアウトオプション2 .btn.btn4.design2 { .btn-copy { color: $btn4; border: 2px solid $btn4; } a { background: $btn4; -webkit-box-shadow: 0 5px 0 #50a9ca; box-shadow: 0 5px 0 #50a9ca; } &:hover { a { box-shadow: 0 2px 0 #50a9ca; } } } // カラーオプション5 × レイアウトオプション2 .btn.btn5.design2 { .btn-copy { color: $btn5; border: 2px solid $btn5; } a { background: $btn5; -webkit-box-shadow: 0 5px 0 #a80202; box-shadow: 0 5px 0 #a80202; } &:hover { a { box-shadow: 0 2px 0 #a80202; } } } .btn.design3 { .btn-copy { @include flex(center, center); &::before, &::after { content: ""; display: inline-block; width: 20px; height: 3px; border-radius: 5px; } &::before { margin-right: .6rem; -webkit-transform: rotate(50deg); transform: rotate(50deg); } &::after { margin-left: .6rem; -webkit-transform: rotate(-50deg); transform: rotate(-50deg); } } a { border-radius: 5px; text-align: center; color: #fff; text-decoration: none; font-size: 15px; line-height: 27px; font-weight: bold; position: relative; overflow: hidden; border: none; &::before { content: ''; display: block; position: absolute; width: 100%; height: 100%; top: 0; left: -100%; background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 80%, rgba(255, 255, 255, 100) 81%, rgba(255, 255, 255, 0) 100%); animation: shine 3s infinite; } } &:hover { .btn-copy { transform: translateY(3px); transition: 0.3s; } a { transform: translateY(4px); transition: 0.3s; } } } // カラーオプション2 × レイアウトオプション3 .btn.btn2.design3 { .btn-copy { &::before, &::after { background-color: $btn2; } } a { background: $btn2; -webkit-box-shadow: 0 5px 0 #d44114; box-shadow: 0 5px 0 #d44114; } &:hover { a { box-shadow: 0 1px 0 #d44114; } } } // カラーオプション3 × レイアウトオプション3 .btn.btn3.design3 { .btn-copy { &::before, &::after { background-color: $btn3; } } a { background: $btn3; -webkit-box-shadow: 0 5px 0 #2c9d60; box-shadow: 0 5px 0 #2c9d60; } &:hover { a { box-shadow: 0 1px 0 #2c9d60; } } } // カラーオプション4 × レイアウトオプション3 .btn.btn4.design3 { .btn-copy { &::before, &::after { background-color: $btn4; } } a { background: $btn4; -webkit-box-shadow: 0 5px 0 #50a9ca; box-shadow: 0 5px 0 #50a9ca; } &:hover { a { box-shadow: 0 1px 0 #50a9ca; } } } // カラーオプション4 × レイアウトオプション3 .btn.btn5.design3 { .btn-copy { &::before, &::after { background-color: $btn5; } } a { background: $btn5; -webkit-box-shadow: 0 5px 0 #a80202; box-shadow: 0 5px 0 #a80202; } &:hover { a { box-shadow: 0 1px 0 #a80202; } } } @keyframes shine { 33% { left: 100%; } 100% { left: 100%; } } /********************************* SNS BUTTON(snsボタン) *********************************/ .btn.btn_sns { &:hover a { opacity: .7; transition: opacity .3s; } .btn-copy { @include flex(flex-end, center); font-weight: 600; &::before, &::after { content: ''; display: block; width: 2px; height: 22px; } &::before { margin-right: 1.25rem; transform: rotate(-20deg); } &::after { margin-left: 1.25rem; transform: rotate(20deg); } } a { padding-left: 5rem; border: none !important; padding-right: 5rem; border-radius: unset; position: relative; transition: all .3s; &::before { content: ''; background-position: center center; background-repeat: no-repeat; background-size: contain; display: block; width: 22px; height: 22px; position: absolute; top: 50%; right: 1.5rem; transform: translateY(-50%); @include mq() { width: 25px; height: 25px; } } } } //Instagram .btn.btn_sns.instagram { .btn-copy::before, .btn-copy::after { background-color: #f13f79; } a { background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat; background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat; &::before { background-image: url(img/sns-icon/icon_instagram.svg); } } } // X(旧Twitter) .btn.btn_sns.x { .btn-copy::before, .btn-copy::after { background-color: #000000; } a { background: #000000; &::before { background-image: url(img/sns-icon/icon_x.svg); } } } // LINE .btn.btn_sns.line { .btn-copy::before, .btn-copy::after { background-color: #06c755; } a { background: #06c755; &::before { background-image: url(img/sns-icon/icon_line.svg); } } } // YouTube .btn.btn_sns.youtube { .btn-copy::before, .btn-copy::after { background-color: #ff0000; } a { background: #ff0000; &::before { background-image: url(img/sns-icon/icon_youtube.svg); width: 29px; @include mq() { width: 35px; } } } } /********************************* 事例BOX *********************************/ .ex-list { li .outline-link { display: block; width: 100%; } li { width: calc((100% - 4rem) / 3); min-width: calc(960px / 3.1); img { width: 100%; height: 225px; object-fit: cover; object-position: center top; } .table { table { tbody { tr { display: flex; th { @include flex(center, center); width: 100px; min-width: 100px; padding: .5rem; } td { padding: .5rem; } } } } } .btn-wrap { .btn { max-width: 300px; a { padding-top: 1.5rem; padding-bottom: 1.5rem; } } } } li+li { margin-left: 2rem; } } //詳細ページ .single .recommend-box .ex-list { li { @include mq('cw') { width: calc((100% - 8rem) / 2); min-width: calc(calc(100% - 2rem) / 2); } .btn-wrap { margin-top: 2rem !important; margin-bottom: 0 !important; } } } //事例が1つの場合 .ex-list.single-center { .scrollArea { overflow: visible !important; padding-bottom: 0; } li { margin: 0 auto; width: 100%; min-width: 100%; @include mq() { width: calc((100% - 4rem) / 3); min-width: calc(960px / 3.1); } } } //事例が2つの場合 .ex-list.double { .scrollArea { @include mq('cw') { justify-content: center; } } } //画像のみの場合 .ex-list.full li img { height: 320px; } /********************************* Constructions(施工事例) *********************************/ .constructions { .quote { margin-left: auto; margin-right: 0; margin-bottom: 0; color: #999; } a .quote span { color: blue; } } /********************************* SNS BOX(SNS投稿用BOX) *********************************/ .sns-box { iframe { max-width: unset !important; width: 100% !important; margin: 0px !important; min-width: unset !important; } } .sns-box { .ex-list.mov { li { @include mq() { width: calc((100% - 2rem) / 2); min-width: calc(960px / 2); } } } } /********************************* POST LIST(その他リスト・投稿一覧) *********************************/ .sec-postList { .post-list { .post-item { background-color: $white; width: 100%; .btn { @include mq() { max-width: 280px; } a { padding-top: 1.5rem; padding-bottom: 1.5rem; } } } .view { font-size: 1.6rem; font-weight: 600; position: relative; padding: 2rem 4rem 2rem 1.5rem; @include mq() { font-size: 1.8rem; padding: 2rem 3.5rem 2rem 2rem; } @include mq('lg') { padding: 2.5rem 4rem 2.5rem 2rem; } } .hidden { display: none; padding: 0 1.5rem 2rem; font-size: 1.25rem; @include mq() { font-size: 1.4rem; } @include mq('lg') { padding: 0 2.5rem 2.5rem; } } } } .sec-postList .post-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); grid-gap: 2rem; @include mq() { grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); } } .sec-postList.column_3 .post-list { @include mq('cw') { grid-template-columns: repeat(auto-fill, minmax(calc(100% / 3.3), 1fr)); } } .sec-postList.column_4 .post-list { @include mq() { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); } @include mq('cw') { grid-template-columns: repeat(auto-fill, minmax(calc(100% / 4.3), 1fr)); } } // 詳細ページ .single .recommend-box .sec-postList { .post-list { display: block; .post-item { width: 100%; margin: 0; .btn-wrap { margin: 2rem 0 0 0 !important; } .btn { a { padding-top: 1.2rem; padding-bottom: 1.2rem; } } } } } // デザイン1 .sec-postList.design1 { .post-item { background: transparent; cursor: pointer; } .item-inner { background: $white; border-radius: 10px; box-shadow: 0 2px 5px rgba($black, 0.15); } .view { border-radius: 10px; &.active { span { transform: translateY(-50%); transition: all .3s; &::before { content: '\f077'; } } } span { @include flex(center, center); width: 20px; height: 20px; border-radius: 50%; position: absolute; top: 50%; right: 1.5rem; transform: translateY(-50%); @include mq() { width: 25px; height: 25px; } &::before { content: '\f078'; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 1rem; color: $white; @include mq() { font-size: 1.2rem; } } } } .hidden { display: none; a:not(.btn-wrap .btn a) { display: block; text-align: right; text-decoration: underline; color: blue; font-size: 1.25rem; } } } .sec-postList.design2{ .post-item { background-color: $white; transition: all .3s; &:hover .permalink { opacity: .7; transition: all .3s ease-in-out; } .permalink { display: flex; align-items: center; } } .img-wrap { width: 130px; height: 130px; overflow: hidden; img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; } } .text-wrap { width: calc(100% - 12.5rem); height: auto; padding: 1.25rem 3.25rem 1.25rem 1.25rem; @include mq() { padding: 1.5rem 4rem 1rem 1rem; } position: relative; &::after { content: '\f054'; color: $black; font-family: 'Font Awesome 5 Free'; font-size: 1.4rem; font-weight: 900; line-height: 1; position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); } .title { margin-bottom: 1rem; line-height: 1.2; } p { font-size: 1.2rem; line-height: 1.4; @include mq() { font-size: 1.4rem; } } } } // デザイン3 .sec-postList.design3 { .post-item { width: 100%; background-color: $white; margin: 0 auto; box-shadow: 0 2px 5px rgba($black, 0.15); max-width: 420px; transition: all .3s; @include mq() { max-width: 100%; } &:hover .permalink { opacity: .7; transition: all .3s ease-in-out; } .permalink { display: block; width: 100%; } } .img-wrap { width: 100%; height: 200px; img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; } } .text-wrap { padding: 1.5rem; position: relative; @include mq() { padding: 1.75rem 2rem; } p { font-size: 1.2rem; line-height: 1.4; @include mq() { font-size: 1.4rem; } } } .title { font-size: 1.6rem; text-align: left; font-weight: 600; margin-bottom: 1rem; line-height: 1.4; @include mq() { font-size: 1.8rem; } } .post-icon { margin-top: 1rem; font-size: 1.2rem; @include flex(center, flex-end); span { @include flex(center, center); width: 20px; height: 20px; margin-left: .5rem; text-align: center; border-radius: 50%; i { font-size: .8rem; line-height: 1; color: $white; } } } } // デザイン5(その他の企業専用展開式) .sec-postList.design5 { .post-item { padding: 1.5rem; box-shadow: 0 2px 5px rgba($black, 0.15); } .post-inner { background:$white; padding: 1.5rem; height: 100%; @include mq() { padding: 2rem; } @include mq('lg') { padding: 2.5rem; } } .title, .text-wrap p { margin-bottom: 1.6rem; } .title { font-size: 1.6rem; font-weight: 600; padding-bottom: .5rem; @include mq() { font-size: 1.8rem; } } .text-wrap { p { font-size: 1.2rem; line-height: 1.4; @include mq() { font-size: 1.4rem; } } } } // 背景なしのレイアウト .sec-postList.design5.bg-none { .post-item { padding: 1.5rem; } .post-inner { background-color: $white; } } //デザイン4(カード型) .sec-postList.design4 ul li a { display: block; text-shadow: #000 1px 0 5px; box-sizing: border-box; width: 100%; height: 100%; box-sizing: border-box; padding: 2.5rem 3.5rem 2rem 2.5rem; min-width: 150px; min-height: 130px; position: relative; background-position: center center; background-repeat: no-repeat; background-size: cover; @include mq() { min-height: 150px; padding: 3.5rem 3rem 3rem 3rem; } @include mq('lg') { min-height: 180px; } &::before { content: ''; display: block; width: 100%; height: 100%; position: absolute; background: rgba(0,0,0,50%) ; top: 0; left: 0; z-index: 1; transition: all .3s } &::after { content: ''; display: block; width: 25px; height: 25px; background-image: url(img/circle-arrow.png); background-size: contain; background-repeat: no-repeat; background-position: center center; position: absolute; bottom: 1.6rem; right: 1.6rem; z-index: 1; @include mq() { width: 35px; height: 35px; } } } .sec-postList.design4 ul li a .title { font-size: 1.8rem; font-weight: 600; letter-spacing: 1.4px; line-height: 1.3; color: #fff; position: relative; z-index: 5; @include mq() { font-size: 2rem; } } .sec-postList.design4 ul li a p { color: $white; margin-top: 1.6rem; font-size: 1.4rem; line-height: 1.3; position: relative; z-index: 5; font-size: 1.4rem; width: 90%; @include mq() { width: 55%; } } .sec-postList.design4 ul li:hover a::before { background: rgba(0,0,0,30%) ; transition: all .3s } //デザイン6(カード型) .sec-postList.design6 { ul { li { background: #ffe2cd; padding: 1.5rem; box-shadow: 4px 8px 6px -6px rgba(0, 0, 0, 0.15); margin: 0 !important; border: none !important; transition: all .3s ease-out; &:hover { opacity: .7; transform: scale(1.02); transition: all .3s ease-out; } a { display: block; width: 100%; .img-wrap img { width: 100%; height: 180px; object-fit: cover; object-position: center top; @include mq() { height: 200px; } } .title { display: flex; align-items: center; min-height: 45px; letter-spacing: 0.03em; line-height: 1.3; margin-top: 15px; position: relative; font-weight: 600; font-size: 1.6rem; border-left: 5px solid $base; padding-left: 1rem; } } } } } .sec-postList.design6.column_2 ul li a .img-wrap img{ @include mq('lg') { height: 250px; } } //デザイン7(カード型) .sec-postList.design7 { ul { li { background-color: $white; border-radius: 1rem; box-shadow: 0 2px 5px rgba(30, 30, 30, 0.15); a { display: block; width: 100%; .img-wrap { align-items: center; border-radius: 1rem 1rem 0 0; display: flex; height: 17rem; justify-content: center; overflow: hidden; position: relative; transition: opacity .3s; img { width: 100%; } .category { background-color: #FDF34A; color: $black; padding: .5rem 1rem; font-size: 1rem; position: absolute; left: -1px; top: -1px; } } .text-wrap { padding: 1rem 1rem 1.5rem; .date { font-size: 1.2rem; margin-bottom: .5rem; } .title { font-size: 1.6rem; } .detailLink_txt { @include flex(center, flex-end); font-size: 1.2rem; letter-spacing: .2em; line-height: 2em; margin-top: 1.6rem; color: $black; &::after { content: ""; position: relative; display: inline-block; width: .5em; height: .5em; background-color: #e30011; border-radius: 50%; margin-left: 5px; } } } } &:hover { a .img-wrap { opacity: .7; transition: opacity .3s; } a .detailLink_txt { color: #e30011; } } } } } /********************************* FAQ(よくある質問) *********************************/ // 基本レイアウト .sec-faq { .faq-list { @include flex(flex-start, space-between); flex-wrap: wrap; .faq-item { background-color: $white; width: 100%; margin-top: 2rem; &:nth-child(1) { margin-top: 0; } @include mq() { width: calc(calc(100% - 2rem) / 2); margin: 2rem 1rem 0; &:nth-child(1), &:nth-child(2) { margin-top: 0; } &:nth-child(even) { margin-right: 0; } &:nth-child(odd) { margin-left: 0; } } } .question, .question_design3, .answer, .answer_design3 { line-height: 1.3; @include mq() { line-height: 1.4; } position: relative; span { line-height: 1; } } .question, .question_design3 { font-size: 1.6rem; font-weight: 600; @include mq() { font-size: 1.8rem; } } .answer { display: none; font-size: 1.25rem; @include mq() { font-size: 1.4rem; } } .answer, .answer_design3 { a { display: block; text-align: right; text-decoration: underline; color: blue; font-size: 1.25rem; } } } } // TOPページ .home #recommend .recommend-box .sec-faq .faq-list .faq-item { width: 100%; } .home #recommend .recommend-box .sec-faq .faq-list .faq-item+.faq-item { margin: 2rem 0 0; } // 詳細ページ .single .sec-faq .faq-list { display: block; .faq-item { width: 100%; } .faq-item { margin: 0 0 2rem 0; &:last-child { margin-bottom: 0; } } } // デザイン共通設定 //詳細ページ .single .sec-faq.design1, .single .sec-faq.design3 { .question, .question_design3, .answer, .answer_design3 { @include mq('lg') { padding: 2.5rem 4rem 2.5rem 6.5rem; } } .question span, .question_design3 span, .answer span, .answer_design3 span { width: 35px; height: 35px; font-size: 2rem; @include mq('lg') { width: 40px; height: 40px; } } } // デザイン1 .sec-faq.design1 { .faq-item { border-radius: 10px; box-shadow: 0 2px 5px rgba($black, 0.15); } .question, .answer { padding: 2rem 3rem 2rem 5.5rem; position: relative; @include mq() { padding: 2rem 3.5rem 2rem 7rem; } @include mq('lg') { padding: 2.5rem 4rem 2.5rem 7rem; } span { @include flex(center, center); width: 35px; height: 35px; border-radius: 50%; font-size: 1.8rem; font-weight: 700; color: $white; position: absolute; left: 1rem; @include mq() { left: 1.5rem; } @include mq() { width: 40px; height: 40px; font-size: 2rem; } @include mq('lg') { width: 45px; height: 45px; font-size: 2.4rem; } } } .question { border-radius: 10px; background-color: $white; &::before { content: '\f078'; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 1.25rem; position: absolute; top: 50%; right: 1.5rem; transform: translateY(-50%); @include mq() { font-size: 1.4rem; } @include mq('lg') { font-size: 1.6rem; } } span { top: 50%; transform: translateY(-50%); } } .answer { background-color: $gray3; border-radius: 0 0 10px 10px; padding-right: 2rem !important; span { top: 1.5rem; } } } // クリックイベント .sec-faq.design1 .faq-item.active .question::before { content: '\f077'; transform: translateY(-50%); transition: all .3s; } // デザイン2 .sec-faq.design2 { .faq-item { border-radius: 50px; position: relative; padding: 3rem 5rem 3rem 6rem; @include mq('lg') { padding: 3rem 5rem 3rem 7rem; } &::before, &::after { content: ''; display: block; width: 100%; height: 36px; position: absolute; left: 0; z-index: 1; box-sizing: border-box; } &::before { top: 0; } &::after { bottom: 0; } } .question, .answer { font-weight: 700; span { font-size: 3.5rem; position: absolute; left: -3.5rem; } } .question { span { top: 50%; transform: translateY(-50%); } i { position: absolute; width: 20px; height: 3px; display: block; border-radius: 2px; position: absolute; z-index: 1; top: 50%; right: -2.5rem; transform: translateY(-50%); &::after { content: ""; display: block; position: absolute; z-index: 1; width: 100%; height: 100%; top: 0; left: 0; border-radius: 10px; transform: rotate(90deg); transition-duration: .3s; transition-property: -webkit-transform; transition-property: transform; transition-property: transform, -webkit-transform; } } } .answer { margin-top: 2.5rem; span { top: 0; } } } //詳細ページ .sec-faq.design2 .answer span { top: -8px; } // クリックイベント .sec-faq.design2 .faq-item.active .question i::after { transform: rotate(0deg); } // デザイン3 .sec-faq.design3 { .faq-list { align-items: unset; } .faq-item { border-radius: 10px; position: relative; overflow: hidden; } .question_design3, .answer_design3 { padding: 1.5rem 1.5rem 2rem 5rem; position: relative; @include mq() { padding: 2rem 2rem 2.5rem 7rem; } @include mq('lg') { padding: 2.5rem 2rem 2.5rem 8.5rem; } span { @include flex(center, center); width: 40px; height: 40px; font-size: 2rem; font-weight: 600; line-height: 1; border-radius: 50%; position: absolute; left: 1rem; @include mq() { width: 50px; height: 50px; font-size: 2.4rem; left: 1.5rem; } } } .question_design3 { color: $white; span { color: $white; top: 50%; transform: translateY(-50%); } } .answer_design3 { padding-top: 2.5rem; padding-bottom: 3rem; background-color: $white; border-radius: 0 0 10px 10px; font-size: 1.25rem; @include mq() { font-size: 1.4rem; } span { color: $white; top: 1.5rem; } } } /********************************* TextContents(テキストコンテンツ) *********************************/ .sec-bottomContent { .wrapper+.wrapper { margin-top: 6rem; } p { margin-bottom: 1.6rem; } .img-wrap { margin-bottom: 2rem; img { display: block; margin: 0 auto; width: 100%; @include mq() { width: 80%; } } } } // 各コンテンツタイトル(H2,H3,H4