/* Google fonts */
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

:root{
    --black: #000;
    --charcoal: #232b2d;
    --bg-grey: #ededed;
    --bg-dark-grey: #d7dcde;
    --fs-35: 3.5rem;
    --fz-25: 2.5rem;
    --fz-24: 2.4rem;
    --fz-20: 2rem;
    --fz-15: 1.5rem;
}

@media (max-width: 1024px){
    :root{
        --fs-35: 3rem;
        --fz-25: 2.1rem;
        --fz-24: 1.9rem;
    }
}

@media (max-width: 767px) {
    :root{
        --fs-35: 2.2rem;
        --fz-25: 1.7rem;
        --fz-24: 1.7rem;
        --fz-15: 1.3rem;
    }
}

html{
    font-size: 62.5%;
}

body{
    font-size: 1.5rem;
    font-weight: 400;
    color: #000;
    background-color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    overflow-x: clip;
}

img{
    width: 100%;
}

small{
    font-size: 1em;
}

dd{
    margin: 0;
}


/* -- utility -- */
.inner-flex{
    display: flex;
}

.sp{
    display: none;
}

.pc{
    display: block;
}

.u-word{
    display: inline-block;
}

.bg-grey{
    background-color: var(--bg-grey);
}

.bg-dark-grey{
    background-color: var(--bg-dark-grey);
}

.font-color--red{
    color: #d81c24 !important;
}

@media (max-width: 767px) {
    .pc{
        display: none;
    }

    .sp{
        display: block;
    }
}
/* -- /utility -- */


.inner{
    width: 90%;
    max-width: 1120px;
    margin: auto;
}

.inner--l{
    max-width: 1400px;
}

.inner--m{
    max-width: 1000px;
}

.inner--s{
    max-width: 900px;
}

.inner--xs{
    max-width: 800px;
}

.section{
    padding-top: 70px;
    padding-bottom: 120px;

    @media screen and (max-width: 767px){
        padding-top: 60px;
        padding-bottom: 85px;
    }
}

.section-page-top{
    padding-top: 100px;
    @media (max-width:767px) {
        padding-top: 70px;
    }
}

.lead{
    text-align: center;
    font-size: var(--fz-25);
    color: var(--charcoal);
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.6;
    letter-spacing: 0.2em;
    margin: 0;
}

.text{
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.93;
    letter-spacing: 0.1em;
    margin: 0;
}

.lead + .text--center{
    margin-top: 35px;
}

.text.text--center{
    text-align: center;
}

.copyright{
    font-size: 0.9rem;
    font-family: 'Noto Serif JP' ,serif;
    font-weight: 400;
    padding: 0;
}

.trademark{
    font-size: 1.2rem;
    font-family: 'Noto Serif JP' ,serif;
    font-weight: 400;
    line-height: 1.8;
    padding: 0;
	display: block;
	margin-top: 10px;
}

.no-post-text{
	color: #fff;
	font-size: 15px;
	margin: 20px 0 0;
}

.heading2{
    text-align: center;
    font-size: 3rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    line-height: 1.33em;
    letter-spacing: 0.2em;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 0;
    margin: 0;
}

.heading2 .size--sm{
    font-size: 0.56em; 
    letter-spacing: 0.2em;
}

.heading2.underline::before{
    content: "";
    display: block;
    width: 180px;
    height: 1px;
    background-color: #000;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 30px);
}

.heading2.bg-text::after{
    font-family: 'Noto Serif JP', serif;
    color: #cdd3d6;
    font-size: 5.625vw;
    letter-spacing: 0.05em;
    font-weight: 500;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: 100%;
    height: auto;
}

.heading3{
    font-size: var(--fs-35);
    text-align: center;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.6;
    letter-spacing: 0.2em;
    margin: 0;
}

.viewall-btn{
    text-align: center;   
    font-family: 'Noto Serif JP', serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.66; 
    letter-spacing: 0.2em;
    max-width: 180px;
    border-bottom: 1px solid #000;
}

.viewall-btn__link{
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.4s ease;
    color: #000;
}

.viewall-btn__link:hover{
    opacity: 0.7;
}

.viewall-btn02 {
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.66;
    letter-spacing: 0.2em;
	background-color:#232b2e;
	margin-top:90px;
}
.viewall-btn02 .viewall-btn__link{
    color: #fff;
    padding: 12px 0 18px;
   position: relative;
}
.viewall-btn02 .viewall-btn__link:before{
	content:"";
	display:block;
	width:180px;
	height:1px;
	background-color:#fff;
	    position: absolute;
    top: 72%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.contacts-box{
    overflow: hidden;
    height: 388px;
}

.contacts-box__link{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.contacts-box__link::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    transition: 0.4s ease;
}

.contacts-box__link:hover::before{
    background-color: rgba(0, 0, 0, 0.2);
}

.contacts-box .img-wrap{
    width: 100%;
    height: 100%;
    position: relative;
    z-index: -1;
}

.contacts-box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s ease;
}

.contacts-box__link:hover img{
    transform: scale(1.1, 1.1);
}

.contacts-box .text-wrap{
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

.contacts-box__text{
    font-family: 'Noto Serif JP', serif;
    font-size: 3rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.333;
    letter-spacing: 0.2em;
    text-align: center;
}

.contacts-box__text .size--sm{
    font-size: 0.56em;
    line-height: 2.35em;
    display: inline-block;
    width: 100%;
    letter-spacing: 0.2em;
}

.contacts-box .font-en{
    text-align: center;
    color: #fff;
    font-size: 1.5rem;
    width: 180px;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.2em;
    line-height: 2.66;
    margin: 60px auto 0;
    border-bottom: 1px solid #fff;
}

.desc{
    font-size: 2.3rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 2.17;
    margin: 0;
}

.single-container{
    overflow-x: hidden;
}

.paginate_links{
    text-align: center;
    margin: 155px 0 0;
}

.paginate_links > *{
    display: inline-block;
}

.page-numbers{
    font-size: 1.7rem;
    font-family: 'Noto Serif JP',serif;
    font-weight: 500;
    margin-left: 20px;
}

.news-archive__container .page-numbers{
    color: #fff;
}

.page-numbers:first-child{
    margin-left: 0;
}

.page-numbers.current{
    position: relative;
}

.page-numbers.current::before{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
}

.news-archive__container .page-numbers.current::before{
    background-color: #fff;
}

.page-numbers.prev,
.page-numbers.next{
    width: 7px;
    height: 14px;
    background-repeat: no-repeat;
    background-size: auto 100%;
}

.page-numbers.prev{
    background-image: url('../img/common/arrow_prev.svg');
    background-position: left;
}

.news-archive__container .page-numbers.prev{
    background-image: url('../img/common/arrow_prev_white.svg');
}

.page-numbers.next{
    background-image: url('../img/common/arrow_next.svg');
    background-position: right;
}

.news-archive__container .page-numbers.next{
    background-image: url('../img/common/arrow_next_white.svg');
}

.breadcrumb-list{
    display: flex;
    align-items: flex-start;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 30px;
    left: 5%;
    width: 90%;
    z-index: 1;
}

.single-mainvisual .breadcrumb-list{
    top: auto;
    bottom: 0;
    transform: translateY(125px);
}

.post-type-archive-topic .breadcrumb-list,
.single-topic  .breadcrumb-list,
.single-post .breadcrumb-list,
.category .breadcrumb-list{
    position: static;
}

.single-topic  .breadcrumb-list,
.single-post  .breadcrumb-list{
    margin-bottom: 20px;
}

.breadcrumb-list *{
    font-size: 1.2rem;
    line-height: 1.3em;
    color: #000;
    font-weight: 400;
}

.page-id-32 .breadcrumb-list *,
.post-type-archive-news .breadcrumb-list *,
.tax-news-cat .breadcrumb-list *{
    color: #fff;
}

.breadcrumb-list li{
    position: relative;
    margin-right: 20px;
}

.breadcrumb-list li::before,
.breadcrumb-list li::after{
    content: "";
    display: block;
    width: 7px;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 100%;
    transform-origin: right;
}

.page-id-32 .breadcrumb-list li::before,
.page-id-32 .breadcrumb-list li::after,
.post-type-archive-news .breadcrumb-list li::before,
.post-type-archive-news .breadcrumb-list li::after,
.tax-news-cat .breadcrumb-list li::before,
.tax-news-cat .breadcrumb-list li::after{
    background-color: #fff;
}

.breadcrumb-list li::before{
    transform: translateX(6px) rotate(15deg);
}

.breadcrumb-list li::after{
    transform: translateX(6px) rotate(-15deg);
}

.breadcrumb-list li:last-child{
    margin: 0;
}

.breadcrumb-list li:last-child::before,
.breadcrumb-list li:last-child::after{
    display: none;
}

.breadcrumb-list a{
    display: block;
    width: 100%;
    height: 100%;
}

.content-wrap{
    position: relative;
}

@media screen and (min-width: 1601px){
    .heading2.bg-text::after{
        font-size: 9rem;
    }
}

@media screen and (max-width: 1200px){
    .contacts-box__text {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 1024px){
    .heading2{
        font-size: 2.6rem;
    }

    .contacts-box__text {
        font-size: 2rem;
    }

    .contacts-box .font-en {
        margin: 30px auto 0;
    }

    .desc{
        font-size: 2.1rem;
    }
}

@media screen and (max-width: 767px){	
	.no-post-text{
	font-size: 14px;
    }

    .text{
        font-size: 1.4rem;
		line-height: 1.8;
    }

    .lead + .text--center {
        margin-top: 17px;
    }

    .inner-flex{
        display: block;
    }

    .heading2{
        font-size: 2rem;
    }
	.heading2 .size--sm{
		font-size: 0.62em;
		line-height: 1.7;
		margin-bottom: 5px;
	}
	.trademark{
		line-height: 1.5;
        margin-top: 15px;
	}

    .heading2.underline::before {
        transform: translate(-50%, 20px);
    }

    .heading2.bg-text::after {
        font-size: 2.8rem;
    }

    .viewall-btn{
        font-size: 1.4rem;
		max-width:140px;
    }
    
    .contacts__container{
        display: block;
    }

    /* .contacts-box__text {
        font-size: 1.9rem;
    }

    .contacts-box{
        width: 100%;
        height: 230px;
    }

    .contacts-box .font-en {
        font-size: 1.4rem;
        margin: 20px auto 0;
		max-width: 140px;
    } */

    .desc{
        font-size: 1.9rem;
    }

    .paginate_links {
        margin-top: 110px;
    }

    .breadcrumb-list{
        left: 3%;
		top: 15px;
    }
    
    .single-mainvisual .breadcrumb-list{
        transform: translateY(120px);
    }

    .breadcrumb-list *{
        font-size: 1.1rem;
    }

	.contacts-box__text .size--sm{	
        font-size: 0.62em;
		line-height: 1.7em;
        margin-bottom: 5px;
        display: inline-block;
	}

	.litle_txt{
	    font-size: 0.7em;
    }
}
    
/* =====================
    header
======================== */
.header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 50;
    background-color: transparent;
}

body:not(.home) .header{
    position: fixed;
    background-color: transparent;
    min-height: 0;
}

body:not(.home) .header.header-bg{
    background-color: #232b2e;
}

.header.js-active{
    background-color: rgba(0, 0, 0, 0.3) !important;
}

.header__inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 25px 15px 40px;
    position: relative;
}

.header__logo{
    width: 14.125vw;
    max-width: 258px;
    margin: 0;
}

.header__logo-link{
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.4s ease;
}

.header__logo-link:hover{
    opacity: 0.7;
}

.header__info{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
}

.header__info + .header__info{
    margin-top: 12px;
}

.header__menu{
    color: #fff;
    font-size: 1.3rem;
}

.header__menu-list{
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

.header__menu-list li{
    margin-left: 1.5vw;
}

.header__menu-list a{
    color: #fff;
    font-family: 'Jost';
    /* font-size: 1.3rem;
    font-weight: 400; */
    transition: 0.4s ease;
	/* display: flex;
	flex-direction: column-reverse;
	justify-content: center; */
	text-align: center;
}

.header__menu-list a:hover{
    opacity: 0.7;
    color: #fff;
}

/* .header__menu-list a > span:first-child{
	font-weight: 500;
	font-size: .9em;
    white-space: nowrap;
}
.header__menu-list a > span:nth-child(2){
	font-size: 1.1em;
}
.menu-item-407,
#menu-item-407, */
.header__btn{
    width: 107px;
    border: 1px solid #fff;
    background-color: transparent;
    border-radius: 50px;
    margin-left: .875vw;
    transition: 0.4s ease;
}

.header__btn{
	width: 9.7em;
}

.header__btn.reservation{
    border-color: #ff8522;
}

/* #menu-item-407:hover, */
.header__btn:hover{
    background-color: #fff;
}

/* #menu-item-407 a, */
.header__btn-link{
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 400;
    padding: 5px 0;
    font-family: 'Jost';
    color: #fff;
    transition: 0.4s ease;
}



/* #menu-item-407:hover a{
    color: #000;
} */

.header__btn-link{
    display: flex;
	flex-direction: column-reverse;
	padding: 8px 0;
}

.header__btn.reservation .header__btn-link{
    color: #ff8522;
}

.header__btn.reservation .header__btn-link:hover{
    color: #ff8522;
}

/* .header__btn-link > span{
	line-height: 1;
}

.header__btn-link > span:first-child{
	font-weight: 500;
	font-size: 0.9em;
	margin-top: 5px;
}
.header__btn-link > span:nth-child(2){
	font-size: 1.1em;
} */


.has-sub-menu{
    cursor: default;
}

.header__sub-menu-wrap{
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: var(--charcoal);
    opacity: 0;
    visibility: hidden;
    /* transform: translateY(-5px); */
    transition: all 0.3s ease;
    z-index: 10;

    &.is-active {
    opacity: 1;
    visibility: visible;
    /* transform: translateY(0); */
    }
}

.header__sub-menu{
    display: flex;
    gap: 20px;
}

.header__product{
    width: 320px;
    height: 100%;
    aspect-ratio: 1;
    max-width: 320px;
    position: relative;
}

.header__product-img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.header__product-name{
    font-size: 1.4rem;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: .1em;
    text-align: left;
    position: absolute;
    top: 5%;
    left: 5%;
    z-index: 1;

    .emphasis{
        display: block;
        font-size: 2.5rem;
        letter-spacing: .2em;
    }
}

.header__product-var-container{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-left: -12px;
}

.header__product-var-name{
    font-size: 1.5rem;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: .1em;
    text-align: left;
}

.header__product-var-img{
    max-width: 138px;
}






.hamburger-menu {
    display: none;
    position: fixed;
    top: 10px;
    right: 15px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.3);
}
  
.bar {
    position: absolute;
    width: 80%;
    height: 1px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    border-radius: 4px;
    transition: 0.4s ease;
}
  
.bar--top {
    top: 30%;
}
  
.bar--middle {
    top: 50%;
}
  
.bar--bottom {
    top: 70%;
}
  
.js-close .bar--top {
    top: 43%;
    transform: translateX(-50%) rotate(45deg);
}
    
.js-close .bar--middle {
    opacity: 0;
    transition: 0.1s;
}
    
.js-close .bar--bottom {
    top: 43%;
    transform: translateX(-50%) rotate(-45deg);
}

.drawer{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 80px;
    padding-bottom: 50px;
    background-color: #000;
    transition: 0.4s ease;
    transform: translateX(110%);
    z-index: 90;
    overflow-y: scroll;
}

.drawer.js-active{
    transform: translateX(0);
}

.drawer__inner{
    width: 100%;
}

.drawer__menu{
    margin-bottom: 30px;
}

.drawer__menu-list{
    padding: 0;
    margin: 0;
}

.drawer__menu-list > li{
    margin: 20px auto 0;
    padding: 0;
	width: 220px;
}

.drawer__menu-list > li:first-child{
    margin-top: 0;
}

.drawer__menu-list li.menu-item-has-children{
    position: relative;
}

