@charset "utf-8";

figure {
  position: relative;
}
.content_Wrap {
  background: #f0ece9;
}
.cap_outside{
bottom: unset;
top: calc(100% + 3px);
}
.cap_half{left: 53%;}

/*main_Visual*/
.main_Visual {
  position: relative;
}

.main_Visual>div {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 94%;
}

.main_Visual .ttl,
.lead_area .ttl {
  width: 60%;
  max-width: 286px;
  margin: 0 auto 60px;
}

.main_Visual .copy {
  font-size: 20px;
  line-height: 2.0;
  letter-spacing: 0.15em;
}

/* .main_Visual .text-cont {
  position: absolute;
  top: 50%;
  left: 75%;
  transform: translate(-50%, -50%);
  width: 50%;
  padding: 3% 0;
} */

.text-cont {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 53%;
  padding: 3% 0;
}

.text-cont h3 {
  position: relative;
  font-size: 20px;
  line-height: 2.0;
  letter-spacing: 0.15em;
  color: #a78d3f;
  text-align: center;
}

.text-cont h3 span {
  font-size: 200%;
  letter-spacing: 0.2em;
}

.text-cont span.line {
  font-size: unset;
  display: block;
  width: 24%;
  margin: 0 auto 2em;
}

.copy {
  text-align: center;
  font-size: 18px;
  line-height: 2.4;
}

.copy.single_unit.pc {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* width: fit-content; */
  width: 100%;
  margin: 0 auto;
  font-size: 18px;
  letter-spacing: 0.1em;
  text-align: left;
}

.copy.single_unit .single_unit_txt {
  text-align: center;
}

.cl-g {
  color: #6a5625;
}

.cl-g-h {
  color: #cca75e;
}

.cl-g-h2 {
  color: #c9bb98;
}

.lead_area {
  position: relative;
  background: url(../img/lead_img.jpg)no-repeat center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: 44.285714285714286%;
}

.lead_area>div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 94%;
}

.lead_area .ttl {
  width: 60%;
  max-width: 236px;
  margin: 0 auto 60px;
}

.lead_area .copy {
  text-align: center;
}

.inner_1000 {
  width: 94%;
  max-width: 1000px;
  margin: 0 auto;
}
.inner_1000.sp_80p {
  width: 80%;
  max-width: 1000px;
  margin: 0 auto;
}

.inner_1200 {
  width: 94%;
  max-width: 1200px;
  margin: 0 auto;
}

.inner_1320 {
  width: 80%;
  max-width: 1320px;
  margin: 0 auto;
}
.inner_1320.sp_94p  {
  width: 94%;
  max-width: 1320px;
  margin: 0 auto;
}
.inner_1320.sp_100p {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}



/* sec02 - sec05 common
-------------------------------------- */
[class^="sec"] h3 {
  color:#6a5625;
  font-size: 26px;
  line-height: 2.2;
  letter-spacing: 0.16em;
  margin-bottom: 20px;
  text-align: center;
}
[class^="sec"] p {
  font-size: 16px;
  line-height: 2.0;
  letter-spacing: 0.06em;
  margin-bottom: 50px;
  text-align: center;
}
[class^="sec"] p.lead {
  color:#6a5625;
  font-size: 18px;
  margin-bottom: 30px;
  text-align: center;
}





/* sec01
--------------------------------------- */

/* sec01 common */
.sec01 {
  background: #f0ece9;
}

.sec01 .img {
  position: relative;
}
.sec01 .img h3 {
  position: absolute;
  top: 7%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 10;
  /* max-width: 213px; */
  margin: 0 auto 30px;
}
.sec01 .txt {
  padding: 80px 0;
  background: #f0ece9;
  text-align: center;
}
.sec01 .txt h4 {
  color:#6a5625;
  font-size: 18px;
  line-height: 2.2;
  letter-spacing: 0.16em;
  margin-bottom: 30px;
}
.sec01 .txt p {
  font-size: 16px;
  line-height: 2.0;
  letter-spacing: 0.16em;
  margin-bottom: 0
}



/* sec01 kobetsu */


.sec01 .approach_Area {
}
.sec01 .approach_Area .img h3 {
  max-width: 213px;
}

.sec01 .hall_Area .img h3 {
  max-width: 336px;
}

.sec01 .lounge_Area .img h3 {
  max-width: 400px;
}

.sec01 .facade_Area .img h3 {
  max-width: 168px;
}





/* sec02
--------------------------------------- */
.sec02 {
  background: #f0ece9;
}

.sec02 .material_Area {

}


