@charset "UTF-8";
/* Box sizing rules */
*,
*::before,
*::after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
list-style: none;
}

/* Set core root defaults */
html:focus-within {
scroll-behavior: smooth;
}

/* Set core body defaults */
body {
min-height: 100vh;
text-rendering: optimizeSpeed;
line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
-webkit-text-decoration-skip: ink;
text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
max-width: 100%;
display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
font: inherit;
}

/*add reset styles*/
ul {
margin: 0;
padding: 0;
list-style: none;
}

a {
color: inherit;
text-decoration: none;
}

img {
width: 100%;
max-width: 100%;
}

.wrapper {
	width: 100%;
	max-width: 1100px;
	margin: auto;
}

.wrapper100 {
	width: 100%;
	margin: auto;
}
.w_ma {margin-left: auto;margin-right: auto;}
.w_50 {width: 50%;}
.w_60 {width: 60%;}
.w_65 {width: 65%;}
.w_70 {width: 70%;}
.w_75 {width: 75%;}
.w_80 {width: 80%;}
.w_86 {width: 86%;}

.mb_0 {margin-bottom:0;}
.mb_5 {margin-bottom:5%;}
.mb_8 {margin-bottom:8%;}
.mb_10 {margin-bottom:10%;}
.mb_12 {margin-bottom:12%;}
.mb_15 {margin-bottom:15%;}
.mb_17 {margin-bottom:17%;}
.mb_20 {margin-bottom:20%;}

.p_1 {padding: 1%;}
.p_2 {padding: 2%;}
.p_3 {padding: 3%;}
.p_4 {padding: 4%;}
.p_5 {padding: 5%;}

.pt_1 {padding-top: 1%;}
.pt_2 {padding-top: 2%;}
.pt_3 {padding-top: 3%;}
.pt_4 {padding-top: 4%;}
.pt_5 {padding-top: 5%;}
.pt_6 {padding-top: 6%;}
.pt_7 {padding-top: 7%;}
.pt_8 {padding-top: 8%;}
.pt_9 {padding-top: 9%;}
.pt_10 {padding-top: 10%;}

.pr_6 {padding-right: 6%;}

.pb_2 {padding-bottom: 2%;}
.pb_3 {padding-bottom: 3%;}
.pb_4 {padding-bottom: 4%;}
.pb_5 {padding-bottom: 5%;}
.pb_6 {padding-bottom: 6%;}
.pb_10 {padding-bottom: 10%;}
.pb_15 {padding-bottom: 15%;}
.pb_20 {padding-bottom: 20%;}

.maxw1100 {max-width: 1100px;}
.maxw1000 {max-width: 1000px;}
.maxw900 {max-width: 900px;}
.maxw850 {max-width: 850px;}
.maxw800 {max-width: 800px;}
.maxw750 {max-width: 750px;}
.maxw700 {max-width: 700px;}
.maxw600 {max-width: 600px;}
.maxw500 {max-width: 500px;}
.maxw400 {max-width: 400px;}
.maxw300 {max-width: 300px;}

.p_a {position: absolute;}

