{% include '@style-variables' -%}
{% include '@self-resources' %}

<div class="wrapper">
    <section krt-if="state == 1"
            class="card _fit-height"
        >
        <div class="card-body">

            <!-- 閉じるボタン -->
            <button type="button" class="btn btn-close karte-close"
                    aria-label="閉じる"
                >
                <i class="icon #{style.closeIcon}" aria-hidden="true"></i>
            </button>

            <!-- 画像 -->
            <figure class="card-image _fit-card">
                <img
                    src="#{image}"
                    alt=""
                >
            </figure>

            <!-- 見出し -->
            <h1 class="card-heading text-center">
                #{heading}
            </h1>

            <!-- 詳細テキスト -->
            <div class="card-detail">
                <p>
                    #{detail|safe}
                </p>
            </div>

            <!-- ボタン -->
            <div class="card-button">
                <ul class="button-block">
                    <li>
                        <a class="btn _fit-width"
                                href="#{btnLink}"
                            >
                            #{btnLabel}
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </section>
</div>
  • URL: /components/raw/sidebar-01/style.css
  • Content:
    /* ベース */
    figure { margin: 0 }
    img {
        max-width: 100%;
        vertical-align: bottom;
    }
    button {
        margin: 0;
        width: auto;
        height: auto;
        font-family: inherit;
        cursor: pointer;
    }
    button * { cursor: inherit }
    .wrapper {
        position: relative;
        height: 100%;
        text-align: left;
        font-size: 12px;
        line-height: 1.66667;
    }
    .wrapper * {
        box-sizing: border-box;
        white-space: inherit;
        font-size: 100%;
        line-height: inherit;
    }
    
    /* ボタン */
    .btn {
        transition: .2s;
        display: inline-block;
        border-radius: 4px;
        border: solid 1px transparent;
        padding: 13px 16px;
        background: #{style.colorMain};
        color: #fff;
        vertical-align: middle;
        text-decoration: none;
        text-align: center;
        line-height: 1.25;
    }
    .btn:hover,
    .btn:focus { opacity: .75 }
    .btn._fit-width { width: 100% }
    
    /* 閉じるボタン */
    .btn-close {
        position: absolute;
        z-index: 1;
        border-radius: 50%;
        line-height: 1;
        transition: .25s;
        top: 7px;
        right: 7px;
        padding: 6px;
        background: 0;
        color: #{style.closeColor};
    }
    .btn-close:hover,
    .btn-close:focus {
        opacity: .5;
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
    }
    .btn-close .icon {
        display: inline-block;
        vertical-align: top;
    }
    
    /* ボタンブロック */
    .button-block li { list-style: none }
    .button-block.columns > li {
        -webkit-flex-basis: calc(~"25% - 10px");
                flex-basis: calc(~"25% - 10px");
    }
    .button-block:not(.columns) li + li { margin-top: 10px }
    
    /* カラム */
    .columns {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
                flex-wrap: wrap;
        margin: -10px 0 0 -10px;
    }
    .columns > li {
        -webkit-flex-grow: 1;
                flex-grow: 1;
        margin: 10px 0 0 10px;
    }
    .columns > li { list-style: none }
    .card .columns > li {
        -webkit-flex-basis: calc(~"25% - 10px");
                flex-basis: calc(~"25% - 10px");
    }
    
    /* カード */
    .card {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
                flex-direction: column;
        box-shadow: 0 5px 16px rgba(0,0,0,.05), 0 8px 14px rgba(0,0,0,.08);
        border-radius: 8px;
        width: 320px;
        max-width: 90vw;
        max-height: calc(~"100vh - 160px");
        overflow-y: auto;
        background: #{style.colorBg} no-repeat 50%;
        background-size: cover;
        color: #{style.colorText};
    }
    .card-body { padding: 36px 40px 0 }
    .card-body::after {
        display: block;
        height: 36px;
        content: "";
        position: relative;
        z-index: -1;
    }
    .card-body {
        position: relative;
        overflow: inherit;
    }
    .card ._fit-card {
        margin-left: -40px;
        margin-right: -40px;
    }
    .card._fit-height {
        border-radius: 0;
        height: 0;
        min-height: 100%;
    }
    .card._fit-height .card-body {
        -webkit-flex-grow: 1;
                flex-grow: 1;
        -webkit-flex-basis: 0;
                flex-basis: 0;
    }
    
    /* - 画像 */
    .card-image {
        margin: 0 auto;
        text-align: center;
    }
    .card-image:not(:last-child) { margin-bottom: 24px }
    .card-image._fit-card { margin-top: -36px }
    
    /* - 見出し */
    .card-heading {
        color: #{style.colorMain};
        font-weight: 600;
        font-size: 16px;
        line-height: 1.55;
    }
    .card-heading:not(:last-child) { margin-bottom: 1em }
    
    /* - 詳細テキスト */
    .card-detail { line-height: 1.8 }
    .card-detail:not(:last-child) { margin-bottom: 24px }
    
    /* - ボタン */
    .card-button:not(:first-child) { margin-top: 32px }
    
    /* ユーティリティ */
    .text-center { text-align: center !important }
    
  • URL: /components/raw/sidebar-01/variables.csv
  • Content:
    name,folder,folder_name,label,data_type,value,preview_value,help,is_required,is_hidden
    colorMain,style,スタイル,メインカラー,color,#333,,,,
    colorText,style,スタイル,テキストカラー,color,#333,,,,
    colorBg,style,スタイル,背景カラー,color,#fff,,,,
    closeIcon,style,スタイル,閉じるアイコン,icon,krt-icon-close05,,,,1
    closeColor,style,スタイル,閉じるアイコン カラー,color,#fff,,,,
    image,,,画像,image,https://img-cf.karte.io/image/5a8fbb4ddc2e0708fb5517d6::template1.png,,,,
    heading,,,見出し,text,ワークショップを開催します,,,,
    detail,,,詳細テキスト,text,"4月のワークショップ情報をお知らせします!
    毎週土曜日にコーヒーが楽しくなるワークショップを開催しています!
    毎回人気の焙煎体験セミナーでは、焙煎の間に生豆が、どのように変わっていくか、匂いや見た目を見ながら体験できます!
    
    テーマ:焙煎体験
    日時:4/14(土) / 4/21(土) 10:00 - 12:00
    費用:3,240円 (税込) / 焙煎豆:300g付
    定員:各日2名
    場所:代官山店",,,,
    btnLabel,,,ボタン ラベル,text,お申し込みはこちら,,,,
    btnLink,,,ボタン リンク先,text,https://example.com/,,,,