.drawer__menu-list li.menu-item-has-children::before{
    position: absolute;
    display: block;
    content: "";
    top: 6px;
    right: 0;
    width: 9px;
    aspect-ratio: 1;
    background: url(../img/common/arrow_black.svg) no-repeat center / contain;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7487%) hue-rotate(174deg) brightness(98%) contrast(104%);
    z-index: -1;
    transform: rotate(90deg);
}

.drawer__menu-list li.menu-item-has-children.is-open::before{
    transform: rotate(-90deg);
}

.drawer__menu-list a{
    color: #fff;
    font-family: 'Jost';
    font-size: 1.6rem;
    font-weight: 400;
	display: flex;
}

.drawer__menu-list a:hover{
    color: #fff;
    opacity: .8;
}

.drawer__menu .sub-menu{
    padding-left: 10px;
    display: none;
    visibility: hidden;
    opacity: 0;
    transform: none;
}

.menu-item-has-children.is-open .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: scaleY(1);
}

.drawer__menu .sub-menu .sub-menu{
    padding-bottom: 4px;
}

.drawer__menu .sub-menu > li{
    margin-top: 5px;
}

.drawer__menu .sub-menu > li a::before{  
    content: 'ー';
    display: inline-block;
    margin-right: 3px;
}



.drawer__btn {
    width: 180px;
    margin: 13px auto 0;
}

.drawer__btn-link {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 400;
    padding: 8px 0;
    font-family: 'Jost';
    color: #fff;
    border: 1px solid #fff;
    background-color: transparent;
    border-radius: 50px;

    /* @media screen and (max-width: 990px){
    } */
}

.drawer__btn.reservation .drawer__btn-link{
    color: #ff8522;
    border-color: currentColor;
}

.drawer__btn.reservation .drawer__btn-link:hover{
    color: #7c3d09;
    border-color: #ff8522;
}


.drawer .mainvisual__banner {
    width: 70%;
    max-width: 450px;
    margin: 35px auto 0;
}

.drawer .mainvisual__banner a{
	display: block;
}

.drawer .mainvisual__banner a + a{
	margin-top: 15px;
}

header .login-pc, 
header .search-pc, 
header .cart-btn {
    margin: calc((var(--header-height, 60px) - 50px)/2);
}

body:not(.home) header .login-pc *,
body:not(.home) header #ico-cart *{
    fill: var(--header-after-text-color, #fff);
}

.icon-btn__wrap{
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.icon-btn__wrap ul{
    padding: 0;
    margin: 0;
}

.icon-btn__wrap .cart-btn{
    margin-left: 20px;
}

@media screen and (min-width: 1601px){
    .header__btn{
        margin-left: 18px;
    }

    .header__menu-list li{
        margin-left: 24px;
    }
}

@media screen and (max-width: 1024px){
    .header__inner{
        padding: 15px;
    }

    .header__logo {
        max-width: 90px;
    }

    .header__menu-list a,
    .header__btn-link{
        font-size: 1.1rem;
    }

    .header__btn{
        width: 110px;
    }
	
	.header__btn-link {
    	padding: 6px 0;
	}
}

@media screen and (max-width: 990px){
	.drawer,
    .hamburger-menu,
	.drawer__menu-list a > span:last-child{
        display: block;
    }
	
	.header__info{
        display: none;
    }
    /* .menu-item-407 a,
    .drawer__btn-link {
        padding: 4px 0;
        margin: 0 auto;
        width: 100%;
    } */
}

@media screen and (max-width: 767px){
    body:not(.home) .header{
        position: absolute;
    }


    body:not(.home) .header.header-bg{
        position: static;
    }

    .header__inner {
        padding: 7px 10px;
    }

    .header__logo {
        min-width: 130px;
    }

	.header__logo {
        max-width: 140px;
		min-width: 125px;
    }
}

/* =====================
    mainvisual
======================== */
.mainvisual{
    position: relative;
}
.home .mainvisual{
	overflow: hidden;
}
.mainvisual__wrap{
    width: 100%;
   height: 100vh;
   position: relative;
    overflow: hidden;
}
.mainvisual__wrap::before{
	content:"";
    width: 100vw;
    height: 100%;
    display: block;
    position: absolute;
	background-color: #00000047;
}
.mainvisual__wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mainvisual__wrap video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-bottom: -5px;
}
.mainvisual__text{
    font-family: 'Noto Serif JP', serif;
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 1.28em;
    position: absolute;
    color: #fff;
    letter-spacing: 0.05em;
}

.riisi-mini_confirm .under-mainvisual__text,
.riisi-mini_thanks .under-mainvisual__text,
.riisi-mini_error .under-mainvisual__text,
.riisi-mini .under-mainvisual__text{
    font-size: 6rem;
}

.top-mainvisual__text{
    font-size: 1.7rem;
    text-align: center;
    letter-spacing: .2em;
    line-height: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.top-mainvisual__logo{
    width: 63%;
    max-width: 265px;
    margin: 0 auto 2em;
}

.top-mainvisual .copyright{
    color: #fff;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: 50%;
    left: 1.5%;
    transform: translate(-50%, -50%);
    height: 100%;
    text-align: center;
}

.top-mainvisual .mainvisual__banner{
    position: absolute;
    bottom: 4%;
    left: 50%;
    transform: translateX(-50%);
    width: min(85%, 1120px);
}

.top-mainvisual .mainvisual__banner a{
    display: block;
    transition: 0.4s ease;
	padding: 0 5px;
}

.top-mainvisual .mainvisual__banner a:hover{
    opacity: 0.7;
}

@media screen and (max-width: 1024px){
    .under-mainvisual__text{
        font-size: 3rem;
    }

    .riisi-mini_confirm .under-mainvisual__text,
    .riisi-mini_thanks .under-mainvisual__text,
    .riisi-mini_error .under-mainvisual__text,
    .riisi-mini .mainvisual__text{
        font-size: 4.5rem;
    }
}

@media screen and (max-width: 767px){
    .top-mainvisual__wrap{
		height: 100vh;
    }

	.mainvisual__wrap video {
        width: auto;
        transform: translateX(-34%);
    }

    .under-mainvisual__text{
        font-size: 2.3rem;
    }

    .riisi-mini_confirm .under-mainvisual__text,
    .riisi-mini_thanks .under-mainvisual__text,
    .riisi-mini_error .under-mainvisual__text,
    .riisi-mini .under-mainvisual__text{
        font-size: 3rem;
    }

	.top-mainvisual .copyright{
        left: 3.5%;
        zoom: 88%;
    }

    .top-mainvisual__text{
        line-height: 1.8;
        width: 89vw;
        top: 40%;
    }

    .top-mainvisual__logo{
        width: 55%;
    }    
    
    .top-mainvisual .mainvisual__banner{
        width: min(85%, 400px);
    }
}


/* =====================
   top-section共通
======================== */
.top-section{
    padding: 55px 0 140px;
}

.top-section .heading2{
    font-size: 2.5rem;
    margin-bottom: 2.5em;
}

@media (max-width:767px) {
    .top-section .heading2{
        font-size: 2.1rem;
    }
}

/* =====================
   top-about
======================== */
.top-about{
    text-align: center;
    color: #fff;
    background-color: #232b2e;
    padding: 85px 0 120px;
    position: relative;
}

.top-about::before{
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 110%;
    background: url(../img/front/bg_about.png) no-repeat 84% top / auto 100%;
    z-index: 1;
    pointer-events: none;
}

.top-about__inner{
    position: relative;
    z-index: 2;
}

.top-about .heading2{
    margin-bottom: 2em;
}

.top-about .text{
    margin-bottom: 2em;
}

.top-about__lead{
    color: #fff;
    margin-bottom: 1.5em;
}

@media (max-width:767px) {
    .top-about{
        background-position: 81% bottom;
        background-size: auto 70%;
    }

    .top-about__lead{
        font-size: 1.6rem;
    }
}

/* =====================
   top-products
======================== */
.top-products{
    color: #fff;
    background-color: #232b2e;
    padding-top: 0;
}

.top-products__inner{
    position: relative;
    z-index: 2;
}

.top-products__ttl{
    font-size: var(--fz-20);
    font-family: 'Noto Serif JP', serif;
    line-height: 1.6;
    letter-spacing: 0.2em;
    margin: 0 0 .8em;
}

.top-products__products-list{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    align-items: flex-end;
}

.top-products__products-list + .top-products__products-list{
    margin-top: 55px;
}

.top-products__products-list .product-container{
    margin-bottom: 0;
}

.top-products__products-list .product-container .link-text-wrap{
    width: 90%;
}

.top-products__products-list .product-container.product-container--coming-soon .link-text-wrap{
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.top-products__products-list .product-container--coming-soon .link-text-title::after{
    display: none;
}

.top-products__products-list .product-container .link-img {
    aspect-ratio: unset;
    padding-top: calc((400/540) * 100%);
}

/* 子要素が3個 */
.product-container:first-child:nth-last-child(3) .link-img,
.product-container:first-child:nth-last-child(3) ~ * .link-img{
    padding-top: calc((400/354) * 100%);
}


@media (max-width:767px) {
    .top-products__products-list{
        grid-template-columns: 1fr;
        width: 94%;
        max-width: 500px;
        margin-right: auto;
        margin-left: auto;
    }    

    /* 子要素が3個 */
    .product-container:first-child:nth-last-child(3) .link-img,
    .product-container:first-child:nth-last-child(3) ~ * .link-img {
        padding-top: calc((400/540) * 100%);
    }
        

    .top-products__products-list .product-container .link-text-wrap{
        width: calc(100% - .7em);
        top: 1em;
        left: .7em;
    }

    .top-products__products-list .product-container .link-text{
        font-size: 1.4rem;
    }

    .top-products__products-list .product-container .link-text-title {
        font-size: 2.1rem;
    }
}

/* =====================
   top-facility
======================== */
/* .top-facility{
    color: #fff;
    background-color: #232b2e;
} */


/* =====================
    top-journal
======================== */
.top-journal{
    padding: 103px 0 105px;
    background-color: #d7dcde;
}

.top-journal .heading2{
    margin-bottom: 0;
}

.top-journal .text{
    margin-top: 15px;
}

.top-journal__content{
    margin-top: 70px;
}

.top-journal .journal__article{
    margin-top: 45px;
}

.top-journal .journal__article:first-child{
    margin-top: 0;
}

.top-journal .journal__article-link{
    display: flex;
    width: 100%;
    height: 100%;
}

.journal__article .img-wrap{
    overflow: hidden;
}

.top-journal .journal__article .img-wrap{
    width: 49.11%;
    max-width: 550px;
    flex-grow: 1;
}

.top-journal .journal__article:nth-child(even) .img-wrap{
    order: 2;
}

.journal__article img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s ease;
}

.journal__article-link:hover img{
    transform: scale(1.1, 1.1);
}

.journal__article-body{
    background-color: #fff;
    padding: 32px 8.5% 48px;
}

.top-journal .journal__article-body{
    width: 51.1%;
    max-width: 572px;
    flex-grow: 1;
    padding: 8.48% 5.35% 9.375%;
}

.top-journal .journal__article:nth-child(even) .journal__article-body{
    order: 1;
}

.journal__article-number{
    font-family: 'Noto Serif JP', serif;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    overflow: hidden;
}

.journal__article-number span{
    display: inline-block;
    position: relative;
}

.journal__article-number > span::before{
    content: "";
    display: block;
    width: 378px;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translate(12px, -50%);
}

.journal__article-title{
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.61em;
    margin: 35px 0 0;
    letter-spacing: 0.1em;
}

.top-journal .journal__article-body .wrap{
    display: flex;
    justify-content: space-between;
    margin-top: 43px;
} 

.journal__article-date,
.article-more{
    font-family: 'Jost';
    font-size: 1.3rem;
    letter-spacing: 0.05em;
    display: inline-block;
    font-weight: 500;
}

.article-more span{
    position: relative;
    padding-right: 13px;
}

.article-more span::before{
    content: "";
    display: block;
    width: 5px;
    height: 100%;
    background: url('../img/common/arrow_black.svg') no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
    top: 0;
    right: 0;
}

.top-journal .viewall-btn{
    margin: 60px auto 0;
}

@media screen and (max-width: 1024px){
    .journal__article-number,
    .journal__article-title{
        font-size: 1.7rem;
    }
}

@media screen and (max-width: 767px){
    .top-journal {
        padding: 73px 0 75px;
    }

    .top-journal__content {
        margin-top: 50px;
    }

    .top-journal .journal__article-link {
        display: block;
    }

    .journal__article-number,
    .journal__article-title{
        font-size: 1.6rem;
    }

    .journal__article-title{
        margin-top: 13px;
    }

    .top-journal .journal__article-body .wrap {
        flex-direction: column;
        margin-top: 10px;
    }

    .journal__article .img-wrap{
        height: 230px;
    }

    .top-journal .journal__article .img-wrap {
        width: 100%;
        max-width: none;
    }

    .top-journal .journal__article-body {
        width: 100%;
        max-width: none;
        padding: 8.48% 5.35% 9.375%;
    }

    .article-more {
        text-align: right;
        margin-top: 20px;
    }
	.top-journal .viewall-btn{
		    max-width: 140px;
	}
}

/* =====================
    top-news
======================== */
.top-news{
    padding: 105px 0 100px;
    color: #fff;
    background-color: #232b2e;
}

.top-news .heading2{
    margin-bottom:  1.5em;
}

.news-category__list{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 27px auto 0;
    padding: 0;
    width: fit-content;
}

.news-category__item{
    font-size: 1.3rem;
    font-weight: 500;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.1em;
    text-align: center;
    cursor: pointer;
    transition: 0.4s ease;
    display: inline-flex;
    padding: 0 max(5px, min(15px, calc((15 / 1600) * 100vw)));
    border-right: 1px solid #ffffff;
    margin-bottom: 5px;
}

.news-category__item:last-child{
    border: none;
}

.news-category__item:hover{
    opacity: 0.8;
}

.news-category__item a{
    color: #fff;
    transition: 0.4s ease;
}

.news-category__item a:hover{
    color: rgba(255, 255, 255, 0.7);
}

.news__list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 87px;
}

.news__article{
    width: calc((100% - 40px * 3) / 4);
    margin-left: 40px;
    max-width: 250px;
}

.news-archive__container .news__list{
    margin-top: 47px;
}

.news-archive__container .news__article{
    margin-top: 40px;
}

.news__article:nth-child(4n + 1){
    margin-left: 0;
}

.news__article-link{
    display: block;
    width: 100%;
    height: 100%;
}

.news__article .img-wrap{
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.news__article .img-wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s ease;
}

.news__article-link:hover img{
    transform: scale(1.1);
}

.news__article-body{
    padding: 17px 0;
    display: flex;
    flex-direction: column;
}

.news__article-date{
    color: #fff;
    font-family: 'Jost';
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    display: inline-block;
    font-weight: 400;
}

.news-article__category{
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 500;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.1em;
    background-color: #5a5a5a;
    padding: 2px 18px;
    margin-left: 15px;
}

.news-article__title{
    color: #fff;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.93;
    letter-spacing: 0.1em;
    margin: 13px 0 15px;
}

.news__article .article-more{
    margin-top: auto;
    color: #fff;
}

.news__article .article-more span::before{
    background-image: url('../img/common/arrow_white.svg');
}

.news__content .viewall-btn{
    margin: 60px auto 0;
    border-bottom-color: #fff;
}

.news__content .viewall-btn__link{
    color: #fff;
}

@media screen and (max-width: 1024px){
    .news__list {
        margin-top: 47px;
    }

    .news__article {
        width: calc((100% - 40px) / 2);
        max-width: 300px;
        margin-top: 40px;
    }

    .news__article:nth-child(odd){
        margin-left: 0;
    }

    .news__article:nth-child(even){
        margin-left: 40px;
    }
}

@media screen and (max-width: 767px){
    .top-news {
        padding: 75px 0 70px;
    }

    .news__list{
        margin-top: 30px;
        display: block;
    }

    .news__article {
        width: 100%;
        margin: 40px auto 0;
    }

    .news__article:nth-child(odd),
    .news__article:nth-child(even){
        margin-left: auto;
    }

    .news__article-date,
    .news-article__title{
        font-size: 1.4rem;
    }
}

