@charset "utf-8";

#quickmenu {
    display: flex;
}

body {
    height: 100% !important;
}

.info {
    position: fixed;
    z-index: 99;
    color: #fff;
    top: 0;
    left: 0;
    display: none;
}


.scCheck {
    width: 100%;
    /*    height: 966px;*/
    /*    height: 50.35vw;*/
    height: 103.3vh;
    position: absolute;
    bottom: 0;

}



#hd {
    height: 165px;
    background: none
}

#hd.black #hd_wrapper #hd_menu li a {
    color: #3a3a3a;
}

#main {
    width: 100%;
    background: url(/img/main_bg2.jpg) no-repeat;
    background-size: cover;
    /*    height: 2724px;*/
    /*    height: 141.9vw;*/
    height: 290.7vh;
    position: relative;
    z-index: 2
}

#main .main_inner {
    /*    height: 1380px;*/
    height: 100%;
    position: relative;

}

#main .wheel {
    position: sticky;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}




#main.scroll .main_inner {
    height: 100%;
}

#main .wheel img {
    position: absolute;
    bottom: -270px;
    left: 50%;
    transform: translateX(-50%);
    width: 56.5vw
}

#main .main_text {
    position: absolute;
    /*    top: 230px;*/
    top: 11.98vw;
    width: 100%;
    text-align: center;
    z-index: 1;
    font-weight: normal;
}


#main .main_text h1 img {
    width: 47.14vw;
    opacity: 0;
}

#main .main_text p {
    /*    font-size: 34.6px;*/
    /*     margin-top: 20px;*/
    color: #fff;
    margin-top: 1.04vw;
    font-size: 1.81vw;
    overflow: hidden;
}

#main .main_text p span {
    opacity: 0;
}

#main .festival_text {
    position: absolute;
    /*    top: 274px;*/
    top: 14.27vw;
    left: 46%;
    transform: translateX(-50%);
    z-index: 2
}

#main .festival_text img {
    width: 65.73vw;
    opacity: 0;
}

#about {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    left: 0;
}

#main .main_bottom {
    color: #fff;
    position: absolute;
    width: 100%;
    bottom: 0;


}

#main .main_bottom .txt_wrap {
    /*    padding-bottom: 245px*/
    padding-bottom: 12.76vw;
}

#main .main_bottom .txt_wrap h2 img {
    width: 29.64vw
}

#main .main_bottom .txt_wrap h3 {
    /*    font-size: 47.68px;*/
    font-size: 2.48vw;
    /*    margin: 20px 0 80px;*/
    margin: 1.04vw 0 4.17vw;
    color: #fff;
    font-weight: normal;
}

#main .main_bottom .txt_wrap p {
    /*    font-size: 20px;*/
    font-size: 1.04vw;
    color: #fff;
    line-height: 160%;
}

#main .main_bottom .txt_wrap .txt2 {
    /*    font-size: 20px;*/
    font-size: 1.04vw;
    color: #f9c9f6;
    /*    margin-top: 15px;*/
    margin-top: 0.78vw;
}

#main .main_bottom .baby {
    position: absolute;
    bottom: 0;
    /*    right: 140px;*/
    right: 7.29vw;
    width: 48%;
    overflow: hidden;
}

#main .main_bottom .baby img {
    width: 100%;
}



/*section01 special*/
#special {
    position: relative;
    width: 100%;
    /*    height: calc(100vh * 5);*/
    /*    height: calc(100vh * 4.7);*/
    height: calc(100vh * 2.7);
    bottom: 0%;
    left: 0;
    z-index: 1;
}

#special .video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}

#special .black_bg {
    position: fixed;
    width: 100%;
    min-height: 100%;
    right: 0;
    bottom: 0;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.75);
    z-index: 1
}

#special .video video {
    position: absolute;
    width: 100%;
    min-height: 100%;
    right: 0;
    bottom: 0;
    top: 0;
    left: 0;
    object-fit: cover;
}

#special .section01_inner {
    width: 100%;
    height: 100vh;
    position: sticky;
    z-index: 2;
    top: 0;
    left: 0;
}

#special .text {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

#special .text h2 {
    /*    font-size: 59px;*/
    font-size: 3.07vw;
    color: #fff;
    font-weight: normal;
    position: relative
}

#special .text h2 span {
    color: #c596e0;
}

#special .text p {
    /*    font-size: 20px;*/
    font-size: 1.045vw;
    color: #fff;
    /*    margin-top: 30px;*/
    margin-top: 1.56vw;
    line-height: 160%;
    position: relative
}

#special .sec_inner {
    position: relative;
    height: 100vh;

}

#special .cont3Inner {
    position: relative;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%)
}

#special .displayFlex {
    display: flex;
    align-items: center;
}

#special .img_wrap {
    width: 60%;
}

#special .img_wrap .img {
    overflow: hidden;
    border-radius: 10%;
    border: 6px solid #cfa0e4;
    width: 100%;
}

#special .img_wrap img {
    width: 100%;
}


#special .text_wrap {

    width: 40%;
    text-align: right;
}

#special .text_wrap .twrap_text:nth-child(2) {
    /*    margin: 70px 0;*/
    margin: 3.65vw 0;
}

