/*
* cmn_layout.css
*
*/

body {
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  -webkit-text-size-adjust: 100%;
  background: #fff;
  font-size: 16px;
  color: #000;
  text-align: center;
  line-height: 1.5;
  word-wrap: break-word;
}

@media all and (-ms-high-contrast:none) {
  body {
    font-family: 'Noto Sans JP', "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
}

#wrapper,
#contents {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

#wrapper {
  overflow: hidden;
}

a {
  color: #000;
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
  height: auto;
}


/* ヘッダー
---------------------------------------------------------- */
header {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

header > a {
  position: absolute;
  top: 18%;
  left: 6%;
  width: 18%;
}

/* メイン画像
---------------------------------------------------------- */
h1 {
  width: 100%;
  margin: 0 auto;
}

/* concept
---------------------------------------------------------- */
#concept {
  width: 100%;
  margin: 20px auto 0 auto;
}

#concept > div {
  width: 100%;
  margin: 0 auto;
  padding: 0 20px 0 30px;
}

#concept > div > a {
  display: block;
  width: 100%;
  margin: 0 auto;
}

#concept > img.grand_open {
  width: 90%;
  margin: 30px auto 0 auto;
}

#concept > img.concept {
  margin:  60px auto 0 auto;
}

/* ギャラリー
---------------------------------------------------------- */
#gallery {
  width: 100%;
  margin: 40px auto 0 auto;
  padding: 20px 30px 0 30px;
}

#gallery > div.title {
  width: 174px;
  width: 55%;
  margin: 0 auto;
}

#gallery > div.gallery01,
#gallery > div.gallery02,
#gallery > div.gallery03,
#gallery > div.gallery04 {
  position: relative;
  width: 100%;
  margin: 17% auto 0 auto;
  padding: 35px 10px 24px 10px;
  background-color: #FFE2E3;
}

#gallery > div.gallery02 {
  background-color: #DAEEF9;
}

#gallery > div.gallery03 {
  background-color: #E4ECD5;
}

#gallery > div.gallery04 {
  background-color: #FFECB5;
}

#gallery > div.gallery01 > img.title,
#gallery > div.gallery02 > img.title,
#gallery > div.gallery03 > img.title,
#gallery > div.gallery04 > img.title {
  position: absolute;
  z-index: 3;
  top: -5%;
}

#gallery > div.gallery01 > img.title {
  left: 11px;
  width: 45%;
}

#gallery > div.gallery02 > img.title {
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 35%;
}

#gallery > div.gallery03 > img.title {
  left: 11px;
  width: 35%;
}

#gallery > div.gallery04 > img.title {
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 35%;
}

#gallery > div.gallery01 > img.img {
  position: absolute;
  z-index: 3;
  top: -15%;
  right: -2%;
  width: 35%;
}

#gallery > div.gallery02 > img.img {
  position: absolute;
  z-index: 3;
  top: -15%;
  left: -4%;
  width: 50%;
}

#gallery > div.gallery03 > img.img {
  position: absolute;
  z-index: 3;
  top: -12%;
  right: -8.5%;
  width: 43%;
}

#gallery > div.gallery04 > img.img {
  position: absolute;
  z-index: 3;
  top: -10%;
  left: -10px;
  width: 42%;
}

#gallery > div.gallery01 > ul,
#gallery > div.gallery02 > ul,
#gallery > div.gallery03 > ul,
#gallery > div.gallery04 > ul {
  position: relative;
  z-index: 2;
  width: 70%;
  margin: 0;
}

#gallery > div.gallery02 > ul,
#gallery > div.gallery04 > ul {
  margin: 0 0 0 30%;
}

#gallery > div.gallery01 > ul li,
#gallery > div.gallery02 > ul li,
#gallery > div.gallery03 > ul li,
#gallery > div.gallery04 > ul li {
  width: 47%;
  margin: 0 auto 6px auto;
}

#gallery ul > li > a {
  display: block;
  position: relative;
  border-radius: 5px;
  overflow: hidden;
}

#gallery ul > li > a > img.btn {
  position: absolute;
  bottom: 5%;
  right: 5%;
  width: 18%;
  filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.16));
}

/* 展示会の特徴
---------------------------------------------------------- */
#point {
  width: 100%;
  margin: 40px auto 0 auto;
  padding-top: 20px;
}

#point > div.title {
  width: 60%;
  margin: 0 auto;
}

#point > div.detail {
  width: 100%;
  margin: 30px auto 0 auto;
  padding: 0 30px;
}

#point > div.detail > img {
  margin: 10px auto 0 auto;
}

#point > div.detail > img:nth-of-type(1) {
  margin: 0 auto;
}

