@charset "UTF-8";
.wrap{
    width: 100%;
    min-width: 1200px;
}
.inner{
    width: 1200px;
    margin: 0 auto;
    position: relative;
}
.gnav{
    padding: 20px 0;
    position: fixed;
    background-color: #fff;
    z-index: 20;
    top: 0;
}
.gnav .flex-row{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.gnav .flex-row figure{
    width: 200px;
}
.gnav .flex-row figure a{
    width: 100%;
    display: block;
}
.gnav .flex-row figure a img{
    width: 50%;
}
.gnav .flex-row ul{
    display: flex;
    flex-wrap: wrap;
}
.gnav .flex-row ul li{
    margin: 0 20px;
}
.gnav .flex-row ul li a{
    font-size: 16px;
    color: #EC027D;
}
.gnav .flex-row ul li.cta{
}
.gnav .flex-row ul li.cta a{
    background-color: #EC027D;
    padding: 10px 35px;
    color: #fff;
    border-radius: 40px;
}
.flex-row .menu-btn{
    display: none;
}
.flex-row .menu-btn span{}
.flex-row .menu-btn span:nth-of-type(1){}
.flex-row .menu-btn span:nth-of-type(2){}
.flex-row .menu-btn span:nth-of-type(3){}


.fv{
    margin-top: 60px;
}
.fv .row{
    display: flex;
}
.fv .row .left{
    width: 45%;
    padding: 220px 0;
}
.fv .row .left h2{
    text-align: center;
    font-size: 64px;
    font-weight: bold;
    color: #EC027D;
    text-shadow: 0 4px 4px rgba(0,0,0,0.25);
}
.fv .row .left h3{
    display: none;
}

.fv .row .right{
    background-image: url(../img/fv-img.png);
    background-size: cover;
    width: 55%;
    background-position: center center;
}
.fv .row .right p{}

main{}
main .btn-box{
    position: absolute;
    right: 0;
    bottom: 0;
}
main .btn-box a{
    color: #EC027D;
    text-shadow: 0 4px 4px rgba(0,0,0,0.2);
    border-bottom: solid 1px #EC027D;
    padding-bottom: 10px;
    padding-right: 60px;
    position: relative;
}
main .btn-box a::after{
    content: "";
    width: 2em;
    height: 1px;
    display: inline-block;
    background-color: #EC027D;
    position: absolute;
    bottom: -1px;
    right: 0;
    transform: rotateZ(45deg);
    transform-origin: bottom right;
}
main .ttl{
    text-align: center;
    margin-bottom: 50px;
}
main .ttl h2{
    font-weight: bold;
    color: #EC027D;
    font-size: 40px;
}
main .ttl h3{
    color: #EC027D;
    margin-top: 10px;
}

.content01{
    padding: 50px 0;
}
.content01 .row{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    margin: 100px 0;
}
.content01 .row::after{
    content: "VISION";
    position: absolute;
    font-size: 200px;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 30px;
    text-align: center;
    color: #E7A9A9;
    opacity: 0.15;
    z-index: -1;
}
.content01 .row .left{
    width: 50%;
}
.content01 .row .left h2{
    text-align: center;
    font-size: 64px;
    font-weight: bold;
    color: #EC027D;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.content01 .row .right{
    width: 50%;
    display: flex;
    align-items: center;
}
.content01 .row .right p{
    line-height: 1.7em;
    font-size: 20px;
}

.content02{}
.content02 .row{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.content02 .row .left{
    width: 50%;
    background-image: url(../img/content02-img.png);
    background-size: cover;
    background-position: center center;
}
.content02 .row .right{
    width: 600px;
    margin-right: calc(50% - 600px);
    padding: 130px 0 180px;
    padding-left: 40px;
    position: relative;
}
.content02 .row .right h2{
    font-weight: bold;
    color: #EC027D;
    font-size: 40px;
}
.content02 .row .right h3{
    color: #EC027D;
    margin-top: 10px;
}

.content03{
    padding: 100px 0;
}
.content03 .service-area{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.content03 .service-area .service-box{
    width: 30%;
    margin: 0 1.666% 40px;
}
.content03 .service-area .service-box figure{}
.content03 .service-area .service-box figure img{
    width: 100%;
}
.content03 .service-area .service-box h4{
    background-color: #EC027D;
    text-align: center;
    padding: 10px 0;
    color: #fff;
}

.content04{
    padding: 0px 0 100px;
}
.content04 .voice-area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 70px;
}
.content04 .voice-area .voice-box{
    width: 30%;
    border: solid 1px #EC027D;
    padding: 30px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
}
.content04 .voice-area .voice-box span{
    position: absolute;
    top: -15px;
    left: -20px;
    font-size: 20px;
    background-color: #fff;
    padding: 5px;
    color: #EC027D;
    letter-spacing: 0.05em;
    transform: rotateZ(-5deg);
}
.content04 .voice-area .voice-box h2{
    font-weight: bold;
    margin-bottom: 10px;
}
.content04 .voice-area .voice-box p.main{
    font-size: 14px;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.content04 .voice-area .voice-box p.name{
    align-self: flex-end;
    text-align: right;
    width: 100%;
}

.content05{
    padding: 0 0 100px;
}
.content05 .slick{}
.content05 .slick li{}
.content05 .slick li img{
    width: 100%;
}

.content-cta{
    padding: 50px 0;
    background-color: #E7A9A9;
}
.content-cta .cta-box{
    text-align: center;
}
.content-cta .cta-box p{
    color: #fff;
    margin-bottom: 20px;
}
.content-cta .cta-box div{}
.content-cta .cta-box div a{
    border: solid 1px #fff;
    padding: 20px 50px;
    color: #fff;
    display: inline-block;
}
.content-cta .ttl{
    margin-bottom: 30px;
}
.content-cta .ttl h2{
    color: #fff;
}
.content-cta .ttl h3{
    color: #fff;
}

footer{
    padding: 60px 0 30px;
}
footer h2{
    text-align: center;
    font-size: 20px;
}
footer ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 50px 0;
}
footer ul li{
    margin: 0 30px;
}
footer ul li a{
    color: #000;
    font-size: 14px;
}
footer p{
    text-align: center;
}


/* 下層ページ */

.sub-fv{
    margin-top: 60px;
}
.sub-fv .row{
    display: flex;
}
.sub-fv .row .left{
    padding: 320px 0 100px;
    width: 45%;
    padding-left: calc((100% - 1200px)/2);
}
.sub-fv .row .left h2{
    text-align: left;
    font-size: 64px;
    font-weight: bold;
    color: #EC027D;
}
.sub-fv .row .left h3{color: #EC027D;font-size: 20px;}

.sub-fv .row .right{
    background-size: cover;
    width: 55%;
    background-position: center center;
}
.sub-fv.company .row .right{
    background-image: url(../img/fv-back-copmany.png);
}
.sub-fv.business .row .right{
    background-image: url(../img/fv-back-business.png);
}
.sub-fv.shop .row .right{
    background-image: url(../img/fv-back-shop.png);
}
.sub-fv.voice .row .right{
    background-image: url(../img/fv-back-voice.png);
}
.sub-fv.contact .row .right{
    background-image: url(../img/fv-back-contact.png);
}


.comapny-content01{
    background-color: #f4f4f4;
    padding: 100px 0;
    margin-top: 50px;
}
.comapny-content01 h2{
    text-align: center;
    font-size: 54px;
    font-weight: bold;
    color: #EC027D;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.comapny-content01 h3{
    text-align: center;
    font-size: 30px;
    margin-top: 30px;
}

.comapny-content02{
    padding: 100px 0;
}
.comapny-content02 h2{
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 50px;
}
.comapny-content02 dl{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 70%;
    margin: 0 auto 100px;
}
.comapny-content02 dl dt{
    margin-bottom: 30px;
    width: 30%;
    font-size: 20px;
}
.comapny-content02 dl dd{
    width: 70%;
    margin-bottom: 30px;
    line-height: 1.7em;
    font-size: 20px;
}
.comapny-content02 p{
    width: 70%;
    margin: 0 auto 50px;
    line-height: 1.7em;
    font-size: 20px;
    text-align: justify;
}
.comapny-content02 span{
    width: 70%;
    display: block;
    margin: 0px auto;
    text-align: right;
    font-size: 18px;
    line-height: 1.7em;
}

.business-content01{
    padding: 100px 0;
}
.business-content01 .business-area{}
.business-content01 .business-area .business-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 50px;
    position: relative;
}
.business-content01 .business-area .business-box > figure{
    width: 37%;
}
.business-content01 .business-area .business-box figure img{
    width: 100%;
}
.business-content01 .business-area .business-box .text{
    width: 60%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
}
.business-content01 .business-area .business-box .text h2{width: 100%;color: #EC027D;font-size: 20px;margin-bottom: 10px;}
.business-content01 .business-area .business-box .text h3{
    width: 100%;
    font-size: 24px;
    font-weight: bold;
    color: #EC027D;
    margin-bottom: 20px;
}
.business-content01 .business-area .business-box .text > figure{
    display: none;
}
.business-content01 .business-area .business-box .text p{
    width: 100%;
    font-size: 18px;
    line-height: 1.5em;
}

.shop-content01{
    padding: 100px 0;
}
.shop-content01 figure.ttl{
    margin: 100px auto 50px;
    text-align: center;
}
.shop-content01 figure.ttl img{
    width: auto;
}
.shop-content01 .wonder-item{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.shop-content01 .wonder-item .item-box{
    width: 47%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.shop-content01 .wonder-item .item-box > figure{width: 40%;}
.shop-content01 .wonder-item .item-box figure img{
    width: 100%;
}
.shop-content01 .wonder-item .item-box .text{
    width: 60%;
    padding-left: 5%;
}
.shop-content01 .wonder-item .item-box .text h2{
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}
.shop-content01 .wonder-item .item-box .text h3{
    font-size: 14px;
    margin-bottom: 30px;
}
.shop-content01 .wonder-item .item-box .text > figure{
    display: none;
}
.shop-content01 .wonder-item .item-box .text p{
    font-size: 15px;
    line-height: 1.7em;
}
.shop-content01 .wonder-item .item-box .price{
    width: 100%;
    text-align: center;
}
.shop-content01 .wonder-item .item-box .price h2{
    margin: 20px auto 30px;
}
.shop-content01 .wonder-item .item-box .price a{
    display: inline-block;
    border: solid 1px #000;
    font-size: 16px;
    padding: 10px 50px;
    color: #000;
}
.shop-content01 .spinahl-item{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.shop-content01 .spinahl-item .item-box{
    width: 27%;
    text-align: center;
}
.shop-content01 .spinahl-item .item-box h2{
    font-size: 20px;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: left;
}
.shop-content01 .spinahl-item .item-box h3{
    font-size: 14px;
    margin-bottom: 30px;
    text-align: left;
}
.shop-content01 .spinahl-item .item-box figure{
    margin-bottom: 30px;
}
.shop-content01 .spinahl-item .item-box figure img{
    width: 100%;
}
.shop-content01 .spinahl-item .item-box h4{
    text-align: center;
    margin: 20px auto 30px;
    font-weight: normal;
}
.shop-content01 .spinahl-item .item-box a{
    display: inline-block;
    border: solid 1px #000;
    font-size: 16px;
    padding: 10px 50px;
    color: #000;
}

.voice-content01{
    padding: 100px 0 50px;
}
.voice-content01 .voice-area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.voice-content01 .voice-area .voice-box{
    width: 30%;
    border: solid 1px #EC027D;
    padding: 30px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px;
}
.voice-content01 .voice-area .voice-box span{
    position: absolute;
    top: -15px;
    left: -20px;
    font-size: 20px;
    background-color: #fff;
    padding: 5px;
    color: #EC027D;
    letter-spacing: 0.05em;
    transform: rotateZ(-5deg);
}
.voice-content01 .voice-area .voice-box h2{
    font-weight: bold;
    margin-bottom: 10px;
}
.voice-content01 .voice-area .voice-box p.main{
    font-size: 14px;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.voice-content01 .voice-area .voice-box p.name{
    align-self: flex-end;
    text-align: right;
    width: 100%;
}

.contact-content01{
    padding: 100px 0;
}
.contact-content01 .detail{}
.contact-content01 .detail{
    text-align: center;
    font-size: 18px;
    line-height: 1.7em;
    margin-bottom: 100px;
}
.contact-content01 .form{
    width: 70%;
    margin: 0 auto;
}
.contact-content01 .form dl{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.contact-content01 .form dl dt{
    width: 25%;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
}
.contact-content01 .form dl dd{
    width: 70%;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.contact-content01 .form dl dd .wpcf7-list-item{
    width: 50%;
    margin-bottom: 10px;
    display: inline-block;
}
.contact-content01 .form input,
.contact-content01 .form textarea{
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.contact-content01 .form dl dd input[type="text"],
.contact-content01 .form dl dd input[type="email"]{
    background-color: #E7A9A940;
    width: 100%;
    padding: 10px;
}
.contact-content01 .form dl dd input[type="checkbox"]{
    padding: 10px;
    background-color: #ccc;
    position: relative;
    margin-right: 10px;
}
.contact-content01 .form dl dd input[type="checkbox"]:checked:before {
    position: absolute;
    z-index: 10;
    top: 2px;
    left: 6px;
    transform: rotate(50deg);
    width: 6px;
    height: 10px;
    border-right: 2px solid #EC027D;
    border-bottom: 2px solid #EC027D;
    content: '';
}
.contact-content01 .form dl dd textarea{
    width: 100%;
    padding: 10px;
    background-color: #E7A9A940;
    height: 300px;
}
.contact-content01 .form .privacy input{
    padding: 10px;
    background-color: #ccc;
    position: relative;
    margin-right: 5px;
}
.contact-content01 .form .privacy{
    text-align: center;
}
.contact-content01 .form .privacy p{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.contact-content01 .form .privacy p input[type="checkbox"]:checked:before {
    position: absolute;
    z-index: 10;
    top: 2px;
    left: 6px;
    transform: rotate(50deg);
    width: 6px;
    height: 10px;
    border-right: 2px solid #EC027D;
    border-bottom: 2px solid #EC027D;
    content: '';
}

.contact-content01 .form input[type="submit"]{
    display: block;
    margin: 50px auto 0;
    border: solid 2px #E7A9A9;
    padding: 20px 100px;
    font-size: 24px;
    color: #E7A9A9;
}

.wpcf7-form-control-wrap{
    width: 100%;
}