/* =====================
    CASE STUDY    
======================== */
.swiper--case-study-wrap{
    display: flex;
    align-items: flex-end;
    width: calc(((100vw - min(100%, 1120px)) / 2) + min(100%, 1120px));
    margin-left: calc((100vw - min(100%, 1120px)) / 2);
    gap: 30px;

    @media screen and (max-width: 767px){
        display: block;
        padding-left: 5%;
        margin-left: unset;
        width: 100%;
    }
}

.section-case-study .heading2{
    margin-bottom: 2em;
}

.section-case-study .lead{
    margin-bottom: 2em;
}

.section-case-study .swiper-controller{
    position: relative;
    flex-shrink: 0;
    order: -1;
    display: flex;
    gap: 15px;
    z-index: 1;

    @media screen and (max-width: 767px){
        margin-top: 20px;
    }
}

.section-case-study .swiper-button-next,
.section-case-study .swiper-button-prev{
    position: static;
    width: 64px;
    height: 64px;
    background-color: #232b2d;
    border-radius: 50%;
    margin-top: 0;
    opacity: 1;
    transition: opacity .3s ease;
    @media screen and (max-width: 767px){
        width: 45px;
        height: 45px;
    }
}

.section-case-study .swiper-button-prev::after,
.section-case-study .swiper-button-next::after{
    content: "";
    width: 26px;
    aspect-ratio: 26/20;
    background: url('../img/common/arrow_swiper.svg') no-repeat center / contain;
    @media screen and (max-width: 767px){
        width: 16px;
    }
}

.section-case-study .swiper-button-prev::after{
    transform: scale(-1);
}

.section-case-study .swiper-button-next:hover,
.section-case-study .swiper-button-prev:hover{
    opacity: .8;
}


/* .section-case-study{
    overflow-x: hidden;
}

.swiper--case-study{
    overflow: visible;
} */

.swiper--case-study .swiper-slide{
    width: 550px;
    @media screen and (max-width: 767px){
        width: 330px;
    }
}


/* =====================
    products-list    
======================== */
.section-products-list{
    color: #fff;
    background-color: #232b2e;
}

.section-products-list .heading2{
    margin-bottom: 2em;
}


/* =====================
    cta    
======================== */
.cta-container{
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    @media (max-width: 767px) {
        grid-template-columns: 1fr;
    }
}

.cta-box{
    position: relative;
    text-align: center;
    height: 385px;
    display: grid;
    place-content: center;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    color: #fff !important;
    letter-spacing: 0.2em;
    overflow: hidden;

    @media (max-width: 767px) {
        height: auto;
        padding: 40px 10px;
    }
}

.cta-box::before{
    content: "";
    display: block;
    background-blend-mode:multiply;
    background-image: linear-gradient(rgba(16, 18, 21, 0.5), rgba(16, 18, 21, 0.5));
    background-position: center;
    background-size: cover;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transition: transform .3s ease, filter .3s ease;
    z-index: -1;
}

.cta-box--all::before{
    background-image: linear-gradient(rgba(16, 18, 21, 0.5), rgba(16, 18, 21, 0.5)), url('../img/cta/bg_all.jpg');
}
.cta-box--estimate::before{
    background-image: linear-gradient(rgba(16, 18, 21, 0.5), rgba(16, 18, 21, 0.5)), url('../img/cta/bg_estimate.jpg');
}
.cta-box--demo::before{
    background-image: linear-gradient(rgba(16, 18, 21, 0.5), rgba(16, 18, 21, 0.5)), url('../img/cta/bg_demo.jpg');
}

.cta-box:hover::before{
    transform: scale(1.05);
    filter: brightness(1.2);
}

.cta-box_heading{
    margin-bottom: 4em;

    @media screen and (max-width: 767px){
        margin-bottom: 2em;
    }
}

.cta-box_heading .emphasis{
    font-size: 2em;
    display: block;

    @media screen and (max-width: 767px){
        font-size: 1.6em;
    }
}

.cta-box_txt{
    position: relative;
}

.cta-box_txt::after{
    content: "";
    position: absolute;
    display: block;
    width: 12em;
    height: 1px;
    background-color: #fff;
    left: 50%;
    top: 100%;
    transform: translate(-50%, .3em);
}

/* =====================
    footer    
======================== */
.footer{
    padding: 90px 0 130px;
    background-color: #fff;
    max-width: none;
    margin: 0;
}

.footer .inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1084px;
}

.footer__sns{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer__sns span{
    font-size: 1.4rem;
    font-weight: 400;
}

.sns__list{
    display: flex;
    margin: 0 0 0 28px;
    column-gap: 20px;
}

.sns__item a{
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.4s ease;
}

.sns__item a:hover{
    opacity: 0.7;
}

.footer__logo{
    width: 16.125vw;
    max-width: 258px;
    min-width: 160px;
}

.footer__wrap{
	display: flex;
	align-items: center;
}

.footer__wrap .text{
	font-size: 12px;
	margin-right: 15px;
}

.footer .copyright{
    font-size: 0.9rem;
    margin: 0;
    color: #000;
}

.footer__menu{
    display: flex;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 2;
	width: 100%;
	max-width:806px;
	background-color: #ffffff;
	transform: translateY(110%);
	transition: 0.4s ease;
	box-shadow: -5px -5px 10px -10px #000000;
}

.footer__menu.js-active{
	transform: translateY(0);
}

.footer__menu > a{
	width: 50%;
	display: flex;
	transition: 0.4s ease;
	padding: 25px 17px 20px 20px;
}

.footer__menu > a + a{
	border-left: 1px solid #e5e5e5;
}

.footer__menu span{
	display: flex;
	align-items: center;
	width: 50%;
}

.footer__menu span:first-child{
	font-size: 1.3rem;
	line-height: 1.46;
}

.footer__menu span:last-child{
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.33;
	letter-spacing: 0.1em;
	text-align: center;
	padding-bottom: 10px;
	font-family: 'Noto Serif JP', serif;
	justify-content: center;
	position: relative;
	flex-grow: 1;
}

.footer__menu span:last-child::before,
.footer__menu span:last-child::after{
	content: "";
	display: block;
	height: 1px;
	background-color: #000000;
	position: absolute;
	bottom: 0;
}
.footer__menu span:last-child::before{
	width: 90%;
	max-width: 350px;
	left: 50%;
	transform: translateX(-50%);
}

.footer__menu span:last-child::after{
	width: 19px;
	right: 5%;
	transform-origin: right;
	transform: rotate(40deg);
}

@media screen and (max-width: 1024px){
    .footer{
        padding: 60px 0 125px;
    }
}

@media screen and (max-width: 767px){
    .footer{
        padding: 25px 0 100px;
    }

    .footer .inner {
        flex-direction: column;
    }

    .footer__sns{
        order: 2;
        margin-top: 13px;
    }

    .footer__logo{
        order: 1;
    }
	
	.footer__wrap{
		order: 3;
		margin-top: 14px;
	}
	
	.footer__wrap .text {
        font-size: 11px;
        margin-right: 13px;
    }
	
	.footer__menu > a {
        padding: 15px 17px 10px 20px;
    }
	
	.footer__menu span:first-child{
        display: none;
    }
	
	.footer__menu span:last-child{
		max-width: 190px;
		margin: auto;
	}
	
	.footer__menu span:last-child::before {
        width: 95%;
    }
	
	.footer__menu span:last-child::after {
        width: 15px;
        right: 2%;
    }
}

/* =====================
    under mainvisual
======================== */
.under-mainvisual{
    height: 400px;
	overflow: hidden;
}

.under-mainvisual__wrap{
    height: 100%;
    position: relative;
    z-index: 0;
}

.under-mainvisual__wrap::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.under-mainvisual__text{
    width: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -30%);
    text-align: center;
    display: flex;
    flex-direction: column;
}

.mainvisual__subtitle{
    font-size: 0.45em;
    letter-spacing: 0.05em;
    display: inline-block;
    line-height: 1.66;
}

.under-mainvisual__text h1{
    margin: 0;
    font-size: 1em;
}

.riisi-mini .under-mainvisual__text h1,
.riisi-mini_confirm .under-mainvisual__text h1,
.riisi-mini_thanks .under-mainvisual__text h1,
.riisi-mini_error .under-mainvisual__text h1{
    letter-spacing: 0.05em;
    line-height: 1;
}

@media screen and (max-width: 767px){
    .under-mainvisual{
        height: 200px;
    }
	.under-mainvisual__text{
		transform: translate(-50%, -56%);
	}
}

/* =====================
    story
======================== */
.story-container01 {
    background-color: #d7dcde;
}

.story-container01 .inner{
    padding: 97px 0 60px;
}

.story-container01 .heading2.bg-text::after{
    content: "SAUNEA STORY";
}

.story-container01 .text-wrap{
    margin-top: 130px;
}

.story-container01 .inner-img{
    width: 50%;
}

.story-container02{
    padding: 80px 0 85px;
    background-color: #d7dcde;
}

.story-container02 .lead + .text--center{
    margin-top: 40px;
}

.story-container02 .inner-flex{
    margin-top: 40px;
}

.story-container02 .inner-img,
.story-container03 .inner-img,
.story-container04 .inner-img{
    width: calc((100% - 15px) / 2);
    margin-left: 15px;
    max-width: 551px;
}

.story-container02 .inner-img:first-child,
.story-container03 .inner-img:first-child,
.story-container04 .inner-img:first-child{
    margin-left: 0;
}

.story-container02 .inner-flex + .text{
    margin-top: 37px;
}

.story-container03{
    padding: 80px 0 115px;
    background-color: #fff;
}

.story-container03 .img-wrap,
.story-container05 .img-wrap{
    max-width: 816px;
    margin: 65px auto 0;
}

.story-container03 .text-wrap02{
    margin-top: 78px;
}

.story-container03 .inner-flex{
    margin-top: 62px;
}

.story-container04{
    padding: 70px 0 100px;
    background-color: #232b2e;
}

.story-container04 .lead,
.story-container04 .text{
    color: #fff;
}

.story-container04 .lead + .text{
    margin-top: 20px;
}

.story-container04 .inner-flex{
    margin-top: 65px;
}

.story-container05{
    padding: 70px 0 90px;
    background-color: #d7dcde;
}

@media screen and (max-width: 767px){
    .story-container01 .inner {
        padding: 67px 0 60px;
    }

    .story-container01 .text-wrap {
        margin-top: 67px;
    }

    .story-container01 .inner-img{
        width: 100%;
    }

    .story-container02 {
        padding: 50px 0 55px;
    }

    .story-container02 .lead + .text--center {
        margin-top: 20px;
    }

    .story-container03 {
        padding: 50px 0 85px;
    }

    .story-container03 .img-wrap, 
    .story-container05 .img-wrap {
        margin: 40px auto 0;
    }

    .story-container03 .text-wrap02 {
        margin-top: 60px;
    }

    .story-container03 .inner-flex,
    .story-container04 .inner-flex{
        margin-top: 40px;
    }

    .story-container04 {
        padding-bottom: 70px;
    }

    .story-container05 {
        padding-bottom: 50px;
    }

    .story-container02 .inner-img,
    .story-container03 .inner-img,
    .story-container04 .inner-img{
        width: 100%;
        margin: 15px auto 0;
    }

    .story-container02 .inner-img:first-child
    .story-container03 .inner-img:first-child,
    .story-container04 .inner-img:first-child{
        margin: 0 auto;
    }
}

/* =====================
    product
======================== */
.product-content{
    padding-bottom: 250px;
}

:is(body[class~="page-id-1514"]),
:is(body[class~="page-id-27"]){
    .product-content{
        padding-bottom: 0;
    }
}

:is(body[class~="page-id-1731"]){
    .product-content{
        padding-bottom: 40px;
    }
}

.product-container{
    margin-bottom: 100px;
}

:is(body[class~="page-id-1514"]) .product-container:nth-of-type(3){
    margin-bottom: 130px;
}

.product-container .sub-heading{
    font-size: 1.134em;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: .2em;
    line-height: 1.5;
    text-align: center;
    margin: 0 0 -.3em;
}

.product-container .heading3{
    margin-bottom: .5em;
}

.product-container .text-wrap{
    margin-bottom: 40px;
}

.product-container .link-img{
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 800 / 350;
    width: 100%;
    min-height: 250px;
}

.product-container .link-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    transition: .4s;
}

.product-container .link-img:where(:hover, :focus) img{
    transform: scale(1.05);
}

.product-container .link-text-wrap{
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.3;
    color: #fff;
    position: absolute;
    top: 1.5em;
    left: 1.5em;
}

.product-container .link-text{
    margin-bottom: 0;
}

.product-container .link-text-title{
    font-size: 2.5rem;
    letter-spacing: .1em;
    margin: 0;
}

.product-container .link-text-title::after{
    content: "";
    display: inline-block;
    aspect-ratio: 40 / 8;
    height: .315em;
    background: url(../img/common/arrow.svg) no-repeat center / contain;
    margin-left: 6px;
}

.product-container01 .heading2.bg-text::after{
    content: "SAUNEA LINEUP";
    color: #f4f5f6;
}

.product-container01{
    padding-top: 98px;
    background-color: #fff;
    margin-bottom: 130px;
}

/* 子ページ */
.product-kv{
    margin-bottom: 55px;
    min-height: 200px;
    width: 100%;
    aspect-ratio: 1000 / 400;
}

.product-kv img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-container .text + .text{
    margin-top: 2em;
}

.product-container_img{
    max-width: 560px;
    margin: 2em auto 0;
}

.product-point{
    padding-left: 0;
    margin-bottom: 70px;

    @media screen and (max-width: 767px){
        margin-bottom: 0;
    }
}

.product-point .text{
    letter-spacing: 0;
}

.product-point-item{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.product-point-item--reverse .product-point-img{
    order: -1;
}

.product-point-text-wrap{
    background: #fff;
    /* padding: 5% 10%; */
    padding: max(25px,5%) 12.8%;
    display: grid;
    place-content: center;
    grid-template-columns: 1fr;
}

.product-point-number{
    color: #fff;
    background: #1c2850;
    width: fit-content;
    padding: 0 7px;

    @media screen and (max-width: 767px){
        font-size: 1.4rem;
    }
}

.product-point-title{
    font-size: var(--fz-24);
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: .2em;
    margin: .6em 0 .5em;
}

.product-point-img img{
    height: 100%;
    object-fit: cover;
}


/* alku */
.product-point-inequality .product-point-item{
    grid-template-columns: 43.75% 1fr;
}

.product-point-inequality .product-point-item + .product-point-item{
    margin-top: 40px;
}

.product-point-inequality .product-point-item--reverse {
    grid-template-columns: 1fr 43.75%;
}

.product-point-inequality .product-point-img{
    order: -1;
}

.product-point-inequality .product-point-item--reverse .product-point-img{
    order: 1;
}

.product-point-inequality .product-point-text-wrap{
    padding: 5% 7%;
}

.spec-table {
    font-size: inherit;
    width: 100%;
    max-width: 540px;
    border: none;
    border-top: 1px solid #9e9e9f;
    margin: 0;
}

.spec-table th,
.spec-table td{
    border: none;
    border-bottom: 1px solid #9e9e9f;
    background: none;
}

.spec-table th{
    vertical-align: middle;
    width: 38%;
}

.spec-table td > *{
    display: flex;
    justify-content: space-between;
    gap: 1em;
}

.product-box{
    background: #ededed;
    padding: 40px;
}

.product-box_img{
    width: 90%;
    max-width: 840px;
    margin: auto;
}

/* pioneeri */

/* cold bath */


/* riisi */


/* panel */
.panel-size-list{
    font-size: 2.5rem;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.2em;
    line-height: 1.6em;
    max-width: 830px;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
}

.panel-size-item{
    background: #f0f2f4;
    padding: .4em 1.5em;
}

.panel-size-item + .panel-size-item{
    margin-top: 6px;
}

.product-container01 .heading3 + .text{
    margin-top: 20px;
}


.product-container01 .slider-list{
    width: 95%;
    max-width: 1000px;
    margin: 65px auto 0;
    padding: 0;
}

.product-container01 .text-wrap02{
    margin-top: 57px;
}

.product-container01 .text-wrap02 .text{
    margin-top: 20px;
}

.product-container02{
    padding: 77px 0 100px;
    background-color: #fff;
}

.product-container02 .heading3 + .text{
    margin-top: 10px;
} 

.product-container03{
    margin-bottom: 0;
}

.product-container04{
    margin-bottom: 0;
}

.link-box-wrap{
    margin-bottom: 60px;
}

.link-box{
    font-size: 1.13em;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    width: fit-content;
    min-width: 300px;
    display: block;
    border: 1px currentColor solid;
    padding: .66em 1em;
    margin-right: auto;
    margin-left: auto;
    position: relative;
}

.link-box:hover{
    opacity: .8;
}

.link-box::after{
    content: "";
    display: block;
    mask: url(../img/common/arrow.svg) no-repeat center / contain;
    background: currentColor;
    width: 2.9em;
    aspect-ratio: 40 / 8;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(55%, -50%);
}

.lineup__list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: -40px;
}

