@charset "utf-8";

/** ***************************************************************************
 * タイトル
 * ************************************************************************* */

/** ***************************************************************************
 * 紹介文
 */

#main .lead-title {
  margin-bottom: 30px;
  padding-bottom: 20px;
  line-height: 1.8;
  letter-spacing: 2px;
  font-size: 1.428em;
  font-weight: 500;
  text-align: center;
  position: relative;
  z-index: 1;
}

#main .lead-title::after {
  content: '';
  width: 3em;
  border-top: 7px solid;
  position: absolute;
  left: calc(50% - 1.5em);
  bottom: 0;
}

#main .lead-title + * {
  margin-top: 0;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:737px) {

  #main .lead-title {
    margin-bottom: 40px;
    line-height: 1.666;
    font-size: 2em;
  }

  #main .lead-title::after {
    width: 2.25em;
    left: calc(50% - 1.125em);
  }

}

/** ***************************************************************************
 * セクション
 */

#main .section-title {
  margin-bottom: 20px;
  line-height: 1.8;
  letter-spacing: 2px;
  font-size: 1.428em;
  font-weight: 500;
  text-align: center;
}

#main .section-title + * {
  margin-top: 0;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:737px) {

  #main .section-title {
    margin-bottom: 40px;
    line-height: 1.666;
    font-size: 2em;
  }

}

/** ***************************************************************************
 * テキスト
 * ************************************************************************* */

.strong-1 {
  color: #1d7a40;
  font-weight: 400;
}

.strong-2 {
  color: #f85f4b;
  font-weight: 400;
}

/** ***************************************************************************
 * レイアウト
 * ************************************************************************* */

/** ***************************************************************************
 * 2カラム
 */

#main .column-2 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

#main .column-2 > * {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

#main .column-2 .order-2 {
  order: 2;
}

#main .column-2 > * ~ * {
  margin-top: 30px;
}

#main .column-2 .column ~ .column {
  margin-top: 20px;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:737px) {

  #main .column-2 {
    max-width: none;
    margin-left: -1.45%;
    margin-right: -1.45%;
    margin-bottom: -2.9%;
    overflow: hidden;
    flex-direction: row;
    justify-content: flex-start;
  }

  #main .column-2 > * {
    width: calc(100% / 2 - 2.9%);
    margin-left: 1.45%;
    margin-right: 1.45%;
    margin-bottom: 2.9%;
  }

  #main .column-2 > * ~ * {
    margin-top: 0;
  }

  #main .column-2 .column ~ .column {
    margin-top: 30px;
  }

}

/** ***************************************************************************
 * 3カラム
 */

#main .column-3 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

#main .column-3 > * {
  margin-left: auto;
  margin-right: auto;
}

#main .column-3 .order-2 {
  order: 2;
}

#main .column-3 .order-3 {
  order: 3;
}

#main .column-3 > * ~ * {
  margin-top: 20px;
}

#main .column-3 .column ~ .column {
  margin-top: 20px;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:737px) {

  #main .column-3 {
    max-width: none;
    margin-left: -1.45%;
    margin-right: -1.45%;
    margin-bottom: -2.9%;
    overflow: hidden;
    flex-direction: row;
    justify-content: flex-start;
  }

  #main .column-3 > * {
    width: calc(100% / 3 - 2.9%);
    margin-left: 1.45%;
    margin-right: 1.45%;
    margin-bottom: 2.9%;
  }

  #main .column-3 > * ~ * {
    margin-top: 0;
  }

  #main .column-3 .column ~ .column {
    margin-top: 30px;
  }

}

/** ***************************************************************************
 * sp 2カラム / pc 3カラム
 */

#main .column-sp2-pc3 {
  max-width: none;
  margin-left: -2%;
  margin-right: -2%;
  margin-bottom: -6%;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}

#main .column-sp2-pc3 > * {
  width: calc(100% / 2);
  margin-bottom: 6%;
  padding-left: 2%;
  padding-right: 2%;
}

#main .column-sp2-pc3 .order-2 {
  order: 2;
}

#main .column-sp2-pc3 .order-3 {
  order: 3;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:737px) {

  #main .column-sp2-pc3 {
    margin-bottom: -4%;
  }

  #main .column-sp2-pc3 > * {
    width: calc(100% / 3);
    margin-bottom: 4%;
  }

}

/** ***************************************************************************
 * 動画
 */

#main .flex-movie {
  padding-bottom: 56.25%;
  position: relative;
}

#main .flex-movie > * {
  width: 100%;
  height: 100%;
  border: none;
  position: absolute;
  top: 0;
  left: 0;
}

/** ***************************************************************************
 * アニメーション
 * ************************************************************************* */

/** ***************************************************************************
 * 下からフェードイン
 */

.fadein-bottom {
  opacity: 0;
}

.fadein-bottom.window-in {
  animation: fadein-bottom 0.8s ease-out 0.0s forwards;
}

@keyframes fadein-bottom {

  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  30% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }

}

/** ***************************************************************************
 * 表示／非表示
 * ************************************************************************* */

p + [sp] + [pc] {
  margin-top: 1.5em;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (max-width:736px) {

  [pc] {
    display: none !important;
  }

}

@media print, screen and (min-width:737px) {

  [sp] {
    display: none !important;
  }

}
