﻿@charset "UTF-8";

/* --------------------------------------------------------------------
	ヘッダーメニュー
--------------------------------------------------------------------- */
@media screen and (min-width: 769px) {
    .block-top-main {
        position: relative;
    }
    .block-top-main .block-header-sidemenu {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        background: linear-gradient(-90deg, #fff 0%, #fff 30%, rgba(255, 255, 255, 0) 100%);
        padding: 10px 10px 10px 10vw;
        z-index: 5;
    }
    .block-top-main .block-header-sidemenu li + li {
        margin-top: 20px;
    }
}
/* --------------------------------------------------------------------
	フッター
--------------------------------------------------------------------- */
.pane-footer {
    margin-top: 0;
}
/* --------------------------------------------------------------------
	MV
--------------------------------------------------------------------- */
.block-mv-wrap .block-mv-list {
    display: flex;
}
.block-mv-wrap .splide__pagination {
    position: static;
    justify-content: flex-start;
    display: none;
}
.block-mv-wrap .splide__pagination__page {
    border-radius: 0;
    width: 100%;
    height: 3px;
    margin: 0;
    background-color: #C4C4C4;
    position: relative;
}
.block-mv-wrap .splide__pagination__page.is-active {
    transform: scale(1);
}
.mv-toggle-btn {
    width: 20px;
    aspect-ratio: 1 / 0.6;
    padding: 0;
    outline: 0;
    border: 0;
    background: transparent;
    position: relative;
    z-index: 5;
}

.mv-toggle-btn .splide__toggle__pause,
.mv-toggle-btn .splide__toggle__play {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.mv-toggle-btn .splide__toggle__pause::before,
.mv-toggle-btn .splide__toggle__pause::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 3px;
    height: 0.8em;
    box-sizing: border-box;
    background-color: var(--base-dark-gray);
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}
.mv-toggle-btn .splide__toggle__pause::before {
    left: -10px;
}
.mv-toggle-btn .splide__toggle__pause::after {
    left: 0;
}
.mv-toggle-btn .splide__toggle__play::before {
    content: "";
    position: absolute;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent var(--base-dark-gray);
    background-color: transparent;
    margin-left: 2px;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}
.block-mv-wrap .splide__progress__bar {
    background-color: var(--base-dark-gray);
    pointer-events: none;
} 
.block-mv-wrap .block-mv-processing-wrap .splide__pagination {
    display: inline-flex;
    width: auto;
}
/* 1枚の時 */
.block-mv-wrap.splide.is-single {
    visibility: visible;
}
.block-mv-wrap.is-single .mv-toggle-btn,
.block-mv-wrap.is-single .splide__progress {
    display: none;
}
@media screen and (min-width: 769px) {    
    .block-mv-wrap.splide.is-single {
        margin-bottom: 30px;
    }
    .block-mv-wrap .splide__pagination li {
        max-width: calc((100% - 180px) / 10);
        width: 6.5vw;
    }
    .block-mv-wrap .splide__pagination li + li {
        margin-left: 20px;
    }
    .block-mv-processing-wrap {
        position: relative;
        display: flex;
        align-items: center;
    }
    .block-mv-wrap .splide__pagination {
        padding: 30px 0px;
    }
    .mv-toggle-btn {
        margin-right: auto;
    }
    .block-mv-wrap .mv-item,
	.block-mv-wrap .mv-item a,
    .block-mv-wrap .mv-item figure {
        height: 80svh;
        max-height: 500px;
        display: block;
    }
	.block-mv-wrap .mv-item a {
		display: block;
	}
    .block-mv-wrap .mv-item img {
        max-height: 100%;
    }
}
@media screen and (max-width: 768px) {
    .block-mv-wrap .block-mv-list .mv-item {
        min-width: 100vw;
    }
    .block-top-main {
        margin: 0 0 40px;
    }
    .block-mv-wrap .mv-item,
    .block-mv-wrap .mv-item a,
    .block-mv-wrap .mv-item figure {
        display: block;
    }
    .block-mv-wrap .mv-item img {
        width: 100vw;
        aspect-ratio: 1;
    }
	.block-mv-processing-wrap {
	    display: flex;
	    align-items: center;
	    padding: 20px 0 0 0;
	}
    .block-mv-wrap .splide__pagination li {
        max-width: calc((100% - 110px) / 10);
        width: 25vw;
    }
    .block-mv-wrap .splide__pagination li + li {
        margin-left: 10px;
    }
    .mv-toggle-btn {
    margin-left: -20px;
    margin-right: 10px;
    }
}
/* --------------------------------------------------------------------
	ニュース
--------------------------------------------------------------------- */
.block-top-news-wrap {
    background-color: var(--base-main-gray);
    padding-top: 40px;
}
.block-top-news-inner.sc-anime {
    transform: translateY(100%);
}
.block-top-news-inner.sc-anime.is-already {
    transform: translateY(0);
}
.block-top-news-wrap .block-news-list {
    background-color: var(--base-white-gray);
    border-radius: 0.5em;
    padding: 0 45px;
    position: relative;
}
.block-top-news-wrap .news-item-inner {
    display: flex;
    align-items: center;
}
.block-top-news-wrap .splide__arrows {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fb;
    z-index: 1;
}
.block-top-news-wrap .splide__arrows .splide__arrow {
    position: relative;
    transform: none;
    background-color: transparent;
    top: auto;
    opacity : 1;
    width: 15px;
    height: 15px;
}
.block-top-news-wrap .splide__arrows .splide__arrow::before {
    content: "";
    background-color: #4C5051;
    height: calc(tan(60deg)* 15px / 2);
    width: 15px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.block-top-news-wrap .splide__arrows .splide__arrow.splide__arrow--prev::before {
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.block-top-news-wrap .splide__arrows .splide__arrow.splide__arrow--next::before {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.block-top-news-wrap .splide__arrows .splide__arrow + .splide__arrow {
    margin-left: 40px;
}
.block-top-news-wrap .news-item a {
    padding: 10px;
}
.block-top-news-wrap .news-item .title {
    margin-left: 30px;
}
@media screen and (max-width: 768px) {
    .block-top-news-wrap {
        padding-top: 15px;
    }
	.block-top-news-wrap .block-news-list {
        padding: 0;
	}
    .block-top-news-wrap .block-news-list {
        background-color: transparent;
    }
    .block-top-news-wrap .news-item a {
        align-items: baseline;
    }
    .block-top-news-wrap .splide__arrows {
        display: none;
    }
}
/* --------------------------------------------------------------------
	メインコンテンツ
--------------------------------------------------------------------- */
/* NEWS / NEW ITEMS */
.main-content-wrap {
    background-color: var(--base-main-gray);
    padding-top: 50px;
}
.main-content-wrap .main-content-flex {
    background-color: var(--base-white-gray);
    display: flex;
    padding: 40px 40px 70px;
    border-radius: 1em 1em 0 0;
}
.main-content-wrap .main-content-left {
    width: 70%;
    margin-right: auto;
}
.main-content-wrap .main-content-right {
    width: 25%;
    background: white;
    border-radius: 0.8em;
    padding: 40px 20px;
    position: relative;
}
.article-list-wrap + .article-list-wrap:not(.tab-content) {
    margin-top: 70px;
}
/* blog */
.block-blog-list-wrap.article-list-wrap .content-ttl {
    margin-bottom: 15px;
} 
@media screen and (max-width: 768px) {
    .main-content-wrap .main-content-right {
        margin-top: 40px;
        padding: 40px 0;
    }
    .main-content-wrap {
        padding-top: 10px;
    }
    .main-content-wrap .main-content-flex {
        display: block;
        padding-bottom: 60px;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }
    .main-content-wrap .main-content-left,
    .main-content-wrap .main-content-right {
        width: auto;
    }
    .main-content-wrap .main-content-left {
		padding-left: 20px;
		padding-right: 20px;
	}
}
/* --------------------------------------------------------------------
	FEATURE
--------------------------------------------------------------------- */
.block-feature-list-wrap {
    background-color: var(--base-main-gray);
}
.block-feature-list-wrap .sc-anime.is-already {
	transform: translateY(-5%);
}
.block-feature-list-wrap .block-feature {
    background-color: var(--base-main-gray);
    padding-top: 60px;
    border-radius: 1em 1em 0 0;
    padding: 60px 40px 80px;
}
.block-feature-list-wrap.article-list-wrap .article-list .article-ttl,
.block-feature-list-wrap.article-list-wrap .article-list .writer-name {
    font-weight: normal;
}
@media screen and (max-width: 768px) {
    .block-feature-list-wrap .block-feature {
        margin-left: 0;
        margin-right: 0;
        padding: 40px 20px 80px;
    }
	.block-feature-list-wrap .sc-anime.is-already {
	    transform: translateY(-12%);
	}
}
/* --------------------------------------------------------------------
	SERVICE / ONLINE STORE
--------------------------------------------------------------------- */
.block-top-content-wrap {
    background-color: var(--base-main-gray);
}
.block-top-content-wrap .sc-anime.is-already {
	transform: translateY(-5%);
}
.block-top-content-wrap .block-top-content-inner {
    background-color: var(--base-white-gray);
    padding-top: 60px;
    border-radius: 1em;
    padding: 60px clamp(40px, 6vw ,140px) 80px;
}
.block-top-content-wrap .content-ttl {
	font-size: 22px;
	margin-bottom: 55px;
    text-align: center;
}
.block-top-content-area + .block-top-content-area {
    margin-top: 100px;
}
.top-content-bnr {
    position: relative;
    overflow: hidden;
}
.top-content-bnr img {
    max-width: none;
    width: -webkit-fill-available;
}
.top-content-bnr.bg-bk a::before {
    content: "";
    background-color: rgba(0,0,0,0.5);
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.top-content-bnr.bg-bk .content-bnr-text {
    color: white;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 8%;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    z-index: 1;
}
.top-content-bnr:not(.bg-bk) a::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../img/usr/common/ico_external_link_wh.svg);
}
.top-content-bnr.bg-bk .content-bnr-text .bnr-ttl {
    font-size: 24px;
    margin-bottom: 40px;
}
.top-content-bnr.bg-bk .content-bnr-text .bnr-ttl span {
    display: block;
    font-size: 0.45em;
}
.top-content-bnr.bg-bk .allow-btn {
    content: "";
    display: inline-block;
    width: 23px;
    height: 23px;
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 1;
}
.top-content-bnr.bg-bk .allow-btn::before,
.top-content-bnr.bg-bk .allow-btn::after {
    content: "";
    position: absolute;
    display: inline-block;
}
.top-content-bnr.bg-bk .allow-btn::before {
    aspect-ratio: 1;
    border-radius: 100%;
    background-color: white;
    width: 23px;
    bottom: 10px;
    right: 10px;
}
.top-content-bnr.bg-bk .allow-btn::after {
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--base-gray);
	border-right: 2px solid var(--base-gray);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    bottom: 17px;
    right: 19px;
}
.top-content-bnr a:hover {
	text-decoration: none;
	opacity: var(--base-anime-opacity);
}
.top-content-bnr a:hover img {
	transform: scale(1.04);
}
/* SERVICE */
.service-content-list {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
.service-content-list li {
    width: calc((100% - 40px) / 3);
}
.service-content-list .service-item {
    background-color: white;
    border: 1px solid #ddd;
    display: block;
    position: relative;
    text-decoration: none;
    padding: 1.5em 1.5em 2em;
    height: 100%;
}
.service-content-list .service-item::before,
.service-content-list .service-item::after {
    content: "";
    position: absolute;
    display: inline-block;
    transition: var(--base-anime-trasition);
}
.service-content-list .service-item::before {
    aspect-ratio: 1;
    border-radius: 100%;
    background-color: var(--base-gray);
    width: 23px;
    bottom: 10px;
    right: 10px;
}
.service-content-list .service-item::after {
	width: 8px;
	height: 8px;
	border-top: 2px solid white;
	border-right: 2px solid white;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    bottom: 17px;
    right: 19px;
}
.service-content-list .service-item .content-name {
    font-size: 20px;
    margin-bottom: 20px;
}
.service-content-list .service-item .content-name span {
    display: block;
    font-size: .5em;
    margin-top: 8px;
}
.service-content-list .service-item .image-img {
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 10px;
    margin: auto;
    width: 30%;
}
/* ONLINE */
.store-content-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
}
.store-content-list li {
    width: calc((100% - 40px) / 3);
}
.store-content-list li a {
    display: flex;
    background-color: white;
    height: 100%;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    padding: 20px 10px;
    position: relative;
}
.store-content-list li a::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../img/usr/common/ico_external_link_gry.svg);
}
.store-content-list li a:hover {
	text-decoration: none;
	opacity: .7;
}
.store-content-list li a:hover img {
	transform: scale(1.04);
}
.store-content-list .img-block {
    width: 70%;
}
@media screen and (min-width: 769px) {
    .service-content-list .service-item:hover {
        opacity: var(--base-anime-opacity);
        background-color: var(--base-light-gray);
    }
}
@media screen and (max-width: 768px) {
	.block-top-content-wrap .sc-anime.is-already  {
	    transform: translateY(-8%);
	}
    .block-top-content-wrap .block-top-content-inner {
        margin-left: 0;
        margin-right: 0;
        padding: 40px 20px;
    }
    .block-top-content-wrap .content-ttl {
        margin-bottom: 20px;
    }
    .service-content-list {
        flex-wrap: wrap;
    }
    .service-content-list li:first-child {
        width: 100%;
    }
    .service-content-list li:nth-child(n + 2) {
        width: calc((100% - 20px) / 2);
        margin-top: 20px;
    }
    .service-content-list .service-item {
        padding: 1em 1em 1.5em;
    }
    .service-content-list .service-item .content-name {
        font-size: clamp(15px,5vw,20px);
    }
    .service-content-list .service-item .content-name span {
        margin: 0;
    }
    .service-content-list .service-item .content-text {
        font-size: clamp(10px,2.5vw,14px);
    }
    .service-content-list .service-item .image-img {
        width: 20%;
        top: -10%;
    }
    .block-top-content-area + .block-top-content-area {
        margin-top: 50px;
    }
    .store-content-list li {
        width: calc((100% - 20px) / 2);
    }
    .store-content-list li:nth-child(n + 3) {
        margin-top: 20px;
    }
    .top-content-bnr.bg-bk .content-bnr-text .bnr-ttl {
        margin-bottom: 15px;
    }
	.article-list-wrap .article-list-scroll .article-list li,
	.article-list-wrap .article-list-scroll .article-list li > * {
		width: 40vw;
	}
    .article-list-wrap .article-list-scroll {
        margin-right: -20px;
    }
}