#special .text_wrap .twrap_text h2 {
    /*    font-size: 53.33px;*/
    font-size: 2.78vw;
    color: #fff;
    font-weight: normal;
    /*    margin-bottom: 10px*/
    margin-bottom: 0.52vw;
}

#special .text_wrap .twrap_text a {
    /*    font-size: 20px;*/
    font-size: 1.045vw;
    color: #fff;
    transition: 0.3s ease;
}

#special .text_wrap .twrap_text.active a,
#special .text_wrap .twrap_text.active a h2 {
    color: #cfa0e4
}

#special .text_wrap .twrap_text p {
    position: relative
}


#special .text_wrap .twrap_text .line {
    height: 3px;
    background: #cfa0e4;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    /*    width: calc(100% - 650px)*/
    width: calc(100% - 34vw);
    transition: 0.3s ease;
}

#special .text_wrap .twrap_text.active.text01 .line {
    /*    width: calc(100% - 190px)*/
    width: calc(100% - 10.94vw)
}

#special .text_wrap .twrap_text.active.text02 .line {
    /*    width: calc(100% - 190px)*/
    width: calc(100% - 3.65vw)
}

#special .text_wrap .twrap_text.active.text03 .line {
    /*    width: calc(100% - 190px)*/
    width: calc(100% - 4.95vw)
}

#special .text_wrap .twrap_text.text02 .line {}


#special .cont03 {
    opacity: 0;
}

#special .cont03 .cont03_arrow {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    column-gap: 30px;

}

#special .cont03 .cont03_arrow > div {
    width: 65px;
    cursor: pointer
}

#special .cont03 .cont03_arrow .arrow_next {
    transform: rotate(180deg);
}

#special .bubble_wrap {
    position: relative;
    z-index: 2
}

#contact {
    position: relative;
    z-index: 99;
    width: 100%;
    height: 100vh;
    background: url(/img/section02_bg2.jpg) no-repeat;
    background-size: cover;
}

#contact .sec_inner {
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
}

#contact .left_cont {
    width: 35%;
    float: left;
}

#contact .left_cont h1 {
    /*    font-size: 59.7px;*/
    font-size: 3.11vw;
    color: #8b24ce;
    font-weight: normal;
}

#contact .left_cont p {
    /*    font-size: 20px;*/
    font-size: 1.04vw;
    color: #3a3a3a;
    /*    margin: 15px 0 40px;*/
    margin: 0 0 2.08vw;
}

#contact .left_cont .tab li:nth-child(2) {
    /*    margin: 20px 0;*/
    margin: 1.04vw 0;
}

#contact .left_cont .tab a {
    display: inline-block;
    /*    padding: 20px 40px;*/
    padding: 1.04vw 2.08vw;
    background: #fff;
    border-radius: 50px;
    border: 1px solid #c1c1c1;
    /*    font-size: 20px;*/
    font-size: 1.04vw;
    color: #3a3a3a;
    transition: background 0.3s ease
}

#contact .left_cont .tab a img {
    /*    margin-left: -30px;*/
    margin-left: -1.56vw;
    opacity: 0;
    transition: margin 0.5s ease, opacity 0.3s ease;
    width: 1.61vw
}

#contact .left_cont .tab a:hover img {
    /*    margin-left: 15px;*/
    margin-left: 0.78vw;
    opacity: 1;
}

#contact .left_cont .tab a span {
    position: relative;
    background: #fff;
    z-index: 1;
    transition: background 0.3s ease
}

#contact .left_cont .tab a.active {
    background: #8b24ce;
    color: #fff
}

#contact .left_cont .tab a.active span {
    background: #8b24ce;
}

#contact .left_cont .tab a.active img {
    display: none;
}

#contact .right_cont {
    width: 65%;
    float: left;
}

#contact .right_cont #bo_w {
    width: 93%;
    background: rgba(255, 255, 255, 0.63);
    border: 3px solid #fff;
    border-radius: 60px;
    /*    padding: 40px 55px;*/
    padding: 2.08vw 2.86vw
}

#contact .bo_w_select,
#contact .option_div,
#contact #bo_w .bo_w_tit .frm_input {
    display: none;
}

#contact .right_cont .write_cont {
    /*    margin-bottom: 20px;*/
    margin-bottom: 1.04vw;
    display: flex;
}

#contact .right_cont .write_cont li {
    float: left;


}

#contact .right_cont .write_cont li:first-child {
    /*    font-size: 20px;*/
    font-size: 1.04vw;
    color: #3a3a3a;
    width: 95px;
    display: table
}

#contact .right_cont .write_cont li:first-child p {
    display: table-cell;
    vertical-align: middle
}

#contact .right_cont .write_cont.content li:first-child p {
    vertical-align: top;
    /*    padding-top: 30px*/
    padding-top: 1.56vw;
}

#contact .right_cont .write_cont li:last-child {
    /*    width: calc(100% - 95px);*/
    width: calc(100% - 4.95vw)
}

