@charset "UTF-8";

.hide-text {
	display:block;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

.pcNone{
	display:none;
}

.cmn_center{
    text-align: center;
    margin: 0 auto;

}



/* font-family */
.ffbc{
    font-family: 'Baloo Chettan 2', cursive;
}

.ffkm{
    font-family: 'Kiwi Maru', serif;
    letter-spacing: 0;
}

/* font-size */
.fs10{
    font-size: 1.0rem;
}

.fs12{
    font-size: 1.2rem;
}

.fs13{
    font-size: 1.3rem;
}

.fs14{
    font-size: 1.4rem;
}

.fs15{
    font-size: 1.5rem;
}

.fs16{
    font-size: 1.6rem;
}

.fs18{
    font-size: 1.8rem;
}

.fs20{
    font-size: 2.0rem;
}

.fs24{
    font-size: 2.4rem;
}

.fs36{
    font-size: 3.6rem;
}

.fs62{
    font-size: 6.2rem;
}

/* maxbox */
.cmn_maxbox_600 {
	width:100%; max-width: 600px; margin: 0 auto;
}

.cmn_maxbox_700 {
	width:100%; max-width: 700px; margin: 0 auto;
}

.cmn_maxbox_800 {
	width:100%; max-width: 800px; margin: 0 auto;
}

.cmn_maxbox {
	width:100%; max-width: 1000px; margin: 0 auto;
}

.cmn_maxbox_1400 {
	width:100%; max-width: 1400px; margin: 0 auto;
}

/* box_inner */

.cmn_boxinner_50{
    padding-top: 50px;
    padding-bottom: 50px;
}

.cmn_boxinner_100{
    padding-top: 100px;
    padding-bottom: 100px;
}

.cmn_boxouter_100{
    margin-top: 100px;
    margin-bottom: 100px;
}

/* padding */

.pt50{
    padding-top: 50px;
}

.pt100{
    padding-top: 100px;
}


/* common /////////////////////////////////////////////////////////////////////////////////////////// */


#wrapper {
	overflow: hidden;
}


header {
	width:100%;
}

main {
    width:100%;
}

footer {
	width:100%;
}


/* modalmenu */
#header_modalmenu_check:checked ~ .header_infobar {
    /* box-shadow: 0 8px 20px 0 #e5e5e5; */
}

#header_modalmenu_check {
    /* position: absolute;
    right: 5%;
    top: 50px;
    transform: translate(50%, -50%);
    z-index: -99;
    display: inline-block;
    opacity: 0; */
    display: none;
}

.header_modalmenu_btn {
    flex-shrink: 0;
    /* display: inline-flex; */
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    cursor: pointer;
	z-index: 50;
    position: absolute;
    top: 20px;
    right: 40px;
}

.header_modalmenu_btn .box {
    display: inline-block;
    width: 40px;
    height: 20px;
    position: absolute;
    top: 20px;
    left: 10px;
}

.header_modalmenu_btn .box span {
    position: absolute;
    left: 0;
    top: calc((100% - 1px)/2);
    display: block;
    width: 100%;
    height: 2px;
    transition: transform .15s,
                opacity .15s;
    background-color: #e50012;
}

.header_modalmenu_btn .top {
    transform: translateY(-10px);
}

.header_modalmenu_btn .bottom {
    transform: translateY(10px);
}

#header_modalmenu_check:checked ~ .header_infobar .header_modalmenu_btn .top {
    transform: rotate(45deg);
}

#header_modalmenu_check:checked ~ .header_infobar .header_modalmenu_btn .center {
    opacity: 0;
}

#header_modalmenu_check:checked ~ .header_infobar .header_modalmenu_btn .bottom {
    transform: rotate(-45deg);
}

#header_modalmenu_close_bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    background-color: rgba(0, 0, 0, 0.6);
	z-index: 30;
}

#header_modalmenu_check:checked ~ #header_modalmenu_close_bg {
    display: block;
}

#header_modalmenu_area {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: auto;
    padding: 0 0 30px;
    opacity: 0;
    transition: opacity .15s;
    overflow: auto;
    pointer-events: none;
	z-index: 40;
}

#header_modalmenu_check:checked ~ #header_modalmenu_area {
    opacity: 1;
    pointer-events: all;
}

.header_modalmenu_areainner {
    overflow-y: auto;
}

.header_modalmenu_nav form input{
    width: calc(100% - 40px);
    margin: 0;
    padding: 0 0 0 10px;
    border: none;
    height: 40px;
    border-radius: 0;
}

.header_modalmenu_nav .subtmit_gsrh{
    width: 40px;
    height: 40px;
    border-radius: 0;
    margin: 0;
    padding: 0;
    border: none;
    background-color: #00a0dc;
    background-image: url(../img/cmn_ico_search.svg);
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
}

.header_modalmenu_nav ul {
    background-color: #ffffff;
    padding-top: 100px;
    padding-bottom: 50px;
    margin-bottom: 50px;
    border: solid 2px #e50012;
}

