/**
 * ExLink Manager フロントエンド用CSS
 */
/* 無効なリンクの表示 */
.exlink-invalid {
    text-decoration: line-through;
    color: #d63638;
}

/* SWELLボタンのspan対応（クローラー非表示モード） */
[class*=is-style-btn_] span.swell-block-button__link {
    background: var(--the-btn-bg);
    border-radius: var(--the-btn-radius, 0);
    display: inline-block;
    letter-spacing: var(--swl-letter_spacing, 1px);
    line-height: 1.5;
    margin: 0;
    min-width: var(--the-min-width);
    padding: var(--the-padding);
    position: relative;
    text-decoration: none;
    width: var(--the-width);
    cursor: pointer;
    box-sizing: border-box;
}

/* Normal button style */
.is-style-btn_normal span.swell-block-button__link {
    color: #fff;
    font-weight: 700;
    transition: box-shadow .25s;
}

.is-style-btn_normal span.swell-block-button__link:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,.1), 0 12px 24px -12px rgba(0,0,0,.2);
    opacity: 1;
}

/* Solid button style */
.is-style-btn_solid span.swell-block-button__link {
    box-shadow: 0 4px 0 var(--the-solid-shadow, var(--color_main_dark));
    color: #fff;
    font-weight: 700;
    transition: transform .25s, box-shadow .25s;
    z-index: 1;
}

.is-style-btn_solid span.swell-block-button__link:hover {
    box-shadow: 0 0 0 transparent !important;
    transform: translate3d(0, 4px, 0);
}

/* Shiny button style */
.is-style-btn_shiny span.swell-block-button__link {
    color: #fff;
    font-weight: 700;
    overflow: hidden;
    position: relative;
    transition: opacity .25s, transform .25s;
    z-index: 0;
}

.is-style-btn_shiny span.swell-block-button__link:before {
    background-image: linear-gradient(90deg, hsla(0,0%,100%,0), hsla(0,0%,100%,.6) 80%, hsla(0,0%,100%,0));
    content: "";
    height: 200px;
    left: -120px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(25deg);
    width: 80px;
}

.is-style-btn_shiny span.swell-block-button__link:after {
    animation: shiny_btn 3s ease-in-out infinite;
    background-image: linear-gradient(100deg, hsla(0,0%,100%,0), #fff);
    content: "";
    height: 100%;
    left: -100px;
    position: absolute;
    top: 0;
    width: 50px;
}

.is-style-btn_shiny span.swell-block-button__link:hover {
    transform: translateY(2px);
}

/* Line button style */
.is-style-btn_line span.swell-block-button__link {
    background: none;
    border: 1px solid;
    color: var(--the-btn-color, var(--color_main));
    position: relative;
    transition: background-color .25s;
}

.is-style-btn_line span.swell-block-button__link:hover {
    background-color: var(--the-btn-color, var(--color_main));
    border-color: transparent;
    color: #fff !important;
}

/* SWELLインラインボタンのspan対応 */
.swl-inline-btn span.exlink-hidden-link {
    display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none !important;
    border-radius: 3px;
    font-weight: 700;
    letter-spacing: 0.05em;
    position: relative;
    box-sizing: border-box;
    cursor: pointer;
}

/* Solid style for inline buttons */
.swl-inline-btn.is-style-btn_solid span.exlink-hidden-link {
    box-shadow: 0 4px 0 var(--the-solid-shadow, rgba(0,0,0,0.2));
    transition: transform 0.25s, box-shadow 0.25s;
}

.swl-inline-btn.is-style-btn_solid span.exlink-hidden-link:hover {
    transform: translate3d(0, 4px, 0);
    box-shadow: 0 0 0 transparent;
}

/* Color variations for inline buttons */
.swl-inline-btn.blue_ span.exlink-hidden-link {
    background-color: var(--color_main, #3b4675);
    color: #fff !important;
}

.swl-inline-btn.red_ span.exlink-hidden-link {
    background-color: #e91e63;
    color: #fff !important;
}

.swl-inline-btn.green_ span.exlink-hidden-link {
    background-color: #4caf50;
    color: #fff !important;
}

.swl-inline-btn.yellow_ span.exlink-hidden-link {
    background-color: #ffc107;
    color: #333 !important;
}

.swl-inline-btn.orange_ span.exlink-hidden-link {
    background-color: #ff9800;
    color: #fff !important;
}

/* その他のテーマのボタン対応 */
span.exlink-hidden-link[class*="btn"],
span.exlink-hidden-link[class*="button"] {
    display: inline-block;
    cursor: pointer;
}