@charset "UTF-8";
.f-robot {
  font-family: "Roboto", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

body {
  overflow: auto;
}
@media screen and (max-width: 767px) {
  body {
    overflow: auto;
  }
}

@media screen and (max-width: 767px) {
  .sns-section {
    overflow: hidden;
  }
}

.teiki img {
  max-width: 100%;
  height: auto;
}
.teiki h2,
.teiki h3 {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 1.6px;
}
.teiki .fc-red {
  color: #d9012b !important;
}
.teiki .fc-pink {
  color: #e6002d !important;
}
.teiki .fc-pink-light {
  color: #fde6e6 !important;
}
.teiki .border-title {
  font-size: 30px;
  line-height: 1.6;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .teiki .border-title {
    font-size: 18px;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
}
.teiki .border-title:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 60px;
  height: 1px;
  background-color: #222222;
}
@media screen and (max-width: 767px) {
  .teiki .border-title:after {
    width: 50px;
  }
}
.teiki .txt-marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #fde6e6));
  background: linear-gradient(transparent 60%, #fde6e6 0%);
}
.teiki .dot-txt {
  position: relative;
}
.teiki .dot-txt:before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #e6002d;
  left: 0;
  right: 0;
  top: -0.2em;
  margin: auto;
  position: absolute;
}
.teiki .dot-txt.ss:before {
  width: 5px;
  height: 5px;
}
@media screen and (max-width: 767px) {
  .teiki .dot-txt.ss:before {
    width: 3px;
    height: 3px;
  }
}
.teiki .tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.teiki .tag__part {
  display: inline-block;
  position: relative;
  z-index: 10;
  padding-left: 50px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .teiki .tag__part {
    padding-left: 60px;
  }
}
.teiki .tag__part:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 10;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 45px;
  height: 1px;
  background: #000;
}
@media screen and (max-width: 767px) {
  .teiki .tag__part:before {
    width: 30px;
    left: 20px;
  }
}
.teiki .logo-title-head {
  padding-bottom: 10px;
  border-bottom: #000 2px solid;
  display: inline-block;
}
.teiki .logo-title-head .logo-img {
  margin-top: -10px;
  position: relative;
  top: 4px;
}
.teiki .arrow-box {
  position: relative;
  padding: 15px 40px;
}
.teiki .arrow-box__left {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  margin: auto;
  display: block;
}
.teiki .arrow-box__left:before, .teiki .arrow-box__left:after {
  content: "";
  display: block;
  width: 2px;
  height: 50%;
  background: #ccc;
  position: absolute;
}
.teiki .arrow-box__left:before {
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
  left: 0;
  top: 0;
}
.teiki .arrow-box__left:after {
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  left: 0;
  bottom: 0;
}
.teiki .arrow-box__right {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  display: block;
}
.teiki .arrow-box__right:before, .teiki .arrow-box__right:after {
  content: "";
  display: block;
  width: 2px;
  height: 50%;
  background: #ccc;
  position: absolute;
}
.teiki .arrow-box__right:before {
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  right: 0;
  top: 0;
}
.teiki .arrow-box__right:after {
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
  right: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .teiki .arrow-box__md-border-left {
    border-right: 1px solid #ccc;
  }
}
.teiki .first-label {
  color: #d9012b;
  border: solid 1px #d9012b;
  display: inline-block;
  position: relative;
  padding: 7px 40px;
}
@media screen and (max-width: 767px) {
  .teiki .first-label {
    padding: 7px 22px;
  }
}
.teiki .first-label:before {
  content: "";
  display: block;
  width: 50px;
  height: 1px;
  background: #d9012b;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -25px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .teiki .first-label:before {
    width: 30px;
    right: -15px;
  }
}
.teiki .first-label:after {
  content: "";
  display: block;
  width: 1px;
  height: 5px;
  background: #d9012b;
  position: absolute;
  top: -5px;
  bottom: 0;
  right: -22px;
  -webkit-transform: skewX(60deg);
          transform: skewX(60deg);
  margin: auto;
}
@media screen and (max-width: 767px) {
  .teiki .first-label:after {
    height: 4px;
    right: -12px;
  }
}
.teiki .first-label.no-arrow:before, .teiki .first-label.no-arrow:after {
  display: none;
}
@media screen and (min-width: 768px) {
  .teiki .first-label__pcHidden:before, .teiki .first-label__pcHidden:after {
    display: none;
  }
}
.teiki .normal-arrow {
  padding-bottom: 10px;
  position: relative;
}
.teiki .normal-arrow:before {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background: #ccc;
  position: absolute;
  bottom: 0;
  left: 0;
}
.teiki .normal-arrow:after {
  content: "";
  display: block;
  width: 1px;
  height: 5px;
  background: #ccc;
  position: absolute;
  bottom: 0;
  left: 96px;
  -webkit-transform: skewX(60deg);
          transform: skewX(60deg);
  margin: auto;
}
@media screen and (max-width: 767px) {
  .teiki .normal-arrow__spHidden:before, .teiki .normal-arrow__spHidden:after {
    display: none;
  }
}
.teiki .teiki-btn {
  background-color: rgb(247, 129, 129);
  width: 100%;
  height: 45px;
  line-height: 45px;
  border-radius: 30px;
  font-size: 16px;
  text-align: center;
  position: relative;
  display: block;
  color: #fff;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 767px) {
  .teiki .teiki-btn {
    width: 100%;
    height: 40px;
    line-height: 40px;
    font-size: 15px;
    letter-spacing: 0.16em;
  }
}
.teiki .teiki-btn .icon-teiki {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .teiki .teiki-btn .icon-teiki {
    left: 20px;
    width: 22px;
  }
}
.teiki .teiki-btn:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border: 1px solid #fff;
  border-left: none;
  border-bottom: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.teiki .toggle-btn {
  cursor: pointer;
}
.teiki .toggle-btn + * {
  display: none;
}
.teiki .inner {
  position: relative;
}
.teiki .inner-w {
  width: auto;
  position: relative;
  max-width: 1290px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
.teiki .mv-wrap {
  position: absolute;
  top: 15%;
}
@media screen and (max-width: 767px) {
  .teiki .mv-wrap {
    top: 0;
    padding: 40px 20px 0;
    left: 0;
    right: 0;
  }
}
.teiki #mv {
  position: relative;
}
@media screen and (min-width: 768px) {
  .teiki #mv {
    background: url(../img/main-bg-pc.jpg) center top;
    min-height: 500px;
  }
}
.teiki #mv p {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 1.6px;
}
@media screen and (max-width: 767px) {
  .teiki #mv p {
    letter-spacing: 0.8px;
  }
}
.teiki #mv .bikkuri {
  display: inline-block;
  color: #cc0001;
  -webkit-transform: rotate(13deg);
          transform: rotate(13deg);
}
.teiki #mv .first-text {
  font-size: 25px;
  letter-spacing: 6px;
  padding-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .teiki #mv .first-text {
    border-bottom: 2px solid #222222;
    font-size: 19px;
  }
}
.teiki #mv .mv-text__area {
  width: 100%;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .teiki #mv .mv-text__area {
    width: 100%;
  }
}
.teiki #mv .mv-text__area h1 {
  margin-bottom: 55px;
  font-size: 48px;
  font-weight: normal;
  display: inline-block;
  letter-spacing: 4px;
}
@media screen and (min-width: 768px) {
  .teiki #mv .mv-text__area h1 {
    border-bottom: 2px solid #222222;
  }
}
@media screen and (max-width: 767px) {
  .teiki #mv .mv-text__area h1 {
    margin-bottom: 20px;
    font-size: 33px;
    letter-spacing: 8px;
    margin-top: 20px;
  }
}
.teiki #mv .mv-text__area h2 {
  margin-bottom: 30px;
  font-size: 32px;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 3.2px;
}
@media screen and (max-width: 767px) {
  .teiki #mv .mv-text__area h2 {
    margin-bottom: 15px;
    font-size: 18px;
    letter-spacing: 1.5px;
  }
}
.teiki #mv .mv-text__area .greeting {
  margin-bottom: 30px;
  line-height: 2.4;
}
@media screen and (max-width: 767px) {
  .teiki #mv .mv-text__area .greeting {
    margin-bottom: 30px;
    line-height: 2;
    position: relative;
    top: 330px;
  }
}
.teiki #mv .mv-text__area .greeting-supervision {
  letter-spacing: 0.5px;
}
.teiki #mv .mv-text__area .greeting-supervision span {
  font-size: 11px;
}
.teiki #mv .mv-img__area {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .teiki #mv .mv-img__area {
    width: 100%;
  }
}
.teiki .navi-section {
  background: url(../img/navi-bg.jpg) left top;
}
.teiki .navi-section__nav {
  margin: 0 -20px;
}
@media screen and (max-width: 767px) {
  .teiki .navi-section__nav {
    margin: 0 -5px;
  }
}
.teiki .navi-section__btn {
  padding: 0 20px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .teiki .navi-section__btn {
    -webkit-transition: 0.4s;
    transition: 0.4s;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    padding: 0 15px;
    margin-top: 40px;
  }
  .teiki .navi-section__btn:hover {
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
  }
}
@media screen and (max-width: 767px) {
  .teiki .navi-section__btn {
    padding: 0 5px;
  }
}
.teiki .teiki-about {
  background: url(../img/teiki-about-bg.jpg) left top;
}
.teiki .teiki-about__head {
  height: 80px;
  line-height: 80px;
  border-top: #595757 1px solid;
  border-bottom: #595757 1px solid;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 767px) {
  .teiki .teiki-about__head {
    height: 60px;
    line-height: 60px;
  }
}
.teiki .teiki-about__head.active:after {
  display: none;
}
.teiki .teiki-about__head:before, .teiki .teiki-about__head:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #595757;
}
.teiki .teiki-about__head:before {
  width: 30px;
  height: 1px;
  right: 30px;
}
@media screen and (max-width: 767px) {
  .teiki .teiki-about__head:before {
    width: 20px;
    right: 10px;
  }
}
.teiki .teiki-about__head:after {
  width: 1px;
  height: 30px;
  right: 44px;
}
@media screen and (max-width: 767px) {
  .teiki .teiki-about__head:after {
    height: 20px;
    right: 19px;
  }
}
@media screen and (min-width: 768px) {
  .teiki .recommend-item {
    background: #f8f9fb url(../img/recommend-item_pc.jpg) no-repeat left center/100% auto;
    background-position: inherit;
  }
}
@media screen and (max-width: 767px) {
  .teiki .recommend-item {
    background: #f8f9fb;
  }
}
.teiki .others-item {
  background: url(../img/others-bg_pc.jpg) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .teiki .others-item {
    background-image: url(../img/others-bg_sp.jpg);
  }
}
@media screen and (max-width: 767px) {
  .teiki .normal-item__list + .normal-item__list {
    margin-top: 20px;
  }
}
.teiki .merit-section {
  background: #f4f4f4;
}
.teiki .merit-section div[id^=merit] + div[id^=merit] {
  margin-top: 60px;
  padding-top: 60px;
  border-top: #f4f4f4 1px solid;
}
@media screen and (max-width: 767px) {
  .teiki .merit-section div[id^=merit] + div[id^=merit] {
    margin-top: 30px;
    padding-top: 55px;
  }
}
.teiki .faq-section__list {
  border-top: #595757 1px solid;
}
.teiki .faq-section__list + .faq-section__list {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .teiki .faq-section__list + .faq-section__list {
    margin-top: 10px;
  }
}
.teiki .faq-section__list .toggle-btn {
  position: relative;
}
.teiki .faq-section__list .toggle-btn:after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-right: 2px solid #4d4c4c;
  border-bottom: 2px solid #4d4c4c;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  right: -5px;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .teiki .faq-section__list .toggle-btn:after {
    right: 0;
  }
}

