.c-content-rawContent {
    font-family: yu-mincho-pr6n,YuMincho,Yu Mincho,游明朝,Hiragino Mincho Pro,sans-serif;
    font-size: 1.4rem;
    letter-spacing: .1em;
    line-height: 2.25
}

.c-content-rawContent * {
    word-break: break-all
}

.c-content-rawContent>:nth-child(n+2):not(ul):not(ol):not(blockquote):not(details):not(h6) {
    margin-top: 4rem;
}

.c-content-rawContent h2 {
    font-size: 1.6rem;
    letter-spacing: .1em;
    line-height: 1.69
}

.c-content-rawContent h6 {
    display: block;
    font-size: 1rem;
    letter-spacing: .08em;
    line-height: 1.6;
    margin-top: .9rem
}

.c-content-rawContent h2+p {
    margin-top: 1.4rem!important
}

.c-content-rawContent img {
    width: 100%
}

.c-content-rawContent sup {
    font-size: .4em;
    line-height: 1.6;
    vertical-align: super
}

.c-content-rawContent a {
    text-decoration: underline
}

@media screen and (min-width: 900px) {
    .c-content-rawContent details:hover .c-content-rawContent-summary-cross {
        transform:rotate(180deg)
    }

    .c-content-rawContent details[open]:hover .c-content-rawContent-summary-cross {
        transform: rotate(315deg)
    }
}

.c-content-rawContent details[open] .c-content-rawContent-summary-cross {
    transform: rotate(135deg)
}

.c-content-rawContent blockquote {
    background-color: #f4f2f1;
    letter-spacing: .1em;
    line-height: 2.25;
    padding: 3.5rem 4rem
}

.c-content-rawContent-summary-cross {
    height: 1.1rem;
    margin-right: 1rem;
    position: relative;
    transition: transform .5s cubic-bezier(.215,.61,.355,1);
    width: 1.1rem
}

.c-content-rawContent-summary-cross:before {
    bottom: 0;
    height: 1px;
    width: 100%
}

.c-content-rawContent-summary-cross:after {
    height: 100%;
    right: 0;
    width: 1px
}

.c-content-rawContent-summary-cross:after,.c-content-rawContent-summary-cross:before {
    background-color: currentColor;
    content: "";
    left: 0;
    margin: auto;
    position: absolute;
    top: 0
}

.c-content-rawContent summary {
    align-items: center;
    border-top: 1px solid #060725;
    cursor: pointer;
    display: flex;
    font-size: 1.4rem;
    height: 5.5rem;
    justify-content: space-between
}

.c-content-rawContent summary,.c-content-rawContent ul {
    font-family: 游ゴシック体,YuGothic,游ゴシック,Yu Gothic,yu-gothic-pr6n,sans-serif;
    letter-spacing: .08em
}

.c-content-rawContent ul {
    border-collapse: separate;
    border-spacing: 0 .9rem;
    display: table;
    font-size: 1.1rem;
    line-height: 1.55;
    margin-top: 1.5rem
}

.c-content-rawContent ul li {
    display: table-row
}

.c-content-rawContent ul li:before {
    content: "•";
    display: table-cell;
    padding-right: .8em
}

.c-content-rawContent details[open] .ql-details {
    animation: fadeIn .5s ease forwards
}

.c-content-rawContent .ql-details {
    animation: fadeOut .5s ease forwards;
    padding-bottom: 7.5rem;
    padding-top: 1.2rem
}

.c-content-rawContent .ql-details>:first-child {
    margin-top: 0
}

.c-content-rawContent .ql-font-YuMincho {
    font-family: yu-mincho-pr6n,YuMincho,Yu Mincho,游明朝,Hiragino Mincho Pro,sans-serif;
    letter-spacing: .1em
}

.c-content-rawContent .ql-font-YuGothic {
    font-family: 游ゴシック体,YuGothic,游ゴシック,Yu Gothic,yu-gothic-pr6n,sans-serif;
    letter-spacing: .08em
}

.c-content-rawContent .ql-font-NeueHaasGrotesk {
    font-family: neue-haas-grotesk-display,sans-serif;
    letter-spacing: .04em
}

.c-content-rawContent .ql-font-Goldenbook {
    font-family: goldenbook,sans-serif;
    letter-spacing: .02em
}

.c-content-rawContent .ql-hr {
    border-top: 1px solid rgba(6,7,37,.1);
    margin-top: 5rem;
    padding-top: 4rem
}

@media screen and (max-width: 900px) {
    .c-content-rawContent {
        font-size:1.3rem;
        line-height: 2
    }

    .c-content-rawContent blockquote {
        padding: 2.5rem 3rem
    }

    .c-content-rawContent .ql-hr,.c-content-rawContent h2 {
        margin-top: 6rem
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-10px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1;
        transform: none
    }

    to {
        opacity: 0;
        transform: translateY(-10px)
    }
}

