@charset "UTF-8";

html,body{
width:100%;
height:100%;
position: relative;
background:#fff;
color:#333;
}

body.fixed {
width: 100%;
height: 100%;
position: fixed;
}

img{ 
vertical-align:middle;
width:100%;
height:auto;
}

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

body{ letter-spacing:0.05em; }

}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


/*----------------------------------------------------------------------------------------------------------------------laoding----------*/

#loader {
display:none;
position:fixed;
top:50%;
left:50%;
z-index:1030;
margin-left:-16px;
margin-top:-16px;
width:32px;
height:32px;
}

#loader img{
width:100%;
height:auto;
}

#fade {
width:100%;
height:100%;
display:none;
background-color:#6600cc;
position: absolute;
top:0;
left:0;
z-index:1020;
}




/*----------------------------------------------------------------------------------------------------------------------#sp_menu----------*/

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

/*SPメニュー出現時*/

.slide_in { animation: slideIn 1s cubic-bezier(0.19, 1, 0.22, 1); }

@keyframes slideIn {
0% {
transform: translateX(100px);
opacity: 0;
}

100% { 
transform: translateX(0);
opacity: 1; 
}

}

.btn_wrapper {
position:fixed;
z-index:100;
width:70px;
height:70px;
top:0;
right:4.17%;
}

.menu_btn {
width:60px;
height:100px;
overflow:visible;
cursor:pointer;
z-index:100;
position:absolute;
top:0 ;
left:calc(50% - 30px) ;
}

.menu_btn .line {
position:absolute;
background-color:#fff;
overflow:hidden;
width:55px;
height:1px;
left:0;
-webkit-transition: all 400ms ease-out 0ms;
-moz-transition: all 400ms ease-out 0ms;
-o-transition: all 400ms ease-out 0ms;
transition: all 400ms ease-out 0ms;
}

.spCommon .menu_btn .line {background-color:#000; }

.menu_btn .line:nth-child(1) {
top:47px;
left:10px;
}
.menu_btn .line:nth-child(2) {
bottom:47px;
left:10px;
}

.btn_wrapper.clicked .menu_btn .line:nth-child(1) {
-webkit-transform: translateY(3px) rotate(45deg);
transform: translateY(3px) rotate(45deg);
-webkit-transition: all 400ms ease-out 0ms;
-moz-transition: all 400ms ease-out 0ms;
-o-transition: all 400ms ease-out 0ms;
transition: all 400ms ease-out 0ms;
background-color: #fff;
}

.btn_wrapper.clicked .menu_btn .line:nth-child(2) {
-webkit-transform: translateY(-2px) rotate(-45deg);
transform: translateY(-2px) rotate(-45deg);
-webkit-transition: all 400ms ease-out 0ms;
-moz-transition: all 400ms ease-out 0ms;
-o-transition: all 400ms ease-out 0ms;
transition: all 400ms ease-out 0ms;
background-color: #fff;
}

.btn_wrapper.clicked { background-color: rgba(95, 185, 227, 0); }


#sp_menu{ position:relative; }

#sp_menu nav {
position: fixed;
width: 70%;
height: 100%;/*100vh*/
top: 0;
right: 0;
display:none;
z-index:99;
background-color: rgba(102, 0, 204, .95);
}

.gnav_sp{
height:100%;
margin-left: 6%;
position: relative;
}

.gnav_sp h1{
position:absolute;
top:30px;
left:0;
width:50%;
}

.gnav_sp h2{
position:absolute;
bottom:50px;
left:0;
width:38px;
}

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

.gnav_sp li {
font-size:18px;
font-weight:bold;
letter-spacing:0.1em;
color:#fff;
margin-bottom: 10px;
}

#sp_menu nav a {
transition: all 0.75s cubic-bezier(0.19, 1, 0.22, 1);
opacity:1;
color:#fff;
}

#sp_menu nav a:hover{ opacity:0.6; }

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

.btn_wrapper {
width:55px;
height:55px;
top:13px;
right:15px;
border-left:none;
}

#sp_menu nav { width: 90%; }

.gnav_sp h1{
top:65px;
width:70%;
}

.menu_btn {
width:55px;
height:55px;
left:calc(50% - 30px) ;
}

.menu_btn .line { width:40px; }

.menu_btn .line:nth-child(1) {
top:30px;
left:10px;
}

.menu_btn .line:nth-child(2) {
bottom:30px;
left:10px;
}

