@charset "utf-8";

html{
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho", serif;
    overflow-x: hidden;
    overflow-y: scroll;
    font-size: 62.5%;
}
body{
    height: 100%;
    width: 100%;
    font-size: 1.6rem;
    line-height: 140%;
    background: #fff;
    text-align: left;
    color: #707070;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    overflow:hidden;
}

body a {
    color: #000;
    text-decoration: none;
    outline: none;
    -webkit-transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
}
body a:hover,
body a:active {
}
body a img {
    -webkit-transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
    backface-visibility: hidden;
}
img {
    max-width:100%;
}
.container{
    max-width:900px;
}
.vhide{
    display: none;
}


.ft10{
    font-size:1.0rem;
}
.ft12{
    font-size:1.2rem;
}
.ft14{
    font-size:1.4rem;
}
.ft16{
    font-size:1.6rem;
}
.ft18{
    font-size:1.8rem;
}
.ft20{
    font-size:2.0rem;
}
.ft22{
    font-size:2.2rem;
}
.ft24{
    font-size:2.4rem;
}
.ft26{
    font-size:2.6rem;
}
.ft28{
    font-size:2.8rem;
}
.ft30{
    font-size:3.0rem;
}


.p-6 {
    padding: 4rem !important;
}
.pt-6,
.py-6 {
    padding-top: 4rem !important;
}
.pr-6,
.px-6 {
    padding-right: 4rem !important;
}
.pb-6,
.py-6 {
    padding-bottom: 4rem !important;
}
.pl-6,
.px-6 {
    padding-left: 4rem !important;
}


.p-7 {
    padding: 5rem !important;
}
.pt-7,
.py-7 {
    padding-top: 5rem !important;
}
.pr-7,
.px-7 {
    padding-right: 5rem !important;
}
.pb-7,
.py-7 {
    padding-bottom: 5rem !important;
}
.pl-7,
.px-7 {
    padding-left: 5rem !important;
}

.p-8 {
    padding: 6rem !important;
}
.pt-8,
.py-8 {
    padding-top: 6rem !important;
}
.pr-8,
.px-8 {
    padding-right: 6rem !important;
}
.pb-8,
.py-8 {
    padding-bottom: 6rem !important;
}
.pl-8,
.px-8 {
    padding-left: 6rem !important;
}


.m-6 {
    margin: 4rem !important;
}

.mt-6,
.my-6 {
    margin-top: 4rem !important;
}

.mr-6,
.mx-6 {
    margin-right: 4rem !important;
}

.mb-6,
.my-6 {
    margin-bottom: 4rem !important;
}

.ml-6,
.mx-6 {
    margin-left: 4rem !important;
}

.m-7 {
    margin: 5rem !important;
}

.mt-7,
.my-7 {
    margin-top: 5rem !important;
}

.mr-7,
.mx-7 {
    margin-right: 5rem !important;
}

.mb-7,
.my-7 {
    margin-bottom: 5rem !important;
}

.ml-7,
.mx-7 {
    margin-left: 5rem !important;
}

.m-8 {
    margin: 6rem !important;
}

.mt-8,
.my-8 {
    margin-top: 6rem !important;
}

.mr-8,
.mx-8 {
    margin-right: 6rem !important;
}

.mb-8,
.my-8 {
    margin-bottom: 6rem !important;
}

.ml-8,
.mx-8 {
    margin-left: 6rem !important;
}


.text-xs-left { text-align: left; }
.text-xs-right { text-align: right; }
.text-xs-center { text-align: center; }
.text-xs-justify { text-align: justify; }

@media (min-width: 768px) {
    .text-sm-left { text-align: left; }
    .text-sm-right { text-align: right; }
    .text-sm-center { text-align: center; }
    .text-sm-justify { text-align: justify; }
}

@media (min-width: 992px) {
    .text-md-left { text-align: left; }
    .text-md-right { text-align: right; }
    .text-md-center { text-align: center; }
    .text-md-justify { text-align: justify; }
}

@media (min-width: 1200px) {
    .text-lg-left { text-align: left; }
    .text-lg-right { text-align: right; }
    .text-lg-center { text-align: center; }
    .text-lg-justify { text-align: justify; }
}

