@charset "UTF-8";

.en{
    font-family: 'Rubik', sans-serif !important;
    font-weight: 500 !important;
}
.en-ligtht{
    font-family: 'Rubik', sans-serif !important;
    font-weight: 300 !important;
}
.en-regular{
    font-family: 'Rubik', sans-serif !important;
    font-weight: 400 !important;
}
.en-bold{
    font-family: 'Rubik', sans-serif !important;
    font-weight: 700 !important;
}

/* ---------------------------------------
  基本情報
-----------------------------------------*/
html{
    font-size:62.5%;
    overflow-y: scroll;
}
body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img {
    margin: 0;
    padding: 0;
    border: none;
    line-height: 100%;
    list-style-type: none;
    list-style-type: none;
    font-style: normal;
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
    font-weight: 500;
    text-align: left;
    color: #646464;
    word-break: break-all;
}
body{ min-width: 1040px;}

body a {
    color: #646464;
    text-decoration: none;
}
body a img{ transition: 0.4s;}

img{
    vertical-align: bottom;
    max-width: 100%;
}

a:hover img{
    opacity: 0.6;
}
a:hover{
    text-decoration: underline;
}

*,*:after,*:before{
    box-sizing: border-box;
}
p, dt, dd ,li ,th ,td{
    font-size: 1.6rem;
    line-height: 2;
    word-break: break-all;
}
input, button, textarea, select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    resize: none;
    outline: none;
    background: none;
    font-family: "Noto Sans JP",sans-serif;
}

.pc{ display: block;}
.sp{ display: none;}
.pc-inline{display: inline;}
.sp-inline{display: none;}

.txt_marker{
    background:-webkit-linear-gradient(rgba(215,255,255,0) 60%, #d7c200 60%);
    background:-o-linear-gradient(rgba(255,255,255,0) 60%, #d7c200 60%);
    background:linear-gradient(rgba(255,255,255,0) 60%, #d7c200 60%);
	background-repeat: no-repeat;
	background-size: 0 auto;
	transition: 1s;
}
.txt_marker02{
	position: relative;
}
.txt_marker02:after{
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	content: '';
	width: 0;
	height: 10px;
	background: #eae475 ;
	transition: 1s;
	z-index: -1;
}
.txt_marker02.is-active:after{
	width: 100%;
}

.tel-link a{
    text-decoration: none;
    color: #646464;
}

.img-scale{ overflow: hidden;}
.img-scale img{
    -webkit-transition: all .6s cubic-bezier(.165,.84,.44,1);
    transition: all .6s cubic-bezier(.165,.84,.44,1);
    -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
    transition-timing-function: cubic-bezier(.165,.84,.44,1);
    -webkit-transform: scale(1);
    transform: scale(1);
}
.img-scale:hover img{
    -webkit-transition: all .6s cubic-bezier(.165,.84,.44,1);
    transition: all .6s cubic-bezier(.165,.84,.44,1);
    -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
    transition-timing-function: cubic-bezier(.165,.84,.44,1);
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}


@media screen and (max-width: 767px) {
    body{ min-width: inherit;}

    .pc{ display: none;}
    .sp{ display: block;}
    .pc-inline{display: none;}
    .sp-inline{display: inline;}

	.txt_marker02:after{
		height: 10px;
	}
}

/* ---------------------------------------
  アニメーション
-----------------------------------------*/
.home-pre-load{
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 99998;
    -webkit-transition: all 1.6s cubic-bezier(.19,1,.22,1);
    transition: all 1.6s cubic-bezier(.19,1,.22,1);
    -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
    transition-timing-function: cubic-bezier(.19,1,.22,1);
    -webkit-transform: translateX(0);
    transform: translateX(0);
}
.home-pre-load p{
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 99999;
	width: 170px;

}

.home-pre-load.end{
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}
.ie .home-pre-load.end p{
    display: none !important;
}
#page-animate::before {
 content: '';
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
 background-color: #FFF;
 z-index: 10006;
 pointer-events: none;
 left: 100%;
 -webkit-transition: left 0.8s cubic-bezier(0.4, 0, 0.2, 1);
 transition: left 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

#page-animate::after {
 content: '';
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
 background-color: #FFF;
 z-index: 10005;
 pointer-events: none;
 right: 100%;
 -webkit-transition: right 2s cubic-bezier(0.4, 0, 0.2, 1);
 transition: right 2s cubic-bezier(0.4, 0, 0.2, 1);
}

#page-animate.is-slide-in::before {
 left: 0;
}

#page-animate.is-slide::after {
 right: 0;
}


.order-fade{
    opacity: 0;
    -webkit-transform: translate3d(0,30px,0);
    transform: translate3d(0,30px,0);
	transition: .8s;
}
.order-fade.is-active{
    opacity: 1;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
	padding-bottom: 1px;
}

.scroll-to,
.scroll-to02{
    opacity: 0;
    -webkit-transition: all .6s;
    -moz-transition: all .6s;
    -o-transition: all .6s;
    -ms-transition: all .6s;
    transition: all .6s;
}
.scroll-to.-top,
.scroll-to02.-top{
    transform : translate(0, 10px);
}
.scroll-to.-left,
.scroll-to02.-left{
    transform : translate(10px, 0);
}
.scroll-to.-right,
.scroll-to02.-right{
    transform : translate(-10px, 0);
}

.scroll-to.fadeIn,
.scroll-to02.fadeIn{
    opacity: 1;
    transform : translate(0, 0);
}

.effect-fade{
	-webkit-animation:fade-in;
	animation:fade-in;
	animation-duration: 2s;
	animation-delay: 1.2s;
	animation-fill-mode: backwards;
}

@-webkit-keyframes fade-in{
    0%{opacity:0}
    100%{opacity:1}
}
@keyframes fade-in{
    0%{opacity:0}
    100%{opacity:1}
}
.delay-1{ animation-delay: 1.8s;}
.delay-2{ animation-delay: 2.4s;}
.delay-3{ animation-delay: 3s;}

/* common
--------------------------------*/
.wrapper{
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}
.wrap{
    max-width: 1180px;
    width: 94%;
    margin: 0 auto;
}
.inner{
    max-width: 1065px;
    width: 92%;
    margin: 0 auto;
}
.object-fit-img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'
}

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

@media screen and (max-width: 767px) {

}



/* clearfix */

.clearfix {
    overflow: hidden;
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}


/* ---------------------------------------------
  header
-----------------------------------------------*/
header{
    position: fixed;
    top: 0;
    width: 100%;
    padding: 20px 0;
    min-width: 1040px;
    -webkit-transition: all 1s cubic-bezier(.19,1,.22,1);
    transition: all 1s cubic-bezier(.19,1,.22,1);
    -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
    transition-timing-function: cubic-bezier(.19,1,.22,1);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    background: #FFF;
    box-sizing: border-box;
    z-index: 10;
}

header .h_logo{
    display: inline-block;
    position: relative;
    padding-left: 4%;
    box-sizing: border-box;
}