#point > div.btn {
  width: 100%;
  margin: 30px auto 0 auto;
  padding: 0 20px 0 30px;
}

#point > div.btn > a {
  display: block;
  width: 100%;
  margin: 0 auto;
}

/* プラン紹介
---------------------------------------------------------- */
#plan {
  width: 100%;
  margin: 40px auto 0 auto;
}

#plan > img {
  margin: 0 auto;
}

#plan > div.inner {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: -2px auto 0;
  padding: 10px 0 0 0;
  background-color: #DBEBD9;
}

#plan > div.inner > div.list {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

#plan > div.inner > div.list > img {
  margin: 0 auto;
}

#plan > div.inner > div.detail {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 35px auto 0 auto;
  padding: 0 30px;
}

#plan > div.inner > div.detail > img:nth-of-type(2) {
  margin: 45px auto 0 auto;
}

#plan > div.inner > div.btn {
  width: 100%;
  margin: 40px auto 0 auto;
  padding: 0 20px 0 30px;
}

#plan > div.inner > div.btn > a {
  display: block;
  width: 100%;
  margin: 0 auto;
}

#plan > img.btm {
  position: relative;
  z-index: 1;
  margin: -12% auto 0;
}

/* 展示会の流れ
---------------------------------------------------------- */
#flow {
  width: 100%;
  margin: 30px auto 0 auto;
  padding: 20px 30px 0 30px;
}

#flow > div.title {
  width: 67%;
  margin: 0 auto;
}

#flow > img {
  width: 100%;
  margin: 30px auto 0 auto;
}

/* 展示会概要
---------------------------------------------------------- */
#overview {
  width: 100%;
  margin: 20px auto 0;
  color: #FFFFFF;
  text-align: left;
  letter-spacing: 0.05em;
}

#overview > div.title {
  width: 100%;
  margin: 0 auto;
}

#overview > div.inner {
  margin: -1px auto 0;
  padding: 2px 0 10px 0;
  background-color: #447D33;
}

#overview > div.inner > p.txt01 {
  margin: 30px auto 0;
  padding: 0 30px;
  font-size: 18px;
  font-weight: 700;
}

#overview > div.inner > p.txt02 {
  margin: 10px auto 0 auto;
  padding: 0 30px;
  font-size: 16px;
  font-weight: 500;
}

#overview div.tenpo {
  margin: 0 auto;
  padding: 0 30px;
}

#overview div.tenpo > div {
  margin: 0 auto;
  border-top: 1px solid #EBBD00;
}

#overview div.ise > div {
  border-bottom: 1px solid #EBBD00;
}

#overview div.tenpo-title {
  position: relative;
  margin: 0 auto;
  padding: 20px 0;
  font-size: 16px;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  #overview div.tenpo-title {
    cursor: pointer;
  }
}

#overview div.tenpo-title > span {
  position: absolute;
  top: 20px;
  right: 10px;
  display: block;
  width: 30px;
  height: 30px;
  background: url(../images/overview-open.webp) top center no-repeat;
  background-size: 30px;
}

#overview div.tenpo-title.active > span {
  background: url(../images/overview-close.webp) top center no-repeat;
  background-size: 30px;
}

#overview div.tenpo-detail {
  display: none;
  padding-bottom: 30px;
}

#overview table th {
  width: 70px;
  padding: 5px 0;
  font-size: 14px;
  font-weight: 700;
}

#overview table td {
  padding: 5px 0;
  font-size: 14px;
}

#overview table td > a {
  color: #fff;
  text-decoration: underline;
}

#overview table td span.yoyaku {
  display: block;
  width: 78px;
  height: 28px;
  padding: 6px 0 0 0;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1;
  background-color: #EBBD00;
  border-radius: 5px;
}

#overview .map {
  position: relative;
  width: 100%;
  height: 0;
  margin: 20px auto 0 auto;
  padding-top: 60%;
}

#overview .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#overview .link {
  margin: 10px auto 0 auto;
  text-align: right;
}

#overview .link > a {
  font-size: 12px;
  color: #EBBD00;
  text-decoration: underline;
}

#overview > img.btm {
  margin: -1px auto 0;
}

/* すぎしんについて
---------------------------------------------------------- */
#about {
  width: 100%;
  margin: 40px auto 0 auto;
  padding-top: 20px;
}

#about > div.logo {
  width: 38%;
  margin: 0 auto;
}

#about > div.txt {
  width: 100%;
  margin: 30px auto 0 auto;
  padding: 0 30px;
}

#about > img {
  width: 100%;
  margin: 30px auto 0 auto;
}

/* フッター
----------------------------------------------------------*/
footer {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 60px 30px;
}

