 /* normalize */










/*ふわっとあがる*/
a, img, :after, 
#campaignBnrWrap{
    -webkit-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
    -moz-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
    -o-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
    transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
}




ol,ul{list-style:none}
caption,th{text-align:left}




/*2列のところの文字のパディング*/
.clearfix:after{content:"";display:block;clear:both}
p,aside{word-wrap:break-word;text-align:justify;}
*{-webkit-touch-callout:none}
*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
*:before, *:after{pointer-events:none;}
input, select {vertical-align: middle;}
section {position: relative;}



a {
    text-decoration: none;
    color: #333;
    word-break: break-all;
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    overflow: hidden;
    outline: none;
    text-decoration: none;
}
a:visited {}
a:link {}

a.telBtn {
    pointer-events: none;
}
.txtRed{color: #c50000;}



















/* common */



#contentWrap {
    overflow: hidden;
        margin-bottom: 100px;
}
.inner {
    width: 100%;
    max-width: 1000px;
    height: auto;
    margin: auto;
    position: relative;
}
section.thin>.inner {
    max-width: 800px;
}
section.marginSec{
    padding-top: 50px;
}
.bg {
    background-size: cover;
    background-position: 50%;
}







.halfWrap{
    padding: 100px 0;
    position: relative;
    z-index: 1;
}
.halfWrap.horizonal{}
.halfWrap>.halfWrapInner{
    position: relative;
    z-index: 1;
}
.halfWrap.vertical>.halfWrapInner{
    
}
.halfWrap.horizonal>.halfWrapInner{
    padding-top: 200px;
    width: 100%;
    max-width: 450px;
    float: left;
}




.margin_top10{
	padding: 0;
	margin: 0;
	margin-top: 10px;
}

.margin_top15{
	padding: 0;
	margin: 0;
	margin-top: 15px;
}

.margin_top20{
	padding: 0;
	margin: 0;
	margin-top: 20px;
}

.margin_top30{
	padding: 0;
	margin: 0;
	margin-top: 30px;
}

.margin_top40{
	padding: 0;
	margin: 0;
	margin-top: 40px;
}

.margin_top120{
	padding: 0;
	margin: 0;
	margin-top: 120px;
}



.clear{
	clear:both;
}

.clearfix:after {
	DISPLAY: block; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; CONTENT: "."
}
.clearfix {
	ZOOM: 1; DISPLAY: inline-block
}
* HTML .clearfix {
	ZOOM: 1; HEIGHT: 1px
}
.clearfix {
	DISPLAY: block
}





/*****  img1 いらないかも  *****/

@-webkit-keyframes toAboutAnime1 {
0% {opacity: 0;}
75% {opacity: 0;}
100% {opacity: 1;}
}
@keyframes toAboutAnime1 { 
0% {opacity: 0;}
75% {opacity: 0;}
100% {opacity: 1;}
}
*/
.halfWrap.vertical>.halfWrapInner#toAbout>.bg:after {
    width: 100px;
    height: 30px;
    top: 10px;
    left: 10px;
    background-image: url(../about_deco2.png);
}




/*****  img1  *****/
.halfWrap.vertical>.halfWrapInner>a.loadTriggerUnit>.loadTriggerSubUnit {
    background-color: #751c1c;
    color: #FFF;
}


/*****  img1 裏地  *****/
.loadTrigger .loadTriggerUnit:before,
.fadeInTrigger9 .loadTriggerUnit:before {
    content: "";
    display: block;
    position: absolute;
    background-color: #4c1c1c;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    -webkit-transform: translateX(101%);
-moz-transform: translateX(101%);
-o-transform: translateX(101%);
-ms-transform: translateX(101%);
transform: translateX(101%);
}
.loadTrigger.loadComplete .loadTriggerUnit:before,
.fadeInTrigger9.active .loadTriggerUnit:before {
    -webkit-animation: loadTriggerAnime1 1.25s cubic-bezier(1, 0, 0, 1);
    animation: loadTriggerAnime1 1.25s cubic-bezier(1, 0, 0, 1);
}