.btn_wrapper.clicked .menu_btn .line:nth-child(1) {
-webkit-transform: translateY(-3px) rotate(45deg);
transform: translateY(-3px) rotate(45deg);
}

.btn_wrapper.clicked .menu_btn .line:nth-child(2) {
-webkit-transform: translateY(3px) rotate(-45deg);
transform: translateY(3px) rotate(-45deg);
}


}


/*----------------------------------------------------------------------------------------------------------------------#main_v----------*/

#main_v{
width:100%;
height:100%;
position:relative;
background:url("/openhouse/images/main_pc.jpg") no-repeat center center; 
background-size:cover;
}

#main_v h1{
width:12.5%;
max-width:300px;
line-height:1;
position:absolute;
top:30px;
left:30px;
z-index:10;
}

#main_v h2{
position: absolute;
left:30px;
top:12.2%;
z-index: 10;
width:89.6%;
}

#main_v h2 img.title_pc{ display: inline; }
#main_v h2 img.title_sp{ display: none; }

#main_v h3{
position:absolute;
bottom:40px;
left:30px;
z-index:10;
width:1.5%;
max-width: 23px;
}

#main_v h4{
position:absolute;
bottom:40px;
right:30px;
z-index:10;
width:29.8%;
max-width: 430px;
}



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


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

#main_v h1{
width:40%;
max-width:40%;
top:25px;
left:5%;
}

#main_v h2{
left:5%;
width:80%;
}

#main_v h2 img.title_pc{ display: none; }
#main_v h2 img.title_sp{ display: inline; }

#main_v h3{
bottom:30px;
left:5%;
width:4%;
}

#main_v h4{
bottom:30px;
right:5%;
width:66%;
max-width:100%;
}


}



/*----------------------------------------------------------------------------------------------------------------------#about----------*/

#about{ 
/*background: linear-gradient(0deg, rgb(255, 255, 255) 50%, rgb(95, 185, 227));*/
background-color:#fff;
}

#about .cont_box{ 
padding-top:150px;
padding-bottom:150px;
display:flex;
justify-content:space-between;
align-items: center;
flex-direction: row-reverse;
}

#about .txt_about { 
width: 54%;
position: relative;
z-index: 10;
}

#about .txt_about_noimg { 
width: 100%;
position: relative;
z-index: 10;
}

#about .txt_about p{ 
margin: 35px 0 0 0;
width:65%;
}

#about .txt_about p.bold_txt{ 
margin: 15px 0 0 0;
font-weight: bold;
color:#69379b;
}

#about .img_about { 
margin-left: -16%;
width:60%; 
}

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

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

#about .cont_box{ 
padding-top:70px;
padding-bottom:70px;
display:block;
}

#about .txt_about { width: 100%; }

#about .txt_about h2{ margin-top: 20px; }

#about .txt_about p{ 
margin: 25px 0 0 0;
width:100%;
}

#about .img_about { 
margin-left:0;
width:100%; 
}

}



/*----------------------------------------------------------------------------------------------------------------------#consult----------*/

#consult .cont_box{
padding-top: 100px;
padding-bottom: 120px;
}

#consult .cont_box ul {
display: flex;
justify-content: space-between;
width:90%;
margin-left: auto;
}

#consult .cont_box ul li{
width:44.4%;
margin-top:60px;
}

#consult .cont_box ul li:last-child{
border-left:1px solid #ddd;
padding-left: 5.6%;
width:50%;
}

#consult .cont_box .ph{ 
border:1px solid #ddd;
padding: 4px;
}

#consult .cont_box h4{
font-size:22px;
color:#69379b;
font-weight:bold;
margin-top:25px;
border-bottom:1px dotted #ccc;
padding-bottom:8px;
margin-bottom:14px;
}

#consult .cont_box dl{
margin-top:12px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#consult .cont_box dl dt{ width:15%; }

#consult .cont_box dl dd{ width:85%; }

#consult .arw_btn{ margin-top:30px;}

#consult .cont_box .caution { 
margin-top: 60px;
font-size:14px;
font-weight: bold;
color: #7894c6;
}


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

#consult .cont_box dl dt{ width:18%; }

#consult .cont_box dl dd{ width:82%; }

}

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

#consult .cont_box{
padding-top: 60px;
padding-bottom: 60px;
}

#consult .cont_box ul {
display: block;
width:90%;
margin-left: auto;
}

#consult .cont_box ul li{
width:100%;
margin-top:40px;
}

#consult .cont_box ul li:last-child{
border-left:none;
padding-left: 0;
width:100%;
}