#contact .right_cont .write_cont .frm_input {
    width: 100%;
    /*    height: 65px;*/
    height: 3.39vw;
    border-radius: 35px;
    /*    font-size: 16px;*/
    font-size: 0.83vw;
    color: #3a3a3a;
    background: #fff;
    border: 1px solid #c1c1c1;
    /*    padding: 0 32px;*/
    padding: 0 1.67vw
}

#contact .right_cont #wr_content {
    width: 100%;
    /*    height: 158px !important;*/
    height: 8.23vw !important;
    border-radius: 35px;
    /*    font-size: 16px;*/
    font-size: 0.83vw;
    color: #3a3a3a;
    background: #fff;
    border: 1px solid #c1c1c1;
    /*    padding: 30px 32px;*/
    padding: 1.56vw 1.67vw;
    overflow-y: scroll;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

#contact .right_cont #wr_content::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari, Opera*/
}

#contact .right_cont .write_cont .frm_input::-webkit-input-placeholder {
    color: #c1c1c1
}

#contact .right_cont #wr_content::-webkit-input-placeholder {
    color: #c1c1c1
}

#contact .right_cont .write_cont img {
    width: 4vw
}

#contact #bo_w .btn_submit {
    padding: 0;
    height: auto;
    line-height: inherit;
    background: none;
    border-radius: 0;
}

#bo_w .bo_w_tit #btn_autosave {
    display: none;
}


/*bubble*/
.bubble_img {
    position: absolute;
    mix-blend-mode: hard-light;
}

.bubble_img img {
    width: 100%;
}

.bubble_img01 {
    top: 19.27vw;
    right: 9.9vw;
    width: 7.55vw;
}

.bubble_img02 {
    top: 35.16vw;
    left: 0.5vw;
    width: 6.51vw;
}

.bubble_img03 {
    top: 49.48vw;
    right: 0vw;
    width: 18.49vw
}

.bubble_img04 {
    top: 76.74vw;
    left: 13.65vw;
    width: 9.17vw;
}

.bubble_img05 {
    bottom: 27.92vw;
    left: 0vw;
    width: 8.65vw;
}

.bubble_img06 {
    top: 8.69vw;
    right: 10.10vw;
    z-index: 9;
    position: fixed;
    width: 7.55vw;
}

.bubble_img07 {
    bottom: 8.33vw;
    left: 0.05vw;
    z-index: 9;
    position: fixed;
    width: 6.51vw;
}

.bubble_img08 {
    top: -16.68vw;
    right: 0vw;
    width: 18.49vw;
}

.bubble_img09 {
    bottom: 6vw;
    left: 0vw;
    opacity: 0.5;
    width: 8.65vw;
}

.bubble_img10 {
    bottom: 11.46vw;
    left: 0vw;
    opacity: 0.3;
    width: 7.08vw;
}


/*-----------animation-------------*/

#main.on .main_text img {
    animation: blurFadeIn 0.5s ease-in forwards;
}


#main.on .main_text p span {
    animation: blurFadeIn 0.5s ease-in forwards 0.5s;
}


@-webkit-keyframes blurFadeIn {
    0% {
        opacity: 0;
        /*		text-shadow: 0px 0px 40px #fff;*/
        -webkit-transform: scale(1.3);
    }

    50% {
        opacity: 0.5;
        /*		text-shadow: 0px 0px 10px #fff;*/
        -webkit-transform: scale(1.1);
    }

    100% {
        opacity: 1;
        /*		text-shadow: 0px 0px 1px #fff;*/
        -webkit-transform: scale(1);
    }
}

#main.on .festival_text img {
    /*
    animation: blurFadeIn2 0.5s cubic-bezier(0.47, 0, 0.75, 0.72) forwards .7s;
    
*/
    -webkit-animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
    animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2023-3-13 17:55:29
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation text-focus-in
 * ----------------------------------------
 */
@-webkit-keyframes text-focus-in {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

@keyframes text-focus-in {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

@-webkit-keyframes blurFadeIn2 {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.5);
    }

    100% {
        opacity: 1;
        /*		text-shadow: 0px 0px 1px #fff;*/
        -webkit-transform: scale(1);
    }
}


#main .main_bottom .txt_wrap h2,
#main .main_bottom .txt_wrap h3,
#main .main_bottom .txt_wrap p {
    overflow: hidden;
}

#main .main_bottom .txt_wrap h2 img {
    opacity: 0;
    transform: translateY(50px)
}

#main .main_bottom.on .txt_wrap h2 img {
    opacity: 1;
    transform: translateY(0px);
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

#main .main_bottom .txt_wrap h3 span {
    opacity: 0;
    transform: translateY(50px);
    position: relative;
    display: inline-block
}

#main .main_bottom.on .txt_wrap h3 span {
    opacity: 1;
    transform: translateY(0px);
    transition: opacity 0.5s ease-in-out 0.3s, transform 0.5s ease-in-out 0.3s;
}

#main .main_bottom .txt_wrap p span {
    opacity: 0;
    transform: translateY(50px);
    position: relative;
    display: inline-block
}

#main .main_bottom .txt_wrap p.on span {
    opacity: 1;
    transform: translateY(0px);
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

#main .main_bottom .txt_wrap p.txt2.on span {
    transition: opacity 0.5s ease-in-out 0.3s, transform 0.5s ease-in-out 0.3s;
}