.gNav{
    position: absolute;
    top: 30px;
    right: 8%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.gNav ul{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.gNav li{
    text-align: center;
}
.gNav li+li{ margin-left: 45px;}
.gNav li a{
	display: block;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.1;
	padding: 0 0 5px 0;
    box-sizing: border-box;
}
.gNav li a span{
    display: block;
    font-size: 1.6rem;
	margin-bottom: 10px;
}

.gNav li:not(.mail) a:after{
	position: absolute;
	left: 0;
	right: 0;
	bottom: -5px;
	display: block;
	content: '';
	width: 100%;
	height: 1px;
	background: #646464;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
	transition: .4s;
}
.gNav li:not(.mail) a:hover:after{
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

.gNav li.mail{
    position: relative;
    top: -2px;
    max-width: 31px;
}
.gNav li.mail a{
    display: block;
}
.gNav li a:hover{
    text-decoration: none;
}


.bg_header header{
-webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    background: #FFF;
}
.bg_header .gNav li.mail a{
    color: #646464;
}
.bg_header .menu-button{
-webkit-transform: translateY(-5px);
    transform: translateY(-5px);
}


/*body.open:after{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    z-index: 500;
}*/

.menu-button{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: fixed;
    top: 24px;
    right: 4%;
    margin-left: 50px;
    width: 30px;
    height: 48px;
    padding: 0;
    box-sizing: border-box;
    cursor: pointer;
    z-index: 10005;
    -webkit-transition: all 1s cubic-bezier(.19,1,.22,1);
    transition: all 1s cubic-bezier(.19,1,.22,1);
    -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
    transition-timing-function: cubic-bezier(.19,1,.22,1);
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
.menu-button span{
    display: block;
    width: 30px;
    height: 3px;
    background: #646464;
    border-radius: 30px;
    margin:0 auto;
}
.menu-button span+span{ margin-top: 6px;}
.menu-button span.btn_txt{display: none;}
body.drawer-opened .menu-button span{
    width: 30px;
    background: #FFF;
}

body.drawer-opened .menu-button span:nth-of-type(1){transform: rotate(-45deg); position: relative;}
body.drawer-opened .menu-button span:nth-of-type(3){ transform: rotate(45deg); position: relative; top: -3px;}
body.drawer-opened .menu-button span:nth-of-type(2){display: none;}
body.drawer-opened .menu-button span+span{ margin-top: 0;}

body.drawer-opening #js-drawer {
    -webkit-animation: drawer-open .8s cubic-bezier(.19,1,.22,1) 0s;
    animation: drawer-open .8s cubic-bezier(.19,1,.22,1) 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

#js-drawer {
    will-change: auto;
    -ms-overflow-style: none;
    -webkit-transform: translateZ(0);
    position: fixed;
    right: 0;
    top: 0;
    display: none;
    z-index: -10;
    width: 100%;
    height: 100vh ;
    /*    height: var(--outer-height);*/
    /*    overflow-y: scroll;*/
    -webkit-overflow-scrolling: touch;
    background-color: #FFF;
}

body.drawer-opened { height:100vh!important;/*height:var(--outer-height)!important*/}

body.drawer-opened #js-drawer{
    display: block;
    height: 100vh
}

body.drawer-opened #js-drawer{z-index:10000;display:block}

body.drawer-opening #js-drawer{
    -webkit-animation:drawer-open .8s cubic-bezier(.19,1,.22,1) 0s;
    animation:drawer-open .8s cubic-bezier(.19,1,.22,1) 0s;
    -webkit-animation-fill-mode:both;
    animation-fill-mode:both
}
body.drawer-closing #js-drawer{
	z-index:10000;
	display:block;
	-webkit-animation:drawer-close 1s cubic-bezier(.165,.84,.44,1) 0s;
	animation:drawer-close 1s cubic-bezier(.165,.84,.44,1) 0s;
	-webkit-animation-fill-mode:both;
	animation-fill-mode:both
}

@-webkit-keyframes drawer-open{
    0%{-webkit-transform:scale(.89);transform:scale(.89);opacity:0}
    100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}
}
@keyframes drawer-open{
    0%{-webkit-transform:scale(.89);transform:scale(.89);opacity:0}
    100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}
}
@-webkit-keyframes drawer-close{
    0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}
    100%{-webkit-transform:scale(.89);transform:scale(.89);opacity:0}
}
@keyframes drawer-close{
    0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}
    100%{-webkit-transform:scale(.89);transform:scale(.89);opacity:0}
}

#l-dropdown{position:relative;z-index:1;top:-20px}

.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -20px;
    margin-left: -20px;
}

#js-drawer #drawer__body {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 40px;
    background: #FFF;
    z-index: 10;
}

#drawer__body .nav_wrap.flex{
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: 80px;
    padding-left: 9%;
    box-sizing: border-box;
}
#js-drawer .h_logo{
    position: absolute;
    left: 0;
    top: 0;
}

#drawer__body .navList+.navList{ margin-left: 7vw;}

#drawer__body .navList li+li{ margin-top: 20px;}

#drawer__body .nav_fade{
	opacity: 0;
    transform : translate(0, 10px);
}
.open #drawer__body .nav_fade{
    animation-name: navfadeIn;
    animation-duration: .6s;
    animation-delay: .2s;
    animation-fill-mode: forwards;
}
@keyframes navfadeIn {
    0% {
        opacity: 0;
        transform : translate(0, 5px);
    }
    100% {
        opacity: 1;
        transform : translate(0, 0);
    }
}
.open #drawer__body .n01 .nav_fade:nth-of-type(2){animation-delay: .3s;}
.open #drawer__body .n01 .nav_fade:nth-of-type(3){animation-delay: .4s;}
.open #drawer__body .n01 .nav_fade:nth-of-type(4){animation-delay: .5s;}
.open #drawer__body .n01 .nav_fade:nth-of-type(5){animation-delay: .6s;}
.open #drawer__body .n01 .nav_fade:nth-of-type(6){animation-delay: .7s;}
.open #drawer__body .n01 .nav_fade:nth-of-type(7){animation-delay: .8s;}
.open #drawer__body .n01 .nav_fade:nth-of-type(8){animation-delay: .9s;}
.open #drawer__body .n01 .nav_fade:nth-of-type(9){animation-delay: 1s;}

.open #drawer__body .n02 .nav_fade:nth-of-type(1){animation-delay: 1.1s;}
.open #drawer__body .n02 .nav_fade:nth-of-type(2){animation-delay: 1.2s;}
.open #drawer__body .n02 .nav_fade:nth-of-type(3){animation-delay: 1.3s;}
.open #drawer__body .n02 .nav_fade:nth-of-type(4){animation-delay: 1.4s;}
.open #drawer__body .n02 .nav_fade:nth-of-type(5){animation-delay: 1.5s;}

.open #drawer__body .n02 .btn_wrap .nav_fade:nth-of-type(1){animation-delay: 1.6s;}
.open #drawer__body .n02 .btn_wrap .nav_fade:nth-of-type(2){animation-delay: 1.7s;}
.open #drawer__body .n02 .sns_wrap.nav_fade{animation-delay: 1.8s;}


#drawer__body .navList li a:hover{ text-decoration: none; opacity: .7;}

#drawer__body .navList li a span,
#drawer__body .navList li p span{
    display: inline-block;
    vertical-align: middle;
    width: 10vw;
    font-size: 1.6rem;
}
#drawer__body .navList ul.child,
#drawer__body .navList ul.child02{ margin-top: 10px;}
#drawer__body .navList ul.child li,
#drawer__body .navList ul.child02 li{
    position: relative;
}

#drawer__body .navList ul.child02{ padding-left: 10vw;}
#drawer__body .navList ul.child li:before,
#drawer__body .navList ul.child02 li:before{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    content: '-';
    margin-right: 5px;
}
.ie #drawer__body .navList ul.child li:before,
.ie #drawer__body .navList ul.child02 li:before{top: 2px;}

#drawer__body .navList ul.child02 li a span{ font-size: 1.4rem;}

#drawer__body .btn_wrap{ margin-top: 50px;}
#drawer__body .btn_wrap .btn+.btn{ margin-top: 30px;}
#drawer__body .btn a:after {
    position: absolute;
    right: 18px;
    top: 50%;
    margin-top: -6px;
    display: block;
    content: '';
    margin-left: 0;
    border: none;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8px;
    border-color: transparent transparent transparent #646464;
}
#drawer__body .btn-hover a:hover:after{ border-color: transparent transparent transparent #FFF;}

