@charset "utf-8";

/** ***************************************************************************
 * 共用
 * ************************************************************************* */

#main :where(.column) ~ :where(.column) {
  margin-top: 30px;
}

@media screen and (min-width:768px) {

  #main :where(.column) ~ :where(.column) {
    margin-top: 60px;
  }

}

/** ***************************************************************************
 * Itonami Town Guide
 * ************************************************************************* */

#guide {
  padding: 40px 0 80px;
  background: linear-gradient(to bottom, #fff, #edf2f4 46.67vw);
}

@media screen and (min-width:768px) {

  #guide {
    padding: 80px 0 120px;
  }

}

/**
 * タイトル
 */

#guide .section-title {
  margin-bottom: 20px;
  line-height: 3;
  font-size: 0.75em;
  text-align: center;
}

#guide .section-title img {
  max-width: 300px;
}

@media screen and (min-width:768px) {

  #guide .section-title {
    margin-bottom: 40px;
  }

  #guide .section-title img {
    max-width: 100%;
  }

}

/**
 * 内容
 */

#guide div.content .catchcopy {
  width: 100%;
  margin-bottom: 2em;
  letter-spacing: 2px;
  line-height: 2.5;
  font-size: 1.25em;
  text-orientation: upright;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  justify-content: center;
}

#guide div.content .text {
  line-height: 2.5;
  font-weight: 300;
}

@media screen and (min-width:768px) {

  #guide div.content {
    line-height: 3;
  }

  #guide div.content .text {
    text-align: center;
  }

}

/**
 * 画像
 */

#guide div.image {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 0;
}

#guide div.image div.caption {
  padding: 3px 7px 4px;
  color: #fff;
  line-height: 1;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
}

/** ***************************************************************************
 * itonami
 * ************************************************************************* */

#itonami {
  padding: 60px 0;
  background: url("../_image/itonami/index/itonami-bg.jpg") center top / cover no-repeat;
}

#itonami div.body {
  max-width: 1280px;
}

@media screen and (min-width:768px) {

  #itonami {
    padding: 100px 0;
    background-attachment: fixed;
  }

}

/**
 * ロゴ
 */

#itonami .section-title {
  margin-bottom: 30px;
  text-align: center;
}

/**
 * 紹介文
 */

#itonami div.lead {
  color: #678;
  line-height: 2;
}

#itonami div.lead .catchcopy {
  margin-bottom: 20px;
  line-height: 2;
  font-size: 1.25em;
  text-align: center;
}

@media screen and (min-width:768px) {

  #itonami div.lead {
    font-size: 1.125em;
    text-align: center;
  }

  #itonami div.lead .catchcopy {
    margin-bottom: 40px;
    letter-spacing: 3px;
    font-size: 1.5em;
  }

}

/**
 * 街区案内
 */

#itonami div.itonami {
  margin-top: 40px;
}

@media screen and (min-width:768px) {

  #itonami div.itonami {
    margin-top: 80px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }

}

/**
 * 案内図
 */

#itonami div.map {
  width: 100%;
  margin-bottom: 20px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  position: sticky;
  z-index: 2;
  top: 110px;
}

@media screen and (min-width:768px) {

  #itonami div.map {
    width: 38%;
    margin-bottom: 0;
    display: block;
    top: 9.896vw;
  }

}

/* 街区図 */

#itonami div.map div.image {
  width: 60%;
  margin-left: auto;
  margin-right: 0;
  border-radius: 8px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@media screen and (min-width:768px) {

  #itonami div.map div.image {
    width: auto;
  }

}

/* キャプション */

#itonami div.map div.image div.caption {
  padding: 3px 7px 4px;
  color: #fff;
  line-height: 1;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
}

/* ピン */

#itonami div.map div.image div.pin {
  width: 4.86%;
  cursor: pointer;
  position: absolute;
  z-index: 2;
  transform-origin: center bottom;
  transition: transform 0.3s ease-in-out 0.0s;
  transform: translate(-50%, -100%) scale(1.0);
}

#itonami div.map div.image div.pin.active {
  transform: translate(-50%, -100%) scale(1.5);
}

#itonami div.map div.image div.pin:nth-child(1) {
  top: 64.90%;
  left: 32.53%;
}

#itonami div.map div.image div.pin:nth-child(2) {
  top: 62.86%;
  left: 16.67%;
}

#itonami div.map div.image div.pin:nth-child(3) {
  top: 16.5%;
  left: 52.67%;
}

#itonami div.map div.image div.pin:nth-child(4) {
  top: 46.12%;
  left: 29.33%;
}

#itonami div.map div.image div.pin:nth-child(5) {
  top: 41.84%;
  left: 62.67%;
}

#itonami div.map div.image div.pin:nth-child(6) {
  top: 43.27%;
  left: 45.07%;
}

#itonami div.map div.image div.pin:nth-child(7) {
  top: 18.16%;
  left: 88.67%;
}

#itonami div.map div.image div.pin:nth-child(8) {
  top: 73.27%;
  left: 94.67%;
}

/**
 * 街区紹介
 */

#itonami div.area div.item {
  background-color: rgba(255, 255, 255, 1.0);
  overflow: hidden;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2));
}

#itonami div.area div.item ~ div.item {
  margin-top: 40px;
}

@media screen and (min-width:768px) {

  #itonami div.area {
    width: 58%;
  }

  #itonami div.area div.item ~ div.item {
    margin-top: 100px;
  }

}

/* 内容 */

#itonami div.area div.content {
  padding: 20px 25px 30px;
  color: #678;
  position: relative;
  z-index: 0;
}

#itonami div.area div.content div.title {
  margin-bottom: 10px;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.45em;
  font-weight: 500;
}

#itonami div.area div.content div.title small {
  font-size: 0.71em;
}

#itonami div.area div.content div.title img {
  vertical-align: text-bottom;
}

#itonami div.area div.content div.text {
  font-size: 0.84em;
}

#itonami div.area div.content div.text small {
  margin-top: 0.75em;
  font-size: 0.77em;
  display: block;
}

/* キャプション */

#itonami div.area div.content div.caption {
  padding: 3px 7px 4px;
  color: #fff;
  line-height: 1;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 100%;
}
