@charset 'utf-8';

/* --------------------------------------------------------------------------------
 * common.css
 * -------------------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@700&family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
    /* ベースカラー */
    --color_primary: #4EC4BE; /* var(--color_primary) */
    /* アクセントカラー */
    --color_accent: #FF8F86; /* var(--color_accent) */
    /* グラデーション */
    --color_gradation: linear-gradient(89.92deg, #EDFFF6 0%, #F8FFE3 100%); /* var(--color_gradation) */
    /* ベースカラー(グレー) */
    --color_primary_gray: #F8F8F8; /* var(--color_primary_gray) */
    /* リンク色 */
    --color_link: #4EC4BE; /* var(--color_link) */

    /* roundedフォント */
    --round_font: "M PLUS Rounded 1c", sans-serif;  /* var(--round_font) */
}


/* 基本設定
--------------------------------- */

html { font-size: 62.5%; }


address,caption,cite,code,dfn,em,th,var {
    font-weight: normal;
    font-style: normal;
}

/* slick
--------------------------------- */

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus {
    outline: none;
}
.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    overflow: hidden;
}
.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}
.slick-track:after {
    clear: both;
}
.slick-loading .slick-track {
    visibility: hidden;
}
.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide {
    float: right;
}
.slick-slide img {
    display: block;
}
.slick-slide.slick-loading img {
    display: none;
}
.slick-slide.dragging img {
    pointer-events: none;
}
.slick-initialized .slick-slide {
    display: block;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
.slide-arrow {
    position: absolute;
    top: calc( 50% - 20px );
    border: none;
    z-index: 1;
    cursor: pointer;
    display: block;
    overflow: hidden;
    width: 40px;
    height: 0;
    padding-top: 40px;
    border-radius: 50%;
    background: var(--color_primary) url(../img/icon_arrow_white.svg) no-repeat 50% 50%;
    background-size: 12px auto;
    text-indent: 100%;
    white-space: nowrap;
}
.slide-arrow.slick-disabled{
    display: none!important;
}
.slide-arrow.slick-prev {
    left: calc(50% - 544px);
    transform: rotate(180deg);
}
.slide-arrow.slick-next {
    right: calc(50% - 544px);
}
@media screen and (width <= 1280px) {
    .slide-arrow.slick-prev {
        left: 0;
    }
    .slide-arrow.slick-next {
        right: 0;
    }
}

.slick-prev:hover,
.slick-next:hover {
    opacity: 0.8;
}
.slick-dots {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    line-height: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: #D9D9D9;
    border: 1px solid #D9D9D9;
    border-radius: 50%;
    box-sizing: border-box;
    cursor: pointer;
}
.slick-dots li.slick-active,
.slick-dots li:hover {
    border: 1px solid var(--color_primary);
    background: var(--color_primary);
}

/* 縦並び防止 */
.case_slider {
    visibility: hidden;
}

.case_slider.slick-initialized {
    visibility: visible;        /*slick-initializedが付与されたら表示*/
}