.c-page-pagePage-news-item {
    display: block;
    opacity: 0;
    pointer-events: none;
    transform: translateY(5.5rem)
}

.c-page-pagePage-news-item-anchor {
    border: 1px solid rgba(6,7,37,.1);
    display: block;
    padding: min(4rem,5.4274084125%)
}

.c-page-pagePage-news-item-date {
    font-size: 1.2rem;
    opacity: .5
}

.c-page-pagePage-news-item-title {
    font-size: 1.3rem;
    letter-spacing: .1em;
    line-height: 1.54;
    margin-top: 1.5rem
}

.c-page-pagePage-news-item--inView {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    transition: opacity 1s,transform 1s cubic-bezier(.215,.61,.355,1)
}

.c-page-pagePage-news-item:nth-of-type(n+2) {
    margin-top: 3rem
}

@media screen and (max-width: 900px) {
    .c-page-pagePage-news-item-anchor {
        padding:3rem
    }
}

.l-page-page__container {
    display: flex;
    justify-content: space-between
}

.l-page-page__heading {
    font-size: 5rem;
    margin-top: -.1em
}

.l-page-page-newsList {
    margin-left: 22.3214285714%;
    width: 100%
}

@media screen and (max-width: 900px) {
    .l-page-page__container {
        display:block
    }

    .l-page-page__heading {
        font-size: 3rem
    }

    .l-page-page-newsList {
        margin: 5.5rem 0 0
    }
}

.c-page-products {
    background-color: #f4f2f1;
    cursor: grab;
    overflow: hidden;
    position: relative
}

.c-page-products__swiper-button {
    cursor: grab;
    height: 100%;
    position: absolute;
    top: 0;
    width: 19.7010869565%;
    z-index: 20
}

.c-page-products__swiper-button--prev {
    left: 0
}

.c-page-products__swiper-button--next {
    right: 0
}

.c-page-products-item {
    display: flex
}

.c-page-products__button {
    margin: 4rem auto 0
}

.c-page-products__text {
    font-size: 1.2rem;
    transition: color .2s
}

.c-page-products__anchor {
    align-items: center;
    background-color: #060725;
    border: 1px solid rgba(6,7,37,.5);
    border-radius: .4rem;
    color: #fff;
    display: flex;
    height: 4rem;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0 1.6rem;
    transition: background-color .3s;
    width: 17rem
}

.c-page-products__anchor:after {
    background-image: url(/images/icon_arrow-down.svg);
    background-repeat: no-repeat;
    background-size: .8rem;
    bottom: 0;
    content: "";
    height: .8rem;
    margin: auto;
    position: absolute;
    right: 1.6rem;
    rotate: -90deg;
    top: 0;
    width: .8rem
}

@media screen and (min-width: 900px) {
    .c-page-products__anchor:hover:after {
        animation:mo_rotate_arrow .75s cubic-bezier(.215,.61,.355,1) forwards
    }
}

.c-page-products-swiper {
    padding: 8rem 20.9918478261%!important
}

@media screen and (max-width: 900px) {
    .c-page-products {
        margin-left:-9.0909090909%;
        width: 118.1818181818%
    }
}

@keyframes mo_rotate_arrow {
    40%,50% {
        opacity: 0
    }

    43% {
        transform: translateY(90%) scaleY(.1)
    }

    44%,50% {
        transform: translateY(-110%) scaleY(.2)
    }

    to {
        transform: translateY(0) scaleY(1)
    }
}

.l-page-detailPage {
    margin: auto;
    padding: 0 0 25rem;
    position: relative
}

.l-page-detailPage__container {
    align-items: flex-start;
    display: flex;
    justify-content: space-between
}

.l-page-detailPage__nav {
    position: sticky;
    top: 25rem;
    width: 25.7142857143%
}

.l-page-detailPage__top {
    align-items: center;
    display: flex;
    font-size: 1.1rem
}

.l-page-detailPage__top-category {
    margin-right: 1rem
}

.l-page-detailPage__top-border {
    background-color: currentColor;
    height: 1px;
    opacity: .1;
    width: 100%
}

.l-page-detailPage__top-date {
    margin-left: 1rem
}

.l-page-detailPage__title {
    font-size: 1.8rem;
    letter-spacing: .08em;
    line-height: 1.67;
    margin-top: 5rem
}

.l-page-detailPage__back {
    align-items: center;
    display: flex;
    margin-top: 5rem
}

.l-page-detailPage__back-arrow {
    align-items: center;
    display: flex;
    margin-left: 0;
    margin-right: .6rem;
    width: .8rem
}

.l-page-detailPage__back-arrow svg {
    width: 100%
}

.l-page-detailPage__back-arrow svg path {
    fill: currentColor
}

.l-page-detailPage__back:after {
    background-color: currentColor;
    content: "";
    height: 1px;
    margin-left: 1rem;
    opacity: .1;
    width: 100%
}