#consult .arw_btn{ margin-top:20px;}

#consult .cont_box h4{ margin-top:20px; }

#consult .cont_box dl{ margin-top:15px; }

#consult .cont_box dl dt{ width:18%; }

#consult .cont_box dl dd{ width:82%; }

}



/*----------------------------------------------------------------------------------------------------------------------#exhibitions----------*/

#exhibitions .cont_box{
position:relative;
padding-top: 100px;
padding-bottom: 100px;
}

.list_anchor{
margin-top:50px;
width:90%;
margin-left: auto;
display: flex;
align-content: space-between;
}

.list_anchor div{
width: 33%;
line-height: 50px;
}

.tit_exh{
transform: scaleY(.94);
width:90%;
margin-left: auto;
font-size: 30px;
font-weight: bold;
margin-top: 80px;
border-bottom: 1px dotted #ccc;
border-left :5px solid #69379b;
padding-left: 20px;
}

.tab_content ul{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width:90%;
margin-left: auto;
}

.tab_content ul li{
width:44%;
margin-top:50px;
position: relative;
padding-bottom: 45px;
}

#exhibitions .cont_box ul li:nth-child(odd){
border-right:1px solid #ddd;
padding-right: 5.6%;
width:50%;
}

.tab_content ul .ph{ 
border:1px solid #ddd;
padding: 4px;
}

.tab_content ul h4{
transform: scaleY(.94);
font-size:22px;
color:#69379b;
font-weight:bold;
margin-top:36px;
border-bottom:1px dotted #ccc;
padding-bottom:8px;
}

.tab_content ul h5{
font-size:16px;
font-weight:bold;
margin-top:15px;
}

.tab_content ul p{ margin-top:12px; }

.tab_content ul p a,
.tab_content dl a{
font-weight:bold;
text-decoration: underline;
color:#38a5d8;
}

.tab_content ul p a:hover,
.tab_content dl a:hover
{ text-decoration: none; }

.tab_content dl{
margin-top:12px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width:100%;
}

.tab_content dl dt{ width:18%; }

.tab_content dl dd{ width:82%; }


@media screen and (min-width:1100px){

.tab_content dl dt{ width:12%; }

.tab_content dl dd{ width:88%; }
}


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

#exhibitions .cont_box{
padding-top: 70px;
padding-bottom: 70px;
}

.list_anchor{
margin-top:30px;
width:90%;
display: block;
}

.list_anchor div{
width: 100%;
line-height: 50px;
}

.tit_exh{
font-size: 24px;
margin-top: 60px;
padding-left: 16px;
}

.tab_content ul{display: block; }

.tab_content ul li{
width:100%;
margin-top:30px;
padding-bottom: 10px;
}

#exhibitions .cont_box ul li:nth-child(odd){
border-right:none;
padding-right:0;
width:100%;
}

.tab_content ul h4{
font-size:18px;
margin-top:25px;
}

.tab_content ul h5{ margin-top:12px; }

.tab_content dl dt{ width:15%; }

.tab_content dl dd{ width:85%; }

}


/*----------------------------------------------------------------------------------------------------------------------#question----------*/

#question .cont_box{
padding-top: 100px;
padding-bottom: 150px;
}

#question .inner{
margin-top:40px;
width:90%;
margin-left: auto;
display: flex;
align-items: center;
}

#question .inner p { 
width:80%;
padding-right: 10%;
}

#question .inner .arw_btn { 
width:20%;

}


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

#question .cont_box{
padding-top: 70px;
padding-bottom: 70px;
}

#question .inner{
margin-top:30px;
display: block;
}

#question .inner p { 
width:100%;
padding-right:0;
}

#question .inner .arw_btn { 
width:100%;
margin-top: 30px;
}


}


/*----------------------------------------------------------------------------------------------------------------------#iamas----------*/

#iamas .cont_box{
padding-top: 110px;
padding-bottom: 140px;
}

#iamas .inner{
margin-top:60px;
width:90%;
margin-left: auto;
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
}

#iamas .inner p { 
width:44.4%;
margin-top: -8px;
}

#iamas .inner .ph { 
width:50.1%;
}

#iamas ul{ 
margin-top:40px;
width:90%;
margin-left: auto;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#iamas ul li{ 
width:33%;
margin-top:25px;
}


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

#iamas .cont_box{
padding-top: 70px;
padding-bottom: 70px;
}

