.image_in {
    position: relative;
    width: 100%;
    height: 100%;
     background-image: url(../image/main.jpg);
 background-repeat: no-repeat;
 background-size: cover;
    background-position: center;
    background-attachment: fixed;
}



/******/

.ggo_contents {
    position: relative;
    z-index: 3;
    background: #fff;
}

.ggo_contents .section1 {
    padding-top: 200px;
}


.ggo_contents h2 {
   text-align: center;
    font-size: min(3.1vw, 28px);
    margin-bottom: 50px;
    line-height: 200%;
}
.ggo_contents .read_text {
   text-align: center;
    font-size: min(3.8vw, 16px);
    margin-bottom: 80px;
    line-height: 200%;
    font-family: 'Noto Serif Japanese', "Times New Roman", Times, "Sawarabi Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}


/***osaka***/
.front_osaka {
    width: 100%;
    padding-top: 80px;
}

.front_osaka h3 {
   text-align: center;
    font-size: min(3.1vw, 28px);
    margin-bottom: 80px;
    line-height: 200%;
}
.front_osaka .movie_image {
width: 92%;
    max-width: 900px;
    margin: 0 auto 80px;
}
.front_osaka .movie_image video {
width: 100%;
}
.project_image {
    width: 100%;
    background: #000;
}
.image_each {
    position: relative;
}
.image_each .note {
    position: absolute;
    color: #fff;
    font-size: 11px;
    bottom: 10px;
    right: 10px;
    z-index: 3;
}
.image_each .image_cover{
  position: sticky;
  top: 0;
  display: block;
}


.image_each .image_cover .image_blur{
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  transition: 5s;
}
.image_each .image_cover .image_blur.is_blur_left{
  animation: image_blur_left 2s forwards;
}
.image_each .image_cover .image_blur.is_blur{
  animation: image_blur 2s forwards;
}
@keyframes image_blur {
  0% {
  }
  100% {
    opacity: 0.4;
  }
}
@keyframes image_blur_left {
  0% {
    opacity: 0.4;
  }
  43% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}

.image_each .image_cover img{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 5s;
  transition: 5s;
}

.image_each .project_text{
  height: 120vh;
    position: relative;
    z-index: 3;
}

.image_each .project_text p{
    color: #fff;
     font-size: min(3.3vw, 18px);
    line-height: 250%;
    position: absolute;
    right: 10%;
    transition: 1s;
    opacity: 0;
    pointer-events: none;
    font-family: 'Noto Serif Japanese', "Times New Roman", Times, "Sawarabi Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}

.image_each .project_text.on p{
    opacity: 1;
}

.location_wrapp {
    width: 100%;
}
.location_wrapp .location_in {
    width: 100%;
    display: flex;
align-items: center;
justify-content: space-between;
}
.location_wrapp .location_in.row {
flex-direction:row-reverse;
}

.location_wrapp .location_in .location_text {
    width: 50%;
    padding-left: 10%;
    box-sizing: border-box;
}
.location_wrapp .location_in .location_image {
    width: 50%;
    overflow: hidden;
    position: relative;
        background: #f9f9f9;
}
.location_wrapp .location_in .location_image .location_image_in {
height: 130%;
}

.location_wrapp .location_in .location_image .location_image_in img {
opacity: 0;
width: 110%;
}

.location_wrapp .location_in .location_image .location_image_move {
    height: 130%;
    width: 100%;
 background-image: url(../image/osaka/location_1.jpg);
 background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    left: 0;
    top: 0;
}
.location_wrapp .location_in .location_image .location_image_move.image2 {
 background-image: url(../image/osaka/location_2.jpg);
}
.location_wrapp .location_in .location_image .location_image_move.image3 {
 background-image: url(../image/osaka/location_3.jpg);
}
.location_wrapp .location_in .location_image .location_image_move.image4 {
 background-image: url(../image/osaka/location_4.jpg);
}
.location_wrapp .location_in .location_image .location_image_move.image5 {
 background-image: url(../image/osaka/location_5.jpg);
        background-position: bottom center;
    background-size: auto 100%;
}
.location_wrapp .location_in .location_image .location_image_in_lef {
width: 136%;
}


.location_wrapp .location_in .location_text h4 {
font-size: min(3.8vw, 28px);
    color: #c6b198;
    letter-spacing: 0.2em;
    margin-bottom:50px;
}

.location_wrapp .location_in .location_text p {
    font-size: min(2.0vw, 15px);
    line-height: 250%;
    font-family: 'Noto Serif Japanese', "Times New Roman", Times, "Sawarabi Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}

.location_image_in span {
    display: block;
}



.front_terminal {
    width: 100%;
    padding-top: 80px;
}

.front_terminal .movie_image {
width: 92%;
    max-width: 900px;
    margin: 0 auto 80px;
}

.front_terminal .movie_image .youtube {
  width: 100%;
    position: relative;
  aspect-ratio: 16 / 9;
}

.front_terminal .movie_image .youtube .movie-thumb {
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
    width: 100%;
    height: auto;
    background: #fff;
    border: 1px solid #ccc;
    overflow: hidden;
}
.sp-spacer {
	display: none;
	width: 1px;
	height: 1px;
}
@media screen and (max-width: 768px) {
	.sp-spacer {
		display: block;
	}
}



.front_terminal .movie_image .youtube iframe {
  width: 100%;
  height: 100%;
}


.front_terminal .movie_image video {
width: 100%;
}
.movie_image .out_cap {
display:block;
text-align: right;
width: 100%;
font-size: 12px;
font-family: 'Noto Serif Japanese', "Times New Roman", Times, "Sawarabi Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}


.front_terminal h3 {
   text-align: center;
    font-size: min(3.1vw, 28px);
    margin-bottom: 80px;
    line-height: 200%;
    font-family: 'Noto Serif Japanese', "Times New Roman", Times, "Sawarabi Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}

.front_terminal .access_map {
    width: 90%;
    max-width: 948px;
    margin: 0 auto 80px;
    position: relative;
}

.front_terminal .access_map .ts_point {
    display: block;
    position: absolute;
    z-index: 2;
    width: 1.8%;
    height: 1.8%;
    border: 1px solid #C1272D;
    top: 47.75%;
    left: 54.5%;
    border-radius: 50%;
     animation: 3s linear 0s infinite normal none running circle-anim-st;
}  
.front_terminal .access_map .ts_point.set1_1 {
    border: 1px solid #C1272D;
    top: 47.75%;
    left: 54.5%;
    animation-delay: 0.3s;
}  

.front_terminal .access_map .ts_point.set2 {
    border: 1px solid #6D3200;
    top: 43%;
    left: 54.6%;
}  
.front_terminal .access_map .ts_point.set3 {
    border: 1px solid #6D3200;
    top: 55.6%;
    left: 57.2%;
} 
.front_terminal .access_map .ts_point.set4 {
    border: 1px solid #6D3200;
    top: 8.3%;
    left: 81.1%;
} 
.front_terminal .access_map .ts_point.set5 {
    border: 1px solid #6D3200;
    top: 10.8%;
    left: 80.2%;
} 
.front_terminal .access_map .ts_point.set6 {
    border: 1px solid #6D3200;
    top: 46.61%;
    left: 24.52%;
} 
.front_terminal .access_map .ts_point.set7 {
    border: 1px solid #6D3200;
    top: 49.13%;
    left: 24.4%;
} 


@keyframes circle-anim-st {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }

    40% {
        transform: scale(1);
        opacity: 1;
    }

    90% {
        transform: scale(4.5);
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}



.access_wrapp {
    width: 85%;
    max-width: 1000px;
    margin: 0 auto 140px;
    display: flex;
justify-content: space-between;
}

.access_wrapp.row {
flex-direction:row-reverse;
}
.access_wrapp.mb0 {
margin-bottom: 0;
}

.access_wrapp .out_cap {
    font-size: 12px;
    text-align: left;
} 
.access_wrapp .text_box .out_cap {
   text-align: right;
} 

.access_wrapp.row .out_cap {
    text-align:right;
} 
.access_wrapp.row .text_box .out_cap {
   text-align: left;
} 



.access_wrapp .image_box {
    position: relative;
    width: calc(650 / 1100 *100%);
}
.access_wrapp .image_box img {
   margin-bottom: 10px;
}

.access_wrapp .text_box {
    width: calc(400 / 1100 *100%);
}

.access_wrapp .text_box .image_s {
    position: relative;
    margin-bottom: 3vw;
}

.access_wrapp .text_box .image_s img {
    margin-bottom: 10px;
}
.access_wrapp .text_box .access_text {
 font-size: min(1.6vw, 15px);
    line-height: 250%;
    font-family: 'Noto Serif Japanese', "Times New Roman", Times, "Sawarabi Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}

.access_wrapp .text_box .access_text sup {
font-size: 50%;
    vertical-align: super;
    margin-right: 5px;
}

.in_page_footer {
    padding: 100px 0 0;
}


/***タブ***/
.tab_wrapper {
  border-bottom: 3px solid #C3C3C3;
}
.tab_wrapper.under {
  border-bottom: none;
    border-top: 3px solid #C3C3C3;
       position: relative;
    z-index: 3;
    background: #fff;
}


.tab_wrapper > ul {
  display: flex;
  gap: 15px;
    width: 98%;
    max-width: 800px;
    margin: 0 auto 0px;
}

.tab_wrapper > ul li {
  width: calc(100% / 2);
  text-align: center;
  background: #666666;
color: rgb(255 255 255 / 19%);
  padding: 1.4em 1em;
  margin: 0;
  font-size: min(2.6vw, 22px);
  font-weight: 500;
  cursor: pointer;
    -webkit-transition-duration: 0.7s;
    transition-duration: 0.7s;
    line-height: 100%;
    letter-spacing: 0.1em
}

.tab_wrapper > ul li.active {
background: #C6B198;
  color: #fff;
  position: relative;
}

.tab_wrapper > ul li:hover {
  background: #C6B198;
  color: #fff;
}
.tab_wrapper > ul li.active:hover {
background: #C6B198;
  color: #fff;
}

/***タブ***/


#ggo_tab {
padding-top: 64px;
margin-top: -64px;
}

.tab_content {
    display: none;
}

.line_wrap .section_line .title span.off {
display: none;
}


.in_page_footer {
    padding: 100px 0 50px;
    background: none;
}

.ggo_bunner {
    width: 75%;
    max-width: 400px;
    margin: 0 auto 40px;
}
.ggo_bunner a {
    transition: 0.5s ease-in-out;
}
.ggo_bunner a:hover {
    opacity: 0.7;
}


.page_caution {
    background: none;
}

.contents_block_under {
    padding-top: 0px;
} 


@media screen and (max-width: 867px) {
    
.location_wrapp .location_in .location_text h4 {
    margin-bottom: 10%;
}
    
    
.location_wrapp .location_in .location_text p {
    font-size: min(1.5vw, 14px);
}
    
    
.image_each .project_text p {
    color: #fff;
    font-size: min(2.6vw, 18px);
    line-height: 250%;
}
    
.front_osaka .movie_image {
    width: 74%;
    margin: 0 auto 50px;
} 
    

}


@media screen and (max-width: 767px) {
   
    
.ggo_contents h2 {
    font-size: min(4vw, 30px);
}
    
    
.ggo_contents .read_text {
    text-align: center;
    font-size: min(2.6vw, 16px);
    margin-bottom: 50px;
} 
    
.image_each .project_text p {
    font-size: min(2.8vw, 15px);
    left: 15%;
    right: 5%;
}
    
.location_wrapp .location_in {
    width: 100%;
    display: block;
    margin-bottom: 40px;
}
    
.location_wrapp .location_in .location_text {
    width: 100%;
    padding-left: 0%;
    text-align: center;
    padding: 30px 0 10px;
} 
    
.location_wrapp .location_in .location_text p {
    width: 70%;
    margin: 0 auto;
    text-align: left;
    font-size: min(2.8vw, 15px);
} 
    
    
.location_wrapp .location_in .location_text h4 {
    font-size: min(3.8vw, 36px);
    margin-bottom: 30px;
}
.location_wrapp .location_in .location_image {
    width: 70%;
    overflow: hidden;
    position: relative;
    background: #fff;
    margin: 0 auto;
}  
   
.location_wrapp .location_in .location_image .location_image_in img {
    width: 140%;
}
    
    
.location_wrapp .location_in .location_image .location_image_move {
    height: 130%;
    width: 100%;
    background-size: cover;
}
    
    
/**terminal***/    
    
.front_terminal h3 {
    font-size: min(3.1vw, 28px);
    margin-bottom: 30px;
}    
.front_terminal .access_map {
    width: 90%;
    max-width: 948px;
    margin: 0 auto 50px;
    position: relative;
}
 
    
.access_wrapp {
    display: block;
    width: 85%;
    margin: 0 auto 80px;
}
.access_wrapp .image_box {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
}  
.access_wrapp .text_box {
    width: 70%;
    margin: 0;
    margin-left: auto;
} 
.access_wrapp.row .text_box {
    width: 70%;
    margin: 0;
    margin-left:30px;
}   
    
.access_wrapp .text_box .access_text {
    font-size: min(2.8vw, 15px);
}
    
    
.page_caution {
    text-align: left;
    font-size: min(2.2vw, 11px);
    margin: 0 20px;
} 
    
    
}

