@charset "UTF-8";

/*----------------------------------------
 location
----------------------------------------*/

.page_title_location{
background-image: url(../../location/images/location_bg01.jpg);
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}

.location_slide{
width: 100%;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: stretch !important;
}

.location_slide div.location_slide_box{
padding: 10px;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
width: 100%;
margin: 0 0 !important;
position: relative;
}

.ls_cap{
position: absolute;
bottom: 5px;
left: 0;
font-size: 1rem !important;
line-height: 1 !important;
padding: 0 5px;
letter-spacing: 0 !important;
width: 100%;
color: #fff;
text-align: right;
}


.location_slide_box a:hover{
opacity: 0.8;
}

.location_slide div.location_slide_box .book{
position: relative;
transition: all 0.5s ease 0s;
display: flex;
}

.location_slide div.location_slide_box h3{
position: absolute;
top:50%;
left: 50%;
transform: translate(-50%,-50%);
font-size: clamp(13px, calc(16 / 1280* 100vw), 16px);
color: #fff;
}

.location_slide div.location_slide_box h3 span{
font-size: clamp(20px, calc(25 / 1280* 100vw), 25px);
}

.location_slide .slick-slide {
outline: none;
}

.location_slide .slick-dots li button:before{
font-size: 14px !important;
}

.location_tab02.hide{
display: none;
}

.location_tab01,
.location_tab02{
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: wrap;
width: 100%;
}

.location_nav{
display: flex;
justify-content: center;
align-items: stretch;
flex-wrap: wrap;
width: 100%;
margin: 80px 0 0 0;
}

.location_nav.BD{

}

.location_nav ul{
display: flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;
width: 100%;
max-width: 1024px;
}

.location_nav ul li{
display: flex;
list-style: none;
width: 49%;
}

.location_nav ul li a{
font-size: clamp(14px, calc(18 / 1280* 100vw), 18px);
text-align: center;
color: #fff;
padding: 20px;
transition: all 0.5s ease 0s;
width: 100%;
}

.location_nav ul li:nth-child(1) a{
background: #A0A9B7;
}

.location_nav ul li:nth-child(1) a:hover,
.location_nav ul li:nth-child(1).act a{
background: #19355e;
}

.location_nav ul li:nth-child(2) a{
background: #CEB3B4;
}

.location_nav ul li:nth-child(2) a:hover,
.location_nav ul li:nth-child(2).act a{
background: #a05555;
}

.location_box{
display: flex;
justify-content: flex-end;
align-items: stretch;
flex-wrap: wrap;
width: 100%;
margin: 80px 0 0;
}

.location_box.inner{
padding: 10px;
}

.location_box div{
position: relative;
}


.location_box .row3{
width: 31%;
position: relative;
margin: 0 0 40px;
}

.location_box .row2{
width: 48%;
position: relative;
margin: 0 0 40px;
}

.location_box .row3.align{
margin: 0 0 20px;
}

.location_box .in_box_left{
width: 42%;
max-width: 430px;
padding-right: 40px;
}

.location_box .in_box_left .cap,
.location_box .in_box_right .cap,
.l_cap{
position: relative;
top:-15px;
left: 0;
font-size: 1rem !important;
line-height: 1 !important;
margin: 0 0 -15px 0;
padding: 0 10px;
letter-spacing: 0 !important;
}

.location_box .in_box_left.re{
padding-left: 40px;
padding-right: 0;
}

.location_box .in_box_left h4{
font-size: clamp(16px, calc(18 / 1280* 100vw), 18px);
letter-spacing: 2px;
color: #333;
text-align: left;
margin: 20px 0 0;
line-height: 1.3;
}

.location_box .in_box_left h4 .text{
display: inline-block;
font-size: 1.5rem;
}

.location_box .in_box_left h4 span:nth-child(2){
padding-left: 50px;
}

.location_box .in_box_left h4 .text_b{
display: inline-block;
font-size: clamp(30px, calc(40 / 1280* 100vw), 40px);
font-weight: 400;
margin: 0 5px;
}

.location_box .in_box_left p{
margin: 10px 0 0;
letter-spacing: 1px;
line-height: 1.5;
}

.location_box .in_box_left.W_48{
margin: 0 1%;
}