.lineup__box{
    width: calc((100% - 40px) / 2);
    margin-top: 40px;
    max-width: 395px;
}

.lineup__box:nth-child(even){
    margin-left: 40px;
}

.lineup__box-body{
    padding: 14px 0;
}

.lineup__box-body .outer-list{
    margin: 0;
}

.lineup__box-body .outer-list > dt{
    font-size: 2.5rem;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.2em;
    line-height: 1.6em;
}

.lineup__box-body .outer-list > dd span,
.lineup__box-body .inner-list dt,
.lineup__box-body .inner-list dd{
    font-size: 1.5rem;
    font-weight: 400;
    /* letter-spacing: 0.1em; */
    line-height: 1.94em;
}

.lineup__box-body .inner-list{
    margin: 20px 0 0;
}

.lineup__box-body .inner-list > div{
    display: flex;
}

.lineup__box-body .inner-list dt{
    flex-shrink: 0;
    width: 7.5em;
    border-right: 1px solid #8d8d8d;
}

.lineup__box-body .inner-list dd{
    padding-left: 1em;
    flex-grow: 1;
}

.lineup__box .more-link{
    font-size: 1.13em;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.2em;
    color: inherit;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    text-decoration: underline;
    text-underline-offset: .5em;
    margin-top: .9em;
}

.lineup__box .more-link::after{
    content: "";
    display: inline-block;
    aspect-ratio: 40 / 8;
    height: .4em;
    background: currentColor;
    mask: url(../img/common/arrow.svg) no-repeat center / contain;
    margin-left: 8px;    
}

.product-container02 .viewall-btn,
.product-container03 .viewall-btn{
    margin: 60px auto 0;
}

.slick-dots{
    position: static;
    margin-top: 5px;
}

.slick-dots li button:before{
    display: none;
}

.slick-dots li{
    border-radius: 50%;
    background-color: #ddd;
    width: 12px;
    height: 12px;
    margin: 0 14px;
    transition: 0.4s ease;
}

.slick-dots li:hover,
.slick-dots li.slick-active{
    background-color: #000;
}

.slick-dots li button {
    width: 100%;
    height: 100%;
    padding: 0;
}

.slick-prev,
.slick-next{
    width: 42px;
    height: 42px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    transition: 0.4s ease;
    transform: translate(0, -80%);
}

.slick-prev{
    background-image: url('../img/common/arrow-circle_left.svg');
    left: -59px;
}

.slick-next{
    background-image: url('../img/common/arrow-circle_right.svg');
    right: -59px;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus{
    opacity: 0.7;
}

.slick-prev:before,
.slick-next:before{
    display: none;
}

.product-container03,
.product-container04{
    padding: 75px 0 105px;
    background-color: #d7dcde;
}

.product-container03 .heading3 + .text,
.product-container04 .heading3 + .text{
    margin-top: 22px;
}

.product-container04{
    padding: 75px 0 95px;
    background-color: #ededed;
}

.product-container04 .lineup__box{
    width: calc((100% - 40px * 2) / 3);
    max-width: 250px;
}

.product-container04 .lineup__box-body{
    padding: 23px 0;
}

.product-container04 .outer-list dt{
    font-size: 2rem;
}

.product-container04 .lineup__box + .lineup__box{
    margin-left: 40px;
}

.product-container04 .viewall-btn{
    margin: 0 auto;
}
.product-content02 {
    padding: 130px 0 98px;
    background-color: #232b2e;
}

.product-content02 .heading2,
.product-content02 .lead,
.product-content02 .text{
    color: #fff;
}

.product-content02 .heading2.underline::before{
    background-color: #fff;
}

.product-content02 .heading2.bg-text::after{
    content: "PLANNIG & DESIGN";
    color: #182124;
}

.product-content02 .heading2 + .text-wrap{
    margin-top: 115px;
}

.product-content02 .heading2 + .text-wrap .text{
    margin-top: 20px;
}

.product-content02 .img-container{
    display: flex;
    flex-wrap: wrap;
    margin: 40px auto 0;
    max-width: 1000px;
}

.product-content02 .img-container .img-wrap{
    width: calc((100% - 10px) / 2);
    margin-top: 10px;
    flex-grow: 1;
}

.product-content02 .img-container .img-wrap:first-child{
    width: 100%;
}

.product-content02 .img-container .img-wrap:last-child{
    margin-left: 10px;
}

.product-content02 .img-container + .text-wrap{
    margin-top: 67px;
}

.product-content02 .img-container + .text-wrap .text{
    margin-top: 20px;
}

.planning__list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 15px;
}

.planning__item{
    width: calc((100% - 15px * 3) / 4);
    max-width: 220px;
    margin-left: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 400;
    text-align: center;
    line-height: 1.66em;
    letter-spacing: 0.1em;
    padding: 15px 0;
    background-color: #5a5a5a;
}

.planning__item:first-child{
    margin-left: 0;
}

.planning__list + .text{
    text-align: center;
    margin-top: 63px;
}

.product-content02 .viewall-btn{
    margin: 16px auto 0;
    border-bottom-color: #fff;
}

.product-content02 .viewall-btn__link{
    color: #fff;
}

@media screen and (max-width: 1200px){
    .slick-prev, 
    .slick-next{
        width: 38px;
        height: 38px;
    }
    .slick-next {
        right: -42px;
    }

    .slick-prev{
        left: -42px;
    }
}

@media screen and (max-width: 1024px){
    .lineup__box {
        width: calc((100% - 30px) / 2);
    }

    .lineup__box:nth-child(even) {
        margin-left: 30px;
    }

    .lineup__box-body .outer-list > dt {
        font-size: 2.3rem;
    }

    .product-container04 .outer-list dt {
        font-size: 1.8rem;
    }

    .lineup__box-body .inner-list dt {
        width: 105px;
    }

    .product-container01 .text-wrap01{
        margin-top: 90px;
    }

    .lineup__box-body .inner-list dd {
        padding-left: 2%;
    }

    .lineup__box-body .outer-list > dd span, 
    .lineup__box-body .inner-list dt, 
    .lineup__box-body .inner-list dd{
        font-size: 1.4rem;
    }

    /* panel */
    .panel-size-list{
        font-size: 2rem;
    }  

    .slick-prev, 
    .slick-next{
        width: 30px;
        height: 30px;
    }
    .slick-next {
        right: -35px;
    }

    .slick-prev{
        left: -35px;
    }

    .planning__item {
        width: calc((100% - 15px) / 2);
        max-width: 320px;
        margin-top: 15px;
    }

    .planning__item:nth-child(odd){
        margin-left: 0;
    }
}

@media screen and (max-width: 767px){
    .product-content{
        padding-bottom: 100px;
    }
    
    .product-container01 {
        padding-top: 68px;
        margin-bottom: 80px;
    }

    .product-container01 .text-wrap01{
        margin-top: 70px;
    }

    .product-container {
        margin-bottom: 80px;
    }

    :is(body[class~="page-id-1514"]) .product-container:nth-of-type(3) {
        margin-bottom: 100px;
    }

    .product-container .sub-heading{
        margin-bottom: 0;
    }

    /* 子ページ */
    :is(body[class~="parent-pageid-27"]) .product-container .heading3{
        font-size: 2rem;
    }

    .product-kv{
        width: 100vw;
        margin-bottom: 30px;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

    .product-point-item{
        grid-template-columns: 1fr;
    }

    .product-point-item + .product-point-item{
        margin-top: 40px;
    }
    
    .product-point-item .product-point-img{
        order: -1;
    }

    .product-point-text-wrap{
        padding: 5% 7% !important;
    }
     

    /* riisi */
    .product-container_heading {
        flex-direction: column;
        padding: .5em 1em 1em;
    }

    .product-container_heading > *:first-child{
        font-size: 1.15em;
        border-right: none;
        border-bottom: 1px solid currentColor;
        margin-bottom: 9px;
    }

    .product-container_heading > *:last-child{
        text-align: center;
        padding-left: 0;
    }

    .link-box-wrap{
        margin-bottom: 40px;
    }

    .link-box{
        font-size: 1em;
        min-width: 220px;
    }  
    .link-box::after{
        width: 2em;
    }  

    .lineup__box .more-link{
        font-size: 1em;
    }

    /* panel */
    .panel-size-list{
        font-size: 1.2rem;
    }    
    
    /* pioneeri */

    /* alku */
    .product-point-inequality .product-point-item{
        grid-template-columns: 1fr;
    }
    
    .product-point-inequality .product-point-item--reverse .product-point-img{
        order: -1;
    }
    
    .product-box{
        padding: 5% 7%;
    }

    .product-box_img{
        width: 100%;
    }
    


    .slick-prev, 
    .slick-next{
        width: 20px;
        height: 20px;
    }
    .slick-next {
        right: -23px;
    }

    .slick-prev{
        left: -23px;
    }

    .slick-dots li {
        width: 10px;
        height: 10px;
    }

    .lineup__box-body .outer-list > dt {
        font-size: 2rem;
    }

    .lineup__box-body .outer-list > dd span, 
    .lineup__box-body .inner-list dt, 
    .lineup__box-body .inner-list dd{
        font-size: 1.3rem;
    }

    .planning__item{
        font-size: 1.4rem;
    }

    .product-container04 .outer-list dt {
        font-size: 1.7rem;
    }

    .lineup__list {
        display: block;
        margin-top: 0;
    }

    .lineup__box {
        width: 100%;
        margin: 30px auto 0;
    }

    /* .lineup__box:first-child{
        margin-top: 0;
    } */

    .lineup__box:nth-child(even) {
        margin-left: auto;
    }

    .product-container04 .lineup__box {
        width: 100%;
        max-width: 395px;
    }

    .product-container04 .lineup__box + .lineup__box {
        margin: 30px auto 0;
    }

    .product-container02 {
        padding: 60px 0 70px;
    }

    .lineup__box-body .inner-list dt {
        width: 102px;
    }

    .lineup__box-body .inner-list dd {
        padding-left: 6%;
    }

    .product-container03, 
    .product-container04 {
        padding-bottom: 75px;
    }

    .product-content02 {
        padding: 100px 0 68px;
    }

    .product-content02 .img-container + .text-wrap {
        margin-top: 55px;
    }

    .product-content02 .img-container + .text-wrap .lead{
        font-size: 1.8rem;
    }

    .product-content02 .img-container + .text-wrap .text {
        margin-top: 10px;
    }

    .planning__list{
        display: block;
        margin-top: 30px;
    }

    .planning__item{
        margin: 15px auto 0;
        height: 77px;
        width: 100%;
    }

    .planning__item:nth-child(odd) {
        margin-left: auto;
    }
	.product-content02 .heading2 + .text-wrap {
    margin-top: 65px;
	}
}







/* =====================
    PRODUCT
    個別商品ページ 共通
======================== */
.section-product-intro{
    padding-bottom: 50px;
}

.section-product-intro .heading3{
    margin-bottom: 1.5em;
}

.section-product-img{
    position: relative;
    min-height: 400px;
    max-width: 1000px;
    margin-inline: auto;
    @media screen and (max-width: 1024px){
        min-height: unset;
    }
  
    img{
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;

        @media screen and (max-width: 1024px){
            position: static;
        }
    }
}

.section-product-intro .text + .text{
    margin-top: 2em;
}

.section-product-design{
    color: var(--charcoal);
}

.section-product-design .heading2{
    color: var(--black);
    margin-bottom: 2.2em;
}

.section-product-design .lead{
    margin-bottom: 1em;
}

.section-product-design_item-group{
    padding-top: 20px;
    margin-bottom: 30px;
    max-width: 1000px;
    margin-inline: auto;
}

.section-product-design_item{
    padding-top: 20px;
    padding-bottom: 20px;
}

.section-product-design_item-ttl{
    background-color: #d3dde0;
    border-radius: 999px;
    padding: .5em;
    margin: 0 auto 1em;
    width: fit-content;
    min-width: 14em;
    text-align: center;
}

.section-product-design_item-img{
    margin-bottom: 20px;
}

.section-product-design_box{
    padding: 35px 22px 25px;
}

.section-product-design_box .heading2{
    margin-bottom: 1.2em;
}

.section-product-merit{
    background-color: var(--bg-dark-grey);
    @media (min-width: 768px){
        padding-top: 80px;
    }
}

.section-product-merit .heading2{
    margin-bottom: 2.2em;
}

.section-product-merit .lead{
    margin-bottom: 2.2em;
}

.section-product-product {
    @media (min-width: 768px){
        padding-top: 80px;
    }
}

.section-product-product .heading2{
    margin-bottom: 2.2em;
}

.section-product-option{
    background-color: var(--bg-dark-grey);
    padding-bottom: 0;
}

.section-product-option .heading2{
    margin-bottom: 2em;
}

.section-product-option_inner{
    padding-bottom: 120px;
}

.swiper--product{
    margin-top: 60px;
    padding-bottom: 50px;
    margin-bottom: 60px;

    .swiper-pagination-bullet-active{
        background-color: #000;
    }
}

.product-spec-table{
    text-align: center;
    max-width: 800px;
    margin-inline: auto;
    background-color: #f0f2f4;
    font-size: var(--fz-15);

    tr{
        @media screen and (max-width: 767px){
            display: grid;
        }
    }

    tr + tr{
        border-top: 1px solid #b4bdc1;
    }

    th{
        min-width: 13em;
        background-color: var(--bg-dark-grey);
        vertical-align: middle;
        border: none;
        @media screen and (max-width: 767px){
            min-width: 6em;
        }
    }

    td{
        border: none;
    }

    a{
        text-decoration: underline;
    }
}

.product-spec-table_img{   
    display: block;
    width: 90%;
    margin-inline: auto;
    margin-top: 10px;
    margin-bottom: 15px;
}

.option-group{
    background-color: #fff;
}

.option-group + .option-group{
    margin-top: 65px;
}

.option-group_num{
    width: fit-content;
    padding: .1em 4em;
    font-size: var(--fz-15);
    color: #fff;
    background-color: #1c2850;
    letter-spacing: .05em;
    margin-bottom: 0;
}

.option-group_top{
    padding: 3.3rem 2.5rem 3.5rem;
}

.option-group_ttl{
    font-size: var(--fz-24);
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.6;
    letter-spacing: 0.2em;
    margin: 0 0 .8em;
}

/* .option-card-group{
    display: flex;
} */
/* .option-card-group--col3 .option-card{
    width: calc(100% / 3);
} */

.option-card-group{
    display: grid;
    /* row-gap: 30px; */
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

    @media (max-width: 767px) {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
}    

/* .option-card-group--col3 {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}    
.option-card-group--col4 {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}    
.option-card-group--col5 {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}     */

.option-card{
    position: relative;
    font-size: var(--fz-15);
    line-height: 1.33;
    /* border: 2px solid transparent; */
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    cursor: pointer;
    transition: opacity .3s ease;
}

.option-card:hover{
    opacity: .9;
}

.option-card::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1;
    /* outline: 2px solid transparent;
    outline-offset: -2px; */
    position: absolute;
    inset: 0;
}

/* input非表示 */
.option-card input {
  display: none;
}

/* 選択枠 */
.option-card:has(input:checked)::before {
  /* outline-color: #1c2850; */
  background-color: var(--charcoal);
  opacity: .1;
}

.option-card_info{
    padding: 10px .5em 10px;
}

.option-card_name{
    margin-bottom: .5em;
    min-height: 2em;
}

.option-card_price{
    margin-bottom: .5em;
}

.option-card_link{
    position: relative;
    z-index: 2;
    margin-bottom: .7em;
}

.option-card_link a{
    text-decoration: underline;
}


/* 合計 */
.total-area{
    position: sticky;
    top: 100px;
    left: 100%;
    border: 2px solid #1c2850;
    background-color: var(--bg-dark-grey);
    padding: 15px;
    width: fit-content;
    z-index: 1;
}

/* お問い合わせボタン */
.section-product-contact{
    padding-top: 120px;
    padding-bottom: 120px;
}

.section-product-contact .viewall-btn02{
    margin-top: 0;
    max-width: 1000px;
    margin-inline: auto;
}


/* =====================
    PRODUCT
    個別商品ページ 
======================== */
.page-template-product-template .heading2{
    font-size: var(--fz-25);

    @media screen and (max-width: 1024px){
        font-size: 2.3rem;
    }

    @media screen and (max-width: 767px){
        font-size: 2.1rem;
    }
}


/* =====================
    PRODUCT
    個別商品ページ RIISI
======================== */
.page-template-riisi-template .heading2{
    font-size: var(--fz-25);

    @media screen and (max-width: 1024px){
        font-size: 2.3rem;
    }

    @media screen and (max-width: 767px){
        font-size: 2.1rem;
    }
}

/* RIISI PRODUCT LIST */
.riisi-product-list{
    display: grid;
    /* grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); */
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 12px;
    margin-bottom: 60px;

    @media screen and (max-width: 767px){
        grid-template-columns: repeat(2, 1fr);
    }
}

.riisi-product-item_img a{
    display: block;
}

.riisi-product-item_cont{
    padding: 25px 22px 10px;

    @media screen and (max-width: 767px){
        padding: 13px 5px 5px;
    }
}


.riisi-product-item_name{
    font-size: 2rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    letter-spacing: .2em;
    margin: 0 0 .7em;
    @media screen and (max-width: 767px){
        font-size: 1.6rem;
    }
}

.riisi-product-item_desc{
    @media screen and (max-width: 767px){
        font-size: 1.3rem;
    }
}

.riisi-product-item_price{
    @media screen and (max-width: 767px){
        font-size: 1.3rem;
    }
}

.riisi-product-item_price-tax{
    font-size: .74em;
}

/* =====================
    PRODUCT
    個別商品ページ PIONEERI
======================== */
.page-id-1669 .section-product-img{
    margin-top: 25px;
    margin-bottom: 95px;
}


/* =====================
    event
======================== */
.event-container01{
    overflow-x: hidden;
}

.event-container01--top{
    padding: 100px 0 115px;
    background-color: #232b2e;
}

.event-container01 .heading2{
    color: #fff;
}

.event-container01 .heading2.underline::before{
    background-color: #fff;
}

.event-container01 .heading2.bg-text::after{
    content: "SAUNEA URAWA";
    color: #182124;
}

.event-container01 .text-wrap01{
    margin-top: 126px;
}

.event-container01 .text-wrap .lead,
.event-container01 .text-wrap .text{
    color: #fff;
}

.event-container01 .text-wrap01 .text{
    margin-top: 45px;
}

.event-container01 .inner-flex{
    margin-top: 60px;
}

.event-container01 .inner-flex .img-wrap{
    width: calc((100% - 15px) / 2);
    max-width: 551px;
}

.event-container01 .inner-flex .img-wrap + .img-wrap{
    margin-left: 15px;
}

.event-container01 .text-wrap02{
    margin-top: 102px;
}

.event-container01 .text-wrap02 .images-wrap{
    display: flex;
    justify-content: center;
    margin-top: 45px;
}

.event-container01 .text-wrap02 .images-wrap .img-wrap{
    width: calc((100% - 10px * 2) / 3);
    margin-left: 10px;
    flex-grow: 1;
    max-width: 300px;
}

.event-container01 .text-wrap02 .images-wrap .img-wrap:first-child{
    margin: 0;
}

.event-container01 .event-list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 17px 0 0;
    padding: 0;
}