#drawer__body .sns_wrap{
    width: 100%;
    max-width: 280px;
    margin-top: 55px;
}
#drawer__body .sns_wrap ul{
    display: flex;
    justify-content: center;
    align-items: center;
}
#drawer__body .sns_wrap li+li{ margin-left: 35px; margin-top: 0;}
#drawer__body .sns_wrap li{
    width: auto;
    height: 31px;
}
#drawer__body .sns_wrap li img{
    display: block;
    width: auto;
    max-width: inherit;
    height: 100%;
    margin: 0 auto;
}

#js-drawer #js-drawer__image {
    background-color: #fff;
    background-size: cover;
    background-position: center center;
    width: 100%;
    height: 100%;
    position: relative;
    left: 0;
    top: 0;
    background-image: url("../img/common/bg_menu.png");
}
#js-drawer .h100p {
    height: 100%;
}

@media (min-width: 1025px){
    header .h_logo{ padding-left: 2%; width: 17%;}
    .d_body_1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .d_body_2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
}

@media screen and (max-width: 1376px) {
    .gNav{ right: 7%;}
    .gNav li+li{ margin-left: 15px;}
    .menu-button { right: 2%;}
}

@media screen and (max-width: 1040px) {
    .row{ display: block; margin: 0;}
    #js-drawer #js-drawer__image{ display: none;}
    .d_body_1{
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
		max-width: inherit;
        height:100%;
        background: #FFF;
    }
	#drawer__body .nav_wrap.flex{
		margin-top: -80px;
		padding-left: 0;
	}
	#drawer__body .navList li a span, #drawer__body .navList li p span{ width: 13vw;}
    body.drawer-opened .menu-button span{ background: #646464;}
    .gNav li a {
        font-size: 1.3rem;
    }
}

@media screen and (max-width: 767px) {
    header{
        position: fixed;
        padding: 3% 0;
        min-width: inherit;
        z-index: 999;
    }

    header .h_logo{
        width: 100%;
        max-width: inherit;
        text-align: center;
        padding-left: 0;
        box-sizing: border-box;
    }
    header .h_logo img{
        position: relative;
        left: -4vw;
        width: 40%;
        max-width: 354px;
        margin: 0 auto;
    }
    .gNav{display: none;}

    .menu-button {
        display: flex;
        top: 2vw;
        right: 6%;
        margin-left: 0;
        width: 30px;
        height: 48px;
    }

    .menu-button span.btn_txt{
        display: block;
        width: auto;
        height: auto;
        background: none;
        font-size:10px;
        color: #646464;
    }
    .bg_header .menu-button span.btn_txt{ color: #646464; background: none;}

    body.drawer-opened .menu-button span.btn_txt{display: none;}
    body.drawer-opened #js-drawer{
        height: calc(100vh - 85px);
    }



    #js-drawer,
    body.drawer-opened #js-drawer{
        background: #FFF;
        height: 100vh;
        box-sizing: border-box;
    }

    #js-drawer .h100p {
        height: calc(100vh - 65px);
    }
    #js-drawer #drawer__body {
        display: block;
        height: auto;
        background: none;
        -webkit-overflow-scrolling:touch;
        overflow-y: auto;
        padding: 0;
        box-sizing: border-box;
    }
    #js-drawer #drawer__body .h_logo{
        display: none;
        /*        position: relative;
				left: -4vw;
				margin: 0 auto 12% auto;
				width: 44%;
				padding-left: 6%;
				max-width: 342px;
				box-sizing: border-box;*/
    }

    #drawer__body .nav_wrap.flex{
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 0 auto;
        padding: 10% 0;
    }


    #drawer__body .navList{
        width: 68%;
        margin: 0 auto;
        height: 100%;
    }
    #drawer__body .navList+.navList{ margin-left: auto;}

    #drawer__body .navList li+li{ margin-top: 8px;}

    #drawer__body .navList li a{
        font-size: 3.6vw;
    }

    #drawer__body .navList li a span,
    #drawer__body .navList li p span{
        display: inline-block;
        vertical-align: middle;
        width: 30vw;
        font-size: 3.8vw;
    }
    #drawer__body .navList ul.child,
    #drawer__body .navList ul.child02{ margin-top: 0;}


    #drawer__body .navList ul.child02{ padding-left: 30vw;}

    #drawer__body .navList ul.child02 li a span{ font-size: 3.6vw;}

    #drawer__body .btn_wrap{ margin-top: 10%;}
    #drawer__body .btn_wrap .btn+.btn{ margin-top: 5%;}
    #drawer__body .btn_wrap .btn a{
        width: 100%;
        margin: 0 auto;
    }

    #drawer__body .sns_wrap{
        width: 100%;
        max-width: inherit;
        margin-top: 14%;
    }

    #drawer__body .sns_wrap li+li{ margin-left: 8%; margin-top: 0;}
    #drawer__body .sns_wrap li{
        width: auto;
        height: 7vw;
    }
    #drawer__body .sns_wrap li img{
        max-height: 62px;
    }



}
@media screen and (max-width: 414px) {
    .menu-button.close span:nth-of-type(3){top: -.7vw;}

}
/* ---------------------------------------------
  footer
-----------------------------------------------*/
footer{
    position: relative;
    padding: 70px 0 0 0;
    box-sizing: border-box;
}