footer > a.pagetop {
  position: absolute;
  top: -39px;
  right: 30px;
  display: block;
  width: 78px;
}

footer > a.logo {
  display: block;
  width: 98px;
  margin: 0 auto;
}

footer > p.txt {
  margin: 20px auto 0 auto;
  font-size: 12px;
  color: #908A85;
  text-align: left;
  line-height: 1.6;
}

footer > p.txt a {
  color: #908A85;
}

footer > p.txt > span.title {
  font-weight: 700;
}

footer > p.copy {
  margin: 50px auto 0 auto;
  font-size: 10px;
  color: #908A85;
  text-align: left;
}

/*===============================================
●画面の横幅が769px以上(タブレット・PC)
===============================================*/
@media screen and (min-width: 769px) {

  /* !共通
  ---------------------------------------------------------- */
  .sp-only {
    display: none !important;
  }

  a:hover {
    opacity: 0.8;
  }

  .list-flex {
    display: -webkit-box !important;
    display: -moz-box !important;
    display: -ms-box !important;
    display: -webkit-flexbox !important;
    display: -moz-flexbox !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flex !important;
    display: flex !important;
    -webkit-box-lines: multiple !important;
    -moz-box-lines: multiple !important;
    -webkit-flex-wrap: wrap !important;
    -moz-flex-wrap: wrap !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  a {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    zoom: 1;
    transition: opacity 0.5s ease;
  }

  #contents {
    width: 375px;
    background-color: #fff;
  }

  #pc-left-box {
    position: fixed;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    padding: 60px 200px 0 20px;
    background-color: #FAF5F1;
  }

  #pc-left-box > a.logo {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 109px;
  }

  #pc-left-box > div {
    float: right;
    width: 100%;
    max-width: 343px;
  }

  #pc-left-box > div > div.title > img.title {
    width: 90%;
    max-width: 295px;
    margin: 0 0 0 25px;
  }

  #pc-left-box > div > div.menu {
    width: 290px;
    margin: 30px 0 0 25px;
    text-align: left;
  }

  #pc-left-box > div > div.menu > ul {
    width: 145px;
  }

  #pc-left-box > div > div.menu > ul > li {
    margin: 0 0 10px 0;
  }

  #pc-left-box > div > div.menu > ul > li > a {
    position: relative;
    font-size: 14px;
    font-weight: 500;
    color: #8A5B5B;
    letter-spacing: 0.1em;
  }

  #pc-left-box > div > div.menu > ul > li > a:hover {
    color: #E67776;
  }

  #pc-left-box > div > div.menu > ul > li > a:hover::before {
    content: '';
    position: absolute;
    top: 5px;
    left: -23px;
    width: 16px;
    height: 16px;
    background: url(../images/pc-menu-img.webp) top left no-repeat;
    background-size: 16px;
  }

  #pc-left-box > div > a.btn {
    display: block;
    width: 100%;
    max-width: 333px;
    margin: 30px 0 0 0;
  }

  #pc-right-box {
    position: fixed;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    padding-left: 187px;
  }

  #pc-right-box > div {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: url(../images/pc-img.webp) center center no-repeat;
    background-size: cover;
  }

}

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

  #pc-left-box {
    padding: 60px 265px 0 20px;
  }

  #pc-left-box > div > div.menu {
    display: flex;
  }

  #pc-left-box > div > div.menu > ul:nth-of-type(2) {
    margin: 33px 0 0 0;
  }

  #pc-left-box > div > div.menu > ul > li > a {
    font-size: 16px;
  }

  #pc-left-box > div > a.btn {
    margin: 50px 0 0 0;
  }


}


/*===============================================
●画面の横幅が768px以下(スマホのみ)
===============================================*/
@media screen and (max-width: 768px) {


  /* !共通
  ---------------------------------------------------------- */
  .pc-only {
    display: none !important;
  }

  .sp-list-flex {
    display: -webkit-box !important;
    display: -moz-box !important;
    display: -ms-box !important;
    display: -webkit-flexbox !important;
    display: -moz-flexbox !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flex !important;
    display: flex !important;
    -webkit-box-lines: multiple !important;
    -moz-box-lines: multiple !important;
    -webkit-flex-wrap: wrap !important;
    -moz-flex-wrap: wrap !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }


  /*------------------------------------
  clearfix
  --------------------------------------*/
  .clearfix-sp {
    zoom: 1;
    overflow: hidden;
  }

  .clearfix-sp:after {
    content: " ";
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    line-height: 0;
  }


}



/*===============================================
●画面の横幅が360px以下(スマホのみ)
===============================================*/
@media screen and (max-width: 360px) {}