#main .main_bottom .baby img {
    opacity: 0;
    transform: translateY(50vw) scale(0.05);

}

#main .main_bottom.on .baby img {
    opacity: 1;
    transform: translateY(0vw) scale(1);
    transition: opacity 1.2s cubic-bezier(0.47, -0.1, 0.41, 1.23), transform 1s cubic-bezier(0.47, -0.1, 0.41, 1.23)
}

#contact .left_cont h1,
#contact .left_cont p {
    overflow: hidden;
}

#contact .left_cont h1 span {
    opacity: 0;
    transform: translateY(50px);
    position: relative;
    display: inline-block
}

#contact.on .left_cont h1 span {
    opacity: 1;
    transform: translateY(0px);
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

#contact .left_cont p span {
    opacity: 0;
    transform: translateY(50px);
    position: relative;
    display: inline-block
}

#contact.on .left_cont p span {
    opacity: 1;
    transform: translateY(0px);
    transition: opacity 0.5s ease-in-out 0.1s, transform 0.5s ease-in-out 0.1s;
}

#contact .tabnav {
    overflow: hidden;
}

#contact .tabnav li {
    transform: translateX(-100px);
    opacity: 0;
}

#contact.on .tabnav li {
    transform: translateX(0px);
    opacity: 1;
}

#contact.on .tabnav li:nth-child(1) {
    transition: opacity 0.5s ease-in-out 0.4s, transform 0.5s ease-in-out 0.4s;
}

#contact.on .tabnav li:nth-child(2) {
    transition: opacity 0.5s ease-in-out 0.5s, transform 0.5s ease-in-out 0.5s;
}

#contact.on .tabnav li:nth-child(3) {
    transition: opacity 0.5s ease-in-out 0.6s, transform 0.5s ease-in-out 0.6s;
}

#contact .right_cont {
    opacity: 0;
}

#contact.on .right_cont {
    opacity: 1;
    transition: opacity 1s ease-in-out 0.3s
}


/* m_ani */
#main.on .main_title img {
    animation: blurFadeIn 0.5s ease-in forwards;
}

#main.on .main_title p {
    overflow: hidden;
}

#main.on .main_title p span {
    opacity: 0
}

#main.on .main_title p span {
    animation: blurFadeIn 0.5s ease-in forwards 0.5s
}

#main .section01 h2 img {
    opacity: 0
}

#main.on .section01 h2 img {
    /*    animation: blurFadeIn2 0.5s cubic-bezier(0.47, 0, 0.75, 0.72) forwards .7s;*/
    -webkit-animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
    animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}

#main .section02 h1,
#main .section02 h2,
#main .section02 p {
    overflow: hidden;
}

#main .section02 h1 img {
    opacity: 0;
    transform: translateY(50px)
}

#main .section02.on h1 img {
    opacity: 1;
    transform: translateY(0px);
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}


#main .section02 h2 span {
    opacity: 0;
    transform: translateY(50px);
    position: relative;
    display: inline-block
}

#main .section02.on h2 span {
    opacity: 1;
    transform: translateY(0px);
    transition: opacity 0.5s ease-in-out 0.3s, transform 0.5s ease-in-out 0.3s;
}

#main .section02 p span {
    opacity: 0;
    transform: translateY(50px);
    position: relative;
    display: inline-block
}

#main .section02.on p span {
    opacity: 1;
    transform: translateY(0px);
    transition: opacity 0.5s ease-in-out 0.5s, transform 0.5s ease-in-out 0.5s;
}

#main .section02.on p.text2 span {
    transition: opacity 0.5s ease-in-out 0.7s, transform 0.5s ease-in-out 0.7s;
}

#main .section02 .baby {
    overflow: hidden;
}

#main .section02 .baby img {
    opacity: 0;
    transform: translateY(50vw) scale(0.05);

}

#main .section02.on .baby img {
    opacity: 1;
    transform: translateY(0vw) scale(1);
    transition: opacity 1.2s cubic-bezier(0.47, -0.1, 0.41, 1.23) 0.5s, transform 1s cubic-bezier(0.47, -0.1, 0.41, 1.23) 0.5s
}




/* bubble ani */

.bubble_img {
    opacity: 0;
    transform: translateY(7vw)
}


.bubble_img.on {
    opacity: 0.7;
    transform: translateY(0vw);
    transition: opacity 1.5s cubic-bezier(0.68, 0, 0.38, 1.41), transform 1.5s cubic-bezier(0.68, 0, 0.38, 1.41)
}

.on.bubble_img01 {
    transition-delay: 0.3s;
}

.on.bubble_img02 {
    transition-delay: 0.5s;
}

.on.bubble_img03 {
    transition-delay: 0s;

}

.on.bubble_img04 {
    transition-delay: 0s;

}

.on.bubble_img05 {
    transition-delay: 0s;
    transition-duration: 1s
}

.on.bubble_img06 {
    transition-delay: 0s;
    transition-duration: 1s
}


.on.bubble_img07 {
    transition-delay: 0.3s;
}

.on.bubble_img08 {
    transition-delay: 0.5s;
}

