/*----------------------------------------------------------
 *      Initialize
 *----------------------------------------------------------*/
html {
  width: 100%;
  min-width: 100%;
  height: 100%;
  font-family: "Noto Sans Japanese", sans-serif;
  font-size: 16px; }
  @media only screen and (max-width: 768px) {
    html {
      min-width: 100%;
      font-size: 10px !important; } }

body {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  background: #ffffff;
  font-size: 16px;
  font-family: "Noto Sans Japanese", sans-serif !important;
  color: #565947; }
  @media only screen and (max-width: 768px) {
    body {
      min-width: 100%;
      font-size: 12px !important; } }

p {
  margin: 0; }

ul, li {
  margin: 0;
  padding: 0;
  list-style: none; }

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0; }

strong {
  font-weight: bold; }

a {
  color: #b28378;
  text-decoration: none;
  transition: all 0.3s; }
  @media only screen and (max-width: 768px) {
    a {
      transition: none; } }
  a:hover {
    color: #333333;
    text-decoration: underline; }
  a:focus {
    color: #333333; }

/*----------------------------------------------------------
 *      Common
 *----------------------------------------------------------*/
.contents--wrap {
  width: 100%;
  min-width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .contents--wrap {
      width: 100%;
      min-width: 100%; } }

.tool__more {
  width: 200.95px;
  height: 55.95px;
  margin: 0 auto; }
  .tool__more a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 200.95px;
    height: 55.95px;
    background: url("images/tool__more.svg") no-repeat;
    background-size: 200.95px 55.95px; }
  .tool__more a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .tool__more {
      width: 100.475px;
      height: 27.975px; }
      .tool__more a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 100.475px;
        height: 27.975px;
        background: url("images/tool__more.svg") no-repeat;
        background-size: 100.475px 27.975px; }
      .tool__more a:hover {
        opacity: 0.6; } }

.tool__more--2 {
  width: 201.32px;
  height: 57.29px;
  margin: 0 auto; }
  .tool__more--2 a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 201.32px;
    height: 57.29px;
    background: url("images/tool__more--2.svg") no-repeat;
    background-size: 201.32px 57.29px; }
  .tool__more--2 a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .tool__more--2 {
      width: 100.66px;
      height: 28.645px; }
      .tool__more--2 a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 100.66px;
        height: 28.645px;
        background: url("images/tool__more--2.svg") no-repeat;
        background-size: 100.66px 28.645px; }
      .tool__more--2 a:hover {
        opacity: 0.6; } }

.tool__top {
  width: 128.5px;
  height: 36.92px;
  margin: 0 auto; }
  .tool__top a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 128.5px;
    height: 36.92px;
    background: url("images/tool__top.svg") no-repeat;
    background-size: 128.5px 36.92px; }
  .tool__top a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .tool__top {
      width: 79.5335px;
      height: 23.019px; }
      .tool__top a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 79.5335px;
        height: 23.019px;
        background: url("images/tool__top.svg") no-repeat;
        background-size: 79.5335px 23.019px; }
      .tool__top a:hover {
        opacity: 0.6; } }

/*----------------------------------------------------------
 *      FadeIn-Out
 *----------------------------------------------------------*/
body:after,
.page__overlay:after {
  z-index: 9999;
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease; }

body.page--fade::after,
.page__overlay.page--fade::after {
  opacity: 1; }

/*----------------------------------------------------------
 *      Slide Nav
 *----------------------------------------------------------*/
.slide__gnav {
  position: fixed;
  top: -100px;
  left: 0;
  width: 100%;
  height: 90px;
  background: linear-gradient(180deg, rgba(218, 206, 190, 0.5), rgba(218, 206, 190, 0));
  z-index: 3; }
  @media only screen and (max-width: 768px) {
    .slide__gnav {
      height: 60px; } }
  .slide__gnav .contents--wrap {
    position: relative; }
  .slide__gnav h1 {
    position: absolute;
    top: 30px;
    left: 58px;
    font-family: "Helvetica Neue", "Arial", sans-serif;
    font-size: 1.5rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    z-index: 2; }
    @media only screen and (max-width: 768px) {
      .slide__gnav h1 {
        top: 22px;
        left: 40px; } }
  .slide__gnav ul {
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    top: 30px;
    right: 60px; }
    @media only screen and (max-width: 768px) {
      .slide__gnav ul {
        top: 22px;
        right: 50px; } }
  .slide__gnav li {
    margin: 0 0 0 25px;
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 1.125rem;
    font-weight: 200;
    letter-spacing: 0.05em; }
  .slide__gnav a {
    color: #565947; }

/*----------------------------------------------------------
 *      FOOTER
 *----------------------------------------------------------*/
footer {
  padding: 60px 0 30px 0;
  background: #dacebe; }
  @media only screen and (max-width: 768px) {
    footer {
      padding: 35px 0 20px 0; } }

.foot__tool--wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 50px 0; }
  @media only screen and (max-width: 768px) {
    .foot__tool--wrap ul {
      margin: 0 0 18px 0; } }

.foot__tool--wrap li {
  margin: 0 15px; }
  @media only screen and (max-width: 768px) {
    .foot__tool--wrap li {
      margin: 0 12px; } }

.foot__tool--wrap li:nth-child(1) {
  width: 50px;
  height: 50px; }
  .foot__tool--wrap li:nth-child(1) a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 50px;
    height: 50px;
    background: url("../images/foot__sns--1.png") no-repeat;
    background-size: 50px 50px; }
  .foot__tool--wrap li:nth-child(1) a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .foot__tool--wrap li:nth-child(1) {
      width: 40px;
      height: 40px; }
      .foot__tool--wrap li:nth-child(1) a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 40px;
        height: 40px;
        background: url("../images/foot__sns--1.png") no-repeat;
        background-size: 40px 40px; }
      .foot__tool--wrap li:nth-child(1) a:hover {
        opacity: 0.6; } }