/*****  img1影  *****/
.halfWrap.vertical>.halfWrapInner:before {
content: "";
    width: 70%;
    height: 100%;
    display: block;
    position: absolute;
    background-color: #4c1c1c;
    top: 50px;
    opacity: 0.1;
}

.halfWrap.vertical>.halfWrapInner>a.loadTriggerUnit>.loadTriggerSubUnit>.title:before,
.halfWrap.horizonal>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit{
    background-color: #FFF;
}
.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title,
.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.caption,
.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.cmnBtn{
    position: relative;
    z-index: 1;
}


.halfWrap.setS.flat>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit {
    height: 90px;
    padding: 20px 30px;
        background-color: #751c1c;
}
.halfWrap.setS.flat>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title {
    margin-bottom: 0;
    padding-bottom: 0;
}
.halfWrap.setS.flat.horizonal>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title:before{
    display: none;
}


/*****  img2  *****/
.halfWrap.vertical>.halfWrapInner#to_room>.loadTriggerUnit>.loadTriggerSubUnit {
    background-color: #60745b;
}

/*****  img2 裏地  *****/
#to_room>.loadTriggerUnit:before {
    background-color: #4f624a;
}

/*****  img2影  *****/
.halfWrap.vertical>.halfWrapInner#to_room:before {
    background-color: #bad3ba;
}






/*****  茶色  *****/
.halfWrap.vertical>.halfWrapInner#to_room2>.loadTriggerUnit>.loadTriggerSubUnit {
    background-color: #d1ae6c;
}

/*****  茶色 カーテン  *****/
#to_room2>.loadTriggerUnit:before {
    background-color: #f6efe2;
}

/*****  茶色  *****/
.halfWrap.vertical>.halfWrapInner#to_room2:before {
    background-color: #d1ae6c;
}




/*****  茶色2  *****/
.halfWrap.vertical>.halfWrapInner#to_room3>.loadTriggerUnit>.loadTriggerSubUnit {
    background-color: #e6b574;
}

/*****  茶色2 カーテン  *****/
#to_room3>.loadTriggerUnit:before {
    background-color: #faf0e3;
}

/*****  茶色2  *****/
.halfWrap.vertical>.halfWrapInner#to_room3:before {
    background-color: #e6b574;
}










#toProcedure {
    margin-top: 100px;
}
#toProcedure>.title {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 2;
}
#toProcedure>ul {
    width: 100%;
    padding-left: 180px;
    padding-top: 0;
}


#toVideo .bg{
    overflow: hidden;
}
.halfWrap.vertical>.halfWrapInner>.bg>video{
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}










.halfWrap.vertical>.halfWrapInner.setA:before{left: 0;}
.halfWrap.vertical>.halfWrapInner.setB:before{right: 0;}


.halfWrap.horizonal>.halfWrapInner.deco:before {
    content: "";
    width: 300px;
    height: 300px;
    display: block;
    position: absolute;
    top: 30px;
    right: -100px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50%;
    z-index: 1;
    opacity: 1;
    visibility: hidden;
}


.halfWrap.horizonal>.halfWrapInner.deco.active:before{
        opacity: 1;
    visibility: visible;
    -webkit-animation: horizonalAnime1 1.5s ease-in-out;
    animation: horizonalAnime1 1.5s ease-in-out;
}
@-webkit-keyframes horizonalAnime1 {
0% {opacity: 0;}
75% {opacity: 0;}
100% {opacity: 1;}
}
@keyframes horizonalAnime1 { 
0% {opacity: 0;}
75% {opacity: 0;}
100% {opacity: 1;}
}

.halfWrap.horizonal>.halfWrapInner.deco#toCourse:before {
    background-image: url(../img/top/course_deco.png);
}
.halfWrap.horizonal>.halfWrapInner.deco#toDivecenter:before {
    background-image: url(../img/top/divecenter_deco.png);
}
.halfWrap.horizonal>.halfWrapInner:nth-child(odd){
    margin-right: 50px;
}
.halfWrap.horizonal>.halfWrapInner:nth-child(even){
    margin-left: 50px;
    top: 100px;
}
.halfWrap>.halfWrapInner>.bg {
    display: block;
    position: absolute;
}