.sec02 .material_Area figure {
  padding: 0 0 50px;
}

.sec02 ul.architect {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.sec02 ul.architect li {
  width: 20%;
  margin-right: 10px;
}
.sec02 ul.architect li {
  width: 20%;
  margin-right: 10px;
}
.sec02 ul.architect li figcaption {
  margin-top: 5px;
  font-size: 12px;
}
.sec02 ul.architect li.img_iwadate {
  max-width: 180px;
  width: 18%;
  text-align: left;
}
.sec02 .material_Area ul.architect li p {
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}
.sec02 ul.architect li.name {
  width: 18%;
  text-align: left;
  padding: 1.1em;
}
.sec02 ul.architect li.name p {
  font-size: 12px;
  margin-bottom: 1em;
}
.sec02 ul.architect li.name h4 {
  font-size: clamp(20px,1.828571428571429vw,25.6px);
  letter-spacing: 0.16em;
}
.sec02 ul.architect li.name h4 span {
  font-size: 50%;
  letter-spacing: 0.05em;
}
.sec02 ul.architect li:nth-child(2) {
  width: 18%;
  text-align: left;
}
.sec02 .material_Area ul.architect li figure {
  padding: 0 0;
}


/* sec03
--------------------------------------- */
.sec03 {
  background: #f0ece9;
  padding: 0 0 50px;
}
.sec03 .philosophy_Area {
  padding: 50px 0 50px;
}

.sec03 .fig_txt_box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
.sec03 .fig_txt_box figure {
  max-width: 570px;
}
.sec03 .fig_txt_box .txt_Box {
  max-width: 570px;
}
.sec03 .fig_txt_box .txt_Box h4 {
  color:#6a5625;
  font-size: 22px;
  line-height: 2.2;
  letter-spacing: 0.16em;
  margin-bottom: 10px;
}
.sec03 .fig_txt_box .txt_Box .white {
  background: #FFF;
  padding: 20px 20px;
}
.sec03 .fig_txt_box .txt_Box .white h5 {
  color:#6a5625;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.16em;
  margin-bottom: 10px;
}
.sec03 .fig_txt_box .txt_Box .white p {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.16em;
  margin-bottom: 20px;
  text-align: left;
}


/* sec04
--------------------------------------- */
.sec04 {
  background: #f0ece9;
}
.sec04 .landscape_Area {
  padding: 0 0 50px;
}

.sec04 ul.land_Img_List {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sec04 ul.land_Img_List li {
  width: 30.4%;
  margin-bottom: 30px;
}
.sec04 ul.land_Img_List li figure {

}
.sec04 ul.land_Img_List li p {
  margin-top: 10px;
  color:#6a5625;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.16em;
  text-align: center;
  margin-bottom:0;
}
.sec04 ul.land_Img_List li p.notes {
  color:#000;
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: 0.06em;
}


/* sec05
--------------------------------------- */
.sec05 {
  background: #f0ece9;
  padding: 60px 0 0;
}
#viewWrap {
}
.panorama {
  margin: 60px auto 0;
}
.scrollWrap {
    position: relative;
}
.panorama .mousedragscrollable {
    display: flex;
/*    overflow: scroll;*/
    overflow-x: auto;
    padding: 0;
        -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
        cursor: url(../img/arrow_icon.png), auto;
}
.panorama .mousedragscrollable::-webkit-scrollbar{
    display: none;
}
.panorama .mousedragscrollable figure{
    position: relative;
    min-width: 4668px;
    height: auto;
}
.panorama .mousedragscrollable figure a{
    position: absolute;
    transition: 0.3s;
}
.panorama .mousedragscrollable figure a.btnA{
top: 17%;
left: 11.709401709401709%;
width: 10.341880341880342%;
}
.panorama .mousedragscrollable figure a.btnB{
top: 22%;
left: 54.188034188034188%;
width: 11.111111111111111%;
}
.panorama .mousedragscrollable figure a:hover{
filter: brightness(140%);
}


/* sec06
--------------------------------------- */
.sec06 {
  background: #f0ece9;
  padding: 60px 0 100px;
}
.sec06 .openview_Area {
  position: relative;
  padding: 50px 0 300px;
}
.sec06 .openview_Area figure {
  position: absolute;
  bottom:0;
  z-index: -1;
}


#view{
padding-top: 100px;
margin-top: -100px;
}



.fontL {
  font-size: 150%;
}

.fontS {
  font-size: 80%;
}
.notes_right {
text-align: right;
font-size: 10px;
padding-top: 0.5em;
}

[id^="area0"] {
  padding-top: 0px;
  margin-top: -0px;
}