.header_modalmenu_nav ul li{
    position: relative;
}
.header_modalmenu_nav ul li:after {
    content: "";
    display: block;
    max-width: 1040px;
    width: 80%;
    height: 8px;
    background-image: url(../img/cmn_tit_1st.svg);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.header_modalmenu_nav a {
    display: block;
    padding: 14px;
    text-align: center;
    font-weight: bold;
    width: 60%;
    min-width: 250px;
    margin: 0 auto;
    border-bottom: solid 1px #e50012;
}

.header_modalmenu_nav a span{
	display: block;
	font-size: 1.2rem;
	line-height: 1;
}

/* スライドアニメーション */

.scrollanime{
    opacity: 0;
}

.scrollanime2{
    opacity: 0;
}

.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

.fadeInDown2 {
    animation-name: fadeInDown2;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
    }
    100% {
    opacity: 1;
    transform: translate(0);
    }
}

@keyframes fadeInDown2 {
    0% {
        opacity: 0;
    }
    100% {
    opacity: 1;
    }
}

.updown {transform: translateY(-100px);}
.downup {transform: translateY(100px);}
.slide-right {transform: translateX(400px);}
.slide-left {transform: translateX(-400px);}

.delay2{
    animation-delay: .2s;
}

.delay4{
    animation-delay: .4s;
}

.delay5{
    animation-delay: .5s;
}

.delay6{
    animation-delay: .6s;
}

.delay8{
    animation-delay: .8s;
}

/* cmn_tit */
.cmn_tit_1st{
    margin-bottom: 55px;
}

.cmn_tit_1st h2{
    font-weight: bold;
    line-height: 1;
    position: relative;
    margin-bottom: 5px;
}