.halfWrap.vertical>.halfWrapInner>.bg {
    width: 70%;
    height: 500px;
    top: 0;
    margin: -50px 0 auto 0;
}
.halfWrap.vertical>.halfWrapInner.setA>.bg{
    right: 0;
}
.halfWrap.vertical>.halfWrapInner.setB>.bg{
    left: 0;
}




.halfWrap.horizonal>.halfWrapInner>.bg {
    width: 100%;
    height: 500px;
    top: 0;
    left: 30px;
}
.halfWrap>.halfWrapInner>.loadTriggerUnit{
    height: auto;
    position: relative;
    display: block;
    overflow: hidden;
    -webkit-box-shadow: 0 0 0 0 rgba(0,0,0,0.1);
    -moz-box-shadow: 0 0 0 0 rgba(0,0,0,0.1);
    box-shadow: 0 0 0 0 rgba(0,0,0,0.1);
}
.halfWrap.vertical>.halfWrapInner>.loadTriggerUnit  {
    width: 40%;
    min-width: 520px;
}
.halfWrap.horizonal>.halfWrapInner>.loadTriggerUnit  {
    width: 100%;
}













.halfWrap>.halfWrapInner>a.loadTriggerUnit:hover,
.modalBtn:hover {
    opacity: 1;
        -webkit-transform: translate(10px, -10px);
    -moz-transform: translate(10px, -10px);
    -o-transform: translate(10px, -10px);
    -ms-transform: translate(10px, -10px);
    transform: translate(10px, -10px);
    -webkit-box-shadow: -10px 10px 0 0 rgba(0,0,0,0.1) !important;
    -moz-box-shadow: -10px 10px 0 0 rgba(0,0,0,0.1) !important;
    box-shadow: -10px 10px 0 0 rgba(0,0,0,0.1) !important;
}
.halfWrap.vertical>.halfWrapInner.setA>.loadTriggerUnit {
    left: 40px;
}
.halfWrap.vertical>.halfWrapInner.setB>.loadTriggerUnit {
    right: 40px;
    margin-left: auto;
}
.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit {
    padding: 12% 15%;
    width: 100%;
    height: auto;
}
.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit:before,
.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit:after{
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit:before {
    background-image: -webkit-linear-gradient(230deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.05) 100%);
    background-image: linear-gradient(220deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.05) 100%);
}
.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit:after {
    background-color: #000;
    opacity: 0;
}
/*
.halfWrap>.halfWrapInner>.loadTriggerUnit:hover>.loadTriggerSubUnit:after {
    background-color: #000;
    opacity: 0.2;
}
*/
/*
.halfWrap.horizonal>.halfWrapInner>.loadTriggerUnit:hover>.loadTriggerSubUnit:after {
    opacity: 0.05;
}
*/
.halfWrap.vertical>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit{
    background-color: #000000;
}

























/* いらない */
.bg.setA{
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height:200px;
    display: block;
}














.caption>p>span,
table>tbody>tr>td>ul>li>span {
    font-size: 0.75em;
    display: block;
    line-height: 1.75em;
}

.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.caption{}
.halfWrap>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.cmnBtn{
    margin-top: 40px;
}








.waterBgTrigger:before,
.waterBgTrigger:after {
    content: "";
    background-image: url(../img/common/waterBg2.png);
    background-size: cover;
    background-position: 50%;
    display: block;
    width: 250px;
    height: 400px;
    position: absolute;
    z-index: 0;
    -webkit-transition: all 5s ease-in-out;
    -moz-transition: all 5s ease-in-out;
    -o-transition: all 5s ease-in-out;
    transition: all 5s ease-in-out;
}
.waterBgTrigger:after{
    -webkit-transition: all 8s ease-in-out;
    -moz-transition: all 8s ease-in-out;
    -o-transition: all 8s ease-in-out;
    transition: all 8s ease-in-out;
}
.waterBgTrigger:before{
    background-image: url(../img/common/waterBg2.png);
    top: -50px;
    right: 5%;
}
.waterBgTrigger:after{
    background-image: url(../img/common/waterBg3.png);
    bottom: -50px;
    left: 5%;
}