.navbar-brand img{
    max-width:180px;
}
@media (min-width: 768px) {
    .navbar-brand img{
        max-width:210px;
    }
}
.navbar-nav {
    text-align: right;
}
@media (min-width: 768px) {
    .navbar-nav {
        width: 100%;
        display:block;
    }
    .navbar-nav > li {
        float: none;
        display: inline-block;
    }
    .navbar-nav > li.navbar-right {
    }
}
.navbar-nav li a{
    font-size:1.2rem;
}
.navbar-toggler-icon{
    background-image: none;
    font-size:2rem;
    color:#707070;
}
.btn-danger{
    background-color: #ff6600;
    border-color: #ff6600;
    border: 1px solid #ff6600;
}
.btn-danger:hover{
    background-color: #ff6600;
    border-color: #ff6600;
    border: 1px solid #ff6600;
}
.btn-danger:active{
    background-color: #ff6600;
    border-color: #ff6600;
    border: 1px solid #ff6600;
}
.btn-danger:focus{
    color:#fff;
    border: 1px solid #ff6600;
    background-color: #ff6600;
    border-color: #ff6600;
}


.main_visual {
    overflow: hidden;
    margin:auto;
}
.main_visual .main_slider {
    overflow: hidden;
}
.main_visual .main_slider figure{
    width:100%;
}
.main_visual .main_slider figure img{
    width:100%;
}
.main_visual .main_slider{
    margin-bottom: 0;
}

.main_visual .main_slider .slick-slide {
    margin-bottom:0px;
}
.main_visual .main_slider .slick-dots {
    position:absolute;
    display: block;
    width:100%;
    bottom:0px;
    text-align: center;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 500;
}
.main_visual .main_slider .slick-dots li {
    height: 10px;
    margin: 10px;
    width: 10%;
}
.main_visual .main_slider .slick-dots li button {
    position: relative;
    background: rgba(255,255,255,.85);
    border: 0;
    cursor: pointer;
    font-size: 0;
    line-height: 0;
    outline: none;
    padding: 0;
    width: 100%;
    height:2px;
}
.main_visual .main_slider .slick-dots li button:before {
    content :"";
}
.main_visual .main_slider .slick-dots li button:after {
    position: absolute;
    top: 0;
    left: 0;
    background: #aaa;
    content: '';
    display: block;
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
    height:2px;
    opacity: 0;
    width: 100%;
}
.main_visual .main_slider .slick-dots li.slick-active button:after {
    animation: slideDotsAnimation 5s linear 0s normal forwards running;
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
    opacity: 1;
    width:0;
    -ms-transform-origin: left;
    transform-origin: left
}
@keyframes slideDotsAnimation {
    0% {
        width:0%;
    }
    to {
        width:100%;
    }
}

.top_input{
    min-height:9.5rem;
    padding-top:3.3rem;
    text-align: center;
}
.top_input_heading{
    vertical-align: top;
    display: inline-block;
}
.top_input_forms{
    vertical-align: top;
    display: inline-block;
}
.top_input_name{
    width:12em;
}
.btn_top_input{
    width:6em;
}
@media (max-width: 576px) {

    .top_input {
        padding-top:1rem;
        padding-bottom: 1rem;
        text-align: center;
    }
    .top_input_heading{
        display: block;
    }
    .top_input_forms{
        display: block;
    }

    .top_input_forms{
        text-align: center;
    }
    .top_input_forms .form-inline{
        display: block;
    }
    .top_input_forms .form-control{
        margin-left:auto;
        margin-right:auto;
        display: block;
    }
    .top_input_name{
        width:90%;
    }
    .btn_top_input{
        width:80%;
        margin-top:1rem;
        margin-left:auto;
        margin-right:auto;
    }
}

.detail{

}

.detail .detail_package_image{
    background-image: url(../img/detail/package_img02.jpg);
    min-height:350px;
    background-size: contain;
    background-position: right bottom;
    background-repeat: no-repeat;
}

@media (max-width: 576px) {
    .detail .detail_package_image{
        background-position: center bottom;
        min-height:450px;
    }
}
@media (max-width: 476px) {
    .detail .detail_package_image{
        min-height:400px;
    }
}
@media (max-width: 414px) {
    .detail .detail_package_image{
        min-height:350px;
    }
}
@media (max-width: 350px) {
    .detail .detail_package_image{
        min-height:300px;
    }
}

.cases {
    overflow: hidden;
    margin:auto;
}
.cases .sub_slider {
    overflow: hidden;
    background-color: #000;
}
.cases .sub_slider figure{
    width:100%;
    background-color: #000;
}
.cases .sub_slider figure img{
    width:100%;
}
.cases .sub_slider figure p{
    position: absolute;
    color:#fff;
    bottom:0px;
    text-align: center;
    width:100%;
    background-color: rgba(0,0,0,0.35);
    padding:1rem;

}
.cases .sub_slider{
    margin-bottom: 0;
}
.slick-prev:before {
    content: "";
}
.slick-next:before {
    content: "";
}

