@charset "UTF-8";
/* メディアクエリ */
/* //メディアクエリ */
/* position 中央寄せ */
/* //position 中央寄せ */
/* 基本フォントサイズ設定 */
html {
  font-size: 100%; /* ブラウザのデフォルトのフォントサイズ。大抵は16px */
}

/* //基本フォントサイズ設定 */
/* 全体設定 */
body {
  font-family: "Noto Sans JP", sans-serif, YuGothic, "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, MS PGothic, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 500;
  overflow-x: hidden;
  position: relative;
  color: #333333;
  -webkit-font-smoothing: antialiased; /* macで文字が太くなる現象を解消 */
  letter-spacing: 0.03em;
}

main {
  overflow: hidden;
}

p {
  line-height: 1.6;
}

img {
  max-width: 100%;
  height: auto;
  flex-shrink: 0;
}

ul {
  list-style: none;
  padding-left: 0;
}

a {
  transition: all 0.3s;
}
a:hover {
  opacity: 0.7;
}

.container-926 {
  padding: 0 20px;
  max-width: 966px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container-926 {
    padding: 0 5.3333333333vw;
  }
}

.container-1046 {
  padding: 0 20px;
  max-width: 1086px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container-1046 {
    padding: 0 5.3333333333vw;
  }
}

.d-none {
  display: none;
}

.d-inline-block {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .d-md-block {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .d-md-none {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .d-md-flex {
    display: flex;
  }
}

.has-underline-blue {
  position: relative;
}
.has-underline-blue::before {
  content: "";
  width: 100%;
  height: 2.5px;
  background-color: #3D56A8;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .has-underline-blue::before {
    height: 0.4vw;
  }
}

.has-underline-yellow {
  position: relative;
}
.has-underline-yellow::before {
  content: "";
  width: 100%;
  height: 1.5px;
  background-color: #FFFF88;
  position: absolute;
  bottom: 0;
  left: 0;
}

/* //全体設定 */
/* フォントファミリー */
.notosans {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.kosugimaru {
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.mplus {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
}

/* //フォントファミリー */
/* フォントウェイト */
.fw-200 {
  font-weight: 200;
}

.fw-300 {
  font-weight: 300;
}

.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.fw-800 {
  font-weight: 800;
}

.fw-900 {
  font-weight: 900;
}

/* //フォントウェイト */
/* letter-spacing */
.ls-0 {
  letter-spacing: 0;
}

.ls-n200 {
  letter-spacing: -0.2em;
}

.ls-n400 {
  letter-spacing: -0.4em;
}

/* color */
.txt-white {
  color: #FFFFFF;
}

.txt-blue {
  color: #3D56A8;
}

.txt-emerald {
  color: #2782A4;
}

.txt-lemon-yellow {
  color: #FFFF88;
}

/* //color */
/* bg color */
.bg-blue {
  background-color: #3D56A8;
}

.bg-light-purple {
  background-color: #ECEFF8;
}

.bg-emerald-two-tone {
  background-color: rgba(39, 130, 164, 0.3);
  position: relative;
}
.bg-emerald-two-tone::before {
  content: "";
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  background-color: #2782A4;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .bg-emerald-two-tone::before {
    width: calc(100% - 1.6vw);
    height: calc(100% - 1.6vw);
  }
}

.bg-blue-two-tone {
  background-color: rgba(61, 86, 168, 0.3);
  position: relative;
}
.bg-blue-two-tone::before {
  content: "";
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  background-color: #3D56A8;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .bg-blue-two-tone::before {
    width: calc(100% - 1.6vw);
    height: calc(100% - 1.6vw);
  }
}

.bg-denim-two-tone {
  background-color: rgba(50, 107, 166, 0.3);
  position: relative;
}
.bg-denim-two-tone::before {
  content: "";
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  background-color: #326BA6;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .bg-denim-two-tone::before {
    width: calc(100% - 1.6vw);
    height: calc(100% - 1.6vw);
  }
}

/* //bg color */
/* button */
.btn-default {
  display: block;
  border-radius: 100vw;
  letter-spacing: 0.03em;
  text-align: center;
  font-weight: 500;
  padding: 22px 0;
  border: 1px solid #FFFFFF;
}
@media screen and (max-width: 767px) {
  .btn-default {
    border-radius: 1.0666666667vw;
    font-size: 3.2vw;
  }
}

.btn--mail {
  background-color: #FFFFFF;
  color: #3D56A8;
}
.btn--mail span {
  position: relative;
  padding-left: 27px;
}
@media screen and (max-width: 767px) {
  .btn--mail span {
    padding-left: 5.0666666667vw;
  }
}
.btn--mail span::before {
  content: "";
  width: 19px;
  height: 16px;
  background: url(../img/icon-mail.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  transform: translatey(-50%);
  left: 0;
}
@media screen and (max-width: 767px) {
  .btn--mail span::before {
    width: 4.2666666667vw;
    height: 3.4666666667vw;
  }
}

.btn--line {
  background-color: #5AC363;
  color: #FFFFFF;
}
.btn--line span {
  position: relative;
  padding-left: 35px;
}
@media screen and (max-width: 767px) {
  .btn--line span {
    padding-left: 5.8666666667vw;
  }
}
.btn--line span::before {
  content: "";
  width: 25px;
  height: 24px;
  background: url(../img/icon-line.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  transform: translatey(-50%);
  left: 0;
}
@media screen and (max-width: 767px) {
  .btn--line span::before {
    width: 5.0666666667vw;
    height: 4.8vw;
  }
}

/* //button */
/* title */
.ttl-pattern1 {
  position: relative;
  width: fit-content;
  padding: 11px 28px 13px;
  border-radius: 100vw;
  background: #ffffe5;
  border: 1.5px solid #333333;
  filter: drop-shadow(0px 3px 0px rgba(61, 86, 168, 0.2));
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .ttl-pattern1 {
    padding: 2.6666666667vw 7.4666666667vw 3.4666666667vw;
    font-size: 3.2vw;
    border: 0.4vw solid #333333;
    filter: drop-shadow(0px 0.8vw 0px rgba(61, 86, 168, 0.2));
  }
}
.ttl-pattern1::before {
  content: "";
  border-style: solid;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 12px solid #ffffe5;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -7px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .ttl-pattern1::before {
    border-right: 1.8666666667vw solid transparent;
    border-left: 1.8666666667vw solid transparent;
    border-top: 3.2vw solid #ffffe5;
    bottom: -2vw;
  }
}
.ttl-pattern1::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 10px solid #333333;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10px;
}
@media screen and (max-width: 767px) {
  .ttl-pattern1::after {
    border-right: 1.6vw solid transparent;
    border-left: 1.6vw solid transparent;
    border-top: 2.6666666667vw solid #333333;
    bottom: -2.6666666667vw;
  }
}

.ttl-pattern2 {
  font-family: "Kosugi Maru", sans-serif;
  font-style: normal;
  font-size: 2.8125rem;
}
@media screen and (max-width: 1279px) {
  .ttl-pattern2 {
    font-size: 2.625rem;
  }
}
@media screen and (max-width: 1023px) {
  .ttl-pattern2 {
    font-size: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl-pattern2 {
    font-size: 6.6666666667vw;
  }
}

/* //title */
/* space */
.section-pt {
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  .section-pt {
    padding-top: 16vw;
  }
}

.section-pb {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .section-pb {
    padding-bottom: 16vw;
  }
}

/* //space *//*# sourceMappingURL=style-common.css.map */