.l-page-detailPage__anchor {
    align-items: center;
    display: flex;
    font-size: 1.2rem;
    margin: -2rem;
    padding: 2rem;
    white-space: nowrap
}

@media screen and (min-width: 900px) {
    .l-page-detailPage__anchor:hover .l-page-detailPage__back-arrow {
        animation-duration:.7s;
        animation-fill-mode: forwards;
        animation-name: mo_arrow_reverse;
        animation-timing-function: cubic-bezier(.165,.84,.44,1)
    }
}

.l-page-detailPage__main {
    position: relative;
    width: 65.7142857143%
}

@media screen and (max-width: 900px) {
    .l-page-detailPage__container {
        display:block;
        margin: 0 auto
    }

    .l-page-detailPage__nav {
        position: relative;
        top: auto;
        width: 100%
    }

    .l-page-detailPage__main {
        margin-top: 6rem;
        width: 100%
    }

    .l-page-detailPage__back,.l-page-detailPage__title {
        margin-top: 3.2rem
    }
}

@keyframes mo_arrow_reverse {
    40%,50% {
        opacity: 0
    }

    43% {
        transform: translateX(-90%) scaleY(.1)
    }

    44%,50% {
        transform: translateX(110%) scaleY(.2)
    }

    to {
        transform: translateX(0) scaleY(1)
    }
}

.c-paging {
    display: flex;
    justify-content: space-between;
    margin-top: 6rem;
    border-top: 1px solid #D6D6D6;
    padding-top: 7rem;
}

.c-paging__nav {
    align-items: center;
    display: flex;
    font-size: 1.2rem;
    transition: opacity .3s
}

.c-paging__nav-anchor {
    align-items: center;
    display: flex;
    margin: -2rem;
    padding: 2rem
}

.c-paging__nav--prev .c-paging__nav-image {
    margin-right: .6rem
}

@media screen and (min-width: 900px) {
    .c-paging__nav--prev:hover .c-paging__nav-image {
        animation:mo_arrow_reverse .8s cubic-bezier(.215,.61,.355,1) forwards
    }
}

.c-paging__nav--next .c-paging__nav-image {
    margin-left: .6rem
}

@media screen and (min-width: 900px) {
    .c-paging__nav--next:hover .c-paging__nav-image {
        animation:mo_arrow .8s cubic-bezier(.215,.61,.355,1) forwards
    }
}

.c-paging__nav-image {
    align-items: center;
    display: flex;
    transition: transform .43s cubic-bezier(.215,.61,.355,1);
    width: .8rem
}

.c-paging__nav-image path {
    fill: currentColor
}

.c-paging__nav--disable {
    opacity: .28;
    pointer-events: none
}

.c-paging__list {
    display: flex;
    font-size: 1.2rem
}

.c-paging__list-anchor {
    align-items: center;
    border: 1px solid rgba(6,7,37,.2);
    border-radius: 50%;
    display: flex;
    height: 100%;
    justify-content: center;
    position: relative;
    transition-duration: .36s;
    transition-property: background-color,border-color,color
}

.c-paging__list-anchor:after,.c-paging__list-anchor:before {
    border: 1px solid #060725;
    border-radius: 50%;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scale(0);
    width: 100%
}

.c-paging__list-anchor:before {
    border-width: 2px;
    opacity: .4
}

.c-paging__list-anchor:after {
    opacity: .3
}

@media screen and (min-width: 900px) {
    .c-paging__list-anchor:hover:before {
        background-color:#060725;
        border-color: #060725;
        color: #fff;
        opacity: 0
    }

    .c-paging__list-anchor:hover:after {
        opacity: 0;
        transform: scale(1.33);
        transition: opacity .7s cubic-bezier(.47,0,.745,.715),transform .7s cubic-bezier(.165,.84,.44,1);
        transition-delay: .1s
    }
}

.c-paging__list-item {
    height: 4.6rem;
    width: 4.6rem
}

.c-paging__list-item--current .c-paging__list-anchor {
    background-color: #060725;
    border-color: #060725;
    color: #fff;
    pointer-events: none
}

.c-paging__list-item:nth-of-type(n+2) {
    margin-left: 2rem
}

.c-paging__list-item--dots {
    align-items: center;
    display: flex;
    justify-content: center;
    width: auto
}

@media screen and (min-width: 900px) {
    .c-paging__list-item:hover .c-paging__list-anchor {
        background-color:#060725;
        border-color: #060725;
        color: #fff
    }
}

@media screen and (max-width: 900px) {
    .c-paging {
        margin-top:8rem
    }

    .c-paging__list-item {
        height: 2.8rem;
        width: 2.8rem
    }
}

.u-page-section {
	padding-bottom: 15rem;
}
.l-page-detailPage {
	padding-bottom: 0;
}