.event-container01 .event-item{
    width: calc((100% - 15px * 3) / 4);
    margin: 13px 0 0 15px;
    max-width: 220px;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 0;
    background-color: #d7dcde;
}

.event-container01 .event-item:nth-child(4n + 1){
    margin-left: 0;
}

.event-container01 .text{
    margin-top: 25px;
}

.event-container01__full-img{
    display: flex;
    flex-wrap: wrap;
    width: 100vw;
    margin: 70px calc(50% - 50vw) 0;
}

.event-container01__full-img .img-wrap{
    width: 25%;
}

.event-container01 .text-wrap02{
    margin-top: 60px;
}

.event-container01 .text-wrap03{
    margin-top: 60px;
}

.event-container02{
    padding: 103px 0;
    background-color: #ededed;
}

.event-container02 .heading3 + .text{
    margin-top: 12px;
}

.event-container02 .facility-list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 26px 0 0;
    padding: 0;
}

.event-container02 .facility-item{
    width: calc((100% - 40px * 3) / 4);
    margin: 30px 0 0 40px;
}

.event-container02 .facility-item:nth-child(4n + 1){
    margin-left: 0;
}

.event-container02 .facility-item figure{
    margin: 0;
}

.event-container02  .facility-item figcaption{
    font-family: 'Noto Serif JP', serif;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.4rem;
    line-height: 2em;
    padding: 6.5px 0;
}

.event-container02 .facility-list02{
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 30px 0 0;
}

.event-container02 .facility-list02 li{
    width: calc((100% - 40px * 4) / 5);
    margin: 20px 0 0 3.57%;
}

.event-container02 .facility-list02 li:first-child{
    margin-left: 0;
}

.event-container02 .facility-list02 figure{
    margin: 0;
}

.event-container02 .facility-list02 figcaption{
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.41em;
    margin-top: 5px;
}

.event-container02 .notice{
    max-width: 1000px;
    margin: 55px auto 0;
}

.event-container03{
    padding: 83px 0;
    background: url('../img/event/price_bg.jpg') no-repeat;
    background-size: cover;
    background-position: center;
}

.event-container03 .inner,
.event-container04 .inner,
.event-container05 .inner{
    max-width: 1000px;
}

.event-container03 .heading3{
    color: #fff;
}

.event-container03__content{
    margin-top: 60px;
}
.event-container03__content .inner-flex{
	justify-content: space-between;
}
.event-container03__content .time-price{
    width: 49%;
    max-width: 573px;
    margin: 0;
}

.event-container03__content .time-price > div{
    display: flex;
    margin-top: 20px;
}

.event-container03__content .time-price > div:first-child{
    margin-top: 0;
}

.event-container03__content .time-price dt,
.event-container03__content .time-price dd,
.lodging-price--top,
.lodging-price,
.event-container03__content .other-price dt,
.event-container03__content .other-price dd{
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2em;
    letter-spacing: 0.2em;
}

.event-container03__content .time-price dt{
    width: 40%;
    max-width: 300px;
    min-width: 200px;
    padding: 6px 1% 6px 4.71%;
    background-color: #d4d6d6;
}

.event-container03__content .time-price dd{
    flex-grow: 1;
    max-width: 273px;
    padding: 4px 8.37%;
    background-color: #fff;
    display: flex;
    align-items: center;
}

.event-container03__content .time-price dd .size--lg,
.event-container03__content .lodging-price .size--lg{
    font-size: 1.4em;
    letter-spacing: 0.2em;
}

.event-container03__content .lodging-price__box{
    width: 30%;
    max-width: 300px;
    margin-left: 12.7%;
    position: relative;
}

.event-container03__content .lodging-price__box::before,
.event-container03__content .lodging-price__box::after{
    content: "";
    display: block;
    width: 48px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -29%;
}

.event-container03__content .lodging-price__box::before{
    background: url('../img/event/price_plus.svg') no-repeat;
    background-position: center;
    background-size: 100%;
}