.bscstm .text-decoration-line-through {
  text-decoration: line-through !important;
}
.bscstm .text-decoration-underline {
  text-decoration: underline !important;
}
@media screen and (min-width: 768px) {
  .bscstm .w-md-auto {
    width: auto !important;
  }
  .bscstm .w-md-1140px {
    width: 1140px !important;
  }
}

.bscstm .ls-0em {
  letter-spacing: 0em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-0em {
    letter-spacing: 0em !important;
  }
}

.bscstm .ls-1em {
  letter-spacing: 0.01em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-1em {
    letter-spacing: 0.01em !important;
  }
}

.bscstm .ls-2em {
  letter-spacing: 0.02em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-2em {
    letter-spacing: 0.02em !important;
  }
}

.bscstm .ls-3em {
  letter-spacing: 0.03em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-3em {
    letter-spacing: 0.03em !important;
  }
}

.bscstm .ls-4em {
  letter-spacing: 0.04em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-4em {
    letter-spacing: 0.04em !important;
  }
}

.bscstm .ls-5em {
  letter-spacing: 0.05em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-5em {
    letter-spacing: 0.05em !important;
  }
}

.bscstm .ls-6em {
  letter-spacing: 0.06em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-6em {
    letter-spacing: 0.06em !important;
  }
}