#contentWrap .secSetA>.inner dl>dt{
    margin-bottom: 20px;
    padding-bottom: 20px;
    font-size: 24px;
    line-height: 40px;
    text-align: center;
        border-bottom: 1px solid;
}
#contentWrap .secSetA>.inner dl>dd{
    text-align: justify;
}
#contentWrap .secSetA>.inner>ul>li{margin-top: 100px;z-index: 1;position: relative;}
#contentWrap .secSetA>.inner>ul>li:first-child{margin-top: 0}




/* fadeInAnime */
.fadeInTrigger1,
.fadeInTrigger2,
.halfWrap.horizonal>.halfWrapInner.active>.bg{
    -webkit-transition: all 1s cubic-bezier(0.5, 0, 0, 1);
    -moz-transition: all 1s cubic-bezier(0.5, 0, 0, 1);
    -o-transition: all 1s cubic-bezier(0.5, 0, 0, 1);
    transition: all 1s cubic-bezier(0.5, 0, 0, 1);
}
.fadeInTrigger1 {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(80px);
    -ms-transform: translateY(80px);
    transform: translateY(80px);
}
.fadeInTrigger1.active {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
.fadeInTrigger2{
    visibility: hidden;
    opacity: 0;
}
.fadeInTrigger2.active {
    visibility: visible;
    opacity: 1;
}



.waterBgTrigger:before,
.waterBgTrigger:after {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(100px);
    -ms-transform: translateY(100px);
    transform: translateY(100px);
}
.waterBgTrigger:after {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
}
.waterBgTrigger.active:before,
.waterBgTrigger.active:after {
    visibility: visible;
    opacity: 0.75;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}




/*2列揃いのところ*/


.halfWrap.horizonal>.halfWrapInner>.bg {
    visibility: hidden;
    opacity: 0;
}
.halfWrap.horizonal>.halfWrapInner.active>.bg {
    visibility: visible;
    opacity: 1;
    -webkit-transition-delay:0.3s;
-moz-transition-delay:0.3s;
-o-transition-delay:0.3s;
transition-delay:0.3s;
}

.halfWrap.setS.horizonal>.halfWrapInner {
    width: 400px;
    margin-bottom: 20px;
}
.halfWrap.setS.horizonal>.halfWrapInner:nth-child(odd){
    margin-right: 10px;
    top: 100px;
}
.halfWrap.setS.horizonal>.halfWrapInner:nth-child(even){
    margin-left: 10px;
    top: 0;
}
.halfWrap.setS.horizonal>.halfWrapInner.wide:nth-child(even){
    margin-left: 0;
}
.halfWrap.setS.horizonal>.halfWrapInner>.bg {
    height: 200px;
    left: 0;
    background-image: url(../img/common/noImg.jpg);
}
.halfWrap.setS>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit{
    padding: 40px;
    height: 235px;
}
.halfWrap.setS>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title {
    margin-bottom: 15px;
    padding-bottom: 25px;
}
.halfWrap.setS>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title:after {
    content: "";
    width: 10px;
    height: 10px;
    display: block;
    position: absolute;
    top: 20px;
    right: 0;
    margin: auto;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid;
    border-right: 1px solid;
}
.halfWrap.setS>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title>h2{
    font-size: 18px;
    line-height: 30px;
}
.halfWrap.setS>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title>h2.small{
    letter-spacing: -2px;
    font-size: 16px;
}
.halfWrap.setS>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title>h2.small.more,
.halfWrap.setS>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title>h2.small.more2{
    letter-spacing: -3px;
}
.halfWrap.setS>.halfWrapInner>.loadTriggerUnit>.loadTriggerSubUnit>.title>span{
    font-size: 10px;
}

.halfWrap.setS.flat.horizonal {
    width: 620px;
    padding-top: 0;
    padding-bottom: 0;
    float: right;
    padding-bottom: 20px;
}
.halfWrap.setS.flat.horizonal>.halfWrapInner {
    width: 300px;
    top: 0;
}
.halfWrap.setS.flat.horizonal>.halfWrapInner.wide {
    width: 100%;
    margin-right: 0;
    max-width: 100%;
}
.halfWrap.setS.flat.horizonal>.halfWrapInner:nth-child(even){
    top: 50px;
}
.halfWrap.setS.flat.horizonal>.halfWrapInner.wide:nth-child(even){
    top: 0;
}
.halfWrap.flat.setS.horizonal>.halfWrapInner>.bg>span,
.courseDetail .bg>span {
    width: 200px;
    height: 125px;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50%;
    -webkit-box-shadow: 0 30px 20px -20px rgba(0,0,0,0.5);
    -moz-box-shadow: 0 30px 20px -20px rgba(0,0,0,0.5);
    box-shadow: 0 30px 20px -20px rgba(0,0,0,0.5);
}


































@-webkit-keyframes loadTriggerAnime1 {
0% {-webkit-transform: translateX(-101%);}
47% {-webkit-transform: translateX(0%);}
53% {-webkit-transform: translateX(0%);}
100% {-webkit-transform: translateX(101%);}
}
@keyframes loadTriggerAnime1 { 
0% {
-webkit-transform: translateX(-101%);
-moz-transform: translateX(-101%);
-o-transform: translateX(-101%);
-ms-transform: translateX(-101%);
transform: translateX(-101%);
}
47% {
-webkit-transform: translateX(0%);
-moz-transform: translateX(0%);
-o-transform: translateX(0%);
-ms-transform: translateX(0%);
transform: translateX(0%);
}
53% {
-webkit-transform: translateX(0%);
-moz-transform: translateX(0%);
-o-transform: translateX(0%);
-ms-transform: translateX(0%);
transform: translateX(0%);
}
100% {
-webkit-transform: translateX(101%);
-moz-transform: translateX(101%);
-o-transform: translateX(101%);
-ms-transform: translateX(101%);
transform: translateX(101%);
}
}

.loadTrigger .loadTriggerSubUnit,
.fadeInTrigger9 .loadTriggerSubUnit{
    opacity: 1;
    visibility: hidden;
}
.loadTrigger.loadComplete .loadTriggerSubUnit,
.fadeInTrigger9.active .loadTriggerSubUnit {
    opacity: 1;
    visibility: visible;
    -webkit-animation: loadTriggerAnime2 1.25s cubic-bezier(1, 0, 0, 1);
    animation: loadTriggerAnime2 1.25s cubic-bezier(1, 0, 0, 1);
}
@-webkit-keyframes loadTriggerAnime2 {
0% {opacity: 0;}
47% {opacity: 0;}
53% {opacity: 1;}
100% {opacity: 1;}
}
@keyframes loadTriggerAnime2 { 
0% {opacity: 0;}
47% {opacity: 0;}
53% {opacity: 1;}
100% {opacity: 1;}
}







/* loader */
#loadLayer {
    position: fixed;
    width: 100%;
    height: 100%;
    display: block;
    background-color: #FFF;
    top: 0;
    left: 0;
    z-index: 99999;
    visibility: visible;
    opacity: 1;
}
#loadLayer>span {
    background-image: url(../img/common/loader_logo.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 250px;
    height: 250px;
    background-position: 50%;
    display: block;
    position: absolute;
    top: -10px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
-webkit-animation: loadLayerAnime 0.5s ease-in-out;
    animation: loadLayerAnime 0.5s ease-in-out;
}
@-webkit-keyframes loadLayerAnime {
0% {opacity: 0;}
100% {opacity: 1;}
}
@keyframes loadLayerAnime { 
0% {opacity: 0;}
100% {opacity: 1;}
}
#loadLayer.loadComplete,
#loadLayer.loadComplete>span {
    visibility: hidden;
    opacity: 0;
}






















































#message {
    padding: 50px;
    display: table;
    position: relative;
    z-index: 1;
}
#message>.bg,
#message>div{
    display: table-cell;
    vertical-align: middle;
}
#message>.bg{
    width: 250px;
    height: 250px;
    overflow: hidden;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}
#message>div {
    width: 650px;
    height: auto;
    padding-left: 50px;
}
#message>div>p{
    font-size: 16px;
}
#message>div>p:last-child {
    margin-top: 15px;
    font-size: 14px;
}
#message>div>p>span {
    font-size: 10px;
    line-height: 20px;
    display: block;
    color: #777;
    margin-bottom: 5px;
}