.event-container03__content .lodging-price__box::after{
    background-image: linear-gradient(to bottom, #fff 0%, #fff 35%, transparent 35%, transparent 65%, #fff 65%, #fff 100%);
    background-size: 1px 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.lodging-price--top{
    text-align: center;
    padding: 6px 0;
    background-color: #d4d6d6;
}

.lodging--price__body{
    padding: 22px 13% 30px;
    background-color: #fff;
}

.lodging-price{
    text-align: center;
}

.lodging--price__body .text{
    margin-top: 16px;
}

.event-container03__content .other-price{
    margin: 44px 0 0;
    max-width: 532px;
}

.event-container03__content .other-price > div{
    display: flex;
}

.event-container03__content .other-price dt,
.event-container03__content .other-price dd{
    color: #fff;
}

.event-container03__content .other-price dt{
    flex-shrink: 0;
    flex-grow: 1;
    position: relative;
    overflow: hidden;
}

.event-container03__content .other-price dt::before{
    content: "";
    display: block;
    font-size: 10px;
    width: 33.2%;
    max-width: 90px;
    height: 1px;
    background-image: linear-gradient(to right, #fff 0%, #fff 50%, transparent 50%, transparent 100%);
    background-size: 6px 1px;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
}

.event-container03__content .other-price > div:last-child dt::before{
    width: 12.9%;
    max-width: 35px;
}

.event-container03__content .other-price dd{
    width: 49%;
}

.event-container03__content .notice-list{
    margin: 40px 0 0;
    padding: 0;
}

.event-container03__content .notice-list li{
    color: #fff;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.93em;
    padding-left: 17px;
    position: relative;
}

.event-container03__content .notice-list li::before{
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    top: 11px;
    left: 0;
}

.event-container03__content .notice-list li p{
    margin: 0;
}
.event-container04{
    padding: 87px 0 100px;
    background-color: #232b2e;
}
.event-container04 .heading3,
.event-container04 .notice-list li,
.event-container04 p{
	color:#fff;
}
.event-container04 .heading4{
	background-color:#d4d6d6;
	    margin-bottom: 23px;
	    padding: 7px 20px;
    font-size: 1.7rem;
	color:#232b2e;
}
.notice-dot li,
.event-container04__content .notice-list li {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 1.4em;
    padding-left: 17px;
    position: relative;
	z-index: 0;
}
.notice-dot li::before,
.event-container04__content .notice-list li::before {
    content: "";
    display: block;
    width: 5.7px;
    height: 5.7px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    top: 11px;
    left: 0;
}
.notice-dot li::after{
    content: "";
    display: block;
    width: 395px;
    height: 1px;
    border-bottom: 2.5px dotted #fff;
    position: absolute;
    bottom: 18px;
	z-index: -1;
}
.notice-dot p {
    background-color: #252b2e;
    z-index: 1;
}
.notice-dot li{
	display:flex;
	justify-content:space-between;
}
.notice-dot {
    width: 435px;
}
.event-container04__content .notice-list .dot_none{
	padding-left: 0px;
    line-height: 2;
}
.notice-dot .dot_none::after,
.notice-dot .dot_none::before,
.event-container04__content .notice-list .dot_none::before{
	display: none;
}
.event-container04__content .notice-list .dot_none p {
    margin: 0;
}
.notice-list_box {
    border: 1px solid #fff;
    margin-top: 30px;
}
.list_title {
    padding: 10px 20px;
    border-bottom: 1px solid;
}
.notice-list.flex {
    display: flex;
    flex-wrap: wrap;
    padding-top: 10px;
}
.notice-list.flex li {
    width: 30%;
}


.event-container05{
    padding: 87px 0 100px;
    background-color: #ededed;
}

.event-container05__content{
    margin-top: 50px;
}

.event-container05__content--top{
    border-bottom: 1px solid #000000;
}
.event-container04__content--top .map,
.event-container05__content .map{
    width: 100%;
    height: 0;
    padding-top: 50%;
    position: relative;
}
.event-container04__content--top .map iframe,
.event-container05__content .map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.event-container05__content .address{
    padding: 25px 0 22px;
}

.event-container05__content .address span{
    display: inline-block;
}

.event-container05__content .address span:last-child{
    margin-left: 30px;
}

.event-container05__content--bottom{
    padding-top: 26px;
}

.event-container05__content--bottom .text + .text{
    margin-top: 30px;
}

/* .event-container05__content .viewall-btn{
    margin: 70px auto 0;
    color: #fff;
    border-bottom-color: #fff;
} */

/* .event-container05__content .viewall-btn__link{
    color: #fff;
}

.event-container02 .viewall-btn__link{
    color: #fff !important;
} */


.event-place .viewall-btn__link{
    background: #ff8522;
}


@media screen and (max-width: 1024px){
    .event-container01 .event-item {
        width: calc((100% - 15px * 2) / 3);
        max-width: 230px;
    }

    .event-container01 .event-item:nth-child(3n + 1){
        margin-left: 0;
    }

    .event-container01 .event-item:nth-child(4n + 5) {
        margin-left: 15px;
    }

    .event-container02 .facility-item {
        width: calc((100% - 40px * 2) / 3);
    }

    .event-container02 .facility-item:nth-child(3n + 1){
        margin-left: 0;
    }

    .event-container02 .facility-item:nth-child(4n + 5) {
        margin-left: 40px;
    }

    .event-container02 .facility-list02{
        flex-wrap: wrap;
    }

    .event-container02 .facility-list02 li{
        width: calc((100% - 40px * 2) / 3);
        max-width: 225px;
    }

    .event-container02 .facility-list02 li:nth-child(4){
        margin-left: 0;
    }
    
    .event-container02 .facility-list02 figcaption{
        font-size: 1.5rem;
    }

    .event-container03__content .time-price dt, 
    .event-container03__content .time-price dd, 
    .lodging-price--top, 
    .lodging-price, 
    .event-container03__content .other-price dt, 
    .event-container03__content .other-price dd,
    .event-container02 .facility-item figcaption{
        font-size: 1.8rem;
    }

    .event-container03__content .time-price dt{
        padding: 6px 10px;
    }

    .event-container03__content .time-price dd{
        padding: 4px 15px;
    }
}

@media screen and (max-width: 767px){
	.event-container01 .text-wrap01 .text{
		    margin-top: 33px;
	}
    .event-container01--top {
        padding: 70px 0 85px;
    }

    .event-container01 .inner{
        width: 94%;
    }

    .event-container01 .text-wrap01 {
        margin-top: 70px;
    }

    .event-container01 .text-wrap02 {
        margin-top: 50px;
    }

    .event-container01 .text-wrap02 .images-wrap{
        display: block;
    }
    
    .event-container01 .text-wrap02 .images-wrap .img-wrap{
        width: 100%;
        margin: 10px auto 0;
    }

    .event-container01 .text-wrap02 .images-wrap .img-wrap:first-child{
       margin: auto;
    }

    .event-container01 .inner-flex .img-wrap{
        width: 100%;
        margin: auto;
    }

    .event-container01 .inner-flex .img-wrap + .img-wrap{
        margin: 15px auto 0;
    }

    .event-container01__full-img .img-wrap{
        width: 50%;
    }

    .event-container01 .event-list{
        max-width: 500px;
        margin: 17px auto 0;
    }

    .event-container01 .event-item{
        font-size: 1.4rem;
        width: calc((100% - 15px) / 2);
        padding: 0;
        height: 50px;
    }

    .event-container01 .event-item:nth-child(odd){
        margin-left: 0;
    }

    .event-container01 .event-item:nth-child(even){
        margin-left: 15px;
    }

    .event-container03__content .time-price dt, 
    .event-container03__content .time-price dd, 
    .lodging-price--top, 
    .lodging-price, 
    .event-container03__content .other-price dt, 
    .event-container03__content .other-price dd,
    .event-container02 .facility-item figcaption{
        font-size: 1.5rem;
        padding: 2.5px 0;
        line-height: 1.5em;
    }

    .event-container02 {
        padding: 73px 0;
    }

    .event-container02 .facility-item {
        width: calc((100% - 20px) / 2);
        margin-top: 15px;
    }

    .event-container02 .facility-item:nth-child(odd){
        margin-left: 0;
    }

    .event-container02 .facility-item:nth-child(even){
        margin-left: 20px;
    }
    
    .event-container02 .facility-list02 li{
        width: calc((100% - 40px) / 2);
    }
    
    .event-container02 .facility-list02 li:nth-child(odd){
        margin-left: 0;
    }

    .event-container02 .facility-list02 li:nth-child(even){
        margin-left: 3.57%;
    }
    
    .event-container02 .facility-list02 figcaption{
        font-size: 1.3rem;
    }

    .event-container02 .notice {
        max-width: 1000px;
        margin: 30px auto 0;
    }

    .event-container03 {
        padding: 53px 0;
    }

    .event-container03__content{
        overflow: hidden;
		margin-top: 40px;
    }

    .event-container03__content .time-price {
        width: 100%;
        margin: auto auto 20px auto;
    }

    .event-container03__content .time-price dt{
        min-width: 0;
    }
	
	.event-container03__content .time-price dt,
	.event-container03__content .time-price dd{
		padding: 4.5px 9px;
	}

    .event-container03__content .lodging-price__box {
        width: 100%;
        margin: 120px auto 0;
    }

    .event-container03__content .lodging-price__box::before, 
    .event-container03__content .lodging-price__box::after {
        width: 100vw;
        max-width: 573px;
        height: 48px;
        top: -82px;
        left: 50%;
        transform: translateX(-50%);
    }

    .event-container03__content .lodging-price__box::before {
        background-size: auto 100%;
    }

    .event-container03__content .lodging-price__box::after {
        background-image: linear-gradient(to right, #fff 0%, #fff 35%, transparent 35%, transparent 65%, #fff 65%, #fff 100%);
        background-size: 100% 1px;
    }

    .event-container03__content .other-price > div {
        display: block;
    }

    .event-container03__content .other-price dt::before{
        display: none;
    }

    .event-container03__content .other-price dd{
        width: 100%;
        padding-left: 15px;
    }
	.notice-list.flex{
		padding-top: 5px;
    }
	.notice-list.flex li {
        width: 48%;
    }
	.notice-dot{
		padding-left: 0;
        width: 325px;
    }
	.notice-dot li{
		font-size: 1.3rem;
		padding-left: 13px;
	}
	.notice-dot li::after{
		width: 300px;
	    bottom: 10px;
	}
	.notice-dot li::before{
		top: 10px;
	}
	.notice-dot li p {
        margin-bottom: 0;
    }
	.event-container04 .notice-list p {
        margin-bottom: 0.5rem;
    }
	.event-container04 .heading4{
	    margin-bottom: 15px;
		padding: 5px 15px;
        font-size: 1.5rem;
		margin-top: 40px;
    }
	.event-container04 p {
        line-height: 1.8;
        font-size: 1.4rem;
    }
    .event-container05 {
        padding: 57px 0 70px;
    }

    .event-container05__content .address span:last-child{
        margin-left: 0;
    }
	.event-container05__content .map{
		padding-top: 90%;
	}
	.event-container05__content--bottom .text + .text{
		margin-top: 20px;
    }
}

/* =====================
    archive journal    
======================== */
.archive-journal{
    padding: 110px 0 95px;
    background-color: #d7dcde;
    position: relative;
}

.archive-journal .heading2{
    font-size: 2.5rem;
}

.archive-journal .heading2 + .text{
    margin-top: 39px;
}

.archive-journal__content{
    display: flex;
    flex-wrap: wrap;
    margin-top: 28px;
}

.archive-journal__content .journal__article{
    width: calc((100% - 30px) / 2);
    margin-top: 34px;
    max-width: 546px;
}

.archive-journal__content .journal__article:nth-child(even){
    margin-left: 30px;
}

/* .archive-journal__content .journal__article-body{
    padding: 32px 8.5% 48px;
} */

.archive-journal__content .journal__article-body .wrap{
    display: flex;
    flex-direction: column;
    margin-top: 15px;
}

.archive-journal__content .journal__article-body .article-more{
    margin-top: 30px;
    text-align: right;
}

.archive-journal__content .journal__article .img-wrap {
    overflow: hidden;
}

@media screen and (max-width: 767px){
    .archive-journal {
        padding: 80px 0 65px;
    }

    .archive-journal .heading2 + .text {
        margin-top: 20px;
    }

    .archive-journal__content{
        display: block;
    }

    .archive-journal__content .journal__article {
        width: 100%;
        margin: 34px auto 0;
    }

    .archive-journal__content .journal__article:nth-child(even) {
        margin-left: auto;
    }
}

/* =====================
    single journal
======================== */
.single-mainvisual{
    padding-top: 75.78px;
}

.mainvisual__text-box{
    position: absolute;
    bottom: 0;
    right: 11.5%;
    transform: translateY(46%);
    background-color: #fff;
    padding: 3.625vw;
    width: 90%;
    max-width: 572px;
    z-index: 1;
}

.mainvisual__text-box .journal__article-number{
    font-size: 2.5rem;
}

.mainvisual__text-box .journal__article-title{
    font-size: 2.8rem;
    line-height: 1.78em;
    margin-top: 25px;
}

.journal-article__info{
    display: flex;
    flex-direction: column;
    font-size: 1.9rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.57em;
    margin-top: 25px;
}

.journal-article__info .size--sm{
    font-size: 0.789em;
}

.single-journal__container01{
    padding: 140px 0 130px;
    position: relative;
    z-index: 0;
    background-color: #d7dcde;
}

.single-journal__container01::before{
    content: "SAUNEA JOURNAL";
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 5.625vw;
    letter-spacing: 0.05em;
    color: #cdd3d6;
    z-index: -1;
    position: absolute;
    top: 172px;
    left: 4px;
}

.single-journal__date-wrap{
    width: 90%;
    max-width: 1120px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 185px);
    z-index: 1;
    display: flex;
    align-items: center;
}

.single-journal__date{
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    font-family: 'Jost';
}

.single-journal__date + .share-btn__container{
    margin: 0 0 0 2.67%;
}

.share-btn__container{
    display: flex;
    max-width: 228px;
    padding: 0;
}

.single-btn__container > .share-btn__container{
    margin: auto;
}

.share-btn__container li{
    margin-left: 10px;
}

.share-btn__container li:first-child{
    margin-left: 0;
}

.share-btn__container a{
    display: block;
    width: 100%;
    height: 100%;
}

.single-journal__container01 .text{
    margin-top: 63px;
}

.page-menu{
    max-width: 900px;
    margin: 35px auto 0;
}

.page-menu li{
    border-bottom: 1px solid #000;
}

.page-menu a{
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 19px 0 12px;
}

.page-menu .number{
    width: 15.77%;
    max-width: 142px;
    height: 60px;
    flex-grow: 1;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 2rem;
    letter-spacing: 0.1em;
    color: #fff;
    background-color: #232b2e;
}

.page-menu .number .size--sm{
    font-size: 0.65em;
}

.page-menu .number{
    background-color: #232b2e;
}

.page-menu .number .wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100%;
}

.page-menu p{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    padding: 0 27px;
    position: relative;
    margin: 0;
}

.page-menu p::before{
    content: "";
    display: block;
    width: 30px;
    height: 100%;
    background: url('../img/common/arrow_black02.svg') no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
    top: 0;
    right: 3%;
}

.page-menu p .size--sm{
    font-size: 0.75em;
}

.chapter-visual{
    position: relative;
}

.chapter-visual img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.chapter-visual__box{
    position: absolute;
    bottom: 0;
    left: 6%;
    transform: translateY(28%);
    width: 90%;
    max-width: 410px;
    padding: 3.15625vw ;
    background-color: #fff;
}

.chapter-visual__box .journal__article-number{
    font-size: 2rem;
}

.chapter-visual__box .journal__article-number .size--sm{
    font-size: 0.65em;
}

.chapter-visual__text{
    font-size: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.59em;
    margin: 20px 0 0;
}

.chapter__content .lead{
    font-size: 3.5rem;
}

.chapter01__content{
    padding: 120px 0 137px;
    background-color: #fff;
}

.chapter__content .text{
    line-height: 2em;
    margin-top: 20px;
}

.chapter__content .lead + .content__container{
    margin-top: 80px;
}

.content__container.column .img-wrap{
    margin-top: 40px;
}

.content__container.row>*{
    padding: 0;
}

.content__container.row,
.content__container.row-reverse{
    display: flex;
    width: 90%;
    max-width: 1360px;
}

.content__container.row .img-wrap,
.content__container.row-reverse .img-wrap{
    width: 51.47%;
    max-width: 700px;
    flex-grow: 1;
}

.content__container.row .content__container-body,
.content__container.row-reverse .content__container-body{
    width: 44.85%;
    max-width: 610px;
    flex-grow: 1;   
}

.content__container.row{
    margin-left: auto;
}

.content__container.row .img-wrap{
    margin-left: 3.67%;
}

.content__container.row-reverse .img-wrap{
    order: 1;
    margin-right: 3.67%;
}

.content__container.row-reverse .content__container-body{
    order: 2;
}

.chapter01__content .content__container.row{
    margin-top: 73px;
}

.chapter01__content .content__container.row-reverse{
    margin-top: 55px;
}

.chapter02 .chapter-visual__box {
    bottom: 90%;
    left: auto;
    right: 6%;
}

.chapter02__content{
    padding: 120px 0 140px;
    background-color: #d7dcde;
}

.chapter02__content .content__container.row{
    margin-top: 73px;
}

.chapter02__content .content__container.row-reverse {
    margin-top: 55px;
}

.chapter03__content{
    padding: 120px 0 165px;
    background-color: #fff;
}

.chapter03__content .inner + .content__container.row {
    margin-top: 78px;
}

.chapter03__content .content__container.row  + .content__container.row-reverse{
    margin-top: 63px;
}

.message{
    background-color: #fff;
}

.message .chapter-visual__box{
    top: 0;
    left: 0;
    bottom: auto;
    transform: translateY(0);
}

.message__content{
    padding: 95px 0 80px;
}

.message__content .text{
    margin-top: 72px;
}

.single-btn__container{
    padding-bottom: 125px;
}

.single-btn__container .viewall-btn{
    margin: 90px auto 0;
}

.backnumber{
    padding: 116px 0 97px;
    background-color: #232b2e;
}

.backnumber .heading2{
    color: #fff;
}

.backnumber .archive-journal__content{
    margin-top: 50px;
}

.backnumber .viewall-btn{
    margin: 85px auto 0;
    border-bottom-color: #fff;
}

.backnumber .viewall-btn__link{
    color: #fff;
}

@media screen and (min-width: 1601px){
    .single-journal__container01::before{
        font-size: 9rem;
    }

    .mainvisual__text-box{
        padding: 58px;
    }

    .chapter-visual__box{
        padding: 50.5px;
    }
}

@media screen and (max-width: 1200px){
    .single-mainvisual{
        padding-top: 70px;
    }

    .chapter02__content .content__container + .content__container .content__container-body{
        margin-top: -1%;
    }
}

@media screen and (max-width: 1024px){
    .single-mainvisual{
        padding-top: 53px;
    }

    .mainvisual__text-box .journal__article-number {
        font-size: 2.3rem;
    }

    .mainvisual__text-box .journal__article-title {
        font-size: 2.5rem;
    }

    .journal-article__info {
        font-size: 1.7rem;
    }

    .page-menu .number,
    .page-menu p,
    .chapter-visual__box .journal__article-number{
        font-size: 1.8rem;
    }

    .chapter-visual__text{
        font-size: 2rem;
    }

    .chapter__content .lead {
        font-size: 2.9rem;
    }
}

@media screen and (max-width: 767px){
    .single-journal__date-wrap{
        transform: translate(-50%, 162px);
    }

    .single-mainvisual{
        padding-top: 0;
    }

    .single-mainvisual__wrap{
        height: 350px;
    }

    .mainvisual__text-box{
        right: 50%;
        transform: translate(50%, 46%);
    }

    .mainvisual__text-box .journal__article-number {
        font-size: 1.9rem;
    }

    .mainvisual__text-box .journal__article-title {
        font-size: 2rem;
        margin-top: 15px;
    }

    .journal-article__info {
        font-size: 1.5rem;
        margin-top: 15px;
    }

    .single-journal__container01 {
        padding: 160px 0 100px;
    }

    .single-journal__container01::before {
        font-size: 3.4rem;
        top: 156px;
    }

    .single-journal__date{
        font-size: 1.4rem;
    }

    .single-journal__container01 .text {
        margin-top: 30px;
    }

    .page-menu {
        margin-top: 20px;
    }

    .page-menu a{
        display: block;
        padding: 15px 0;
    }
    
    .page-menu .number,
    .page-menu p,
    .chapter-visual__box .journal__article-number{
        font-size: 1.6rem;
    }

    .page-menu .number{
        width: 100%;
        height: 43px;
        max-width: 110px;
    }

    .page-menu p{
        padding: 0 20px 0 0;
        margin-top: 10px;
    }

    .page-menu p::before {
        width: 17px;
        right: 0%;
    }

    .chapter-visual__text{
        font-size: 1.8rem;
    }

    .chapter-visual{
        height: 250px;
    }

    .chapter__content .lead {
        font-size: 2.3rem;
    }

    .chapter01__content {
        padding-top: 90px;
    }

    .chapter__content .lead + .content__container {
        margin-top: 50px;
    }

    .chapter__content .text {
        margin-top: 10px;
    }

    .content__container.column .img-wrap {
        margin-top: 20px;
    }

    .content__container.row, 
    .content__container.row-reverse {
        display: block;
        margin: auto;
    }

    .content__container.row .content__container-body, 
    .content__container.row-reverse .content__container-body {
        width: 100%;
        max-width: none;
    }

    .content__container.row .img-wrap, 
    .content__container.row-reverse .img-wrap {
        width: 100%;
        max-width: none;
        margin-top: 20px;
    }

    .content__container.row .img-wrap {
        margin: 20px auto 0;
    }

    .chapter01__content .content__container.row,
    .chapter02__content .inner + .content__container.row-reverse {
        margin-top: 40px;
    }

    .chapter02__content {
        padding: 90px 0 110px;
    }

    .chapter02__content .content__container + .content__container .content__container-body {
        margin-top: 0;
    }

    .chapter03__content {
        padding: 90px 0 135px;
    }

    .chapter03__content .inner + .content__container.row {
        margin-top: 50px;
    }

    .chapter03__content .content__container.row  + .content__container.row-reverse {
        margin-top: 40px;
    }

    .message__content {
        padding: 65px 0 50px;
    }

    .backnumber {
        padding: 86px 0 67px;
    }

    .message .chapter-visual__box{
        width: 60%;
    }

    .single-btn__container {
        padding-bottom: 95px;
    }

    .single-btn__container .viewall-btn {
        margin-top: 50px;
    }
	.archive-journal__content .journal__article-body .article-more{
		    margin-top: 20px;
	}
}

/* =====================
    company    
======================== */
.company-container01{
    padding: 105px 0 110px;
    background-color: #f5f5f5;
}

.company-container01__content{
    max-width: 1000px;
    margin: 55px auto 0;
}

.company-container01__content div{
    display: flex;
    border-bottom: 1px solid #cdcdcd;
}

.company-container01__content div:last-child{
    border-bottom: none;
}

.company-container01__content dt,
.company-container01__content dd{
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.933em;
    letter-spacing: 0.1em;
    padding: 21px 3% 21px;
}

.company-container01__content dt{
    width: 26.2%;
    max-width: 262px;
    flex-grow: 1;
    display: flex;
    align-items: center;
    background-color: #e8e8e8;
}

.company-container01__content dd{
    width: 73.8%;
    max-width: 738px;
    flex-grow: 1;
    background-color: #fff;
}
.company-container01__content dd a{
	color:#736357;
	text-decoration: underline;
    font-weight: 500;
	transition:.3s;
}
.company-container01__content dd a:hover{
	opacity:.7;
}
.company-container01__content dd .inner-list{
    padding: 0;
    margin: 0;
}

.company-container02{
    padding: 105px 0 100px;
    background-color: #fff;
}

.company-container02 .event-container04__content{
    max-width: 1000px;
    margin: 60px auto 0;
}

.company-container02 .text{
    color: #000;
    margin-top: 20px;
}

@media screen and (max-width: 767px){
    .company-container01{
        padding: 75px 0 80px;
    }

    .company-container01__content{
        margin-top: 30px;
    }

    .company-container01__content div {
        display: block;
    }

    .company-container01__content dt,
    .company-container01__content dd{
        font-size: 1.4rem;
        width: 100%;
        max-width: none;
        padding: 10px 15px;
    }

    .company-container02{
        padding: 75px 0 70px;
    }

    .company-container02 .event-container04__content{
        margin-top: 35px;
    }
}

/* =====================
    news single
======================== */
.news__article-container{
    padding: 117px 0;
    position: relative;
}

.news__article-info .news__article-date{
    color: #000;
}

.news__article-content{
    margin: 42px 0 0;
    padding: 0 0 80px;
}

.news__article-container h2{
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 3.2rem;
    letter-spacing: 0.1em;
    line-height: 1.5625em;
    margin: 0;
}

.news__article-thumb{
    margin: 58px auto 0;
    width: 100%;
    max-width: 960px;
    height: 560px;
}

.news__article-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news__body{
    width: 100%;
    max-width: 960px;
    margin: 60px auto 0;
}

.news__body p{
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.1em;
    padding: 0;
    margin: 0  auto 3%;
}

.news__article-container .single-btn__container{
    padding: 0;
}

@media screen and (max-width: 1024px){
    .news__article-container h2{
        font-size: 2.7rem;
    }
}

@media screen and (max-width: 767px){
	.news__body{
		    margin: 35px auto 0;
	}
    .news__article-container{
        padding: 87px 0;
    }

    .news__article-content{
        margin-top: 30px;
    }

    .news__article-container h2{
        font-size: 2rem;
    }

    .news__article-thumb {
        height: 200px;
    }

    .news__body p {
        font-size: 1.3rem;
    }
}

/* =====================
    news archive
======================== */
.news-archive__container{
    padding: 105px 0 110px;
    background-color: #232b2e;
    position: relative;
}

@media screen and (max-width: 767px){
    .news-archive__container{
        padding: 75px 0 80px;
    }
}

/* =====================
    contact
======================== */
.contact__container{
    padding: 105px 0 175px;
    background-color: #fff;
}

.contact__container02{
    background-color: #d7dcde;
}

.contact__container03{
    background-color: #ededed;
}

.contact__container .desc{
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 1.7rem;
    letter-spacing: 0.2em;
    text-align: center;
    margin-top: 20px;
}

.contact__container .contacts__container{
    margin: 40px 0 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 20px;
    @media (max-width: 767px) {
        grid-template-columns: 1fr;
    }
}

.contact__container .contacts-box{
    margin-top: 20px;
}

.contact__container .contacts-box__link{
    height: 266px;
}

.contact__container .contacts-box__text{
    font-size: 2.7rem;
}

.contact__container .contacts-box .font-en{
    width: 210px;
    margin-top: 45px;
}

.contact__container .contacts-box .text{
    color: #000;
    text-align: center;
    line-height: 2.266em;
    letter-spacing: 0.2em;
    padding: 28px 0 0;
}

.contact__sns-box {
    margin: 117px 0 0;
    padding: 56px 20px 75px;
    background-color: #f2f2f2;
}

.contact__sns-box .text{
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 2.1rem;
    line-height: 1.9em;
    letter-spacing: 0.2em;
}

.contact__sns-list{
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 716px;
    margin: 50px auto 0;
    padding: 0;
}

.contact__sns-list li{
    flex-grow: 1;
    max-width: 120px;
}

.contact__sns-list a{
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.4s ease;
}

.contact__sns-list a:hover{
    opacity: 0.8;
}

.contact__sns-list figcaption{
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
}

.form__container{
    margin-top: 60px;
    padding: 30px 20px 110px;
    background-color: #fff;
}

.form__list{
    max-width: 960px;
    margin: auto;
    padding: 0;
}

.form__list > div{
    display: flex;
    border-bottom: 1px solid #d8d8d8;
    padding: 0 2.604%;
}

.form__list > div.center{
    align-items: center;
}

.form__list dt,
.form__list dd{
    padding: 29px 0;
}

.form__list dt{
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    width: 34.375%;
    max-width: 330px;
    min-width: 250px;
    flex-grow: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.form__list dt span:last-child{
    flex-shrink: 0;
}

.form__list dt .required{
    display: inline-block;
    font-size: 0.93em;
    font-weight: 400;
    color: #fff;
    border-radius: 50px;
    padding: 4px 12px;
    background-color: #232b2e;
}
.form__list dt .any{
    display: inline-block;
    font-size: 0.93em;
    font-weight: 400;
    color: #232b2e;
    border-radius: 50px;
    padding: 4px 12px;
    background-color: #ffffff;
	border:1px solid #232b2e;
}

.form__list dt .size--sm{
    color: #676767;
    font-size: 0.866em;
    letter-spacing: 0;
    display: inline-block;
    margin-top: 18px;
}

.form__list dd{
    width: 59.375%;
    max-width: 570px;
    flex-grow: 1;
    margin-left: 1.5625%;
}

input[type="text"],
input[type="email"],
textarea,
.privacypolicy{
    padding: 15px;
    border-radius: 5px;
    background-color: #f2f2f2;
}

input.size--lg{
    width: 100%;
}

input.size--md{
    width: 100px;
}

input.size--sm{
    width: 60px;
}

input[type="text"],
input[type="email"]{
    min-height: 50px;
    font-size: 1.5rem;
}

textarea{
    resize: vertical;
    min-height: 180px;
    width: 100%;
    font-size: 1.5rem;
    line-height: 1.3em;
}

.form__list dd{
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.form__list dd label{
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 2.2em;
}

.form__list dd.flex{
    display: flex;
    flex-wrap: wrap;
}

.form__list dd .check{
    position: relative;
}

.form__list dd.flex .check{
    width: calc(100% / 2);
    max-width: 132px;
}

.form__list dd .check span.mwform-radio-field-text,
.radio-privacypolicy__wrap span.mwform-radio-field-text,
.form__list dd .check span.mwform-checkbox-field-text,
.radio-privacypolicy__wrap span.mwform-checkbox-field-text{
    display: inline-block;
    padding-left: 30px;
    position: relative;
    cursor: pointer;
}

.form__list dd .check input:not([name~="checkbox-reason-text"]),
.radio-privacypolicy__wrap input{
    display: none;
}

.form__list dd .check input[type="text"]{
    margin-left: 30px;
    margin-top: 5px;
    margin-bottom: 10px;
    width: calc(100% - 30px);
}

.privacypolicy{
    height: 186px;
    padding-right: 0;
}

.privacypolicy__inner{
    width: 100%;
    height: 100%;
    overflow-y: scroll;
}

.radio-privacypolicy__wrap{
    margin-top: 18px;
    position: relative;
}

.form__list dd .check span.mwform-radio-field-text::before,
.radio-privacypolicy__wrap span.mwform-radio-field-text::before,
.form__list dd .check span.mwform-radio-field-text::after,
.radio-privacypolicy__wrap span.mwform-radio-field-text::after,
.form__list dd .check span.mwform-checkbox-field-text::before,
.radio-privacypolicy__wrap span.mwform-checkbox-field-text::before,
.form__list dd .check span.mwform-checkbox-field-text::after,
.radio-privacypolicy__wrap span.mwform-checkbox-field-text::after{
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    height: 2px;
    top: 50%;
    opacity: 0;
    transition: 0.4s ease;
}

.form__list dd .check span.mwform-radio-field-text::before,
.radio-privacypolicy__wrap span.mwform-radio-field-text::before,
.form__list dd .check span.mwform-checkbox-field-text::before,
.radio-privacypolicy__wrap span.mwform-checkbox-field-text::before{
    width: 10px;
    left: 3px;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: left;
}

.form__list dd .check span.mwform-radio-field-text::after,
.radio-privacypolicy__wrap span.mwform-radio-field-text::after,
.form__list dd .check span.mwform-checkbox-field-text::after,
.radio-privacypolicy__wrap span.mwform-checkbox-field-text::after{
    width: 15px;
    left: 7px;
    transform: rotate(-45deg);
}

.form__list dd .check input:checked + span::before,
.radio-privacypolicy__wrap input:checked + span::before,
.form__list dd .check input:checked + span::after,
.radio-privacypolicy__wrap input:checked + span::after,
.form__list dd .check input:focus + span::before,
.radio-privacypolicy__wrap input:focus + span::before,
.form__list dd .check input:focus + span::after,
.radio-privacypolicy__wrap input:focus + span::after{
    opacity: 1;
}

.form__list dd .check::before,
.radio-privacypolicy__wrap::before{
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    border: 2px solid #878787;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(7px);
}

.privacypolicy p{
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 2em;
}

.privacypolicy p + p{
    margin-top: 20px;
}

.form-btn{
    margin: 80px auto 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.form-btn input{
    text-align: center;
    font-size: 1.5rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    letter-spacing: 0.2em;
    padding: 10px 0;
    height: 100%;
    width: 100%;
    max-width: 180px;
    border: none;
    border-bottom: 1px solid #000;
    display: block;
}

.form-btn input + input{
    margin: 0 0 0 40px;
}

.input-date,
.input-time{
    display: inline-flex;
    align-items: center;
    margin-right: 10px;
}

.input-time:last-child{
    margin-left: 0;
}

.input-date input,
.input-time input{
    margin-right: 10px;
}

.event-confirm .form__list dd .check span.mwform-radio-field-text::before,
.event-confirm .radio-privacypolicy__wrap span.mwform-radio-field-text::before,
.event-confirm .form__list dd .check span.mwform-radio-field-text::after,
.event-confirm .radio-privacypolicy__wrap span.mwform-radio-field-text::after,
.event-confirm .form__list dd .check::before,
.event-confirm .radio-privacypolicy__wrap::before,
.product-confirm .form__list dd .check span.mwform-radio-field-text::before,
.product-confirm .radio-privacypolicy__wrap span.mwform-radio-field-text::before,
.product-confirm .form__list dd .check span.mwform-radio-field-text::after,
.product-confirm .radio-privacypolicy__wrap span.mwform-radio-field-text::after,
.product-confirm .form__list dd .check::before,
.product-confirm .radio-privacypolicy__wrap::before,
.riisi-mini_confirm .form__list dd .check span.mwform-radio-field-text::before,
.riisi-mini_confirm .radio-privacypolicy__wrap span.mwform-radio-field-text::before,
.riisi-mini_confirm .form__list dd .check span.mwform-radio-field-text::after,
.riisi-mini_confirm .radio-privacypolicy__wrap span.mwform-radio-field-text::after,
.riisi-mini_confirm .form__list dd .check::before,
.riisi-mini_confirm .radio-privacypolicy__wrap::before,
.riisi-2500w_confirm .form__list dd .check span.mwform-radio-field-text::before,
.riisi-2500w_confirm .radio-privacypolicy__wrap span.mwform-radio-field-text::before,
.riisi-2500w_confirm .form__list dd .check span.mwform-radio-field-text::after,
.riisi-2500w_confirm .radio-privacypolicy__wrap span.mwform-radio-field-text::after,
.riisi-2500w_confirm .form__list dd .check::before,
.riisi-2500w_confirm .radio-privacypolicy__wrap::before{
    display: none;
}

.event-thanks .viewall-btn,
.product-thanks .viewall-btn,
.riisi-mini_thanks .viewall-btn{
    margin: 60px auto 0;
}

.thanks .text{
    margin: 20px 0 0;
}
.mw_wp_form_preview .privacypolicy{
    display:none;
}
.mw_wp_form_preview .radio-privacypolicy__wrap{
	margin-top:0;
}

.grecaptcha-badge{
    bottom: 115px !important;
}

@media screen and (max-width: 1024px){
    .contact__container .desc{
        font-size: 1.6rem;
    }

    .contact__container .contacts-box__text {
        font-size: 2.4rem;
    }

    .contact__sns-box .text {
        font-size: 1.9rem;
    }
}

@media screen and (max-width: 767px){
    .contact__container{
        padding: 75px 0 105px;
    }

    .contact__container .desc{
        font-size: 1.5rem;
		line-height: 1.9;
    }

    .contact__container .contacts-box {
        width: 100%;
        margin: 20px auto 0;
        height: auto;
    }

    .contact__container .contacts-box:first-child{
        margin-left: auto;
    }

    .contact__container .contacts-box__link {
        height: 195px;
    }

    .contact__container .contacts-box__text {
        font-size: 2.1rem;
    }

    .contact__sns-box .text {
        font-size: 1.6rem;
    }

    .contact__sns-box {
        margin-top: 60px;
		    padding: 40px 20px 50px;
    }

    .contact__sns-list figcaption{
        font-size: 1.4rem;
    }

    .contact__sns-list {
        flex-wrap: wrap;
        max-width: 250px;
        margin-top: 30px;
    }

    .contact__sns-list li{
        width: calc(100% / 2);
		    max-width: 105px;
    }

    .form__list dt,
    .form__list dd,
    input[type="text"], 
    input[type="email"],
    textarea,
    .form__list dd label{
        font-size: 1.4rem;
    }
	input[type="text"]{
		height:40px;
	}

    .form__list > div {
        display: block;
    }

    .form__list dt{
        width: 100%;
        max-width: none;
        min-width: 0;
		padding: 10px 0;
    }

    .form__list dd {
        width: 100%;
        max-width: none;
        margin-left: 0;
		padding: 0px 0 15px;
    }

	.form__list dt .any,
	.form__list dt .required{
	    font-size: 0.8em;
	    padding: 2px 10px;
	}

    input.size--md {
        width: 90px;
    }

    .form__container {
        padding-bottom: 80px;
    }

    .form-btn{
        flex-direction: column;
        align-items: center;
		  margin: 40px auto 0;
    }

    .form-btn input + input{
        margin: 40px 0 0;
    }

    .form__list dd .check::before,
    .radio-privacypolicy__wrap::before{
        transform: translateY(5px);
    }
}


/* =====================
    テンプレ　カスタマイズ
======================== */
.card-imag-top.grid-image img {
    object-fit: cover;
}

body.post-type-archive-topic .header,
body.single-post .header,
body.single-topic .header,
body.page-template-uscesmember .header,
body.page-template-uscescart .header{
    background-color: #000;
}

body:not(.blog) .site-content,
body:not(.blog).single-post .site-content {
    margin-top: 9.8rem;
}

.form-control:focus,
#cart_table .quantity input.quantity:focus,
#cart_table td input.quantity:focus,
input:focus{
	box-shadow: none;
}

@media screen and (min-width: 768px){
    body:not(.blog) .site-content,
    body:not(.blog).single-post .site-content {
        margin-top: 18.7rem;
    }
}

/* =====================
    top-sauna
======================== */
.top-sauna{
	padding: 105px 0 100px;
}
.top-sauna .text {
    margin-top: 15px;
}
.page-id-113 .top-sauna,
.page-id-119 .top-sauna{
    background-color: #f5f5f5;
}

.top-sauna .container{
	margin-top: 40px;
	margin-bottom: 100px;	
}

.top-sauna .viewall-btn{
	margin: 60px auto 0;
}

@media screen and (max-width: 767px){
	.top-sauna{
    padding: 75px 0 70px;
    }
}

/* ec */
.front-page .topics .g-col-6, .front-page .new-items .g-col-6{
	margin-bottom: 7px;
}

.item-category .card-body .card-text, .new-items .card-body .card-text, .front-page .widget_basic_item_list .card-body .card-text, .general-widget-area .widget_basic_item_list .card-body .card-text{
    margin-top: 0rem;
}

.btn{
    font-size: 1.5rem;
    font-family: 'Noto Serif JP', serif;
}

.read-more .viewall-btn{
    margin: auto;
}

@media screen and (min-width: 992px){
	.item-category .card .card-body .card-title,
    .new-items .card .card-body .card-title,
    .front-page .widget_basic_item_list .card .card-body .card-title,
    .general-widget-area .widget_basic_item_list .card .card-body .card-title,
    .member-favorite .card .card-body .card-title{
		font-size: 1.5rem;
        font-weight: 400;
        line-height: 1.93;
        letter-spacing: 0.1em;
	}

	.item-category .card .card-body .card-text,
    .new-items .card .card-body .card-text,
    .front-page .widget_basic_item_list .card .card-body .card-text,
    .general-widget-area .widget_basic_item_list .card .card-body .card-text,
    .member-favorite .card .card-body .card-text{
		font-size: 1.4rem;
	}
}

.article-item .skuform {
    grid-template-columns: 160px calc(50% - 6.2rem) auto;
}

.new-items .card .card-body .card-title{
    font-size: 20px;
    font-family: 'Noto Serif JP', serif;
}

.new-items .card-body .card-text{
	font-size: 15px;
}

.new-items .card-body .card-text .tax{
	font-size: 0.8em;
}

.article-item .skuform .skuinfo{
    width: 100%;
}

.group-add-item .skuform .skuinfo .sku-name{
	font-size: 16px;
}

.article-item .skuform .skuinfo~.add-to-cart .quantity,
.group-add-item .skuform:last-child .zaikostatus,
.article-item .accordion-item-panels .accordion-item .accordion-body{
	font-size: 15px;
}

@media screen and (max-width: 767px){
	.new-items .card .card-body .card-title{
		font-size: 18px;
	}
}

/* =====================
    planning
======================== */
.planning-container01 {
    background-color: #ededed;
}

.planning-container01 .inner{
    padding: 110px 0;
}

.planning-container01 .heading2.bg-text::after{
    content: "PLANNIG & DESIGN";
    color: #e3e3e3;
}

.planning-container01 .text-wrap{
    margin-top: 110px;
}

.planning-container01 .images-wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 50px;
}

.planning-container01 .images-wrap .img-wrap{
    width: calc((100% - 5px) / 2);
    margin: 5px 0 0 5px;
    flex-grow: 1;
}

.planning-container01 .images-wrap .img-wrap:first-child{
    width: 100%;
}

.planning-container01 .images-wrap .img-wrap:nth-child(2){
    margin-left: 0;
}

.planning-container02{
    padding: 100px 0 120px;
    background-color: #d7dcde;
}

.planning-container02__content{
    margin-top: 40px;
}

.planning-container02__box{
    display: flex;
    background-color: #fff;
    max-width: 1000px;
    margin: 20px auto 0;
}

.planning-container02__box:first-child{
    margin-top: 0;
}

.planning-container02__box-body{
    flex-grow: 1;
    width: 52.4%;
    max-width: 524px;
	padding: 5.5% 6%;
}

.planning-container02__box-body .lead{
    text-align: left;
	font-size: 2rem;
}

.planning-container02__box-body .text{
    margin-top: 20px;
}

.planning-container02__box .img-wrap{
    flex-grow: 1;
    width: 47.6%;
    max-width: 476px;
}

.planning-container02__box .img-wrap img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.planning-container02__box:nth-child(odd) .planning-container02__box-body{
    order: 2;
}

.planning-container02__box:nth-child(odd) .img-wrap{
    order: 1;
}

.planning-container03{
    padding: 100px 0 120px;
    background: url('../img/planning/package-bg.jpg') no-repeat;
    background-position: left;
    background-size: cover;
    position: relative;
	z-index: 0;
}

.planning-container03::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.planning-container03 .text-wrap .lead,
.planning-container03 .text-wrap .text{
    color: #fff;
}

.planning-container03__content{
    max-width: 800px;
    margin: 55px auto 0;
    border: 1px solid #fff;
    border-top: none;
	position: relative;
	padding: 30px 15px 35px;
}

.package-example__text{
    overflow-x: hidden;
    color: #fff;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.933em;
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(-48%);
	width: 100%;
}

.package-example__text span{
    position: relative;
}

.package-example__text span::before,
.package-example__text span::after{
    content: "";
    display: block;
    width: 240px;
    height: 1px;
	background-color: #fff;
    position: absolute;
    top: 50%;
}

.package-example__text span::before{
    right: 100%;
    transform: translate(-10px,-50%);
}

.package-example__text span::after{
    left: 100%;
    transform: translate(10px,-50%);
}

.package-example__list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
	padding: 0;
	margin: auto;
	max-width: 638px;
}

.package-example__list li{
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 10px * 2) / 3);
    margin: 10px 0 0 10px;
    font-size: 1.5rem;
    font-weight: 400px;
    letter-spacing: 0.1em;
    height: 50px;
    background-color: #d7dcde;
	text-align: center;
}

.package-example__list li .size--sm{
    font-size: 0.8em;
    display: block;
}

.package-example__list li:nth-child(3n + 1){
    margin-left: 0;
}

.planning-container04{
    padding: 115px 0 95px;
    background-color: #ededed;
}

.planning-container04__content{
    display: flex;
    justify-content: center;
    margin: 20px auto 0;
	max-width: 1000px;
}

.planning-container04__content figure{
    width: calc((100% - 30px * 3) / 4);
    margin: 30px 0 0 3%;
    max-width: 226px;
    flex-grow: 1;
}

.planning-container04__content figure:first-child{
	margin-left: 0;
}

.planning-container04__content figcaption{
    font-size: 1.7rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.47em;
    margin-top: 20px;
    text-align: center;
}

.planning-container04 .viewall-btn02{
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.planning-container04 .viewall-btn__link{
    color: #fff;
}

@media screen and (max-width: 1024px){
    .planning-container02__box-body .lead{
        font-size: 1.8rem;
    }
	
	.planning-container04__content figcaption{
        font-size: 1.6rem;
    }
	
	.planning-container04__content{
    flex-wrap: wrap;
		max-width: 690px
    }
        
    .planning-container04__content figure{
        width: calc((100% - 30px) / 2);
    }
	
	.planning-container04__content figure:nth-child(odd){
        margin-left: 0;
    }
}

@media screen and (max-width: 767px){
    .planning-container01 .inner{
        padding: 68px 0;
    }

    .planning-container01 .text-wrap{
        margin-top: 70px;
    }

    .planning-container01 .images-wrap .img-wrap:lst-child(odd){
       margin-left: 1.5%;
    }
	.planning-container01 .images-wrap .img-wrap:first-child{
		    margin-left: 0;
    }
	
	.planning-container02,
	.planning-container03{
        padding: 70px 0 90px;
    }

    .planning-container02__box{
        flex-direction: column;
    }
	.planning-container02__box:nth-child(even){
    flex-direction: column-reverse;
    }
	
	.planning-container02__box-body,
    .planning-container02__box .img-wrap{
        width: 100%;
        max-width: none;
    }
	
	.planning-container02__box-body{
        padding: 6%;
    }
	
	.planning-container02__box-body .lead{
        font-size: 1.6rem;
    }
	
	.planning-container02__box-body .text {
        margin-top: 10px;
    }
	
	.package-example__text,
	.package-example__list li{
        font-size: 1.4rem;
    }
	
	.package-example__list li{
        width: calc((100% - 10px) / 2);
        max-width: 220px;
    }
    
    .package-example__list li:nth-child(3n + 1){
        margin-left: 10px;
    }

    .package-example__list li:nth-child(odd){
        margin-left: 0;
    }

    .package-example__list li:nth-child(even){
        margin-left: 10px;
    }
	
	.planning-container04{
        padding: 85px 0 65px;
    }
	
	.planning-container04__content {
        max-width: 450px;
    }
	
	.planning-container04__content figure{
        width: 48%;
		margin-right:2%;
    }
	.planning-container04__content figure:nth-child(even){
        margin-right: 0;
	}
	
	.planning-container04__content figure:nth-child(even){
        margin-left: 0;
    }
	
	.planning-container04__content figcaption{
        font-size: 1.3rem;
		margin-top: 10px;
    }
}

@media screen and (max-width: 575px){
	.package-example__list{
		max-width: 430px;	
	}
	
	.package-example__list li{
        width: 48%;
        margin-left:2%;
        font-size: 1.35rem;
        height: 45px;
    }
	
	.package-example__list li:nth-child(3n + 1){
		margin-left:2%;
	}
	.package-example__list li:nth-child(odd){
        margin-left: 0;
    }
	.package-example__list li .size--sm{
		letter-spacing: -0.01rem;
	}

	.item-category .card-body .card-text,
    .new-items .card-body .card-text,
    .front-page .widget_basic_item_list .card-body .card-text,
    .general-widget-area .widget_basic_item_list .card-body .card-text,
	.item-category .card-body .card-title, .new-items .card-body .card-title,
    .front-page .widget_basic_item_list .card-body .card-title,
    .general-widget-area .widget_basic_item_list .card-body .card-title{
		font-size: 1.3rem;
    }
}
/* ページビルダーお守り */
.wp-caption.alignnone {
    width: auto !important;
}

/* =====================
    RIISI mini
======================== */
.riisi-mini__container:nth-of-type(1){
    padding-bottom: 65px;
}

.riisi-mini__price-text{
    text-align: center;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.33;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 0;
}

.riisi-mini__price .img-wrap{
    max-width: 670px;
    width: min(80%, 670px);
    margin: auto;
}

.riisi-mini__price .riisi-mini__price-text + .img-wrap{
    margin-top: 30px;
}

.riisi-mini__container:nth-of-type(1) hr {
    width: 180px;
    height: 1px;
    background-color: #000000;
    margin: 50px auto 0;
}

.riisi-mini__container:nth-of-type(1) .img-wrap + .riisi-mini__price-text{
    margin-top: 30px;
}

.riisi-mini__container .heading,
.riisi-mini__container .lead{
    font-size: 3.5rem;
}

.riisi-mini__container .text{
    text-align: center;
}

.riisi-mini__container:nth-of-type(2){
    padding: 85px 0 40px;
    background: url('../img/riisi-mini/bg.jpg') no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

.riisi-mini__container:nth-of-type(2) .text{
    margin-top: 25px;
}

.riisi-mini__container:nth-of-type(2) .images--row{
    display: flex;
    width: min(90%, 960px);
    margin: 40px auto 0;
}

.riisi-mini__container:nth-of-type(2) .notice{
    font-size: 1.3rem;
    margin-top: 25px;
    text-align: center;
}

.sauna-info{
    display: flex;
    justify-content: center;
    align-items: center;
}

.riisi-mini__container .sauna-info{
    margin-top: 25px;
}

.sauna-info .img-wrap{
    max-width: 358px;
}

.sauna-info .lineup__box-body{
    margin-left: min(5%, 45px);
}

.riisi-mini__container:nth-of-type(3){
    padding-top: 85px;
    background-color: #d7dcde;
}

.sauna-item__list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
	padding-left:0;
}

.sauna-item__list li{
    width: calc((100% - 25px * 3) / 4);
    max-width: 259px;
    margin: 50px 0 0 25px;
}

.sauna-item__list li:nth-child(4n + 1){
    margin-left: 0;
}

.sauna-item__list figcaption{
    text-align: center;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.36;
    letter-spacing: 0.2em;
    margin-top: 15px;
    font-family: 'Noto Serif JP', serif;
}

.riisi-mini__container:nth-of-type(4){
    padding-bottom: 90px;
}

.riisi-mini__container:nth-of-type(4) .text{
    margin-top: 40px;
}

.riisi-mini__form{
    padding: 85px 0 145px;
    background-color: #ededed;
}

.riisi-mini__form .lead{
    font-size: 3rem;
}

.riisi-mini__form .text{
    font-size: 1.7rem;
    line-height: 2.35;
    margin-top: 25px;
}

.riisi-mini__form-wrap{
    background-color: #ffffff;
    padding: 35px 0 105px;
    margin-top: 55px;
}

@media screen and (max-width: 1200px){
    .sauna-item__list li{
        width: calc((100% - 25px * 2) / 3);
    }

    .sauna-item__list li:nth-child(4n + 1){
        margin-left: 25px;
    }

    .sauna-item__list li:nth-child(3n + 1){
        margin-left: 0;
    }
}

@media screen and (max-width: 1024px){
    .riisi-mini__price-text,
    .riisi-mini__form .lead{
        font-size: 2.7rem;
    }

    .riisi-mini__container:nth-of-type(1) hr {
        margin-top: 40px;
    }

    .riisi-mini__container .heading,
    .riisi-mini__container .lead{
        font-size: 3rem;
    }

    .sauna-item__list figcaption{
        font-size: 2.2rem;
    }
}

@media screen and (max-width: 767px){
    .riisi-mini__price-text{
        font-size: 2.2rem;
        letter-spacing: 0.1em;
    }
	.riisi-mini__price-text:nth-child(5){
        font-size: 2rem;
    }
	.riisi-mini__form .lead{
		font-size: 2rem;
        letter-spacing: 0.1em;
	}

    .riisi-mini__container:nth-of-type(1) hr {
        margin-top: 30px;
    }
	.riisi-mini__container:nth-of-type(1) .img-wrap + .riisi-mini__price-text {
        margin-top: 10px;
    }
	.riisi-mini__container:nth-of-type(1) {
        padding-bottom: 50px;
    }

    .riisi-mini__container .heading,
    .riisi-mini__container .lead{
        font-size: 2.2rem;
    }

    .riisi-mini__container:nth-of-type(2){
        background-attachment: scroll;
		padding: 55px 0 25px;
    }
    .riisi-mini__container:nth-of-type(2) .text {
        margin-top: 20px;
    }

    .riisi-mini__container:nth-of-type(2) .images--row{
        display: block;
		    margin: 30px auto 0;
    }

    .riisi-mini__container:nth-of-type(2) .notice{
        font-size: 12px;
        margin-top: 10px;
    }

    .sauna-info{
        flex-direction: column-reverse;
    }

    .riisi-mini__container .sauna-info{
        margin-top: 35px;
    }

    .sauna-info .lineup__box-body {
        margin: 0;
        width: 100%;
    }

    .riisi-mini__container:nth-of-type(3){
        padding-top: 60px;
    }

    .sauna-item__list figcaption{
        font-size: 1.9rem;
    }

    .sauna-item__list li{
        width: calc((100% - 15px) / 2);
        margin-top: 20px;
    }

    .sauna-item__list li:nth-child(3n + 1),
    .sauna-item__list li:nth-child(even){
        margin-left: 15px;
    }

    .sauna-item__list li:nth-child(odd){
        margin-left: 0;
    }

    .riisi-mini__container:nth-of-type(4){
        padding-bottom: 40px;
		padding-top:45px;
    }

    .riisi-mini__container:nth-of-type(4) .text{
        text-align: left;
		  margin-top: 25px;
    }

    .riisi-mini__form{
        padding: 50px 0 80px;
    }

    .riisi-mini__form-wrap{
        padding-bottom: 75px;
		margin-top: 40px;
		padding: 3vw 2vw 16vw;
    }

	.sauna-info .img-wrap{
		width: 80%;
	}

	.riisi-mini__price .riisi-mini__price-text + .img-wrap{
		margin-top: 25px;
	}

	.riisi-mini__form .text{
        font-size: 1.4rem;
        line-height: 1.8;
		margin-top: 11px;
	}
}

@media screen and (max-width: 575px){
    .sauna-item__list figcaption{
        font-size: 1.4rem;
        margin-top: 7px;
    }
}

.panel-grid-cell .widget-title{
    margin-bottom: 20px;
}

@media screen and (max-width: 767px){
	.panel-grid-cell .widget-title {
    margin-bottom: 13px;
	}
}


/* ECオプション欄削除 */
.iopt_text {display:none;}