@charset "UTF-8";
/*メインカラー*/
/*サブカラー*/
/*タブレット*/
/*スマホ*/
* { /*全部*/
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html {
  width: 100%;
  height: auto;
  scroll-behavior: smooth; /* スクロール */
  font-size: 62.5%;
}

body {
  width: 100vw;
  height: auto;
  background-color: #000;
  color: #fff;
  letter-spacing: 1em;
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
}

a {
  text-decoration: none;
  cursor: pointer;
}

button {
  cursor: pointer;
}

.contactButton {
  width: 17.7083333333vw;
  height: 4.0625vw;
  background: rgb(68, 0, 98);
  background: linear-gradient(45deg, rgb(68, 0, 98) 0%, rgb(93, 48, 141) 45%, rgb(145, 7, 130) 100%);
  font-size: 1.25vw;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 10;
  font-family: "Noto Serif JP", serif;
  transition: background 0.3s ease;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .contactButton {
    width: 33.203125vw;
    height: 7.6171875vw;
    font-size: 2.34375vw;
  }
}
@media screen and (max-width: 599px) {
  .contactButton {
    width: 90.6666666667vw;
    height: 20.8vw;
    font-size: 6.4vw;
  }
}
.contactButton::after {
  content: "";
  width: 17.7083333333vw;
  height: 4.0625vw;
  background: #333;
  position: absolute;
  z-index: -10;
  border: 0.0520833333vw #fff solid;
  transition: background 0.2s ease;
}
@media screen and (max-width: 1000px) {
  .contactButton::after {
    width: 33.203125vw;
    height: 7.6171875vw;
    border: 0.09765625vw #fff solid;
  }
}
@media screen and (max-width: 599px) {
  .contactButton::after {
    width: 90.6666666667vw;
    height: 20.8vw;
    border: 0.2666666667vw #fff solid;
  }
}
.contactButton:hover::after {
  background: transparent;
}

.contactButton.header {
  position: fixed;
  top: 2.1354166667vw;
  right: 6.1979166667vw;
  z-index: 99;
}
@media screen and (max-width: 1000px) {
  .contactButton.header {
    display: none;
  }
}
@media screen and (max-width: 599px) {
  .contactButton.header {
    display: none;
  }
}

.main {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  flex-flow: column;
  overflow: hidden;
}
.main .kv {
  width: 100%;
  height: 51.015625vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 599px) {
  .main .kv {
    height: 181.3333333333vw;
  }
}
.main .kv h1 {
  width: 100%;
  height: auto;
}
.main .kv h1 img {
  width: 100%;
  height: auto;
}
.main .kv__scroll {
  width: 13.5416666667vw;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #000;
  /* 丸の描写 */
  /* 線の描写 */
}
@media screen and (max-width: 599px) {
  .main .kv__scroll {
    width: 100%;
    height: 41.3333333333vw;
    position: absolute;
    top: auto;
    left: auto;
    bottom: 0;
    border-radius: 0;
  }
}
.main .kv__scroll .sp {
  display: none;
}
@media screen and (max-width: 599px) {
  .main .kv__scroll .sp {
    display: inline;
  }
}
.main .kv__scroll--text {
  width: 13.5416666667vw;
  height: auto;
  transform: rotate(0.25turn);
  position: absolute;
  top: 31.6927083333vw;
  left: 0;
  font-size: 2.0833333333vw;
  letter-spacing: 0.1em;
  white-space: nowrap;
  line-height: 1.2;
  font-family: "minion-pro", serif;
  font-style: normal;
}
@media screen and (max-width: 599px) {
  .main .kv__scroll--text {
    width: 44.8vw;
    transform: rotate(0);
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 10.6666666667vw;
    font-size: 8.5333333333vw;
  }
}
.main .kv__scroll--down:before {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 42.1614583333vw;
  left: 50%;
  transform: translateX(-50%);
  /*丸の形状*/
  width: 0.78125vw;
  height: 0.78125vw;
  background: #fff;
  /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation: circlemove 2s ease-in-out infinite, cirlemovehide 2s ease-out infinite;
  /*下からの距離が変化して丸の全体が上から下に動く*/
  /*上から下にかけて丸が透過→不透明→透過する*/
}
@keyframes circlemove {
  0% {
    top: 41.6666666667vw;
  }
  100% {
    top: 48.1770833333vw;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@media screen and (max-width: 599px) {
  .main .kv__scroll--down:before {
    position: absolute;
    top: 12.8vw;
    left: 88.1333333333vw;
    /*丸の形状*/
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
  @keyframes circlemove {
    0% {
      top: 12.8vw;
    }
    100% {
      top: 28.8vw;
    }
  }
}
.main .kv__scroll--down:after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 42.1614583333vw;
  left: 50%;
  transform: translateX(-50%);
  /*線の形状*/
  width: 0.0520833333vw;
  height: 6.6145833333vw;
  background: #fff;
}
@media screen and (max-width: 599px) {
  .main .kv__scroll--down:after {
    top: 14.5333333333vw;
    left: 88.1333333333vw;
    width: 0.5333333333vw;
    height: 15.4666666667vw;
  }
}
.main .about {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  flex-flow: column;
}
.main .about .inner {
  width: 52.0833333333vw;
  height: auto;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .main .about .inner {
    width: 97.65625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .about .inner {
    width: 89.3333333333vw;
  }
}
.main .about .inner h2 {
  letter-spacing: 0.04em;
  font-weight: 500;
  padding-top: 6.1458333333vw;
  position: relative;
  z-index: 1;
  font-family: "Noto Serif JP", serif;
  font-size: 1.25vw;
}
@media screen and (max-width: 1000px) {
  .main .about .inner h2 {
    font-size: 2.34375vw;
    padding-top: 11.5234375vw;
  }
}
@media screen and (max-width: 599px) {
  .main .about .inner h2 {
    font-size: 6.4vw;
    padding-top: 12.8vw;
  }
}
.main .about .inner h2 .sp {
  display: none;
}
@media screen and (max-width: 599px) {
  .main .about .inner h2 .sp {
    display: inline;
  }
}
.main .about .inner h2 .pc {
  display: inline;
}
@media screen and (max-width: 599px) {
  .main .about .inner h2 .pc {
    display: none;
  }
}
.main .about .inner h2 .minionProFont {
  font-size: 2.0833333333vw;
  font-weight: bold;
  font-family: "minion-pro", serif;
  font-style: normal;
}
@media screen and (max-width: 1000px) {
  .main .about .inner h2 .minionProFont {
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .about .inner h2 .minionProFont {
    font-size: 10.6666666667vw;
  }
}
.main .about .inner p {
  font-weight: bold;
  font-size: 2.0833333333vw;
  letter-spacing: 0.05em;
  padding-top: 3.59375vw;
  position: relative;
  z-index: 1;
  font-family: "Noto Serif JP", serif;
  line-height: 1.725;
}
@media screen and (max-width: 1000px) {
  .main .about .inner p {
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .about .inner p {
    padding-top: 8vw;
    font-size: 6.4vw;
  }
}
.main .about .inner p .sp {
  display: none;
}
@media screen and (max-width: 599px) {
  .main .about .inner p .sp {
    display: inline;
  }
}
.main .about .inner p .pc {
  display: inline;
}
@media screen and (max-width: 599px) {
  .main .about .inner p .pc {
    display: none;
  }
}
.main .about .inner p .small {
  font-size: 1.6666666667vw;
}
@media screen and (max-width: 1000px) {
  .main .about .inner p .small {
    font-size: 2.34375vw;
  }
}
@media screen and (max-width: 599px) {
  .main .about .inner p .small {
    font-size: 4.2666666667vw;
  }
}
.main .about .inner .contactButton {
  margin: 5.78125vw auto 12.7083333333vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1000px) {
  .main .about .inner .contactButton {
    margin: 5.859375vw auto 17.87109375vw;
  }
}
@media screen and (max-width: 599px) {
  .main .about .inner .contactButton {
    margin: 16vw auto 48.8vw;
  }
}
.main .about .inner .backgroundItem {
  width: 108.5416666667vw;
  height: 42.0864583333vw;
  position: absolute;
  transform: rotate(-5deg) translateX(-50%);
  top: -14.7916666667vw;
  left: 50%;
  background: rgb(0, 26, 66);
  background: linear-gradient(150deg, rgb(0, 26, 66) 0%, rgb(0, 91, 105) 45%, rgb(0, 106, 52) 100%);
}
@media screen and (max-width: 1000px) {
  .main .about .inner .backgroundItem {
    width: 203.515625vw;
    height: 57.8251953125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .about .inner .backgroundItem {
    width: 128.8826666667vw;
    height: 157.9013333333vw;
    top: -12.8vw;
  }
}
.main .recommendation {
  width: 52.0833333333vw;
  height: auto;
  position: relative;
  z-index: 1;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 1000px) {
  .main .recommendation {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .main .recommendation {
    width: 94.6666666667vw;
    display: flex;
    align-items: center;
    flex-flow: column;
  }
}
.main .recommendation h2 {
  font-size: 1.6666666667vw;
  font-weight: bold;
  text-align: center;
  padding-bottom: 3.4375vw;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1000px) {
  .main .recommendation h2 {
    font-size: 3.125vw;
    padding-bottom: 6.4453125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .recommendation h2 {
    font-size: 4.2666666667vw;
    padding-bottom: 8vw;
  }
}
.main .recommendation .element {
  width: 52.0833333333vw;
  height: auto;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  .main .recommendation .element {
    width: 92.7734375vw;
    margin: 0 auto;
  }
}
@media screen and (max-width: 599px) {
  .main .recommendation .element {
    width: 86.9466666667vw;
  }
}
.main .recommendation .element .item {
  width: 25.0255208333vw;
  height: 4.375vw;
  transform: skewX(-14deg);
  background-color: #005B69;
  display: inline-block;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.6666666667vw;
}
@media screen and (max-width: 1000px) {
  .main .recommendation .element .item {
    width: 44.9697265625vw;
    height: 8.203125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .recommendation .element .item {
    width: 94.6666666667vw;
    height: 15.2vw;
    margin-bottom: 5.3333333333vw;
  }
}
.main .recommendation .element .item .inclination {
  transform: skewX(14deg);
  display: inline-block;
  letter-spacing: 0.1em;
  font-size: 1.25vw;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  .main .recommendation .element .item .inclination {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .recommendation .element .item .inclination {
    font-size: 4.2666666667vw;
  }
}
.main .projectOverview {
  width: 52.0833333333vw;
  height: auto;
  display: flex;
  align-items: center;
  flex-flow: column;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 1000px) {
  .main .projectOverview {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview {
    width: 100%;
  }
}
.main .projectOverview h2 {
  margin-top: 12.8645833333vw;
  font-size: 1.6666666667vw;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1000px) {
  .main .projectOverview h2 {
    margin-top: 24.12109375vw;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview h2 {
    margin-top: 16vw;
    font-size: 5.3333333333vw;
  }
}
.main .projectOverview .element {
  width: 52.0833333333vw;
  display: flex;
  align-items: center;
  flex-flow: column;
}
@media screen and (max-width: 1000px) {
  .main .projectOverview .element {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview .element {
    width: 100%;
  }
}
.main .projectOverview .element h3 {
  width: 100%;
  height: auto;
  display: flex;
  flex-flow: column;
  align-items: center;
  margin: 3.8697916667vw 0 1.359375vw;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .main .projectOverview .element h3 {
    margin: 4.970703125vw 0 0.126953125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview .element h3 {
    margin: 13.5733333333vw 0 0.3466666667vw;
  }
}
.main .projectOverview .element h3 .title {
  width: 5.9479166667vw;
  height: 1.8229166667vw;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: skewX(-14deg);
  background-color: #313131;
  font-size: 0.9375vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1000px) {
  .main .projectOverview .element h3 .title {
    width: 11.15234375vw;
    height: 3.41796875vw;
    font-size: 1.7578125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview .element h3 .title {
    width: 30.4533333333vw;
    height: 9.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.main .projectOverview .element h3 .title .inclination {
  transform: skewX(14deg);
  display: inline-block;
  letter-spacing: 0.1em;
  font-weight: bold;
}
.main .projectOverview .element h3 .border {
  width: 100%;
  border: #313131 solid 0.1041666667vw;
  position: absolute;
  top: 50%;
  transform: rotate(-5deg) translateY(-50%);
}
@media screen and (max-width: 1000px) {
  .main .projectOverview .element h3 .border {
    border: #313131 solid 0.1953125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview .element h3 .border {
    border: #313131 solid 0.5333333333vw;
  }
}
.main .projectOverview .element .item {
  width: 40vw;
  height: auto;
  display: flex;
  justify-content: space-between;
  margin-top: 2.6041666667vw;
}
@media screen and (max-width: 1000px) {
  .main .projectOverview .element .item {
    width: 55.46875vw;
    margin-top: 4.8828125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview .element .item {
    width: 94.6666666667vw;
    margin-top: 13.3333333333vw;
    flex-flow: column;
  }
}
.main .projectOverview .element .item h4 {
  width: 5.53125vw;
  height: 1.8229166667vw;
  transform: skewX(-14deg);
  background-color: #313131;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1000px) {
  .main .projectOverview .element .item h4 {
    width: 10.2431640625vw;
    height: 3.3759765625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview .element .item h4 {
    width: 27.9706666667vw;
    height: 9.2186666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.main .projectOverview .element .item h4 .inclination {
  transform: skewX(14deg);
  display: inline-block;
  letter-spacing: 0.1em;
  font-size: 0.9375vw;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  .main .projectOverview .element .item h4 .inclination {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview .element .item h4 .inclination {
    font-size: 4.2666666667vw;
  }
}
.main .projectOverview .element .item p {
  width: 31.796875vw;
  height: auto;
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.75;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 1000px) {
  .main .projectOverview .element .item p {
    width: 41.9921875vw;
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .projectOverview .element .item p {
    width: 100%;
    font-size: 4.2666666667vw;
  }
}
.main .projectOverview .element2 h3 {
  margin-top: 7.2135416667vw;
}
@media screen and (max-width: 599px) {
  .main .projectOverview .element2 h3 {
    margin-top: 21.3333333333vw;
  }
}
.main .contact {
  width: 100%;
  height: 38.5416666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  text-align: center;
  position: relative;
  margin: 8.1458333333vw 0 8.5989583333vw 0;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .main .contact {
    height: 153.8773333333vw;
    margin: 8.8266666667vw 0 10.88vw 0;
  }
}
.main .contact h2 {
  font-size: 3.125vw;
  padding-bottom: 5.0520833333vw;
  font-weight: bold;
  position: relative;
  z-index: 2;
  line-height: 1.725;
}
@media screen and (max-width: 599px) {
  .main .contact h2 {
    font-size: 9.3333333333vw;
    padding-bottom: 13.3333333333vw;
    line-height: 1.3142857143;
  }
}
.main .contact h2 .small {
  display: inline-block;
  font-size: 2.0833333333vw;
}
@media screen and (max-width: 599px) {
  .main .contact h2 .small {
    font-size: 6.4vw;
    padding-bottom: 5.3333333333vw;
  }
}
.main .contact .backgroundItem {
  width: 108.5416666667vw;
  height: 29.2135416667vw;
  position: absolute;
  transform: rotate(-12.5deg);
  background: rgb(0, 26, 66);
  background: linear-gradient(150deg, rgb(0, 26, 66) 0%, rgb(0, 91, 105) 45%, rgb(0, 106, 52) 100%);
  opacity: 0.8;
}
@media screen and (max-width: 599px) {
  .main .contact .backgroundItem {
    width: 139.0373333333vw;
    height: 125.4186666667vw;
  }
}
.main .contact .backgroundItem2 {
  width: 108.5416666667vw;
  height: 29.2135416667vw;
  position: absolute;
  transform: rotate(12.5deg);
  background: rgb(0, 26, 66);
  background: linear-gradient(150deg, rgb(0, 26, 66) 0%, rgb(0, 91, 105) 45%, rgb(0, 106, 52) 100%);
  opacity: 0.8;
}
@media screen and (max-width: 599px) {
  .main .contact .backgroundItem2 {
    width: 139.0373333333vw;
    height: 125.4186666667vw;
  }
}
.main .contact2 {
  margin-bottom: 9.8958333333vw;
}
@media screen and (max-width: 599px) {
  .main .contact2 {
    margin: 0;
  }
}
.main .schedule {
  width: 52.0833333333vw;
  height: auto;
}
@media screen and (max-width: 1000px) {
  .main .schedule {
    width: 78.125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule {
    width: 94.6666666667vw;
  }
}
.main .schedule h2 {
  font-size: 1.6666666667vw;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 2.7083333333vw;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 1000px) {
  .main .schedule h2 {
    font-size: 3.125vw;
    margin-bottom: 5.078125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule h2 {
    font-size: 6.4vw;
    margin-bottom: 13.3333333333vw;
  }
}
.main .schedule h2 .small {
  font-size: 0.8333333333vw;
}
@media screen and (max-width: 1000px) {
  .main .schedule h2 .small {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule h2 .small {
    font-size: 3.7333333333vw;
  }
}
.main .schedule h3 {
  width: 100%;
  height: 2.7604166667vw;
  transform: skewX(-14deg);
  background-color: #313131;
  display: flex;
  align-items: center;
  padding-left: 1.5104166667vw;
  font-size: 0.9375vw;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 1000px) {
  .main .schedule h3 {
    width: 100vw;
    font-size: 1.7578125vw;
    height: 5.17578125vw;
    padding-left: 2.83203125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule h3 {
    width: 100vw;
    font-size: 4.8vw;
    height: 14.1333333333vw;
    padding-left: 7.7333333333vw;
  }
}
.main .schedule h3 .inclination {
  transform: skewX(14deg);
  display: inline-block;
}
.main .schedule .element {
  width: 52.0833333333vw;
  height: auto;
  position: relative;
  padding-bottom: 4.1666666667vw;
  display: flex;
  flex-flow: column;
}
@media screen and (max-width: 1000px) {
  .main .schedule .element {
    width: 68.359375vw;
    padding-bottom: 7.8125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule .element {
    width: 94.6666666667vw;
    padding-bottom: 21.3333333333vw;
  }
}
.main .schedule .element .item {
  width: 100%;
  height: auto;
  display: flex;
  flex-flow: column;
  padding-top: 2.6041666667vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1000px) {
  .main .schedule .element .item {
    padding-top: 4.8828125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule .element .item {
    padding-top: 13.3333333333vw;
  }
}
.main .schedule .element .item .pcItem {
  display: flex;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 599px) {
  .main .schedule .element .item .pcItem {
    display: none;
  }
}
.main .schedule .element .item .spItem {
  display: none;
}
@media screen and (max-width: 599px) {
  .main .schedule .element .item .spItem {
    width: 100%;
    height: auto;
    display: flex;
    padding-top: 2.6041666667vw;
    position: relative;
    z-index: 1;
  }
}
.main .schedule .element .item h4 {
  width: 7.4583333333vw;
  height: 1.8229166667vw;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0;
  background-color: #313131;
  transform: skewX(-14deg);
  font-size: 0.9375vw;
}
@media screen and (max-width: 1000px) {
  .main .schedule .element .item h4 {
    width: 13.984375vw;
    height: 3.41796875vw;
    font-size: 1.7578125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule .element .item h4 {
    width: 38.1866666667vw;
    height: 9.3333333333vw;
    font-size: 4.8vw;
  }
}
.main .schedule .element .item h4 .inclination {
  transform: skewX(14deg);
  display: inline-block;
}
.main .schedule .element .item p {
  width: 43.0208333333vw;
  display: inline-block;
  letter-spacing: 0.05em;
  padding-left: 1.6145833333vw;
  font-size: 0.8333333333vw;
  line-height: 1.75;
  font-weight: 400;
}
@media screen and (max-width: 1000px) {
  .main .schedule .element .item p {
    width: 58.59375vw;
    font-size: 1.7578125vw;
    padding-left: 1.953125vw;
    font-weight: bold;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule .element .item p {
    width: 51.1466666667vw;
    font-size: 4.8vw;
    padding-left: 5.3333333333vw;
    font-weight: bold;
  }
}
.main .schedule .element .item p strong {
  display: inline-block;
  line-height: 1.9444444444;
  font-size: 0.9375vw;
  padding-bottom: 0.5208333333vw;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  .main .schedule .element .item p strong {
    font-size: 1.7578125vw;
    line-height: 1.2777777778;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule .element .item p strong {
    font-size: 4.8vw;
    line-height: 1.2777777778;
  }
}
.main .schedule .element .item p strong .small {
  font-size: 0.5208333333vw;
  font-weight: bold;
  padding-left: 0.5208333333vw;
}
@media screen and (max-width: 1000px) {
  .main .schedule .element .item p strong .small {
    font-size: 0.9765625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule .element .item p strong .small {
    font-size: 2.6666666667vw;
  }
}
.main .schedule .element .item .spText {
  display: none;
}
@media screen and (max-width: 599px) {
  .main .schedule .element .item .spText {
    display: inline-block;
    width: 94.6666666667vw;
    font-weight: 400;
    font-size: 4.2666666667vw;
    letter-spacing: 0.1em;
    margin-top: 5.3333333333vw;
    line-height: 1.75;
    background-color: #000;
  }
}
.main .schedule .element .border {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  border-left: 0.2083333333vw dotted #313131;
  margin-left: 3.75vw;
}
@media screen and (max-width: 1000px) {
  .main .schedule .element .border {
    border-left: 0.390625vw dotted #313131;
    margin-left: 7.03125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule .element .border {
    border-left: 1.0666666667vw dotted #313131;
    margin-left: 19.2vw;
  }
}
.main .schedule .element .border2 {
  width: 100%;
  height: 8.3333333333vw;
  position: absolute;
  top: 0;
  border-left: 0.2083333333vw dotted #313131;
  margin-left: 3.75vw;
}
@media screen and (max-width: 1000px) {
  .main .schedule .element .border2 {
    height: 15.625vw;
    border-left: 0.390625vw dotted #313131;
    margin-left: 7.03125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .schedule .element .border2 {
    height: 85.3333333333vw;
    border-left: 1.0666666667vw dotted #313131;
    margin-left: 19.2vw;
  }
}
.main .location {
  width: 100%;
  height: auto;
  text-align: center;
  letter-spacing: 0.05em;
  margin: 5.2083333333vw 0;
  font-size: 0.8333333333vw;
}
@media screen and (max-width: 1000px) {
  .main .location {
    margin: 9.765625vw 0;
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .location {
    margin: 21.3333333333vw 0;
    font-size: 4.2666666667vw;
  }
}
.main .location h2 {
  font-size: 1.6666666667vw;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 2.7083333333vw;
  line-height: 2;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 1000px) {
  .main .location h2 {
    font-size: 3.125vw;
    margin-bottom: 5.078125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .location h2 {
    font-size: 8.5333333333vw;
    margin-bottom: 13.8666666667vw;
    line-height: 2.5;
  }
}
.main .location h2 .small {
  font-size: 1.0416666667vw;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1000px) {
  .main .location h2 .small {
    font-size: 1.953125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .location h2 .small {
    font-size: 5.3333333333vw;
    line-height: 1.5;
    display: inline-block;
  }
}
.main .location .map {
  width: 52.0833333333vw;
  height: 41.6666666667vw;
  margin: 0 auto 2.0833333333vw;
}
@media screen and (max-width: 1000px) {
  .main .location .map {
    width: 96.6796875vw;
    height: 78.125vw;
    margin: 0 auto 3.90625vw;
    padding: 0 0.9765625vw;
  }
}
@media screen and (max-width: 599px) {
  .main .location .map {
    width: 94.6666666667vw;
    height: 213.3333333333vw;
    margin: 0 auto 10.6666666667vw;
    padding: 0 2.6666666667vw;
  }
}
.main .location .item {
  font-weight: 400;
  line-height: 1.5;
}
.main .location .item .icon {
  width: auto;
  height: auto;
  font-size: 3.3333333333vw;
  font-weight: 100;
}
@media screen and (max-width: 1000px) {
  .main .location .item .icon {
    font-size: 6.25vw;
  }
}
@media screen and (max-width: 599px) {
  .main .location .item .icon {
    font-size: 12.8vw;
  }
}
.main .location .item h3 {
  font-size: 1.0416666667vw;
  padding: 0.5208333333vw 0;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  .main .location .item h3 {
    font-size: 1.953125vw;
    padding: 0.9765625vw 0;
  }
}
@media screen and (max-width: 599px) {
  .main .location .item h3 {
    font-size: 5.3333333333vw;
    padding: 2.6666666667vw 0;
  }
}
.main .location .item p {
  font-size: 0.9375vw;
  padding-bottom: 1.0416666667vw;
  line-height: 1.5;
}
@media screen and (max-width: 1000px) {
  .main .location .item p {
    font-size: 1.7578125vw;
    padding-bottom: 1.953125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .location .item p {
    font-size: 4.8vw;
    padding-bottom: 5.3333333333vw;
  }
}
.main .location strong {
  font-size: 0.9375vw;
  font-weight: 400;
  line-height: 1.5;
  padding-top: 1.0416666667vw;
  display: inline-block;
}
@media screen and (max-width: 1000px) {
  .main .location strong {
    font-size: 1.7578125vw;
    padding-top: 1.953125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .location strong {
    font-size: 4.8vw;
    padding: 5.3333333333vw 2.6666666667vw 0;
  }
}
.main .inclination__title {
  font-size: 1.6666666667vw;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-family: "Noto Serif JP", serif;
  margin: 3.6458333333vw 0 2.5520833333vw 0;
}
@media screen and (max-width: 1000px) {
  .main .inclination__title {
    font-size: 3.125vw;
    margin: 6.8359375vw 0 4.78515625vw 0;
  }
}
@media screen and (max-width: 599px) {
  .main .inclination__title {
    font-size: 6.4vw;
    margin: 0 0 13.3333333333vw 0;
  }
}
.main .introduction {
  width: 52.0833333333vw;
  height: auto;
  display: flex;
  justify-content: space-between;
  margin-bottom: 7.8385416667vw;
}
@media screen and (max-width: 1000px) {
  .main .introduction {
    width: 87.890625vw;
    margin-bottom: 4.8828125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .introduction {
    width: 94.6666666667vw;
    flex-flow: column;
    margin-bottom: 13.3333333333vw;
  }
}
.main .introduction__img {
  width: 17.9166666667vw;
  height: auto;
}
@media screen and (max-width: 1000px) {
  .main .introduction__img {
    width: 33.59375vw;
  }
}
@media screen and (max-width: 599px) {
  .main .introduction__img {
    width: 100%;
  }
}
.main .introduction__img img {
  width: 100%;
  height: auto;
}
.main .introduction .item {
  width: 31.3541666667vw;
  padding: 2.3958333333vw 0 0 0;
}
@media screen and (max-width: 1000px) {
  .main .introduction .item {
    width: 48.828125vw;
    padding: 4.4921875vw 0 0 0;
  }
}
@media screen and (max-width: 599px) {
  .main .introduction .item {
    width: 100%;
  }
}
.main .introduction .item h3 {
  width: 100%;
  display: flex;
  font-weight: 500;
}
.main .introduction .item h3 .logo {
  width: 5.5729166667vw;
  height: auto;
  display: inline-block;
}
@media screen and (max-width: 1000px) {
  .main .introduction .item h3 .logo {
    width: 10.44921875vw;
  }
}
@media screen and (max-width: 599px) {
  .main .introduction .item h3 .logo {
    width: 28.5333333333vw;
  }
}
.main .introduction .item h3 .logo img {
  width: 100%;
  height: auto;
}
.main .introduction .item h3 .companyName {
  letter-spacing: 0.05em;
  padding-left: 0.2604166667vw;
  display: flex;
  align-items: center;
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 1000px) {
  .main .introduction .item h3 .companyName {
    font-size: 1.3671875vw;
    padding-left: 0.48828125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .introduction .item h3 .companyName {
    font-size: 3.7333333333vw;
    padding-left: 1.3333333333vw;
  }
}
.main .introduction .item strong {
  font-size: 1.6666666667vw;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding-top: 1.0416666667vw;
  display: inline-block;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  .main .introduction .item strong {
    font-size: 3.125vw;
    padding-top: 1.953125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .introduction .item strong {
    font-size: 8.5333333333vw;
    padding-top: 5.3333333333vw;
  }
}
.main .introduction .item strong .small {
  font-size: 0.7291666667vw;
  font-weight: 400;
  padding-left: 0.9895833333vw;
  display: inline-block;
}
@media screen and (max-width: 1000px) {
  .main .introduction .item strong .small {
    font-size: 1.3671875vw;
    padding-left: 1.85546875vw;
  }
}
@media screen and (max-width: 599px) {
  .main .introduction .item strong .small {
    font-size: 3.7333333333vw;
    padding-left: 5.0666666667vw;
  }
}
.main .introduction .item p {
  font-size: 0.8333333333vw;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: inline-block;
  padding-top: 1.09375vw;
  line-height: 1.75;
}
@media screen and (max-width: 1000px) {
  .main .introduction .item p {
    font-size: 1.5625vw;
    padding-top: 2.05078125vw;
  }
}
@media screen and (max-width: 599px) {
  .main .introduction .item p {
    font-size: 4.2666666667vw;
    padding-top: 5.6vw;
  }
}

.footer {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
}
.footer a {
  display: flex;
  letter-spacing: 0.05em;
  margin-bottom: 1.015625vw;
  font-weight: 500;
  font-size: 0.46875vw;
  opacity: 1;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1000px) {
  .footer a {
    margin-bottom: 1.904296875vw;
    font-size: 0.87890625vw;
  }
}
@media screen and (max-width: 599px) {
  .footer a {
    margin-bottom: 5.2vw;
    font-size: 2.4vw;
  }
}
.footer a:hover {
  opacity: 0.5;
}
.footer a .linkIcon {
  width: auto;
  height: 100%;
  padding-left: 0.5208333333vw;
}
@media screen and (max-width: 1000px) {
  .footer a .linkIcon {
    padding-left: 0.9765625vw;
  }
}
@media screen and (max-width: 599px) {
  .footer a .linkIcon {
    padding-left: 4vw;
  }
}
.footer a .linkIcon img {
  width: auto;
  height: 100%;
}
.footer small {
  width: 100%;
  display: flex;
  justify-content: center;
  letter-spacing: 0.1em;
  padding: 3.1510416667vw 0 2.5833333333vw 0;
  font-family: "minion-pro", serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 1000px) {
  .footer small {
    font-size: 1.3671875vw;
  }
}
@media screen and (max-width: 599px) {
  .footer small {
    font-size: 3.7333333333vw;
  }
}/*# sourceMappingURL=style.css.map */