.bscstm .ls-7em {
  letter-spacing: 0.07em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-7em {
    letter-spacing: 0.07em !important;
  }
}

.bscstm .ls-8em {
  letter-spacing: 0.08em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-8em {
    letter-spacing: 0.08em !important;
  }
}

.bscstm .ls-9em {
  letter-spacing: 0.09em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-9em {
    letter-spacing: 0.09em !important;
  }
}

.bscstm .ls-10em {
  letter-spacing: 0.1em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-10em {
    letter-spacing: 0.1em !important;
  }
}

.bscstm .ls-11em {
  letter-spacing: 0.11em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-11em {
    letter-spacing: 0.11em !important;
  }
}

.bscstm .ls-12em {
  letter-spacing: 0.12em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-12em {
    letter-spacing: 0.12em !important;
  }
}

.bscstm .ls-13em {
  letter-spacing: 0.13em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-13em {
    letter-spacing: 0.13em !important;
  }
}

.bscstm .ls-14em {
  letter-spacing: 0.14em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-14em {
    letter-spacing: 0.14em !important;
  }
}

.bscstm .ls-15em {
  letter-spacing: 0.15em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-15em {
    letter-spacing: 0.15em !important;
  }
}

.bscstm .ls-16em {
  letter-spacing: 0.16em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-16em {
    letter-spacing: 0.16em !important;
  }
}