#iamas .inner{
margin-top:40px;
width:90%;
display: block;
}

#iamas .inner p { 
width:100%;
margin-top: 30px;
}

#iamas .inner .ph { 
width:100%;
}

#iamas ul{ 
margin-top:40px;
width:90%;
margin-left: auto;
display: block;
}

#iamas ul li{ 
width:100%;
margin-top:20px;
}

}


/*----------------------------------------------------------------------------------------------------------------------#access----------*/

#access .cont_box{
padding-top: 110px;
padding-bottom: 140px;
}

#access ul {
display: flex;
justify-content: space-between;
width:90%;
margin-left: auto;
}

#access ul li{
width:44%;
margin-top:50px;
}

#access ul li:nth-child(odd){
border-right:1px solid #ddd;
padding-right: 5.6%;
width:50%;
}

#access ul .ph {
border:1px solid #ddd;
padding: 4px;
}

#access ul li p{ margin-top:30px; }

#access ul li .arw_btn{ margin-top:30px;}

#gmap { 
margin-top:80px;
margin-left: 10%;
width: 80%;
}

#access .method{ 
margin-top:40px;
margin-left: auto;
width: 90%;
}

#access .method h4{ font-weight: bold; }

#access .method .arw_btn{ margin-top: 10px;}

#access .method .caution{
margin-top: 10px;
font-size:14px;
font-weight: bold;
color:#69379b;
display: flex;
align-items: flex-start;
}

#access .method .caution span{ display: block; }

#access .method .caution span:first-child{ 
margin-right: 5px;
margin-top: -2px;
}


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

#access .cont_box{
padding-top: 70px;
padding-bottom: 70px;
}

#access ul {
display: block;
width:90%;
margin-left: auto;
}

#access ul li{
width:100%;
margin-top:40px;
}

#access ul li:nth-child(odd){
border-right:none;
padding-right: 0;
width:100%;
}

#access ul li p{ margin-top:20px; }

#access ul li .arw_btn{ margin-top:10px;}

#gmap { 
margin-top:50px;
width: 90%;
}

#gmap iframe{ height: 300px; }

#access .method{ margin-top:30px; }

#access .method .caution{ font-size:12px; }

}



/*----------------------------------------------------------------------------------------------------------------------footer----------*/


footer{
padding:150px 0 160px;
width:100%;
background-color:#69379b;
}

footer h1{ 
width:30%;
max-width:500px;
margin: 0 auto;
}

footer h1 img{ 
width:100%;
height: auto;
}

footer .copyright{
font-size:12px;
text-align: center;
margin-top: 40px;
color:#fff;
}



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

footer{ padding:80px 0; }

footer h1{ width:60%; }

footer .copyright{
font-size:9px;
margin-top:30px;
}

}


/*----------------------------------------------------------------------------------------------------------------------css_btn----------*/


.arw_btn a {
background:url('/openhouse/images/arrow.png') no-repeat left center;
background-size:40px 40px;
padding:2px 0 6px 55px;
font-size: 18px;
text-decoration: underline;
opacity: 1;
transition: all 0.5s 0s cubic-bezier(0.23,1,0.32,1);
display: inline-block;
}

.arw_btn a:hover  {
text-decoration:none;
opacity: 0.6;
}

.arw_btn_down a {
background:url('/openhouse/images/arrow_down.png') no-repeat left center;
background-size:40px 40px;
padding:2px 0 6px 55px;
font-size: 18px;
text-decoration: underline;
opacity: 1;
transition: all 0.5s 0s cubic-bezier(0.23,1,0.32,1);
display: inline-block;
}

.arw_btn_down a:hover  {
text-decoration:none;
opacity: 0.6;
}



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



}

/*----------------------------------------------------------------------------------------------------------------------共通要素----------*/

.x_btn{ margin-top:20px;}



.x_btn iframe{
width: 77px !important;
height: 20px !important;
display: block;
}

.montserrat{
font-family: "Montserrat", sans-serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
letter-spacing:0 !important;
}


.br_pc{ display:inline; }

.br_sp{ display:none; }

.cont_box{
margin: 0 auto;
border-left:1px solid #ddd;
border-right:1px solid #ddd;
width: 91.7%;
padding-right:4.15%;
padding-left:4.15%;
}

.sec_box{
width:100%;
border-top:1px solid #ddd;
}

.cont_box h2{
font-weight:bold;
font-size: 16px;
color: #6600cc;
letter-spacing:0.03em;
transform: scaleY(.92);
}