.on.bubble_img09 {
    transition-delay: 0s;

}

.on.bubble_img10 {
    transition-delay: 0s;

}

.on.bubble_img11 {
    transition-delay: 0s;
    transition-duration: 1s
}

.on.bubble_img12 {
    transition-delay: 0s;
    transition-duration: 1s
}

.on.bubble_img13 {
    transition-delay: 0.3s;
}

.on.bubble_img14 {
    transition-delay: 0.5s;
}

.on.bubble_img15 {
    transition-delay: 0s;

}




.on.bubble_img img {
    animation: bubble ease-in-out infinite;
}

.on.bubble_img01 img {
    animation-duration: 5s
}

.on.bubble_img02 img {
    animation-duration: 7s
}

.on.bubble_img03 img {
    animation-duration: 5s
}

.on.bubble_img04 img {
    animation: bubble2 ease-in-out infinite;
    animation-duration: 5s
}

.on.bubble_img05 img {
    animation-duration: 8s
}

.on.bubble_img06 img {
    animation: bubble2 ease-in-out infinite;
    animation-duration: 5s
}

.on.bubble_img07 img {
    animation-duration: 8s
}

.on.bubble_img08 img {
    animation-duration: 5s
}

.on.bubble_img09 img {
    animation-duration: 6s
}

.on.bubble_img10 img {
    animation-duration: 8s
}

.on.bubble_img11 img {
    animation-duration: 7s
}

.on.bubble_img12 img {
    animation-duration: 5s
}

.on.bubble_img13 img {
    animation-duration: 8s
}

.on.bubble_img14 img {
    animation-duration: 9s
}

.on.bubble_img15 img {
    animation-duration: 6s
}


@-webkit-keyframes bubble {
    0% {
        transform: translateY(0vw)
    }

    50% {
        transform: translateY(2vw)
    }

    100% {
        transform: translateY(0vw)
    }
}

@-webkit-keyframes bubble2 {
    0% {
        transform: translateY(0vw)
    }

    50% {
        transform: translateY(4vw)
    }

    100% {
        transform: translateY(0vw)
    }
}



.specialPc {
    display: block;
}

.specialTablet {
    display: none;
}

.specialMobile {
    display: none;
}







/*-----------media query-------------*/

@media (min-width: 2000px) {

    #hd_wrapper #hd_menu li a {
        font-size: 1.11vw;
    }

    #hd_wrapper #hd_menu li {
        padding: 0 1.82vw
    }

    #hd {
        height: 8.59vw;
    }

}


@media (max-width: 1400px) {

    #contact .right_cont .write_cont .frm_input,
    #contact .right_cont #wr_content {
        font-size: 14px
    }

    #hd {
        height: 135px;
    }

}

@media (max-height: 900px) {
    #special {
        height: 350vw;
    }

    #main .wheel img {
        bottom: -150px;
    }
}

@media (max-height: 800px) {
    #main {
        height: 350vh
    }

    /*
    #special .pc {
        height: 410vw;
    }
*/
}

@media (max-width: 1200px) {

    #special .pc {
        height: 550vw;
    }
}


@media (max-width: 1024px) {
    @media (max-height: 800px) {
        #main {
            height: 250vh
        }

        #main .main_inner {
            height: 40%;
        }

        #main .wheel img {
            bottom: 0
        }

    }

    #special .pc {
        height: 550vw;
    }

    .sec_inner {
        width: 85%
    }

    #contact .left_cont {
        width: 30%;
    }

    #contact .right_cont {
        width: 70%;
    }

    #contact .right_cont #bo_w {
        width: 100%;
    }

    #contact .right_cont .write_cont li:first-child,
    #contact .left_cont p,
    #contact .left_cont .tab a {
        font-size: 17px;
    }

    #contact .right_cont .write_cont .frm_input,
    #contact .right_cont #wr_content {
        font-size: 14.5px
    }

    #contact .right_cont .write_cont .frm_input {
        height: 50px;
        padding: 0 20px;
    }

    #contact .right_cont #wr_content {
        height: 110px !important;
        padding: 20px
    }


}