.bscstm .ls-17em {
  letter-spacing: 0.17em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-17em {
    letter-spacing: 0.17em !important;
  }
}

.bscstm .ls-18em {
  letter-spacing: 0.18em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-18em {
    letter-spacing: 0.18em !important;
  }
}

.bscstm .ls-19em {
  letter-spacing: 0.19em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-19em {
    letter-spacing: 0.19em !important;
  }
}

.bscstm .ls-20em {
  letter-spacing: 0.2em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-20em {
    letter-spacing: 0.2em !important;
  }
}

.bscstm .ls-21em {
  letter-spacing: 0.21em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-21em {
    letter-spacing: 0.21em !important;
  }
}

.bscstm .ls-22em {
  letter-spacing: 0.22em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-22em {
    letter-spacing: 0.22em !important;
  }
}

.bscstm .ls-23em {
  letter-spacing: 0.23em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-23em {
    letter-spacing: 0.23em !important;
  }
}

.bscstm .ls-24em {
  letter-spacing: 0.24em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-24em {
    letter-spacing: 0.24em !important;
  }
}

.bscstm .ls-25em {
  letter-spacing: 0.25em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-25em {
    letter-spacing: 0.25em !important;
  }
}

.bscstm .ls-26em {
  letter-spacing: 0.26em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-26em {
    letter-spacing: 0.26em !important;
  }
}

.bscstm .ls-27em {
  letter-spacing: 0.27em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-27em {
    letter-spacing: 0.27em !important;
  }
}

.bscstm .ls-28em {
  letter-spacing: 0.28em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-28em {
    letter-spacing: 0.28em !important;
  }
}

.bscstm .ls-29em {
  letter-spacing: 0.29em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-29em {
    letter-spacing: 0.29em !important;
  }
}

.bscstm .ls-30em {
  letter-spacing: 0.3em !important;
}
@media screen and (min-width: 768px) {
  .bscstm .ls-md-30em {
    letter-spacing: 0.3em !important;
  }
}

.award-logo-position {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .award-logo-position {
    top: 30px;
    right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .award-logo-position {
    top: 100px;
    left: 15px;
  }
}