.location_box .row2 h4,
.location_box .row3 h4{
font-size: clamp(14px, calc(15 / 1280* 100vw), 15px);
text-align: left;
margin: 5px 0 0;
}

.location_box .in_box_right{
width: 58%;
position: relative;
}

.location_box .in_box_right div{
width: 100%;
height: 100%;
}

.location_box .in_box_right div img{
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.location_box .pickup{
width: 120px;
height: auto;
position: absolute;
top: -5px;
left: 0;
}

.kamiseya{
position: relative;
background: linear-gradient(120deg,rgba(137, 142, 161, 1) 0%, rgba(154, 176, 198, 1) 50%, rgba(137, 142, 161, 1) 100%);
}

.location_box.BG01{
padding: 40px;
}

.location_box.BG01 .in_box_left h4{
line-height: 1.2;
margin: 10px 0 0;
}

.location_box.BG01 .in_box_right{
min-width: initial;
}

.location_box.BG02{
justify-content: space-between;
margin: 20px 0 0;
}

.location_box.BG02 .row3{
display: flex;
padding: 10px;
border: solid 1px #a05555;
}

.location_cap{
position: absolute;
top: 10px;
left: 10px;
width: 25%;
}

.location_cap.top{
top: 20px;
left: 20px;
width: 15%;
}

.life_info_box{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
align-items: flex-start;
width: 100%;
margin: 30px 0 0;
}

.life_info{
display: flex;
justify-content: center;
align-items: stretch;
flex-wrap: wrap;
width: 48%;
}

.life_info_in{
width: 100%;
padding: 5px;
font-size: 1.2rem;
letter-spacing: 0 !important;
}

.life_info_in h4{
font-size: clamp(14px, calc(16 / 1280* 100vw), 16px);
text-align: left;
margin: 0 0 5px;
}

.info_text{
display: flex;
align-items: flex-start;
line-height: 1.2;
flex-wrap: wrap;
margin: 0 0 5px;
width: 100%;
}

.text_left{
width: 70%;
display: flex;
align-items: center;
}

.text_left::after{
content: "";
flex-grow: 1;
border-bottom: 1px solid #444;
display: block;
margin-left: 10px;
}

.text_right{
width: 30%;
display: flex;
align-items: center;
justify-content: flex-end;
}

.text_right::before{
content: "";
flex-grow: 1;
border-bottom: 1px solid #444;
display: block;
margin-right: 10px;
}


/*----------------------------------------
 sp
----------------------------------------*/

@media screen and (max-width : 1080px){
 .location_nav ul{
margin: 0 1%;
 }

.location_box .in_box_right{
width: 60%;
min-width: initial;
}
.location_box .in_box_left{
width: 40%;
}
}

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

.slide_bg .page_inner{
margin: 0;
padding: 0;
top: 0;
}

.location_slide .slick-slide img{
height: 200px;
}

.location_slide .slick-dots li button:before{
font-size: 10px !important;
}

.location_slide .slick-dots li{
margin: 0;
}

.location_slide .slick-dots{
bottom: -10px;
}

.location_tab01,
.location_tab02{
padding: 0 0 20px;
}

.location_nav{
margin: 0 0 0 0;
}

.location_nav ul{
margin: 20px 0 0;
}

.location_nav ul li{
width: 48%;
margin: 0 1%;
}

.location_nav ul li a{
padding: 10px 5px;
}

.location_box{
justify-content: center;
margin: 40px 0 0;
}

.location_box .in_box_right{
width: 100%;
min-width: 100%;
}

.location_box .in_box_left.re,
.location_box .in_box_left{
width: 100%;
padding: 10px;
margin: 0 0;
}

.location_box .in_box_left h4{
text-align: center;
letter-spacing: 2px;
margin: 10px 0 0;
}


.location_box .in_box_left h4 span:nth-child(2){
padding-left: 0;
}

.location_box .row2,
.location_box .row3{
width: 100%;
padding: 0;
}

.location_box .row2,
.location_box .row3{
margin: 0 0 20px 0;
}

.location_box.BG01{
padding: 20px;
}

.location_box.BG02{
justify-content: center;
}

.location_box.BG02 .row3{
margin: 0 0 20px;
}

.life_info{
width: 100%;
}

.text_left{
width: 60%;
}

.text_right{
width: 40%;
}

.location_cap,
.location_cap.top{
top: 5px;
left: 5px;
width: 25%;
}

}