/*tablet*/
@media (max-width: 1024px) {

    #main {
        width: 100%;
        background: url(/img/mobile/main2.jpg) no-repeat;
        background-size: cover;
        position: relative;
        height: inherit;
    }

    #main .main_title {
        text-align: center;

    }

    #main .main_title h1 {
        width: 53.38vw;
        margin: 0 auto;
    }

    #main .main_title img {
        width: 100%;
    }

    #main .main_title p {
        font-size: 4vw;
        color: #fff;
        margin-top: 2vw;
    }

    .section01 {
        position: relative;
        /*    height: 998px;*/
        /*            height: 153.54vw;*/
        height: 100vh;
        width: 100%;
        padding-top: 15.38vw;
    }



    #main .section01 h2 {
        position: absolute;
        top: 32.15vw;
        left: 50%;
        transform: translateX(-50%);
        width: 94vw
    }

    .section01 h2 img {
        width: 100%;
    }

    .section02 {
        padding-top: 10.77vw;
        position: relative
    }

    .section02 h1 {
        text-align: center;
        width: 57.23vw;
        margin: 0 auto;
    }

    .section02 h1 img {
        width: 100%;
    }

    .section02 h2 {
        text-align: center;
        color: #fff;
        font-size: 4.79vw;
        font-weight: normal;
        margin-top: 2vw;
    }

    .section02 p {
        font-size: 2.87vw;
        color: #f9c9f6;
        text-align: center;
        line-height: 150%;
    }

    .section02 p.text1 {
        color: #fff;
        margin: 4.62vw 0 2.31vw;
    }

    .section02 .baby {
        margin: 6.92vw auto 0;
        text-align: center;
        width: 82.15vw;
    }

    .section02 .baby img {
        width: 100%;
    }


    /*special tablet*/
    .specialPc {
        display: none
    }

    .specialTablet {
        display: block
    }

    .specialMobile {
        display: none;
    }


    #special .section03.tablet {
        display: block
    }

    #special .section03.mobile {
        display: none
    }

    #special {
        position: relative;
        width: 100%;
        height: 200vh;
    }

    #special .video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
    }

    #special .video video {
        position: absolute;
        width: 100%;
        min-height: 100%;
        right: 0;
        bottom: 0;
        top: 0;
        left: 0;
        object-fit: cover;
    }

    #special .black_bg {
        position: absolute;
        width: 100%;
        min-height: 100%;
        height: 100vh;
        right: 0;
        bottom: 0;
        top: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.75);
        z-index: 1
    }

    #special .inner {
        width: 100%;
        height: 100vh;
        position: sticky;
        z-index: 1;
        top: 0;
        left: 0;
    }

    #special .text_wrap .twrap_text h2 {
        font-size: 5.5vw;
    }

    #special .text_wrap .twrap_text a {
        font-size: 3.2vw
    }

    #special .cont_inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
    }

    #special .content {
        text-align: center;
        height: 100vh;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 2;
    }

    #special .content h2 {
        font-size: 6.97vw;
        color: #fff;
        font-weight: normal;
        margin-bottom: 6.15vw;
    }

    #special .content h2 span {
        color: #c596e0;
    }

    #special .content p {
        color: #fff;
        font-size: 3.28vw;
        line-height: 150%;
    }

    #special .cont03 {

        z-index: 10;
        position: relative;
    }

    #special .text_wrap .twrap_text .line {
        display: none;
    }

    #special .displayFlex {

        flex-flow: column-reverse;
    }

    #special .text_wrap {
        width: 100%;
        text-align: center;
    }

    #special .text_wrap h2 {
        font-size: 6.97vw;
        color: #b084b7;
        font-weight: normal
    }

    #special .text_wrap p {
        font-size: 3.28vw;
        color: #fff;
        margin-top: 2.31vw;
    }

    #special .text_wrap li:nth-child(2) {
        margin: 8.46vw 0;
    }

    #special .img_wrap {
        position: relative;
        width: 100%;

    }

    #special .img_wrap::before {
        content: '';
        width: 3px;
        height: 20vw;
        background: #cfa0e4;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);

    }

    #special .sec_inner {
        width: 65%;
    }

    #special .img_wrap .img {
        margin-top: 7vw
    }

    #special .text_wrap h2 {
        font-size: 5.5vw
    }

    #special .text_wrap p {
        font-size: 3.2vw;
        margin-top: 1.2vw
    }

    #special .img_wrap .img {
        top: 0
    }

    #special .img_wrap::before {
        visibility: hidden
    }

    #special .text_wrap .twrap_text:nth-child(2) {
        margin: 5vw 0;
    }

    #special .cont_inner {
        top: 53%;
    }




    #contact {
        width: 100%;
        height: 120vh;
        background: url(/img/mobile/contact_bg.jpg) no-repeat;
        background-size: cover;
        position: relative;
    }

    #contact .sec_inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: inherit
    }

    #contact .left_cont {
        text-align: center;
        width: 100%;
        float: inherit;
    }


    #contact .left_cont h1 {
        font-size: 6.97vw;
        color: #8b24ce;
        font-weight: normal
    }

    #contact .left_cont p {
        font-size: 3.28vw;
        color: #3a3a3a;
    }

    #contact .right_cont {
        width: 100%;
        float: inherit
    }

    #contact .tab {
        margin: 7.69vw 0 3.85vw;
    }

    #contact .tabnav {
        display: flex;
        flex-flow: row;
        justify-content: center;
        column-gap: 2.31vw;
    }

    #contact .tabnav li {
        display: contents
    }

    #contact .left_cont .tab a {
        font-size: 3.08vw;
        color: #3a3a3a;
        padding: 3.08vw 4.62vw;
        background: #fff;
        border-radius: 4.62vw;
        border: 1px solid #c1c1c1
    }

    #contact .tab a.active {
        color: #fff;
        background: #8b24ce
    }

    #contact .right_cont #bo_w .bo_w_select select {
        display: none;
    }

    #contact .right_cont #bo_w.write_cont {
        margin-bottom: 3.08vw;
    }

    #contact .right_cont #bo_w .write_cont li {
        float: left;
    }

    #contact .right_cont #bo_w .write_cont li:first-child {
        width: 17.5%;
        font-size: 3.08vw;
        color: #3a3a3a;
        display: table;
    }

    #contact .right_cont #bo_w .write_cont li:first-child p {
        display: table-cell;
        vertical-align: middle;
    }

    #contact .right_cont #bo_w .write_cont li:last-child {
        width: calc(100% - 17.5%);
    }

    #contact .right_cont #bo_w .bo_w_tit {
        display: none;
    }

    #contact .right_cont #bo_w {
        padding: 4.46vw 4.15vw 4.62vw;
        background: rgba(255, 255, 255, 0.63);
        border: 3px solid #fff;
        border-radius: 4.62vw;
        width: 100%;
    }

    #contact .right_cont #bo_w .frm_input {
        height: 11.54vw;
        border: 1px solid #c1c1c1;
        border-radius: 4.62vw;
        padding: 4.62vw;
        font-size: 2.46vw;
        color: #3a3a3a
    }

    #contact .right_cont #bo_w .frm_input::-webkit-input-placeholder {
        color: #c1c1c1
    }

    #contact .right_cont #bo_w .form_01 textarea::-webkit-input-placeholder {
        color: #c1c1c1
    }

    #contact .write_cont {
        display: flex;
    }

    #contact .right_cont #wr_content {
        height: 24.46vw !important;
        border: 1px solid #c1c1c1;
        border-radius: 4.62vw;
        padding: 4.62vw;
        font-size: 2.46vw;
        color: #3a3a3a
    }

    #contact .right_cont #bo_w .btn_submit {
        width: 11.54vw;
        height: 11.54vw;
        padding: 0;
        background: transparent;
        border-radius: 0;
    }

    #contact .right_cont #bo_w .btn_submit img {
        width: 100%;
    }

    #contact .right_cont #bo_w .form_01 li {
        margin: 0;
    }

    #contact .right_cont .write_cont {
        margin-bottom: 3.08vw
    }

    #contact .left_cont .tab a img {
        display: none;
    }



    /* tablet mobile size */
    #special .section03 {
        z-index: 4;
    }

    .m_bubble_wrap .bubble_img01 {
        width: 12.46vw;
        top: 15.08vw;
        bottom: inherit;
        right: 0;
        left: inherit
    }

    .m_bubble_wrap .bubble_img02 {
        width: 9.23vw;
        top: 19.69vw;
        bottom: inherit;
        right: inherit;
        left: 0;
    }

    .m_bubble_wrap .bubble_img03 {
        width: 13.85vw;
        top: 86.15vw;
        bottom: inherit;
        left: 10.77vw;
        right: inherit;
    }

    .m_bubble_wrap .bubble_img04 {
        width: 21.85vw;
        top: 106.62vw;
        bottom: inherit;
        left: 32vw;
        right: inherit;
    }

    .m_bubble_wrap .bubble_img05 {
        width: 19.23vw;
        top: 107.69vw;
        bottom: inherit;
        left: inherit;
        right: 0;
    }

    .m_bubble_wrap .bubble_img06 {
        width: 19.23vw;
        top: -15vw;
        bottom: inherit;
        left: 0;
        right: inherit;
        position: absolute
    }

    .m_bubble_wrap .bubble_img07 {
        width: 12.46vw;
        top: inherit;
        bottom: 69vw;
        left: inherit;
        right: 2vw;
        position: absolute;
    }

    .m_bubble_wrap .bubble_img08 {
        width: 19.23vw;
        top: -9.08vw;
        bottom: inherit;
        left: inherit;
        right: 0;
        z-index: 5
    }

    .m_bubble_wrap .bubble_img09 {
        width: 14.77vw;
        top: 35.69vw;
        bottom: inherit;
        left: 0;
        right: inherit;
        z-index: 5
    }


    .m_bubble_wrap .bubble_img10 {
        width: 12.46vw;
        top: inherit;
        bottom: 94vw;
        left: inherit;
        right: 1.85vw;
        z-index: 5
    }

    .m_bubble_wrap .bubble_img11 {
        width: 21.85vw;
        top: -14.92vw;
        bottom: inherit;
        left: 16vw;
        right: inherit;
        z-index: 5
    }

    .m_bubble_wrap .bubble_img12 {
        width: 12.46vw;
        top: 13.08vw;
        bottom: inherit;
        left: inherit;
        right: 0;
        z-index: 5
    }

    .m_bubble_wrap .bubble_img13 {
        width: 14.77vw;
        top: 52.77vw;
        bottom: inherit;
        left: 0;
        right: inherit;
        z-index: 5;
        opacity: 0.2;
    }

    .m_bubble_wrap .bubble_img14 {
        width: 31.08vw;
        top: inherit;
        bottom: 3.54vw;
        left: inherit;
        right: 0;
        z-index: 5
    }

    .m_bubble_wrap .bubble_img15 {
        width: 15.85vw;
        top: inherit;
        bottom: 0;
        left: 13.23vw;
        right: inherit;
        z-index: 5
    }

    #contact .left_cont .tab a {

        opacity: 0;
    }

    #contact.on .left_cont .tab a {

        opacity: 1;
    }

    #contact.on .tabnav li:nth-child(1) a {
        transition: opacity 0.5s ease-in-out 0.4s
    }

    #contact.on .tabnav li:nth-child(2) a {
        transition: opacity 0.5s ease-in-out 0.5s
    }

    #contact.on .tabnav li:nth-child(3) a {
        transition: opacity 0.5s ease-in-out 0.6s
    }




}