.notes_Wrap {
    margin: 0 auto 50px;
    padding: 0px 0 50px;
}

/*=========================================================================================================
sp
=========================================================================================================*/
@media screen and (max-width: 767px) {
  .main_Visual>figure {
  background: #000;
  }
  .main_Visual>figure img {
  opacity: 0.6;
  }
  .main_Visual>div.sp {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%,-50%);
      width: 94%;
      margin: 0 auto;
  }
  .main_Visual>div.sp .ttl {
      width: 65%;
      max-width: 436px;
      margin: 0 auto 30px;
  }
  .main_Visual .copy {
  text-align: center;
      font-size: 18px;
      line-height: 1.8;
  }

  .copy {
    text-align: left;
    font-size: 18px;
    line-height: 1.8;
  }

  .lead_area {
  position: relative;
    background: url(../img/lead_img_sp.jpg)no-repeat center;
    /* padding-top: 61.104582843713278%; */
    padding: 60px 0;
    padding-top: 68.75%;
    background-size: cover;
  }


  .lead_area>div {
    width: 94%;
    margin: 0 auto;
  }

  .lead_area .ttl {
    width: 40%;
    max-width: 236px;
    margin: 0 auto 30px;
  }

  .copy.single_unit.sp {
    font-size: 16px;
    margin: 60px auto;
  }
  .copy.single_unit {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    /* color: #fff; */
    /* font-size: 16px; */
    font-size: 14px;
    line-height: 1.8;
  }


  .lead_area>div {
    width: 94%;
    margin: 0 auto;
  }

  .lead_area .ttl {
    width: 40%;
    max-width: 236px;
    margin: 0 auto 30px;
  }

  .copy.single_unit.sp .inner {
    width: 90%;
  }

  .copy.single_unit.sp {
    font-size: 16px;
    margin: 60px auto;
  }
    .copy.single_unit {
    position: absolute;
    top: 50%;
left: 50%;
transform: translate(-50%,-50%);
    color: #fff;
    font-size: 15px;
    line-height: 1.8;
  }


  /* sec02 - sec05 common
  -------------------------------------- */
  [class^="sec"] h3 {
    font-size: 24px;
    line-height: 2.2;
    letter-spacing: 0.16em;
    margin-bottom: 20px;
    text-align: left;
  }
  [class^="sec"] p {
    font-size: 13px;
    line-height: 2.0;
    letter-spacing: 0.06em;
    margin-bottom: 50px;
    text-align: left;
  }
  [class^="sec"] p.lead {
    font-size: 16px;
    margin-bottom: 30px;
    text-align: left;
  }


  .decoline  {
  position: relative;
  }
  .decoline::before  {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: #6a5625;
  }
  .decoline::after  {
  content: "";
  position: absolute;
  top: 2em;
  left: 0;
  transform: translate(-50%,0);
  width: 5px;
  height: 50px;
  background: #6a5625;
  }
  .sideline  {
  position: relative;
  }
  .sideline::before  {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: #6a5625;
  }


  /* sec01
  --------------------------------------- */

  /* sec01 common */
  .sec01 {
    /* padding: 40px 0; */
  }

  .sec01 .img {
    position: relative;
  }
  .sec01 .img h3 {
    position: absolute;
    top: 4%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
    /* max-width: 213px; */
    margin: 0 auto 30px;
  }
  .sec01 .txt {
    padding: 0 5% 0 8%;
    text-align: left;
    width:80%;
    margin: 40px auto;
  }
  .sec01 .txt h4 {
    font-size: 16px;
    line-height: 2.2;
    letter-spacing: 0.16em;
    margin-bottom: 20px;
  }
  .sec01 .txt p {
    font-size: 13px;
    line-height: 2.0;
    letter-spacing: 0.16em;
  }



  /* sec01 kobetsu */


  /* .sec01 .approach_Area {
  } */
  .sec01 .approach_Area .img h3 {
    max-width: 100%;
    width: 40%;
  }

  .sec01 .hall_Area .img h3 {
    max-width: 100%;
    width: 55%;
  }

  .sec01 .lounge_Area .img h3 {
    max-width: 100%;
    width: 65%;
  }

  .sec01 .facade_Area .img h3 {
    max-width: 100%;
    width:30%;
  }


  /* sec02
  --------------------------------------- */
  .sec02 .material_Area.sideline {
  width: 80%;
  margin: 40px auto;
  padding: 0 5% 0 8%;
}
  .sec02 .material_Area figure {
    padding: 0 0 30px;
    width: 92%;
    margin: 0 auto;
  }

  .sec02 ul.architect {
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .sec02 ul.architect li {
    width: 42%;
    margin: 0;
  }
  .sec02 ul.architect li figcaption {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
  }
  .sec02 ul.architect li.img_iwadate {
    max-width: 100%;
    width: 42%;
    margin: 0 auto;
  }
  .sec02 ul.architect li.name {
    width: 42%;
    margin: 0 auto;
    text-align: left;
  }
  .sec02 ul.architect li:nth-child(-n+2) {
        margin: 0 auto 5%;
    }
    .sec02 ul.architect li:nth-last-child(-n+3) {
        width: 28%;
        margin: 0 2.666666666666667%;
    }
  .sec02 .material_Area ul.architect li p {
    font-size: 12px;
    line-height: 1.5;
    text-align: left;
  }

  .sec02 ul.architect li.name p {
    font-size: 11px;
    margin-bottom: 1em;
  }
  .sec02 ul.architect li.name h4 {
    /*font-size: 26px;*/
  }
  .sec02 ul.architect li.name h4 span {
    font-size: 50%;
  }
  .sec02 ul.architect li:nth-child(2) {
    width: 48.5%;
    text-align: left;
  }
  .sec02 .material_Area ul.architect li figure {
    padding: 0 0;
  }


  /* sec03
  --------------------------------------- */
  .sec03 {
    background: #f0ece9;
    padding: 0 0 50px;
  }
  .sec03 .philosophy_Area.sideline {
  margin: 50px auto 0;
    padding: 0 5% 0 8%;
  }
  .sec03 .fig_txt_box {
    flex-direction: column;
    margin-bottom: 30px;
  }
  .sec03 .fig_txt_box figure {
    max-width: 100%;
    width:94%;
    margin: 20px auto 0;
    order:2;
  }
  .sec03 .fig_txt_box .txt_Box {
    max-width: 100%;
    width:100%;
    order:1;
  }
  .sec03 .fig_txt_box .txt_Box h4 {
    font-size: 20px;
    line-height: 2.2;
    margin-bottom: 10px;
    text-align: center;
  }
  .sec03 .fig_txt_box .txt_Box .white {
    padding: 20px 20px;
    width: 94%;
    margin: 0 auto;
  }
  .sec03 .fig_txt_box .txt_Box .white h5 {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 10px;
  }
  .sec03 .fig_txt_box .txt_Box .white p {
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 20px;
    text-align: left;
  }


  /* sec04
  --------------------------------------- */
  .sec04 {
  }
  .sec04 .landscape_Area {
  margin: 0 auto 40px;
    padding: 0;
}
  .sec04 .landscape_Area.decoline {
  margin: 0 auto 60px;
    padding: 0 5% 0 8%;
  }

  .sec04 .haichizu {
    width: 1000px;
    margin: 0 auto 0;
  }

  .sec04 ul.land_Img_List {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .sec04 ul.land_Img_List li {
    width: 42%;
    margin:0 auto 30px;
  }
  .sec04 ul.land_Img_List li:last-child {
    margin:0 auto 0 4%;
  }
  .sec04 ul.land_Img_List li figure {

  }
  .sec04 ul.land_Img_List li p {
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-align: center;
    margin-bottom: 0;
  }
  .sec04 ul.land_Img_List li p.notes {
  text-align: left;
    color:#000;
    font-size: 9px;
    line-height: 1.3;
    letter-spacing: 0.02em;
  }


  /* sec05
  --------------------------------------- */
  .sec05 {
    padding: 30px 0 0;
  }
  .sec05 .view_Area {
padding: 0 5% 0 8%;
  }
  .panorama {
    margin: 40px auto 0;
  }
  .panorama .mousedragscrollable figure{
    position: relative;
    min-width: 3000px;
    height: auto;
  }
  .panorama .mousedragscrollable figure a.btnA{
  top: 16.111111111111111%;
  left: 9.681372549019608%;
  width: 13.480392156862745%;
  }
  .panorama .mousedragscrollable figure a.btnB{
  top: 18.333333333333333%;
  left: 52.32843137254902%;
  width: 14.705882352941176%;
  }
  .swipe_img.sp {
    position: absolute;
    top: 58%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    width: 56vw;
    max-width: 300px;
}

  /* sec06
  --------------------------------------- */
  .sec06 {
    padding: 30px 0 0;
  }
  .sec06 .openview_Area {
    position: relative;
    padding: 30px 0 130px;
  }
footer {
    margin: 30px 0 30px;
}

#view{
padding-top: 50px;
margin-top: -50px;
}

}