.cases .sub_slider_wrap{
    position:relative;;
}
.cases .sub_slider_arrows{
    position:absolute;
    top:0px;
    left:0px;
    right:0px;
    bottom:0px;
    width: 100%;
    z-index: 1000;
}
.cases .sub_slider_arrows i{
    color:rgba(0,0,0,0.25);
    font-size:30px;
}
.cases .sub_slider_arrows .slick-prev {
    left: 20px;
    z-index: 10000;
}
.cases .sub_slider_arrows .slick-next {
    right: 20px;
    z-index: 10000;
}
.cases .sub_slider .slick-slide {
    margin-bottom:0px;
}
.cases .sub_slider .slick-dots {
    position:absolute;
    display: block;
    width:100%;
    top:0px;
    text-align: center;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 500;
}
.cases .sub_slider .slick-dots li {
    height: 20px;
    margin: 10px;
    width: 6%;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.cases .sub_slider .slick-dots li button {
    position: relative;
    background: rgba(0,0,0,.20);
    border: 0;
    cursor: pointer;
    font-size: 0;
    line-height: 0;
    outline: none;
    padding: 0;
    width: 100%;
    height:2px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.cases .sub_slider .slick-dots li button:before {
    content :"";
}
.cases .sub_slider .slick-dots li button:after {
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255,255,255,0.9);
    content: '';
    display: block;
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
    height:2px;
    opacity: 0;
    width: 100%;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.cases .sub_slider .slick-dots li.slick-active button:after {
    animation: slideDotsAnimation 5s linear 0s normal forwards running;
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
    opacity: 1;
    width:0;
    -ms-transform-origin: left;
    transform-origin: left
}

.review_list_block_imgs{

}
.review_list_block_imgs p{
text-align: center;
}
.review_list_block{

}
.review_list_block .review_item{
    background-image: url(../img/review/template.png);
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 100% 100%;
    min-height:400px;
}
.review_list_block .review_item h4{
    padding :7rem 4rem 0 4rem;
    color:#fd7e14;

}
.review_list_block .review_item p{

}


.preview_wrap{
    margin-top:170px;
    padding-top:100px;
    padding-bottom: 20px;
    background-color: #ededed;
    position: relative;
    z-index:50000;
}

.preview_area{
    position: absolute;
    top:-100px;
    left:0px;
    width:100%;
    z-index:20000;
}

.top_input_forms input{
    z-index:40000;

}
.top_input_forms button{
    z-index:40000;

}
@media (max-width: 576px) {
    .top_input_forms{
        text-align: center;
    }
    .top_input_forms .form-inline{
        display: block;
    }
    .top_input_forms .form-control{
        margin-left:auto;
        margin-right:auto;
        display: block;
    }
    .top_input_name{
        width:90%;
    }
    .btn_top_input{
        width:80%;
        margin-top:1rem;
        margin-left:auto;
        margin-right:auto;
    }
}

.preview_frame{
    width:100%;
    max-width:738px;
    background-size: contain;
    background-position:top center;
    background-repeat: no-repeat;
    max-height:200px;
    min-height:184px;
    margin:auto;
}

.arrange_info_wrapper{
    position: absolute;
    top:-160px;
    width:100%;
    display: none;
}
.arrange_info{
    max-width:700px;
    margin:auto;
    padding: 0 5%;
}

@media (max-width: 476px) {

    .arrange_info_wrapper{
        top:-130px;
    }
    .preview_wrap {
        padding-top: 50px;
    }
    .preview_area{
        top:-70px;
    }
    .preview_wrap{
        margin-top:90px;
    }
    .preview_frame{
        min-height:120px;
    }
}

@media (max-width: 390px) {
    .arrange_info_wrapper{
        top:-100px;
    }
    .preview_wrap {
        padding-top: 20px;
    }
    .preview_area{
        top:-30px;
    }
    .preview_wrap{
        margin-top:50px;
    }
    .preview_frame{
        min-height:100px;
    }
}

@media (max-width: 576px) {
    .preview_wrap {
        padding-top: 70px;
    }
    .preview_frame{
        min-height:150px;
    }
}
@media (min-width: 576px) {
    .preview_frame{
        min-height:184px;
    }
}
@media (min-width: 768px) {
    .preview_frame{
        min-height:184px;
    }
}
@media (min-width: 992px) {
    .preview_frame{
        min-height:184px;
    }
}


.preview_img_layout{
    width:100%;
    max-width:738px;
    text-align: center;
    font-size:0px;
    padding-top:6.0%;
}
.preview_img_layout figure{
    width:8.25%;
    max-width:63px;
    display: inline-block;
    margin-right:0.5%;
    cursor:pointer;
    max-height:85px;
    vertical-align: top;
    overflow: hidden;
}
.preview_img_layout figure:last-child{
    margin-right:0;
}
.preview_img_layout figure img{
    max-height:125px;
}
.preview_input{
    text-align: center;
}

.arrange_info .arrow_box {
    z-index:30001;
    position: relative;
    color:#fff;
    background: #FF9933;
    padding:2%;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
}
.arrange_info .arrow_box:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(255, 246, 199, 0);
    border-top-color:  #FF9933;
    border-width: 20px;
    margin-left: -20px;
}

.preview_selector_wrap{
    position:fixed;
    z-index:60000;
    top:0px;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    display:none;
}
.preview_selector .selector_target_img_item{
    text-align: center;
}
.preview_selector{
    position:relative;
    z-index:60000;
    background-color: rgba(255,255,255,0.95);
    border:1px solid #ddd;
    padding:2rem;
    margin:0px auto;
    width:100%;
    max-height:100%;
    max-width:800px;
    overflow-x: visible;
    overflow-y: scroll;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
@media (min-width: 768px) {
    .preview_selector_wrap{
        top:20px;
        bottom:20px;
    }
    .preview_selector{
        width:100%;
        min-height:none;
    }

}
.preview_selector .btn_block{
    padding:0 0 60px 0;
}
.preview_selector .preview_closer{
    position: absolute;
    right:10px;
    top:10px;
    color:#666;
    font-size:2.4rem;
}
.preview_selector .select_target{
    cursor:pointer;
}
.preview_selector .select_target img{
    width:auto;
    height:300px;
    min-width:200px;
}

.preview_selector .select_list{
}
.preview_selector .select_list div.color_group{
    padding:0;
    margin:0;
    display: block;
    text-align: left;
}
@media (max-width: 567px) {
    .preview_selector .select_list div.color_group{
        display: none;
    }
    .preview_selector .select_list div.color_group.color_mercury{
        display: block;
    }
}
.preview_selector .select_list figure{
    width:42px;
    max-height:56px;
    overflow: hidden;
    display: inline-block;
    margin:0;
    margin-left:5px;
    cursor:pointer;
}
.preview_selector .select_list_choices{

}
.preview_selector .select_list_choices span{
    cursor: pointer;
}

.preview_sender{
    position:relative;
}
.preview_sender .heart_banner{
    position:absolute;
    right:0px;
    bottom:0px;
}
.preview_sender .heart_banner figure{
    max-width:200px;
}
@media (max-width: 768px) {
    .preview_sender .heart_banner{
        position:static;
        text-align: center;
    }
    .preview_sender .heart_banner figure{
        display: inline-block;
        max-width:320px;
    }
}


.buy_form{

}
.buy_form input,
.buy_form select{
    font-size:1.4rem;

}
.buy_form select.form-control{
   height:3.3rem !important;
}

.content_general_1 h2{
    padding:1.2rem;
    font-size:2.5rem;
    margin:1em 0 0 0;
    text-align: center;
}
.content_general_1 h3{
    color:#454545;
    font-size:1.8rem;
    font-weight: bold;
    border-left:10px solid #ced4da;
    padding:0.6em 0.3em;
    margin:1em 0 0 0;
}
.content_general_1 h4{
    color:#454545;
    font-size:1.6rem;
    font-weight: bold;
    border-top:1px solid  #ced4da;
    border-bottom:1px solid  #ced4da;
    padding:0.6em 0;
    margin:1em 0 0 0;
}
.content_general_1 p{
    color:#454545;
    font-size:1.4rem;
    padding:0.5em 0;
    margin:0.5em 0;
    line-height:180%;
}


.content_general_2 h1{
    padding:0.8rem;
    font-size:2.8rem;
    margin:1em 0 0 0;
    text-align: center;
}
.content_general_2 h2{
    padding:0.8rem;
    font-size:2.0rem;
    margin:1em 0 0 0;
    text-align: center;
}
.content_general_2 h3{
    color:#454545;
    font-size:1.8rem;
    font-weight: bold;
    border-left:10px solid #ced4da;
    padding:0.6em 0.3em;
    margin:1em 0 0 0;
}
.content_general_2 h4{
    color:#454545;
    font-size:1.6rem;
    font-weight: bold;
    border-top:1px solid  #ced4da;
    border-bottom:1px solid  #ced4da;
    padding:0.6em 0;
    margin:1em 0 0 0;
}
.content_general_2 p{
    color:#454545;
    font-size:1.4rem;
    padding:0.5em 0;
    margin:0.5em 0;
    line-height:180%;
}
.content_general_2 .row-table{
    width:97%;
    margin:auto;
}
.content_general_2 .row-table .row-table-row{
    border-bottom: 1px solid #ccc;
    padding-left: 0;
    padding-right: 0;
    margin-right: 0;
    margin-left: 0;
}
.content_general_2 .row-table .row-table-th{
    line-height:180%;
    padding: 1rem 0 0 0;
    font-weight: bold;
}
.content_general_2 .row-table .row-table-td{
    line-height:180%;
    padding: 1rem 0;
}
.page_nav{

}
.page_nav .col-sm-3{
    border-right:1px solid #ccc;
}
.page_nav .col-sm-3:last-child{
    border-right:none;
}
@media (max-width: 576px) {
    .page_nav{
        margin:2rem 2rem 0 2rem;
    }
    .page_nav .col-sm-3{
        border-right:none;
        border-bottom:1px solid #ccc;
        padding:1rem;
    }
    .page_nav .col-sm-3:last-child{
        border-bottom:none;
    }
}


.bg_layer{
    position:fixed;
    top:0;
    left:0;
    height:100%;
    width:100%;
    z-index:55000;
    display:none;
    background-color: rgba(255,255,255,0.85);
}



footer{
    margin-top:5em;
    border-top:1px solid #ccc;
    background-color: #fcfcfc;

}
footer .footer_nav{
    list-style-type: none;
    text-align: center;
}
footer .footer_nav li{
   display:  inline-block;
}


.footer_calendar{

}
.footer_calendar div.calendar{
    display:none;
}
.footer_calendar div.calendar:first-child{
    display:block;
}
.footer_calendar div.calendar:first-child .cal-prev{
    display:none;
}
.footer_calendar div.calendar:last-child .cal-next{
    display:none;
}
div.calendar table{
    border-collapse:collapse;
    border:1px solid #ccc;
    width:100%;
}
div.calendar table caption{
    border-collapse:collapse;
    caption-side:top;
    border:1px solid #ccc;
    background-color:#ddd;
    padding:0.5rem;
    text-align: center;
    color:#707070;
}
div.calendar .cal-prev {
    float:left;
}
div.calendar .cal-next {
    float:right;
}
div.calendar table th{
    background-color:#ddd;
    color:#707070;
    padding:4px;
    border:1px solid #ccc;
    text-align: center;
}
div.calendar table td{
    padding:4px;
    color:#707070;
    background-color: #fff;
    text-align:center;
    border:1px solid #ccc;
}
div.calendar img{
    width:12px;
}
div.calendar table th.holiday1{
    background-color: #f1b0b7;
}
div.calendar table td.holiday1{
    background-color: #FFCCCC;
}
div.calendar table td.off_day{
    background-color: #FFCCCC;
}
div.calendar table th.holiday2{
    background-color: #abdde5;
}
div.calendar table td.holiday2{
    background-color: #ECF8FF;
}
div.calendar table td.onToday{
    color:#fd7e14;
    font-size:110%;
    background-color:#ffe8a1;
}
div.calendar table td.nonActive{
    background-color:#cccccc !important;
    color:#666666 !important;
}


.noscroll{
    overflow: hidden;
}
.dialog_box_wrapper{
    display:none;
    position: fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100%;
    background-color: rgba(0,0,0,0.7);
    z-index:100000;
}
.dialog_box{
    width:600px;
    max-width:90%;
    margin:100px auto auto auto;
    background-color: rgba(255,255,255,0.9);
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.dialog_box .message{
    padding:1rem;
}
.dialog_box .dialog_dismiss{
    text-align: center;
    padding:1rem;
}

.goto_top{
    display: none;
    position:fixed;
    bottom:-10px;
    right:20px;
}
.goto_top a{
    display: block;
    font-size:20px;
    color:#fff;
    background-color:rgba(0,0,0,0.6);
    padding:10px 10px 20px 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    color:#fff;
}