/*mobile*/

@media (max-width: 500px) {

    .specialPc {
        display: none;
    }

    .specialTablet {
        display: none;
    }

    .specialMobile {
        display: block;
    }

    #special {
        height: 210vh;
    }

    #special .sec_inner {
        width: 85%;
    }


    #special .text_wrap .twrap_text h2 {
        font-size: 6.97vw
    }

    #special .text_wrap .twrap_text a {
        font-size: 3.28vw
    }

    #special .text_wrap .twrap_text:nth-child(2) {
        margin: 6.92vw 0
    }

    #special .text_wrap .twrap_text p a {
        margin-top: 1.54vw
    }

    #special .img_wrap {
        margin-top: 6.15vw;
    }

    #special .img_wrap .img {
        border: 4px solid #cfa0e4
    }

    #special .img_wrap .img {
        margin: 0
    }

    #special .cont03 .cont03_arrow > div {
        width: 10vw
    }

    #special .cont03 .cont03_arrow {
        column-gap: 8.46vw;
        margin-top: 4.62vw;
    }

    #special .cont03 .cont03_arrow > div img {
        width: 100%;
    }

    #contact {
        width: 100%;
        height: 100vh;
        background: url(/img/mobile/contact_bg.jpg) no-repeat;
        background-size: cover;
        position: relative;
    }

    #contact .sec_inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: inherit
    }

    #contact .left_cont {
        text-align: center;
        width: 100%;
        float: inherit;
    }


    #contact .left_cont h1 {
        font-size: 6.97vw;
        color: #8b24ce;
        font-weight: normal
    }

    #contact .left_cont p {
        font-size: 3.28vw;
        color: #3a3a3a;
    }

    #contact .right_cont {
        width: 100%;
        float: inherit
    }

    #contact .tab {
        margin: 7.69vw 0 3.85vw;
    }

    #contact .tabnav {
        display: flex;
        flex-flow: row;
        justify-content: center;
        column-gap: 2.31vw;
    }

    #contact .tabnav li {
        display: contents
    }

    #contact .left_cont .tab a {
        font-size: 3.08vw;
        color: #3a3a3a;
        padding: 3.08vw 4.62vw;
        background: #fff;
        border-radius: 4.62vw;
        border: 1px solid #c1c1c1
    }

    #contact .tab a.active {
        color: #fff;
        background: #8b24ce
    }

    #contact .right_cont #bo_w .bo_w_select select {
        display: none;
    }

    #contact .right_cont #bo_w.write_cont {
        margin-bottom: 3.08vw;
    }

    #contact .right_cont #bo_w .write_cont li {
        float: left;
    }

    #contact .right_cont #bo_w .write_cont li:first-child {
        width: 17.5%;
        font-size: 3.08vw;
        color: #3a3a3a;
        display: table;
    }

    #contact .right_cont #bo_w .write_cont li:first-child p {
        display: table-cell;
        vertical-align: middle;
    }

    #contact .right_cont #bo_w .write_cont li:last-child {
        width: calc(100% - 17.5%);
    }

    #contact .right_cont #bo_w .bo_w_tit {
        display: none;
    }

    #contact .right_cont #bo_w {
        padding: 4.46vw 4.15vw 4.62vw;
        background: rgba(255, 255, 255, 0.63);
        border: 3px solid #fff;
        border-radius: 4.62vw;
        width: 100%;
    }

    #contact .right_cont #bo_w .frm_input {
        height: 11.54vw;
        border: 1px solid #c1c1c1;
        border-radius: 4.62vw;
        padding: 4.62vw;
        font-size: 2.46vw;
        color: #3a3a3a
    }

    #contact .right_cont #bo_w .frm_input::-webkit-input-placeholder {
        color: #c1c1c1
    }

    #contact .right_cont #bo_w .form_01 textarea::-webkit-input-placeholder {
        color: #c1c1c1
    }

    #contact .write_cont {
        display: flex;
    }

    #contact .right_cont #wr_content {
        height: 24.46vw !important;
        border: 1px solid #c1c1c1;
        border-radius: 4.62vw;
        padding: 4.62vw;
        font-size: 2.46vw;
        color: #3a3a3a
    }

    #contact .right_cont #bo_w .btn_submit {
        width: 11.54vw;
        height: 11.54vw;
        padding: 0;
        background: transparent;
        border-radius: 0;
    }

    #contact .right_cont #bo_w .btn_submit img {
        width: 100%;
    }

    #contact .right_cont #bo_w .form_01 li {
        margin: 0;
    }

    #contact .right_cont .write_cont {
        margin-bottom: 3.08vw
    }

    #contact .left_cont .tab a img {
        display: none;
    }


}



@media all and (min-aspect-ratio:4/3) {
    #main .main_title img {
        display: none
    }
}