.tit_jp{
/*font-size:60px;*/
font-size: clamp(35px,4vw,70px);
font-weight:bold;
color:#333;
line-height: 1;
transform: scaleY(.94);
letter-spacing: 0.03em;
}

.tit_jp .marker{ 
text-decoration: underline; 
text-decoration-thickness: 0.35em; /* 太さ */
text-decoration-color: rgba(102, 0, 204, 0.4);
text-underline-offset: -0.35em; /* 位置*/
text-decoration-skip-ink: none; 
}

.bg_grey_box{ background-color:#f6f6f6; }

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

.br_pc{ display:none; }

.br_sp{ display:inline; }

}


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

.cont_box{
margin: 0 auto;
border-left:1px solid #ddd;
border-right:1px solid #ddd;
width: 90%;
padding-right:5%;
padding-left:5%;
}

.sec_box{
width:100%;
border-top:1px solid #ddd;
}


.tit_jp{
font-size: clamp(35px,4vw,70px);
font-weight:bold;
color:#333;
line-height: 1;
}


}



/*----------------------------------------------------------------------------------------------------------------------#time_table----------*/

#time_table .cont_box{
padding-top: 110px;
padding-bottom: 140px;
}

#time_table h4 { 
font-size:24px;
font-weight: bold;
line-height:1;
margin: 60px 0 0 10%;
width:90%;
transform: scaleY(.92);
}

.table {
margin:35px 0 0 10%;
width:90%;
display: flex;
height: 480px;
overflow-x:scroll;
position: relative;
}

.table .fix_time{
position:sticky;
top:0;
left:0;
z-index: 50;
}

.table p img{
height: 480px;
width:auto;
}

.cont_box table{ 
width:90%;
background-color:#fff;
margin: 30px 0 0 10%;
line-height:1.8;
}

.cont_box table th{
font-weight:bold;
color:#69379b;
width: 25%;
padding: 18px 0 18px 30px;
border-right:1px solid #ddd;
}

.cont_box table td{
font-weight:normal;
width:75%;
padding: 18px 0 18px 40px;
}

.cont_box table tr:nth-child(odd) th{ background-color: #F0F0F0;}
.cont_box table tr:nth-child(odd) td{ background-color: #F0F0F0;}
.cont_box table tr:last-child th{ border-bottom: none; }
.cont_box table tr:last-child th{ border-bottom: none; }
.cont_box table tr:last-child td{ border-bottom: none; }

.space{
height: 870px;
}

.space .fix_place{
position:sticky;
top:0;
left:0;
z-index: 50;
}

.space p img{
height: 870px;
width:auto;
}

.space .fix_place p img{
height: 870px;
width:auto;
}

.space_ws{
height: 760px;
}

.space_ws .fix_place{
position:sticky;
top:0;
left:0;
z-index: 50;
}

.space_ws p img{
height: 760px;
width:auto;
}


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

#time_table .cont_box{
padding-top: 70px;
padding-bottom: 70px;
}

#time_table h4 { 
font-size:18px;
margin: 40px 0 0 0;
width:100%;
}

.table {
margin:20px 0 0 0;
width:100%;
}

.cont_box table th{
width: 35%;
padding: 12px 0 12px 12px;
font-size:14px;
}

.cont_box table td{
width:65%;
padding: 12px 12px 12px 12px;
font-size:14px;
}

.cont_box table{ 
width:100%;
margin: 20px 0 0 0;
}

}

/*----------------------------------------------------------------------------------------------------------------------#guide----------*/

#guide .cont_box{
padding-top: 120px;
padding-bottom: 140px;
}

#guide .cont_box ul {
display: flex;
justify-content: space-between;
width:90%;
margin-left: 10%;
}

#guide .cont_box ul li{
width:44.4%;
margin-top:60px;
}

#guide .cont_box ul li:last-child{
border-left:1px solid #ddd;
padding-left: 5.6%;
width:50%;
}

#guide .cont_box .ph{ 
border:1px solid #ddd;
padding: 4px;
}

#guide .cont_box ul li .arw_btn{ margin-top:50px; }

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

#guide .cont_box{
padding-top: 70px;
padding-bottom: 70px;
}

#guide .cont_box ul {display:block; }

#guide .cont_box ul li{
width:100%;
margin-top:40px;
}

#guide .cont_box ul li:last-child{
border-left:none;
padding-left:0;
width:100%;
}


#guide .cont_box ul li .arw_btn{ margin-top:30px; }

}