footer .wrapper{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
footer .f_info{
    padding-left: 80px;
    box-sizing: border-box;
}
footer .f_info .f_logo{ margin-bottom: 25px;}
footer .f_info p{
    font-size: 1.2rem;
    line-height: 1.6;
}
footer .f_info p+p{ margin-top: 12px;}


footer .f_nav{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding-right: 70px;
    box-sizing: border-box;
}

footer .f_nav ul+ul{ margin-left: 80px;}
footer .f_nav ul li,
footer .f_nav ul li a{
    font-size: 1.4rem;
    line-height: 2.3;
}
footer .f_nav ul li a:hover{
	text-decoration: none;
	opacity: .7;
}

footer .f_nav li ul.child{
    margin-left: 1.5rem;
}
footer .f_nav li ul.child li{
    position: relative;
}
footer .f_nav li ul.child li:before{
    position: relative;
    display: inline-block;
    content: '-';
    vertical-align: middle;
    margin-right: 5px;
}

footer .sns_wrap{ margin-top: 55px;}
footer .sns_wrap ul{
    display: flex;
    justify-content: center;
    align-items: center;
}
footer .sns_wrap li+li{ margin-left: 35px;}
footer .sns_wrap li{
    width: auto;
    height: 31px;
}
footer .sns_wrap li img{
    display: block;
    width: auto;
    max-width: inherit;
    height: 100%;
    margin: 0 auto;
}

.copy{
    margin:40px auto 0 auto;
    background: #646464;
    padding: 24px 0;
    box-sizing: border-box;
}

.copy p{
    text-align: center;
    font-size: 1.2rem;
    color: #FFF;
}

.sp-fixed{ display: none;}

@media screen and (max-width: 767px) {
    footer{
        padding: 12% 0 18vw 0;
    }

    footer .wrapper{
        display: block;
    }
    footer .f_info{
        padding-left: 0;
        box-sizing: border-box;
    }
    footer .f_info .f_logo{
        width: 44%;
        max-width: 438px;
        margin: 0 auto 5% auto;
    }
    footer .f_info p{
        font-size: 3.4vw;
        text-align: center;
    }
    footer .f_info p+p{ margin-top: 8px;}

    footer .f_nav{
        display: none;
    }

    footer .sns_wrap{ margin-top: 12%;}

    footer .sns_wrap li+li{ margin-left: 9%;}
    footer .sns_wrap li{
        width: auto;
        height: 7vw;
    }
    footer .sns_wrap li img{
        max-height: 62px;
    }

    .copy{
        margin:10% auto 0 auto;
        padding: 4% 0;
    }

    .copy p{
        font-size: 3.2vw;
    }

    .sp-fixed{
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        border-top: 1px solid #FFF;
        border-bottom: 1px solid #FFF;
        box-sizing: border-box;
        z-index: 999;
    }

    .sp-fixed ul{
        display: flex;
    }
    .sp-fixed ul li{
        width: calc(100% / 4);
        border-right: 1px solid #FFF;
        background: #646464;
        box-sizing: border-box;
    }
    .sp-fixed ul li:last-of-type{ border-right: none;}
    .sp-fixed ul li a{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        font-size: 3.0vw;
        text-align: center;
        color: #FFF;
        padding: 4vw 0 2.5vw 0;
        box-sizing: border-box;
    }
    .sp-fixed ul li img{
        position: relative;
        display: block;
        width: 5vw;
        max-width: 38px;
        height: auto;
        margin: 0 auto 3% auto;
    }
    .sp-fixed ul li.spBtn-tel img{
        top: -2px;
    }
    .sp-fixed ul li.spBtn-line img{
        width: 4.6vw;
        top: -2px;
    }
    
    .sp-fixed ul li a:hover{ text-decoration: none;}
}

/* ---------------------------------------------
  common
-----------------------------------------------*/
.btn a{
    position: relative;
    display: block;
    width: 100%;
    max-width: 280px;
    font-size: 1.6rem;
    text-align: center;
    border: 1px solid #646464;
    text-decoration: none;
    padding: 17px 0 16px 0;
    box-sizing: border-box;
    transition: .4s;
}
.btn-hover a span,
.btn-hover02 a span{
	position: relative;
	z-index: 2;
}

.ie .btn a{ padding: 19px 0 14px 0;}
.btn a:after{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    content: '＞';
    margin-left: 18px;
}
.ie .btn a:after{ top: 2px;}

.btn-hover a:before{
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: 100%;
	height: 0;
	background-color: #646464;
	-webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
	transition: all .5s cubic-bezier(.19,1,.22,1);
	-webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}
.btn-hover02 a:before{
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: 100%;
	height: 0;

	background-color: rgba(255,255,255,.1);
	-webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
	transition: all .5s cubic-bezier(.19,1,.22,1);
	-webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}
.btn-hover02 a:hover:before{
	height: 100%;
    top: auto;
    bottom: 0;
}
.btn-hover02 a:hover:after{ right: -5px;}

.btn-hover.-white a:before{ background-color: #FFF;}

.btn-hover a:hover span{ color: #FFF;}
.btn-hover.-white a:hover span{ color: #646464;}

.btn-hover a:hover:before{
	height: 100%;
    top: auto;
    bottom: 0;
}
.btn-hover a:hover:after{ color: #FFF;}
.btn-hover.-white a:hover:after{ color: #646464;}

.btn-hover03{ position: relative;}
a:hover.btn-hover03 img{ opacity: 1;}
.btn-hover03:before{
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: 100%;
	height: 0;

	background-color: rgba(255,255,255,.1);
	-webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
	transition: all .5s cubic-bezier(.19,1,.22,1);
	-webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}
.btn-hover03:hover:before{
	height: 100%;
    top: auto;
    bottom: 0;
}

.page_ttl{
    padding-top: 120px;
    box-sizing: border-box;
}
.ie .page_ttl{
    margin-top: 90px;
}
.page_ttl h1{
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: .1rem;
    margin-bottom: 58px;
}
.page_ttl span{
    display: block;
    font-size: 4.0rem;
    margin-bottom: 34px;
    letter-spacing: .4rem;
}

.secTitle{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 65px;
    border-bottom: 1px solid #646464;
    padding-bottom: 15px;
    box-sizing: border-box;
}
.secTitle h2,
.secTitle h3{
    font-size: 1.8rem;
    font-weight: 700;
}
.secTitle span{
    font-size: 3.5rem;
    margin-right: 40px;
    letter-spacing: .2rem;
}
.boxTtl{
    position: relative;
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 30px;
    padding-left: 18px;
    box-sizing: border-box;
}
.boxTtl:before{
    position: absolute;
    left: 0;
    top: -4px;
    display: block;
    content: '';
    width: 5px;
    height: 30px;
    background: #646464;
}
.ie .boxTtl:before{top: -7px;}

nav.navigation{
    padding-bottom: 90px;
}
nav.navigation ul.nav-links {
    display: flex;
    justify-content: center;
}
nav.navigation ul.nav-links li,
nav.navigation ul.nav-links li a{
    font-size: 15px;
    font-weight: bold;
    background: #F0F0F0;
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    min-height: 40px;
    transition: .4s;
}
nav.navigation ul.nav-links li{
    margin: 0 4px;
}
nav.navigation ul.nav-links li a:hover{ text-decoration: none; opacity: .7;}
.ie nav.navigation ul.nav-links li,
.ie nav.navigation ul.nav-links li a{
    height: 40px;
    padding-top: 3px;
    box-sizing: border-box;
}

nav.navigation ul.nav-links li a.current{
    color: #fff;
    background: #646464;
}
.page_nav a:hover{
    color: #FFF;
    background: #01358B;
    opacity: 1;
}


.page_nav a.prev{
    margin-right: 6px;
    padding-left: 14px;
}
.page_nav a.next{
    margin-left: 6px;
    padding-right: 14px;
}

.page_nav a.prev::before,
.page_nav a.prev::after,
.page_nav a.next::before,
.page_nav a.next::after{
    position: absolute;
    top: 50%;
    display:block;
    content: '';
}

.page_nav a.prev::before,
.page_nav a.next::before{
    margin-top: -9px;
    width: 18px;
    height: 18px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #01358B;
}

.page_nav a.prev::before{ left: 7px;}

.page_nav a.next::before{ right: 7px;}


.page_nav a.prev::after,
.page_nav a.next::after{
    margin-top: -3px;
    width: 5px;
    height: 5px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


.page_nav a.prev::after{
    left: 14px;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
}
.pager a.next::after,
.page_nav a.next::after{
    right: 14px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}


.page_nav a:hover.prev::before,
.page_nav a:hover.next::before{
    background: #FFF;
}

.page_nav a:hover.prev::after{
    border-bottom: 1px solid #01358B;
    border-left: 1px solid #01358B;
}

.page_nav a:hover.next::after{
    border-top: 1px solid #01358B;
    border-right: 1px solid #01358B;
}

.page_nav{
    margin-top: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.page_nav a{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 98px;
    height: 35px;
    font-size: 1.6rem;
    font-weight: 700;
    padding-bottom: 2px;
    box-sizing: border-box;
    text-decoration: none;
    color: #01358B;
    border: 1px solid #01358B;
    border-radius: 5px;
    margin: 0 3px;
}
.page_nav a.toList{
    width: 135px;
}

.colum-2{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.colum-2 .mainCnts{
    width: 73%;
    max-width: 850px;
}
.colum-2 .side{
    width: 22%;
    max-width: 250px;
}
.colum-2 .side .s-box+.s-box{ margin-top: 110px;}

.colum-2 .side .s-box h3{
    font-size: 3.0rem;
    letter-spacing: .2rem;
    margin-bottom: 20px;
}
.colum-2 .side .s-box.catList li{
    position: relative;
}
.colum-2 .side .s-box.catList li:before{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    content: '■';
    color: #f5f5f5;
    margin-right: 5px;
}
.colum-2 .side .s-box.catList li+li{ margin-top: 10px;}
.colum-2 .side .s-box.catList li a{
    font-size: 1.8rem;
	transition: .4s;
}
.colum-2 .side .s-box.catList li a:hover{
	text-decoration: none;
	opacity: .7;
}

.colum-2 .side .s-box.archiveList .acc_wrap{
    width: 100%;
    max-width: 150px;
}
.colum-2 .side .s-box.archiveList .acc_btn{
    position: relative;
    border: 1px solid #c8c8c8;
    box-sizing: border-box;
    padding: 7px 10px;
    line-height: 1.2;
    cursor: pointer;
}
.colum-2 .side .s-box.archiveList .acc_btn:after{
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -3px;
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 3px 0 3px;
    border-color: #646464 transparent transparent transparent;

}
.colum-2 .side .s-box.archiveList .acc_btn.on:after{
    border-width: 0 3px 5px 3px;
    border-color: transparent transparent #646464 transparent;
}

.colum-2 .side .s-box.archiveList .acc_cnts{ display: none;}
.colum-2 .side .s-box.archiveList .acc_cnts ul{}
.colum-2 .side .s-box.archiveList .acc_cnts li{
    border: 1px solid #c8c8c8;
    background: #f5f5f5;
    border-top: none;
    padding: 7px 10px;
    line-height: 1.2;
    box-sizing: border-box;
}

.colum-2 .side .s-box.archiveList .acc_btn a,
.colum-2 .side .s-box.archiveList .acc_cnts li a{
    font-size: 1.8rem;
}


@media screen and (max-width: 767px) {
    .btn a{
        width: 60%;
        max-width: inherit;
        font-size: 4vw;
        line-height: 1;
        padding: 5% 0;
    }

    .btn a:after{
        top: -.5vw;
        margin-left: 4%;
    }
    .page_ttl{
        padding-top: 16%;
    }
    .page_ttl h1{
        font-size: 4.4vw;
        margin-bottom: 10%;
    }
    .page_ttl span{
        font-size: 9vw;
        margin-bottom: 6%;
        line-height: 1.4;
        word-break: keep-all;
    }

    .secTitle{
        display: block;
        margin-bottom: 10%;
        padding-bottom: 0;
        border-bottom: none;
        box-sizing: border-box;
    }
    .secTitle h2{
        font-size: 4.0vw;
        text-align: center;
    }
    .secTitle span{
        position: relative;
        display: block;
        font-size: 7.5vw;
        line-height: 1;
        margin-right: 0;
        text-align: center;
    }
    .secTitle span:after{
        display: block;
        content: '';
        width: 62vw;
        height: 1px;
        margin: 4% auto;
        background: #646464;
    }

    .boxTtl{
        font-size: 5vw;
        line-height: 1.5;
        margin-bottom: 6%;
        padding-left: 15px;
    }
    .boxTtl:before{
        top: -.5vw;
        height: 30px;
    }

    nav.navigation{
        padding-bottom: 10%;
    }
    nav.navigation ul.nav-links li,
    nav.navigation ul.nav-links li a{
        font-size: 4.1vw;
        min-width: 2em;
        min-height: 2em;
    }
    nav.navigation ul.nav-links li{
        margin: 0 1%;
    }

    .colum-2{
        display: block;
    }
    .colum-2 .mainCnts,
    .colum-2 .side{
        width: 100%;
        max-width: inherit;
    }
    .colum-2 .side{
        margin-top: 12%;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .colum-2 .side .s-box{
        width: 48%;
    }
    .colum-2 .side .s-box+.s-box{ margin-top: 0; margin-left: 4%;}

    .colum-2 .side .s-box h3{
        font-size: 5.8vw;
        margin-bottom: 10%;
    }
    .colum-2 .side .s-box.catList ul{ margin-top: -1vw;}
    .colum-2 .side .s-box.catList li:before{
        position: relative;
        display: inline-block;
        vertical-align: middle;
        content: '■';
        color: #f5f5f5;
        margin-right: 5px;
    }
    .colum-2 .side .s-box.catList li+li{ margin-top: 0;}
    .colum-2 .side .s-box.catList li a{
        font-size: 3.9vw;
    }

    .colum-2 .side .s-box.archiveList .acc_wrap{
        max-width: inherit;
    }
    .colum-2 .side .s-box.archiveList .acc_btn{
        padding: 5px 10px;
    }
    .colum-2 .side .s-box.archiveList .acc_btn:after{
        margin-top: -.8vw;
        border-width: 1.4vw .8vw 0 .8vw;
    }
    .colum-2 .side .s-box.archiveList .acc_btn.on:after{
        border-width: 0 .8vw 1.4vw .8vw;
    }
    .colum-2 .side .s-box.archiveList .acc_cnts li{
        padding: 5px 10px;
    }

    .colum-2 .side .s-box.archiveList .acc_btn a,
    .colum-2 .side .s-box.archiveList .acc_cnts li a{
        font-size: 3.9vw;
    }
}





/*  sec-contact -------------------------------------------*/
.sec-contact{
    position: relative;
    padding: 175px 0 98px 0;
    background: url("../img/common/bg_contact.png") no-repeat center center;
    background-size: cover;
    box-sizing: border-box;
}

.sec-contact h2{
    font-size: 4.0rem;
    text-align: center;
    color: #FFF;
    letter-spacing: .4rem;
}
.sec-contact .subttl{
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    color: #FFF;
}

.sec-contact .btn_wrap{
    margin-top: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sec-contact .btn_wrap .btn+.btn{ margin-left: 50px;}
.sec-contact .btn_wrap .btn{
	position: relative;
    width: 48%;
    max-width: 380px;
}

.sec-contact .btn_wrap .btn.contact{ background: #893b3b}
.sec-contact .btn_wrap .btn.reservation{ background: #d7c200}
.sec-contact .btn_wrap .btn:before{
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: 100%;
	height: 0;
	background-color: rgba(255,255,255,.1);
	-webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
	transition: all .5s cubic-bezier(.19,1,.22,1);
	-webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}
.sec-contact .btn_wrap .btn:hover:before{
	height: 100%;
    top: auto;
    bottom: 0;
}

.sec-contact .btn_wrap .btn a{
    max-width: inherit;
    color: #FFF;
    padding: 19px 20px;
    font-size: 2.0rem;
    border: none;
    text-align: left;
}
.sec-contact .btn_wrap .btn.reservation a{ padding: 20px 20px 17px 20px;}

.sec-contact .btn a:after {
    position: absolute;
    right: 18px;
    top: 50%;
    margin-top: -6px;
    display: block;
    content: '';
    margin-left: 0;
    width: 12px;
    height: 12px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.sec-contact .btn:hover a:after{ right: 15px;}

.sec-contact .btn_wrap .btn a:before{
    display: inline-block;
    vertical-align: middle;
    content: '';
    background-size:100% auto !important;
    margin-right: 17px;
}


.sec-contact .btn_wrap .btn.contact a:before{
    background: url("../img/common/icn_contact.png") no-repeat center center;
    width: 39px;
    height: 31px;
}
.sec-contact .btn_wrap .btn.reservation a:before{
    position: relative;
    top: -3px;
    background: url("../img/common/icn_reservation.png") no-repeat center center;
    width: 35px;
    height: 32px;
}


@media screen and (max-width: 767px) {
    .sec-contact{
        padding: 14% 0 12% 0;
        background: url("../img/common/bg_contact_sp.png") no-repeat center center;
        background-size: cover;
    }

    .sec-contact h2{
        font-size: 9vw;
        margin-bottom: 10px;
    }
    .sec-contact .subttl{
        font-size: 4.4vw;
    }

    .sec-contact .btn_wrap{
        margin-top: 12%;
        display: block;
    }

    .sec-contact .btn_wrap .btn+.btn{ margin-left: auto; margin-top: 5%;}
    .sec-contact .btn_wrap .btn{
        width: 80%;
        max-width: inherit;
		margin: 0 auto;
    }
    .sec-contact .btn_wrap .btn a{
        width: 100%;
        margin: 0 auto;
        padding: 4% 4% 3% 4%;
        font-size: 4.2vw;
    }
    .sec-contact .btn_wrap .btn.reservation a{ padding: 4% 4% 3% 4%;}

    .sec-contact .btn a:after {
        right: 4%;
        margin-top: -1.5vw;
        width: 3vw;
        height: 3vw;
    }
    .sec-contact .btn_wrap .btn a:before{
        margin-right: 15px;
    }
    .sec-contact .btn_wrap .btn.contact a:before{
        width: 8vw;
        max-width: 78px;
        height: 8vw;
        max-height: 62px;
    }
    .sec-contact .btn_wrap .btn.reservation a:before{
        top: -.8vw;
        width: 70px;
        max-width: 8vw;
        height: 64px;
        max-height: 8vw;
    }

}

/*  formt -------------------------------------------*/
.form_style{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: 1px solid #c8c8c8;
    box-sizing: border-box;
}
.form_style th,
.form_style td{
    font-size: 1.4rem;
    vertical-align: top;
    border-bottom: 1px solid #c8c8c8;
    padding: 15px 0 12px 0;
    box-sizing: border-box;
}
.form_style th{
    width: 220px;
    position: relative;
    font-weight: 700;
    padding-left: 82px;
    padding-top: 18px;
}

.ie .form_style th{ padding-top: 22px;}
.mac .form_style th{ padding-top: 22px;}

.borderNone{border-bottom: none !important;}
.pb00{ padding-bottom: 0 !important;}
.pt00{ padding-top: 0 !important;}

.form_style .required{
    position: absolute;
    left: 10px;
    top: 20px;
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    color: #FFF;
    padding: 0 11px;
    background: #646464;
}
.ie .form_style .required{padding: 8px 11px 4px 11px; line-height: 1.2; top: 19px;}
.mac .form_style .required{top: 22px;}

.form_style input,
.form_style textarea{
    width: 100%;
    background: #FFF;
    padding: 9px 13px;
    font-size: 1.4rem;
    outline: none;
    box-shadow: none;
    border: 1px solid #c8c8c8;
    box-sizing: border-box;
	transition: .4s;
}
.form_style textarea{
    height: 150px;
    resize: vertical;
    margin-top: 5px;
}

.form_style input:focus,
.form_style textarea:focus {
  outline: 0;
  box-shadow: 0 0 2px 2px rgba(66,113,206,.3);
  border-radius: 3px;
}

.form_style input.input_width01{
    width: 100px;
    margin-left: 10px;
}


.form_style input::placeholder { color: #c8c8c8;}
/* IE */
.form_style input:-ms-input-placeholder  { color: #c8c8c8;}
/* Edge */
.form_style input::-ms-input-placeholder  { color: #c8c8c8;}

.form_style .select_wrap{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 5px;
}
.form_style .select_wrap+.select_wrap{ margin-top: 15px;}

.form_style .select_wrap label{
    font-weight: 700;
}
.form_style .select_wrap .select{
    width: 150px;
    margin-left: 10px;
}
.form_style .select_wrap .select.select_width01{
    width: 80px;
    margin-left: 0;
    margin-top: 0;
}
.form_style .select_wrap .select.select_width02{
    width: 180px;
    margin-left: 0;
}
.form_style .select_wrap .select.select_width03{
    width: 280px;
    margin-left: 0;
}

/*セレクトボックス*/
.select_wrap .selectIn {
    overflow: hidden;
    width: 100%;
    margin: 0;
    text-align: center;
}
.select_wrap .selectIn select {
    width: 100%;
    font-size: 1.4rem;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}
.select_wrap .selectIn select::-ms-expand {
    display: none;
}
.select_wrap .selectIn {
    position: relative;
    border: 1px solid #c8c8c8;
    background: #ffffff;
    box-sizing: border-box;
}

.select_wrap .selectIn select {
    padding: 10px 13px;
}

.form_style .select_wrap .select{ position: relative;}
.form_style .select_wrap .select:after{
    position: absolute;
    right: 8px;
    top: 50%;
    margin-top: -5px;
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px 0 6px;
    border-color: #646464 transparent transparent transparent;
}

/* ラジオボタン */
/*.radio-input,*/
/*.form_style .mwform-radio-field{*/
/*    visibility: hidden;*/
/*    width: 1px;*/
/*    padding: 0;*/
/*    margin-left: -1px;*/
/*}*/
/*.mwform-radio-field label{*/
/*    padding-left: 18px;*/
/*    position:relative;*/
/*    font-size: 1.4rem;*/
/*    font-weight: 700;*/
/*    cursor: pointer;*/
/*}*/
/*.mwform-radio-field label .radio-input + span::before{*/
/*    content: "";*/
/*    display: block;*/
/*    position: absolute;*/
/*    top: 3px;*/
/*    left: 0;*/
/*    width: 12px;*/
/*    height: 12px;*/
/*    border: 1px solid #646464;*/
/*    border-radius: 50%;*/
/*}*/
/*.mac .mwform-radio-field label .radio-input + span::before{top: 0;}*/
/*.mwform-radio-field label .radio-input:checked + span::after{*/
/*    content: "";*/
/*    display: block;*/
/*    position: absolute;*/
/*    top: 6px;*/
/*    left: 3px;*/
/*    width: 6px;*/
/*    height: 6px;*/
/*    background: #646464;*/
/*    border-radius: 50%;*/
/*}*/


.radio-input,
.form_style .mwform-radio-field{
    visibility: hidden;
    width: 1px;
    padding: 0;
    margin-left: -1px;
}
.check_agree input[type=checkbox] + span {
    display: inline;
    padding-left: 18px;
    position:relative;
    font-size: 1.4rem;
    font-weight: 700;
    cursor: pointer;
}
.check_agree input[type=checkbox] + span::before,
.check_agree input[type=checkbox]:checked + span::before{
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 12px;
    height: 12px;
    border: 1px solid #646464;
    border-radius: 50%;
}
.check_agree input[type=checkbox]:checked + span::after{
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: 3px;
    width: 6px;
    height: 6px;
    background: #646464;
    border-radius: 50%;
}

.mac .mwform-radio-field label .radio-input:checked + span::after{ top: 3px;}
.mwform-checkbox-field input, .mwform-radio-field input{
    margin-right: 0;
}

/* チェックボックス */

.mw_wp_form .horizontal-item + .horizontal-item,
.mwform-checkbox-field input, .mwform-radio-field input{
    margin-left: 0;
}
.mwform-radio-field{
    margin: 0 .5em;
}
input[type=checkbox] {
    appearance: none;
    display: none;
}
input[type=checkbox] + span {
    display: block;
    padding-left: 20px;
    position:relative;
    font-size: 1.4rem;
    cursor: pointer;
}
input[type=checkbox] + span:before {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid #646464;
}
input[type=checkbox]:checked + span:before {
    content: "";
    position: absolute;
    top: 7px;
    width: 15px;
    height: 15px;
}
.form_style .mwform-checkbox-field{
    /*padding-left: 20px;*/
    position:relative;
    font-size: 1.4rem;
    cursor: pointer;
}
/*.form_style .mwform-checkbox-field::before{*/
/*    content: "";*/
/*    display: block;*/
/*    position: absolute;*/
/*    top: 4px;*/
/*    left: 0;*/
/*    width: 10px;*/
/*    height: 10px;*/
/*    border: 1px solid #646464;*/
/*}*/
/*.mac .form_style .mwform-checkbox-field::before{ top: 2px;}*/

input[type=checkbox]:checked + span::after{
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    left: 4px;
    width: 6px;
    height: 10px;
    transform: rotate(40deg);
    border-bottom: 2px solid #646464;
    border-right: 2px solid #646464;
}
.mac .form_style .checkbox-input:checked + .mwform-checkbox-field::after{ top: -1px;}
.form_style .zip{
    width: 140px;
}

.form_style .zip_btn{
    display: inline-block;
    margin-left: 8px;
    width: 80px;
    padding: 6px;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    color: #FFF;
    background: #646464;
    box-sizing: border-box;
    cursor: pointer;
}

.privacy_wrap{ margin-top: 35px;}
.privacy_wrap p{
    text-align: center;
    font-size: 1.4rem;
    line-height: 2.57;
}
.mw_wp_form_confirm.mw_wp_form_preview .privacy_wrap p{
    display: none;
}
.privacy_wrap a{ text-decoration: underline; font-weight: 700;}
.privacy_wrap a:hover{ text-decoration: none;}

.check_agree{
    margin-top: 20px;
    text-align: center;
}
.mw_wp_form .check_agree .error{
    font-size: 0.8vw;
    margin-top: 10px;
}
.mw_wp_form_confirm.mw_wp_form_preview .check_agree{
    display: none;
}
#mw_wp_form_mw-wp-form-246.mw_wp_form_confirm.mw_wp_form_preview,
#mw_wp_form_mw-wp-form-268.mw_wp_form_confirm.mw_wp_form_preview,
#mw_wp_form_mw-wp-form-248.mw_wp_form_confirm.mw_wp_form_preview{
    margin-bottom: 80px;
}
#mw_wp_form_mw-wp-form-303 .form_style th,
#mw_wp_form_mw-wp-form-303 .form_style td,
.event_form .form_style th,
.event_form .form_style td{
    border-bottom: none;
}
#mw_wp_form_mw-wp-form-303.mw_wp_form_confirm.mw_wp_form_preview .form_style td,
.event_form .mw_wp_form_confirm.mw_wp_form_preview .form_style td{
    width: 100%;
}
#mw_wp_form_mw-wp-form-303 .form_style tr,
.event_form .form_style tr{
    border-bottom: 1px solid #c8c8c8;
}
#mw_wp_form_mw-wp-form-303.mw_wp_form_confirm.mw_wp_form_preview .select_wrap .selectIn,
.event_form .mw_wp_form_confirm.mw_wp_form_preview .select_wrap .selectIn{
    background: inherit;
}
#mw_wp_form_mw-wp-form-303.mw_wp_form_confirm.mw_wp_form_preview .form_style td p,
.event_form .mw_wp_form_confirm.mw_wp_form_preview .form_style td p{
    margin-top: 0;
}

form .btn_wrap{
    margin: 30px 0 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn_wrap .btn_send input{
	position: relative;
    width: 250px;
	background: none;
    font-size: 1.6rem;
    letter-spacing: .4rem;
    font-weight: 700;
    text-align: center;
    color: #FFF;
    padding: 18px 10px;
    box-sizing: border-box;
    border: none;
    box-shadow: none;
    cursor: pointer;
    transition: .4s;
}
.btn_wrap .btn_send{
	position: relative;
    background: #646464;
}
.btn_wrap .btn_send:before{
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: 100%;
	height: 0;

	background-color: rgba(255,255,255,.1);
	-webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
	transition: all .5s cubic-bezier(.19,1,.22,1);
	-webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}
.btn_wrap .btn_send:hover:before{
	height: 100%;
    top: auto;
    bottom: 0;
}

.mw_wp_form_confirm.mw_wp_form_preview .select_wrap .selectIn{
    border: none;
    text-align: left;
}
.mw_wp_form_confirm.mw_wp_form_preview .select_wrap .select:after{
    content: none;
}
.mw_wp_form_confirm.mw_wp_form_preview .zip_btn{
    display: none;
}
#mw_wp_form_mw-wp-form-246.mw_wp_form_confirm.mw_wp_form_preview .select_wrap label,
#mw_wp_form_mw-wp-form-268.mw_wp_form_confirm.mw_wp_form_preview .select_wrap label{
    margin-right: 15px;
}
#mw_wp_form_mw-wp-form-303.mw_wp_form .horizontal-item + .horizontal-item,
.event_form .mw_wp_form .horizontal-item + .horizontal-item{
    margin-left: 0;
}
#mw_wp_form_mw-wp-form-303.mw_wp_form_confirm.mw_wp_form_preview tr,
.event_form .mw_wp_form_confirm.mw_wp_form_preview tr{
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #c8c8c8;
}
.th_colspan{
    position: absolute;
    width: 100%;
    left: 0;
    padding-left: 82px;
    white-space: nowrap;
    box-sizing: border-box;
}
.form_style .th_colspan .required{
    top: 0;
}
.form_style .td_colspan{
    padding-top: 45px;
}
.form_style .td_colspan.pt10{
    padding-top: 55px;
}
@media screen and (max-width: 767px) {
    .form_style th,
    .form_style td{
        display: block;
        font-size: 3.7vw;
        padding: 4% 0;
    }
    .form_style th{
        width: 100%;
        padding-left: 17vw;
        border-bottom: none;
        padding-bottom: 0;
    }
    .form_style th.th_pa{
        padding-left: 0;
    }
    .form_style td{ padding-top: 3%; position: relative;}
    .sp_tblNone{ display: none !important;}
    .form_style td.pt00{
        padding-left: 18vw;
        box-sizing: border-box;
    }
    .form_style td ul.pl00,
    .form_style th.pl00{ padding-left: 0;}
    .form_style td ul li{ line-height: 1.3;}


    .form_style .required{
        font-size: 3.7vw;
        left: 0;
        top: 3.2vw;
        padding: 0 10px;
    }
    .form_style .select_wrap label{ margin-right: 10px; white-space: nowrap;}
    .form_style .select_wrap label.sp.selectTtl{ padding-left: 17vw; margin-right: 8%;}
    .form_style input,
    .form_style textarea{
        padding: 5px 9px;
        font-size: 3.7vw;
    }
    .form_style textarea{
        height: 40vw;
    }

    .form_style input.input_width01{
        width: 23vw;
    }
    .form_style .select_wrap .select{
        width: 48%;
        margin-left: 10px;
    }
    .form_style .select_wrap .select.select_width01{ width: 23vw;}
    .form_style .select_wrap .select.select_width02{
        width: 100%;
    }
    .form_style .select_wrap .select.sp-width{ width: 70%;}


    .form_style .select_wrap .select.select_width03{
        width: 100%;
    }
    /*セレクトボックス*/
    .select_wrap .selectIn select {
        font-size: 3.7vw;
        padding-right: 1em;
    }
    .form_style .select_wrap .select:after{
        right: 2vw;
        margin-top: -.9vw;
        border-width: 1.8vw 1.2vw 0 1.2vw;
    }

    .select_wrap .selectIn select {
        padding: 5px 10px;
    }

    .radio-input + label{
        padding-left: 5vw;
        font-size: 3.7vw;
    }
    .radio-input + label::before{
        top: 3px;
        left: 0;
        width: 3vw;
        height: 3vw;
    }
    .radio-input:checked + label::after{
        top: 1.4vw;
        left: 0.6vw;
        width: 1.8vw;
        height: 1.8vw;
    }
    /* チェックボックス */
    input[type=checkbox] + span{
        padding-left: 5vw;
        font-size: 3.7vw;
        letter-spacing: -.03rem;
        line-height: 1.5;
    }
    input[type=checkbox] + span:before,
    input[type=checkbox]:checked + span:before{
        top: 4px;
    }
    input[type=checkbox]:checked + span::after{
        top: 5px;
    }
    .form_style .checkbox-parts::before{
        top: .8vw;
        left: 0;
        width: 2.5vw;
        height: 2.5vw;
    }

    .form_style .checkbox-input:checked + .checkbox-parts::after{
        top: .1vw;
        left: 1vw;
        width: 1.4vw;
        height: 2.4vw;
    }

    .form_style .zip{
        width: 70%;
    }
    .form_style .zip_btn{
        width: 26%;
        padding: 3px 6px;
        font-size: 3.6vw;
    }

    .privacy_wrap{ margin-top: 5%;}
    .privacy_wrap p{
        text-align: left;
        font-size: 3.7vw;
        line-height: 1.8;
    }
    .check_agree{
        margin-top: 5%;
    }

    .btn_wrap{
        margin: 6% 0 0 0;
    }
	.btn_wrap .btn_send{
        width: 60vw;
		margin: 0 auto;
	}
    .btn_wrap .btn_send input{
        width: 100%;
        max-width: inherit;
        padding: 5% 0;
        font-size: 4vw;
    }
    .pb00{ padding-bottom: 3% !important;}

    .form_style .th_colspan{
        position: initial;
        padding-left: 0;
        white-space: inherit;
    }
    .form_style .th_colspan .required{
        top: 3.2vw;
    }
    .form_style .td_colspan,
    .form_style .td_colspan.pt10{
        padding-top: 3%;
    }

    .mw_wp_form .check_agree .error {
        font-size: 3.5vw;
    }

}


/*  confirm -------------------------------------------*/
.mw_wp_form_confirm.mw_wp_form_preview .sec-confirm{ margin-bottom: 158px;}
.confirm_text{
    text-align: center;
    font-size: 1.4rem;
    color: #893B3B;
    font-weight: 700;
    margin-top: 80px;
    margin-bottom: 55px;
}
.mw_wp_form_confirm.mw_wp_form_preview .form_style{
    width: 92%;
    max-width: 880px;
    margin: 0 auto;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: 1px solid #C8C8C8;
    box-sizing: border-box;
}
.mw_wp_form_confirm.mw_wp_form_preview .form_style th,
.mw_wp_form_confirm.mw_wp_form_preview .form_style td{
    vertical-align: top;
    font-size: 1.4rem;
    box-sizing: border-box;
    border-bottom: 1px solid #C8C8C8;
}

.mw_wp_form_confirm.mw_wp_form_preview .form_style th{
    width: 400px;
    font-weight: 700;
    background: #F5F5F5;
    padding: 17px 20px 17px 40px;
}
.mw_wp_form_confirm.mw_wp_form_preview .form_style td{
    padding: 17px 0 17px 45px;
}
.mw_wp_form_confirm.mw_wp_form_preview .form_style td p{ margin-top: 10px;}

.mw_wp_form_confirm.mw_wp_form_preview .form_style .required{
    display: none;
}

.confirm.btn_wrap{
    width: 92%;
    max-width: 880px;
    margin: 85px auto 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.confirm.btn_wrap .btn_back button{
    margin-right: 50px;

    width: 250px;
    background: #FFF;
    border: 2px solid #646464;
    font-size: 1.6rem;
    letter-spacing: .4rem;
    font-weight: 700;
    text-align: center;
    color: #646464;
    padding: 18px 10px;
    box-sizing: border-box;
    box-shadow: none;
    cursor: pointer;
    transition: .4s;
}
.mw_wp_form_confirm.mw_wp_form_preview .form_style .th_colspan{
    position: initial;
    padding-left: 0;
}
.mw_wp_form_confirm.mw_wp_form_preview .form_style .td_colspan,
.mw_wp_form_confirm.mw_wp_form_preview .form_style .td_colspan.pt10{
    padding-top: 17px;
}

@media screen and (max-width: 767px) {
    .sec-confirm{ margin-bottom: 20%;}
    .confirm_text{
        font-size: 3.8vw;
        margin-top: 16%;
        margin-bottom: 10%;
    }
    .mw_wp_form_confirm.mw_wp_form_preview .form_style{
        width: 92%;
        max-width: inherit;
    }
    .mw_wp_form_confirm.mw_wp_form_preview .form_style th,
    .mw_wp_form_confirm.mw_wp_form_preview .form_style td{
        display: block;
        font-size: 3.8vw
    }

    .mw_wp_form_confirm.mw_wp_form_preview .form_style th{
        width: 100%;
        padding: 2% 4%;
    }
    .mw_wp_form_confirm.mw_wp_form_preview .form_style td{
        padding: 2% 4%;
    }

    .confirm.btn_wrap{
        width: 92%;
        max-width: inherit;
        margin: 10% auto 0 auto;
        display: block;
    }
    .confirm.btn_wrap .btn_back,
    .confirm.btn_wrap .btn_send{ text-align: center;}
    .confirm.btn_wrap .btn_back button{
        margin: 0 auto 4% auto;

        width: 60vw;
        max-width: inherit;
        padding: 5% 0;
        font-size: 4vw;
    }
    .mw_wp_form_confirm.mw_wp_form_preview .form_style .td_colspan,
    .mw_wp_form_confirm.mw_wp_form_preview .form_style .td_colspan.pt10{
        padding-top: 2%;
    }
    #mw_wp_form_mw-wp-form-303.mw_wp_form_confirm.mw_wp_form_preview .form_style .td_colspan,
    .event_form .mw_wp_form_confirm.mw_wp_form_preview .form_style .td_colspan{
        width: 100%;
    }
}


/*  complete -------------------------------------------*/
#complete_wrap{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(2,2,2,.3);
    z-index: 999;
}

.popup-open #complete_wrap{ display: block;}

#complete_wrap .box_wrap{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
#complete_wrap .box{
    width: 92%;
    max-width: 685px;
    background: #FFF;
    padding: 75px 40px;
    box-sizing: border-box;
}
#complete_wrap .box p{
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 2.8;
}

#complete_wrap .box .btn_wrap{
    margin: 40px auto 0 auto;
    text-align: center;
}
#complete_wrap .box .btn{
    display: block;
    margin: 0 auto;
    width: 150px;
    background: #646464;
    font-size: 1.6rem;
    letter-spacing: .4rem;
    font-weight: 700;
    text-align: center;
    color: #FFF;
    padding: 18px 10px;
    box-sizing: border-box;
    transition: .4s;
}

#complete_wrap .box .btn:hover{
    text-decoration: none;
    opacity: .7;
}

@media screen and (max-width: 767px) {
    #complete_wrap .box{
        width: 92%;
        max-width: inherit;
        padding: 10% 4%;
    }
    #complete_wrap .box p{
        font-size: 3.4vw;
    }

    #complete_wrap .box .btn_wrap{
        margin: 8% auto 0 auto;
    }
    #complete_wrap .box .btn{
        width: 60vw;
        max-width: inherit;
        padding: 5% 0;
        font-size: 3.4vw;
    }
}

/* PC side banner */
.pc-fixed{
    position: fixed;
    bottom: 7.2%;
    right: 0;
    z-index: 99;
}
.gecko .pc-fixed{
    width: 55px;
}
.pc-fixed .pc-btn{ position: relative;}
.pc-fixed .pc-btn a{
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;

    font-size: 1.6rem;
    line-height: 1;
    color: #FFF;
    padding: 35px 19px 20px 19px;
    box-sizing: border-box;
    transition: .4s;
}
.ie .pc-fixed .pc-btn a{padding:35px 19px 20px 16px;}
.pc-fixed .pc-btn a:hover{
    text-decoration: none;
    opacity: .7;
}
.pc-fixed .btn-contact{
    background: #893b3b;
}
.pc-fixed .btn-event{
    background: #d7c200;
}
.pc-fixed .btn-event a{ padding-top: 45px !important;}
.pc-fixed .btn-modelhouse{
    background: #646464;
}
.pc-fixed .btn-modelhouse a{ padding-top: 45px !important;}
.pc-fixed .btn-line{
    background: #06c755;
}
.pc-fixed .btn-line a{ padding-top: 40px !important;}

.pc-fixed .pc-btn:before{
    position: absolute;
    left: 0;
    right: 0;
    top: 10px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    content: '';
    background-size: 100% auto;
}
.pc-fixed .btn-contact:before{
    background: url("../img/common/pc-ico-contact.png") no-repeat center center;
    width: 21px;
    height: 16px;
}
.pc-fixed .btn-event:before{
    background: url("../img/common/pc-ico-event.png") no-repeat center center;
    width: 17px;
    height: 26px;
}
.pc-fixed .btn-modelhouse:before{
    background: url("../img/common/pc-ico-modelhouse.png") no-repeat center center;
    width: 25px;
    height: 22px;
}
.pc-fixed .btn-line:before{
    background: url("../img/common/pc-ico-line.png") no-repeat center center;
    width: 23px;
    height: 22px;
}



.pagetop{
    cursor: pointer;
    transition: .4s;
}
.pagetop:hover{ opacity: .7;}