.cmn_tit_1st h2::before{
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-right: 25px;
    background-image: url(../img/cmn_tit_1st_left.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

.cmn_tit_1st h2::after{
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-left: 25px;
    background-image: url(../img/cmn_tit_1st_right.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}



/* cmn_btn */

.cmn_btn{
    width: 300px;
}


.cmn_btn a{
    display: block;
    width: 100%;
    background-color: #e50012;
    color: #ffffff;
    padding: 22px 0;
    border-radius: 10px;
}

/* header ///////////////////////////////////// */
.header_infobar{
    height: 100px;
    padding-left: 50px;
    position: relative;
    z-index: 500;
}
.header_logo{
    height: 100%;
    display: flex;
    align-items: center;
}
.header_logo > a{
    display: block;
}
.header_logo > img{
    margin-left: 25px;
}

/* main_img ///////////////////////////////////// */
.main_img{
    background-color: #e50012;
    height: 530px;
    background-image: url(../img/main_img.png);
    background-repeat: no-repeat;
    background-size: auto calc(100% + 10px);
    background-position: center -25px;
    position: relative;
}

.main_title{
    width: 650px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-46%) translateY(-53%);
}

.main_img_deco{
    position: absolute;
    bottom: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    min-width: 1400px;
}

/* about ///////////////////////////////////// */
.about > .cmn_maxbox{
    position: relative;
    padding-bottom: 200px;
}

.about_character_1{
    width: 180px;
    height: 400px;
    position: absolute;
    top: -110px;
    left: -200px;
}

.about_character_2{
    width: 206px;
    height: 435px;
    position: absolute;
    top: -110px;
    right: -210px;
}

.about_bottom_deco{
    width: 1400px;
    position: absolute;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}


/* introduction ///////////////////////////////////// */

/* ambassador */
.ambassador_list_box{
    display: flex;
    justify-content: space-around;
}

.ambassador_list{
    display: flex;
    justify-content: space-around;
    margin-top: 40px;
    width: 50%;
}

.ambassador_list li{
    width: 240px;
    height: 240px;
    padding: 20px 20px 0 20px;
    background-image: url(../img/cmn_photo_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.ambassador_list li a{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.ambassador_list li a:hover{
    opacity: 1;
    animation-name: jump;
    animation-duration: .4s;
    animation-fill-mode: ease-in-out forwards;
}

.ambassador_list li a img:hover{
    opacity: 1;
}

@keyframes jump {
    0% {
        opacity: 1;
        transform: translateY(0px);
    }
    25%{
        opacity: 1;
        transform: translateY(-20px);
    }
    50%{
        opacity: 1;
        transform: translateY(0px);
    }
    75%{
        opacity: 1;
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}


.ambassador_list a p{
    width: 100%;
    height: 50px;
    background-image: url(../img/cmn_text_deco_01.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    bottom: 10px;
}

.ambassador_list li a .fs12{
    line-height: 1.3;
}

/* sofa */
.introduction .cmn_maxbox_1400{
    padding-top: 60px;
    padding-left: 30px;
    padding-right: 30px;
}

.introduction .cmn_maxbox_1400 > div{
        border: solid 7px #ffffff;
        background-color: #eaeaea;
        border-radius: 20px;
        position: relative;
}

.introduction .cmn_maxbox_1400 > div::before{
        content: "";
        display: block;
        width: calc(100% + 18px);
        height: calc(100% + 18px);
        background-color: #000000;
        position: absolute;
        top: -9px;
        left: -9px;
        z-index: -5;
        border-radius: 20px;
}

.introduction .cmn_maxbox_1400 > div > h3{
        max-width: 880px;
        height: 120px;
        background-image: url(../img/cmn_text_deco_02.png);
        background-repeat: no-repeat;
        background-size: 100% 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        transform: translateY(-50%);
        position: relative;
        letter-spacing: -1px;
}

.introduction .cmn_maxbox_1400 > div > h3::before{
    content: "";
    display: block;
    width: 150px;
    height: 118px;
    background-image: url(../img/introduction_1st.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -30px;
    left: -50px;
}

.introduction .cmn_maxbox_1400 .cmn_maxbox > ul > li{
    display: flex;
    flex-direction: row-reverse;
    margin-bottom: 50px;
}
.introduction .cmn_maxbox_1400 .cmn_maxbox > ul > li:nth-of-type(2n){
    flex-direction: row;
}

.introduction .cmn_maxbox_1400 .cmn_maxbox > ul > li figure{
    width: 400px;
    margin-right: 100px;
    position: relative;
}

.introduction .cmn_maxbox_1400 .cmn_maxbox > ul > li figure::after{
    content: "";
    height: 100%;
    width: 13px;
    background-image: url(../img/introduction_deco_left.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
    top: 0;
    right: -60px;
}

.introduction .cmn_maxbox_1400 .cmn_maxbox > ul > li:nth-of-type(2n) figure{
    margin-right: 0;
    margin-left: 100px;
}

.introduction .cmn_maxbox_1400 .cmn_maxbox > ul > li:nth-of-type(2n) figure::after{
    background-image: url(../img/introduction_deco_right.png);
    position: absolute;
    top: 0;
    left: -60px;
}

.introduction .cmn_maxbox_1400 .cmn_maxbox > ul > li div{
    width: 500px;
}

.introduction .cmn_maxbox_1400 .cmn_maxbox > ul > li div h4{
    line-height: 1;
    margin-bottom: 20px;
}

.introduction .buy_items{
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.introduction .buy_items > div{
    margin-bottom: 30px;
}

/* information ///////////////////////////////////// */
.information .cmn_tit_1st{
    margin-bottom: 20px;
}

.information_content{
    background-image: url(../img/cmn_photo_bg.png);
    background-repeat: no-repeat;
    background-size: 100%;
    padding-top: 70px;
    padding-bottom: 40px;
    position: relative;
}

.information_content figure{
    border: solid 5px #eaeaea;
    width: 27%;
    box-shadow: 3px  3px 0px rgba(81,81,81,.5);
}

.information_content figure:nth-of-type(1){
    transform: rotateZ(-10deg);
    transform-origin: left top;
    margin-bottom: -30px;
}

.information_content figure:nth-of-type(2){
    transform: rotateZ(5deg);
    position: absolute;
    top: 65px;
    left: 37%;
}

.information_content figure:nth-of-type(3){
    transform: rotateZ(-5deg);
    position: absolute;
    top: 10px;
    right: 0px;
    transform-origin: right bottom;
}

.information_content figure:nth-of-type(4){
    transform: rotateZ(5deg);
    transform-origin: left top;
    margin-left: 70px;
}

.information_content figure:nth-of-type(5){
    transform: rotateZ(-10deg);
    position: absolute;
    bottom: 30px;
    left: 38%;
}

.information_content figure:nth-of-type(6){
    transform: rotateZ(3deg);
    position: absolute;
    bottom: 35px;
    right: 65px;
    transform-origin: right bottom;
}

.information_text_box{
    background-image: url(../img/information_text_deco.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    padding: 40px 45px 30px;
    position: relative;
    z-index: 5;
    margin-bottom: 20px;
}

.information_text_box p{
    color: #ffffff;
}

/* footer ///////////////////////////////////// */
footer > figure > img{

	vertical-align: bottom;
}

.footer_top{
    background-color: #666666;
    color: #ffffff;
}

.footer_top .cmn_maxbox_600{
    display: flex;
    justify-content: space-between;
    padding-top: 15px;
    padding-bottom: 20px;
}

.footer_top .cmn_maxbox_600 a{
    display: block;
    width: 250px;
    height: 60px;
    text-align: center;
    color: #ffffff;
    background-color: #e51e79;
    background-image: url(../img/footer_insta.png);
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-position: 30px center;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer_top .cmn_maxbox_600 a:nth-of-type(2){
    background-color: #1da1f2;
    background-image: url(../img/footer_twitter.png);
}

.footer_bottom{
    height: 40px;
    background-color: #e50012;
    color: #ffffff;
    display: flex;
    align-items: center;
}

.footer_gotop {
    position: fixed;
    right: 50px;
    bottom: 50px;
    display: none;
}

.footer_gotop a{
    display: block;
    width: 60px;
    height: 60px;
}