.bg_gold {background:#786a3e;}
.bg_w {background:#fff;}
.txt_gold {color: #786a3e;}
.txt_bk {color: #000;}
.txt_w {color: #fff;}
.txt_ct {text-align: center;}

.divider-h {
    padding: 4% 0;
    margin: 0 0 8%;
    background: #f2f0ec;
    border-bottom: 1px solid #786a3e;
}

.divider-f {
    padding: 4% 0;
    margin: 15% 0 12%;
    background: #f2f0ec;
    border-top: 1px solid #786a3e;
}

@media screen and (min-width: 767.9px) {
.divider-h {
    padding: 1% 0;
    margin: 0 0 3%;
}

.divider-f {
    padding: 1% 0;
    margin: 3% 0 3%;
}
}

/*Break Point
------------------------------*/
/*font
---------------------------------*/
.copy-01 {
    display: block;
    text-align: center;
    margin: 12% auto 1%;
    font-size: min(9vw,3.5rem);
    color: #786a3e;
    letter-spacing: 0;
    line-height: 1.2;
    font-feature-settings: "palt";
}

/*color
---------------------------------*/
body {
font-family: "Zen Old Mincho", "Hiragino Mincho Pro", serif;
}

.bg-02 {background: #f2f0ec;}

/*Rayout
------------------------------*/

.wrap_col {
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
align-items: center;
margin-left: auto;
	margin-right: auto;
}

.col2_box {width:100%;}
.col_rev {flex-flow: row-reverse;}

.txt_r {text-align: right;}

/*heading
---------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6,
h7 {
font-weight: normal;
}

h2 {
display: block;
text-align: center;
margin: 10% auto 0;
font-size: 1.25rem;
color: #786a3e;
line-height: 1.8;
/*letter-spacing: .2rem;*/
font-feature-settings: "palt";
}

h3 {
display: block;
max-width: 150px;
text-align: center;
margin: 16% auto 4%;
padding: 1%;
font-size: 1rem;
color: #fff;
background: #786a3e;
letter-spacing: .2rem;
}

h4 {
display: block;
text-align: center;
margin: 0 auto 4%;
font-size: min(4.5vw,1.5rem);
color: #786a3e;
letter-spacing: .1rem;
line-height: 1.8;
font-feature-settings: "palt";
}

h5 {
display: block;
width: 30%;
max-width: 94px;
text-align: center;
margin: 10% auto 1%;
font-size: .7rem;
color: #786a3e;
line-height: 1.6;
font-feature-settings: "palt";
border-bottom: 1px solid #786a3e;
font-weight: 500;
}

h6 {
display: block;
text-align: center;
margin: 0 auto 4%;
padding: 3% 1%;
font-size: 1.1rem;
color: #786a3e;
line-height: 1.7;
font-feature-settings: "palt";
}

h7 {
font-size: min(8vw,1.2rem);
display: block;
margin: -6% auto 3%;
color: #786a3e;
border-bottom: 1px solid #786a3e;
letter-spacing: .1rem;
text-align: center;
width: 86%;
}

h7.f01 {
font-size: min(8vw,1.7rem);
padding-right: 16%;
}

h7 span {
font-size: 10px;
color: #000;
letter-spacing: 0;
}


/*コピーエリア*/

.t-01 {
display: block;
text-align: center;
margin: 5% auto;
color: #000;
font-size: min(3.5vw,1.2rem);
line-height: 2;
/*letter-spacing: .1rem;*/
font-feature-settings: "palt";
}

.mv {position: relative;}
.mv video {width: 100%;}
.mv figcaption {
position: absolute;
bottom: 8px;
left: 8px;
color: #fff;
font-size: 9px;
}

.child-mv__text{width: 180px;}


/* tab
------------------------------*/
.tabs {
    margin-top: 3%;
    padding-bottom: 1%;
    width: 100%;
    /*max-width: 1100px;*/
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.tab_item {
    width: calc(100%/2);
    padding: 4%;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
}

.tab_item:hover {
  opacity: 0.75;
  cursor: pointer;
}

input[name="tab_item"] {
  display: none;
}

.tab_content {
    display: none;
    width: 100%;
    padding: 11% 0 0;
    clear: both;
    overflow: hidden;
}

#content01:checked ~ #content01_content,
#content02:checked ~ #content02_content,
#content03:checked ~ #content03_content,
#content04:checked ~ #content04_content {
  display: block;
}

.tabs input:checked + .tab_item {
opacity: .7;
}

@media screen and (min-width: 767.9px) {
.tab_content {
    padding: 6% 0 0;
}
}


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

.pc-col {
	max-width: 1100px;
	margin: 0 auto 3%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.pc-col-in {
	max-width: 540px;
	margin-bottom: 2%;
}

.col2_box {width:calc(100% / 2);}
.col3_box {width:calc(100% / 3);}

.child-mv__text{width: 220px;}
h2{font-size: 36px; margin-top: 100px;}
h5 {margin: 4% auto 1%; font-size: 20px;max-width: none;width: 90%;}
h6 {margin: 0 auto;font-size: 24px;padding-top: 1%;}
h7 {margin: 3% auto 3%;}

.w_100_pc {width: 100%!important;}

.t-01 {margin: 2% auto;}
}

/* ライトボックス
--------------------------------------*/

@media screen and (min-width: 768px) {
  .zoom-icon,
  .lightbox,
  .lightbox-toggle {
    display: none !important;
  }
}


@media screen and (max-width: 767.9px) {
  .ltbox-01 {
    position: relative;
  }

.zoom-icon {
    position: absolute;
    bottom: 25px;
    right: 6px;
    border-radius: 50%;
    padding: 6px;
    font-size: 18px;
    font-weight: bold;
    z-index: 10;
    cursor: pointer;
    /* box-shadow: 0 0 5px rgba(0,0,0,0.3); */
}

.zoom-icon.p-01 {
    top: 0%;
    left: 4%;
    right: auto;
}

  .lightbox-toggle {
    display: none;
  }


  .lightbox {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0; left: 0;
    /*width: 100vw;
    height: 100vh;*/
	    width: 100%;
    height: 100%;
    /*background: rgba(0, 0, 0, 0.8);*/
	background: #000;
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
    z-index: 9999;
  }

  .lightbox img {
    /*max-width: 98vw;
    max-height: 98vh;*/
    max-width: 98%;
    max-height: 98%;
    border-radius: 2px;
	background: #fff;
  }

  .lightbox .-sc img {background: #938865;}

  .lightbox-toggle:checked ~ .lightbox {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }

.lightbox-close-button {
    position: absolute;
    top: 3%;
    right: 2%;
    font-size: 28px;
    color: white;
    background: rgba(0, 0, 0, 0.6);
    padding: 1px 12px 4px;
    border-radius: 4px;
    cursor: pointer;
    z-index: 10001;
}
}

/* FloorMap用ライトボックス
-----------------------------------------------*/
.lightbox-floormap {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  z-index: 99999;
  top: 0; left: 0;
  width: 100%; height: 100%;
    /*background: rgba(0, 0, 0, 0.8);*/
	background: #000;
  overflow: auto;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.lightbox-floormap.show {
  visibility: visible;
  opacity: 1;
}

.lightbox-floormap-content {
    margin: 50px auto;
    padding: 3%;
    width: 80%;
    max-width: 730px;
    background: #fff;
    position: relative;
    box-shadow: 0 0 20px #000;
    overflow-y: auto;
    max-height: 90vh;
    transform: scale(0.95);
    transition: transform 0.3s ease;
}

.lightbox-floormap.show .lightbox-floormap-content {
  transform: scale(1);
}

.lightbox-floormap-content img {
  width: 90%;
  height: auto;
  display: block;
}

.lightbox-floormap-close {
  position: absolute;
  top: 10px; right: 15px;
  font-size: 28px;
  color: #333;
  cursor: pointer;
}

@media screen and (min-width: 767.9px) {
	.pcW100{
		width: 100%;
	}
	.mb0_pc {
		margin-bottom: 0;
	}
}

/* 【SP】スワイプスライダー
--------------------------------*/
.pinScroll {
  height: 150vh;
  margin: 0;
  padding: 0;
}

.pinScroll__inner {
    position: sticky;
    top: 25vh;
    height: auto;
    overflow: hidden;
    margin: 10% 0;
}

.pinScroll__image {
  height: auto;
  width: auto;
  min-width: 220vw;
  object-fit: cover;
  display: block;
  padding: 0 5%;
}

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

.pinScroll {
    height: auto;
}

.pinScroll__image {
    height: auto;
    width: auto;
    min-width: auto;
    padding: 0 1%;
}
.pinScroll__inner {
    position: relative;
    top: 0;
    margin: 5% 0;
}
}