.foot__tool--wrap li:nth-child(2) {
  width: 50px;
  height: 50px; }
  .foot__tool--wrap li:nth-child(2) a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 50px;
    height: 50px;
    background: url("../images/foot__sns--2.png") no-repeat;
    background-size: 50px 50px; }
  .foot__tool--wrap li:nth-child(2) a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .foot__tool--wrap li:nth-child(2) {
      width: 40px;
      height: 40px; }
      .foot__tool--wrap li:nth-child(2) a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 40px;
        height: 40px;
        background: url("../images/foot__sns--2.png") no-repeat;
        background-size: 40px 40px; }
      .foot__tool--wrap li:nth-child(2) a:hover {
        opacity: 0.6; } }

.foot__copyright {
  font-size: 0.75rem;
  color: #ffffff;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .foot__copyright {
      font-size: 1rem; } }

/*----------------------------------------------------------
 *      MainVisual
 *----------------------------------------------------------*/
.main--area {
  height: 100vh; }
  @media only screen and (max-width: 768px) {
    .main--area {
      padding: 0 0 0 0; } }
  .main--area .contents--wrap {
    position: relative;
    width: 100%;
    min-width: 100%;
    height: 100%; }

.main__mainVisual {
  height: 100vh; }
  .main__mainVisual h1 {
    position: absolute;
    top: 70px;
    left: 58px;
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 1.5rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    z-index: 2; }
    @media only screen and (max-width: 768px) {
      .main__mainVisual h1 {
        top: 55px;
        left: 50px; } }
  .main__mainVisual a {
    color: #fff; }
  .main__mainVisual ul {
    display: block;
    width: 100%;
    height: 100%; }
  .main__mainVisual li {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover; }

.main__gnav {
  position: absolute;
  top: 70px;
  right: 60px;
  height: 200px; }
  @media only screen and (max-width: 768px) {
    .main__gnav {
      top: 55px;
      right: 50px;
      height: 100px; } }
  .main__gnav ul {
    display: flex;
    flex-wrap: wrap; }
  .main__gnav li {
    margin: 0 0 0 25px;
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 1.31rem;
    font-weight: 200;
    letter-spacing: 0.05em; }
  .main__gnav a {
    color: #fff; }

.main__arrow {
  width: 52px;
  height: 20px;
  position: absolute;
  bottom: 30px;
  left: calc(50% - 26px); }
  .main__arrow a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 52px;
    height: 20px;
    background: url("../images/top__main__arrow--1.png") no-repeat;
    background-size: 52px 20px; }
  .main__arrow a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .main__arrow {
      bottom: 25px; } }

/*----------------------------------------------------------
 *      Thumb List
 *----------------------------------------------------------*/
.thumbList--area {
  padding: 100px 0 0 0; }
  @media only screen and (max-width: 768px) {
    .thumbList--area {
      padding: 60px 0 0 0; } }
  .thumbList--area .contents--wrap {
    width: 100%;
    min-width: 100%; }
  .thumbList--area ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 7%; }
    @media only screen and (max-width: 768px) {
      .thumbList--area ul {
        margin: 0 4%; } }
  .thumbList--area li {
    flex-basis: calc(100% / 3 - 56px);
    position: relative;
    margin: 0 28px 90px 28px; }
    @media only screen and (max-width: 768px) {
      .thumbList--area li {
        flex-basis: calc(100% / 2 - 28px);
        margin: 0 14px 40px 14px; } }
    @media only screen and (min-width: 1300px) {
      .thumbList--area li {
        flex-basis: calc(100% / 4 - 56px);
        margin: 0 28px 90px 28px; } }
  .thumbList--area img {
    width: 100%;
    transition: all 0.35s; }
  .thumbList--area figcaption {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.95);
    color: #666666;
    text-align: center;
    opacity: 0.0;
    transition: all 0.35s; }
  .thumbList--area a:hover img {
    margin: -6px 0 0 0; }
  .thumbList--area a:hover figcaption {
    opacity: 1.0;
    margin: -6px 0 0 0; }
